「カーネルライブパッチ」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(update Pkg/AUR templates)
(Kusakata がページ「Ksplice」を「カーネルライブパッチ」に移動しました)
(相違点なし)

2017年7月31日 (月) 23:18時点における版

Ksplice はオペレーティングシステムを再起動することなく、システム管理者が実行中のカーネルにセキュリティパッチを適用できるようにする Linux カーネルのオープンソース拡張です。2011年から Ksplice は Oracle に取得され、Oracle のプレミアムサポート下でのみ利用できる状態です。

インストール

Arch User Repository から ksplice-gitAUR[リンク切れ: アーカイブ: aur-mirror] パッケージをインストールしてください。

使用方法

まず、使用しているカーネルのソースツリーと、以前にカーネルをビルドした時のファイルが必要です: System.map.config

前のビルドで使用した System.map が存在しない場合は、/proc/kallsyms をコピーして使うことができます。kernel.kptr_restrict カーネルパラメータが有効になっている場合は、必ず root でコピーしてください。

この例では --diffext オプションを利用して、新旧ソースファイルの差異からパッチを作成します。

カーネルのソースツリーに ksplice ディレクトリを作成して、前のビルドの System.map をコピーして、.config をツリーにコピーしてください (ソースツリーに存在しない場合):

# mkdir -p src/ksplice
# cp System.map src/ksplice
# cp .config src/

ksplice パッチを作成してカーネルがリビルドされるのを待ちます。new で終わるファイルが全て ksplice のパッチに組み込まれます。例えば、C のソースファイルなら、diffext が直接追加されて .cnew になります。

# ksplice-create --diffext=new src/

新しく生成したパッチを実行中のカーネルに適用:

# ksplice-apply ksplice-*.tar.gz

ksplice-apply, ksplice-create, ksplice-view, ksplice-undo の man ページを参照してください。

参照