目次
概要
openSUSE では、カーネルについて複数のバージョンを同時にインストールする ことができます。複数のカーネルをインストールすると、起動用の項目と initrd が自動的に作成され、特に手作業で何かを行なう必要はありません。システムを 再起動すると、新しく追加したカーネルが起動オプション内に表示されるように なります。
この機能を利用することで、古いカーネルを起動できるように残したまま新しい カーネルをインストールすることができるため、カーネルの更新を行なう際に 安全に作業を行なうことができます。この機能を利用する場合は、更新ツール (たとえば YaST オンライン更新や更新アプレット) を使用せず、下記に示す 手順で作業を行なってください。
サポート権利について | |
---|---|
ご自身でコンパイルしたカーネルや、サードパーティが提供するカーネルを インストールした場合、サポート権利が失われることに注意してください。 openSUSE に同梱されているカーネルと、 openSUSE 向けに提供されて いる更新の更新チャンネルからの配布物のみがサポート対象です。 |
お使いのブートローダにおけるカーネル設定の確認 | |
---|---|
複数のカーネルをインストールしたあとは、お使いのブートローダの設定を確認し、
既定の起動項目が正しく設定されているかどうか確認することをお勧めします。
詳しくは 項 「YaST を利用したブートローダの設定」 (第9章 ブートローダ GRUB, ↑リファレンス) をお読みください。
新しくカーネルをインストールした場合に、既定で追加される行を変更したい
場合は、新しいカーネルをインストールする前に
|
ソフトウエアパッケージについて、複数のバージョンを同時にインストールできる 機能 (マルチバージョンサポート) は既定では無効に設定されています。これを 有効に設定するには、下記のように行ないます:
root
で任意のエディタを利用し、 /etc/zypp/zypp.conf
ファイルを開きます。
multiversion
と書かれている行に移動します。
すべてのカーネルパッケージに対して、マルチバージョン機能を有効に設定するには、
下記の行のコメントアウト文字 (#
)を外します:
# multiversion = provides:multiversion(kernel)
特定のカーネルの派生形 (フレーバー) に限定してマルチバージョン機能を有効に
設定するには、 /etc/zypp/zypp.conf
内の
multiversion
オプションに対して、
下記のようにパッケージ名をカンマ区切りで指定します:
multiversion = kernel-default,kernel-default-base,kernel-source
最後にファイルを保存して終了します。
複数バージョンに対応させて新しいカーネルを頻繁にテストしていると、起動メニュー
の項目が増えてしまい、わかりにくくなってしまいます。また、 /boot
は通常、容量面では限られた領域に配置されるため、場合によっては
/boot
の容量がいっぱいになってしまう場合もあります。
このような場合は、 YaST または zypper を利用して、手作業で未使用の
カーネルを削除することができるほか、
libzypp
を設定して自動的に
未使用のカーネルを削除するように設定することもできます。既定では自動での
削除は行なわれません。
root
で任意のエディタを利用し、
/etc/zypp/zypp.conf
ファイルを開きます。
multiversion.kernels
の文字列を検索し、下記のような
行のコメントを外してオプションを有効にします。このオプションはカンマ
区切りの一覧で、それぞれ下記のような値を記入することができます:
:
指定したバージョン番号のカーネルを保持します。
2.6.32.12-0.7
latest
:
もっとも大きなバージョン番号のカーネルを保持します。
latest-N
:
N 番目に大きなバージョン番号のカーネルを保持します。
running
.
実行中のカーネルを保持します。
oldest
.
もっとも小さなバージョン番号 (openSUSE に同梱されている
オリジナルのカーネル) を保持します。
oldest+N
.
N 番目に古いバージョン番号のカーネルを保持します。
たとえば下記のように記述します。
multiversion.kernels = latest,running
最新のカーネルと、現在実行中のカーネルを保持します。これは複数 バージョンの機能を全く無効化してしまった場合とは異なり、 即時に古いほうのカーネルが削除されたりはせず、 次回の再起動後に 古いほうのカーネルが削除 されるようになります。
multiversion.kernels = latest,latest-1,running
新しいほうから 2 つのバージョンのカーネルと、現在実行中のカーネルを 保持します。
multiversion.kernels = latest,running,3.0.rc7-test
最新のカーネルと現在実行中のカーネル、そして
3.0.rc7-test
というバージョンのカーネルを
保持します。
実行中 のカーネルの保持について | |
---|---|
特別な場合を除き、 |
YaST を起動し、
+ を選択してソフトウエア 管理画面を開きます。複数のバージョンが提供されているすべてのパッケージを表示するには、
+ + を選択します。パッケージを選択し、右下の枠内で
タブを 選択します。パッケージをインストールするには、それぞれのチェックボックスにチェックを 入れます。緑色のチェックマークが表示されます。
既にインストールされたパッケージ (白色のチェックマークが付けられたもの)
をアンインストールするには、チェックボックスを選択して赤い X
を付けておきます。
最後に
を押すとインストール作業が始まります。利用可能なすべてのカーネルパッケージを一覧表示するには、 zypper se -s 'kernel*' コマンドを実行します:
S | 名前 | 種類 | バージョン | アーキテクチャ | リポジトリ --+-----------------------+------------------+----------------+----------------+-------------------------------- v | kernel-default | パッケージ | 2.6.32.10-0.4.1| x86_64 | Alternative Kernel i | kernel-default | パッケージ | 2.6.32.9-0.5.1 | x86_64 | (System Packages) | kernel-default | ソースパッケージ | 2.6.32.10-0.4.1| noarch | Alternative Kernel i | kernel-default | パッケージ | 2.6.32.9-0.5.1 | x86_64 | (System Packages) ...
インストール時には、下記のようにして正確なバージョンを指定します:
zypper in kernel-default-2.6.32.10-0.4.1
カーネルをアンインストールするには、まず zypper se -si
'kernel*' を実行してインストール済みのすべてのカーネルを一覧
表示してから、 zypper rm パッケージ名-バージョン
のようにしてパッケージを削除します。