MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
設定 - レガシーカーネルのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
設定 - レガシーカーネル
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == 一般的に、カーネルをアップデートしても古いカーネルは削除せず、新バージョンとともに旧バージョンのカーネルもGRUBから起動できるようにすることが多い。<br> <br> 新バージョンがうまく動かない場合を考えると安心できるシステムだが、カーネルのアップデートが比較的短い間隔で行われるディストリビューションでは、<br> ディスクスペースが圧迫されることやGRUBのメニューも煩雑になる。<br> <br><br> == 古いカーネルを削除する == 各ディストリビューションで設定方法が異なるため、変更前にバックアップを取ることを推奨する。<br> <br> ==== RHEL ==== * 設定ファイル *: /etc/yum.conf *: または *: /etc/dnf/dnf.conf <br> * installonly_limit パラメータで保持するカーネル数を指定する。 * デフォルトは3である。 * 最小値は2 (値1は明示的に禁止されている) * 0に設定すると制限なし (非推奨) * 特定のカーネルを除外したい場合は、同ファイルに <code>exclude=</code> または <code>excludepkgs=</code> を使用できる。 <br> # /etc/yum.conf または /etc/dnf/dnf.conf installonly_limit=3 <br> また、RHELではdnf-utilsパッケージが存在しており、その中のpackage-cleanupコマンドを実行すれば、古いカーネルを簡単に削除できる。<br> まず、dnf-utilsをインストールする。<br> sudo dnf install dnf-utils <br> <code>--oldkernels</code>オプションを付加して、<code>package-cleanup</code>コマンドを実行する。<br> sudo package-cleanup --oldkernels <br> 標準では、最新のカーネルと1世代前のカーネルを残して、2世代前以前のカーネル(kernelとkernel-devel)が削除される。<br> さらに古いカーネルも残す場合は、<code>package-cleanup</code>コマンドに、<code>--count=<残すカーネル数></code>オプションを付加する。<br> <br> 以下の例では、最新のカーネルから2世代前のカーネルを残している。<br> sudo package-cleanup --oldkernels --count=3 <br> ===== SUSE ===== SUSEでは、古いカーネルは、SUSEが新しいカーネルで正常に再起動した後にのみ削除される。<br> <br> まず、複数のカーネルのマルチバージョンサポートが有効になっているか確認する。(初期設定では有効になっている)<br> /etc/zypp/zypp.confファイルを開いて、multiversion項目に記述されている設定を確認する。<br> マルチバージョンが有効になっている場合、次の行はコメント化されていない。<br> multiversion = provides:multiversion(kernel) <br> また、マルチバージョンサポートを特定のカーネルに制限するには、multiversion項目にパッケージ名をカンマ区切りのリストとして追加する。<br> multiversion = kernel-default,kernel-default-base,kernel-source <br> 次に、古いカーネルを削除するには、/etc/zypp/zypp.confファイルの次の行を以下のように変更する。<br> * 最新のカーネルと実行中のカーネルが異なる場合にのみ、それらを維持する場合 *: multiversion.kernels = latest,running * 複数のカーネルを維持する場合(以下の例では、最新のカーネルと1つ前のカーネルを維持) *: multiversion.kernels = latest,latest-1,running * 複数のカーネルを維持する場合(以下の例では、最新のカーネルと2つ前のカーネルを維持) *: multiversion.kernels = latest,latest-1,latest-2,running <br> 上記のファイルの編集後、カーネルをクリーンアップする。<br> sudo zypper purge-kernels <br> <u>※備考</u><br> <u>TWでは、purge-kernels.serviceが動作しているため、自動的にクリーンアップを行っている。</u><br> sudo systemctl start purge-kernels.service <br> ==== Debian ==== * 設定ファイル *: /etc/apt/apt.conf.d/01autoremove-kernels : 保持するカーネルのリストを含む自動生成ファイル *: /etc/kernel/postinst.d/apt-auto-removal : カーネルインストール時に01autoremove-kernelsを生成するスクリプト <br> APT 2.4.5以降では、この機能が直接aptに実装され、デフォルトで2つのカーネルを保護する。<br> カスタム設定を追加する場合は、/etc/apt/apt.conf.d/ ディレクトリに新しいファイルを作成することが可能である。<br> <br> また、Debianではスクリプトの編集が必要である。<br> /etc/kernel/postinst.d/apt-auto-removal スクリプトが以下に示すものを保護する。<br> * 現在実行中のカーネル * インストール / 設定中のカーネル * 最新のカーネル * 1つの前のカーネル <br> * 2つだけに制限する方法 *: /etc/kernel/postinst.d/apt-auto-removal スクリプトを編集する。 *: まずバックアップを作成する。 *: <code>sudo cp /etc/kernel/postinst.d/apt-auto-removal{,.backup}</code> *: <br> *: スクリプト内の該当部分を編集して、保持するカーネル数を調整する。 *: スクリプトの先頭付近に以下に示す設定を追記する。 *: <syntaxhighlight lang="text"> # 保持するカーネル数 (実行中のカーネル以外) NKER=1 </syntaxhighlight> *: スクリプトを手動実行して設定を反映する。 *: <code>sudo /etc/kernel/postinst.d/apt-auto-removal $(uname -r)</code> *: <br> *: <u>※注意</u> *: <u>スクリプトはカーネルのインストール / 削除時にのみ再実行される。</u> <br> また、以下に示す設定は、"カーネルを自動削除から保護" および "特定のカーネルバージョンを保護する" である。<br> # 例: sudo vi /etc/apt/apt.conf.d/01autoremove-kernels-override <br> # カーネルを自動削除から保護する場合 APT::NeverAutoRemove { "^linux-image-.*-generic$"; "^linux-headers-.*-generic$"; "^linux-image-extra-.*-generic$"; }; <br> # 特定のカーネルバージョンを保護する場合 APT::NeverAutoRemove { "^linux-image-5\.15\.0-.*-generic$"; }; <br> また、保持するカーネル数を変更する場合は、/etc/kernel/postinst.d/apt-auto-removal スクリプトを編集する必要がある。<br> <br><br> __FORCETOC__ [[カテゴリ:RHEL]][[カテゴリ:SUSE]]
設定 - レガシーカーネル
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse