Home arrow Debian環境セットアップ arrow [Debianセットアップ]Linuxカーネルのアップグレード
[Debianセットアップ]Linuxカーネルのアップグレード プリント
Debian 環境セットアップ

普段はあまり必要のない、Linuxカーネルのアップグレードですが、メモリの増設やディバイスの追加などのハードウェア増設を行なったりしたときにはどうしてもアップグレードの必要に迫られるときがあります。

カーネルの入れ替えには、カーネルの再構築(ソースからのコンパイル)とすでにコンパイルされたカーネルイメージにてアップグレードする方法があります が、標準的な環境であれば、アップグレードで済むことが多いので、まずはリスクの少ないアップグレードを行なってみるのが最善の方法です。アップグレード を 試してみて、ダメだったらカーネル再構築に移るのでも遅くはないということですね。

運用中のサーバであればなおさら安全なアップグレードから試してみましょう。

Linuxカーネルのアップグレード

Debianではパッケージのインスートールと同じく apt-getコマンド でアップグレードを行なうことができます。

# apt-get update
# apt-get install kernel-image
 Reading Package Lists... Done
 Building Dependency Tree... Done
 Package kernel-image is a virtual package provided by:
 kernel-image-2.6.8-2-k7-smp 2.6.8-16sarge1
 kernel-image-2.6.8-2-k7 2.6.8-16sarge1
 kernel-image-2.6.8-2-686-smp 2.6.8-16sarge1
 kernel-image-2.6.8-2-686 2.6.8-16sarge1
 kernel-image-2.6.8-2-386 2.6.8-16sarge1
 kernel-image-2.6.8-11-em64t-p4-smp 2.6.8-16sarge1
 kernel-image-2.6.8-11-em64t-p4 2.6.8-16sarge1
 kernel-image-2.6.8-11-amd64-k8-smp 2.6.8-16sarge1
 kernel-image-2.6.8-11-amd64-k8 2.6.8-16sarge1
 kernel-image-2.6.8-11-amd64-generic 2.6.8-16sarge1
 kernel-image-2.4.27-speakup 2.4.27-1.1
 kernel-image-2.4.27-2-k7-smp 2.4.27-10sarge1
 kernel-image-2.4.27-2-k7 2.4.27-10sarge1
 kernel-image-2.4.27-2-k6 2.4.27-10sarge1
 kernel-image-2.4.27-2-686-smp 2.4.27-10sarge1
 kernel-image-2.4.27-2-686 2.4.27-10sarge1
 kernel-image-2.4.27-2-586tsc 2.4.27-10sarge1
 kernel-image-2.4.27-2-386 2.4.27-10sarge1
 You should explicitly select one to install.
 E: Package kernel-image has no installation candidate

一覧を見て分かるように、イメージファイルはカーネルのバージョンとチップ(プロセッサ)に対する最適したものが並びます。
バージョンの後ろの番号は次の意味があります。

番号  サーバのプロセッサ
 386  Intel 386系互換
 586  Intel Pentium
 686  Intel Xeon,Pentium(E,D,4,3)等
 686-smp  上記のプロセッサでマルチプロセッサ(CPUが複数)になっている環境
 k6  AMD k6用
 k7  AMD k7用
 k7-smp  上記のプロセッサでマルチプロセッサ(CPUが複数)になっている環境
 amd64-k8  AMD64チップ用
 amd64-k8-smp  上記のプロセッサでマルチプロセッサ(CPUが複数)になっている環境

 




さて、ここからカーネルのアップグレードとなりますが、バイナリインストールだとはいえ、何があるか分からないので、必要なユーザデータや、システムのコ ン フィグ、ハードウェアの情報などを保存しておきましょう。マザーボードやネットワークカードなどの情報はlspciコマンドで取得できます。

# apt-get install kernel-image-2.6.8-2-686
 Reading Package Lists... Done
 Building Dependency Tree... Done
 Suggested packages:
  lilo kernel-doc-2.6.8 kernel-source-2.6.8
 The following NEW packages will be installed:
   kernel-image-2.6.8-2-686
 0 upgraded, 1 newly installed, 0 to remove and 45 not upgraded.
 Need to get 15.5MB of archives.
 After unpacking 45.2MB of additional disk space will be used.
 Get:1 ftp://ftp.jp.debian.org stable/main kernel-image-2.6.8-2-686 2.6.8-16sarge1 [15.5MB]
  Fetched 15.5MB in 17s (904kB/s)                                                                                 
 Selecting previously deselected package kernel-image-2.6.8-2-686.
 (Reading database ... 25795 files and directories currently installed.)
 Unpacking kernel-image-2.6.8-2-686 (from .../kernel-image-2.6.8-2-686_2.6.8-16sarge1_i386.deb) ...
 Setting up kernel-image-2.6.8-2-686 (2.6.8-16sarge1) ...
 Searching for GRUB installation directory ... found: /boot/grub .
 Testing for an existing GRUB menu.list file... found: /boot/grub/menu.lst .
 Searching for splash image... none found, skipping...
 Found kernel: /boot/vmlinuz-2.6.8-2-686
 Found kernel: /boot/vmlinuz-2.6.8-2-386
 Updating /boot/grub/menu.lst ... done


Linuxカーネルのグレードアップはお使いの環境の回線速度にもよりますが、10秒程度で完了します。
メッセージの最後にもあるが、/boot/grub/menu.lst にも新しいカーネルイメージのアサインが書き込まれているので、このまま再起動がすれば新しいカーネルで立ち上がります。

カーネルのアップグレードを行なっても、これまで動いていたカーネルイメージは削除されていないので、もし新しいカーネルで問題があっても、grub画面で以前のイメージを選択することで元のカーネルで起動することができます。この点は安心を..。
ただ、新しいカーネルで稼動が確認されたら、古いカーネルは必要はなくなるので、rmコマンド等を使って削除しておきましょう。