Debian 環境セットアップ

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

普段はあまり必要のない、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コマンド等を使って削除しておきましょう。