2008/06/13

カーネルのアップデートを手動でしたゾ

Vine Linux も4.xになったらカーネルのアップデートも自動になったんだとか。
ますますLinuxのとりまわしが楽チンになったな。


とは言っても、ヲイラのシステムではkernel-2.6.x系と相性が悪い。だから3.2を強化しながら使っているワケだ。通常はapt-getで最新のパッケージリストを取得したりシステムを最新に保てるんだけど、例外としてカーネルのアップデートがある。liloをブートローダとして使っている限りカーネルは手動でアップデートする呪縛からは逃れられない。


どこかの誰かに役立ててもらうためというより、ヲイラ自身のためにカーネルアップデートの段取りをここに残しておくことにする。
まずは、お約束のコマンドログだ。


[hoge@localhost hoge]$ uname -r    //現在のカーネルのバージョン
2.4.31-0vl1.8
[hoge@localhost hoge]$ su -
Password:
[root@localhost root]# ls /boot
System.map@ kernel.h-2.4.33
System.map-2.4.31-0vl1.8 lost+found/
System.map-2.4.33-0vl0.14 map
System.map-2.4.33-0vl0.22 message
System.map.old@ module-info@
autoconf-up.h@ module-info-2.4.31-0vl1.8
autoconf-up.h-2.4.31-0vl1.8 module-info-2.4.33-0vl0.14
autoconf-up.h-2.4.33-0vl0.14 module-info-2.4.33-0vl0.22
autoconf-up.h-2.4.33-0vl0.22 module-info.old@
autoconf-up.h.old@ vmlinuz@
boot.1600 vmlinuz-2.4.31-0vl1.8
diag1.img vmlinuz-2.4.33-0vl0.14
diag2.img vmlinuz-2.4.33-0vl0.22 //最新版はコイツだ!
initrd-2.4.31-0vl1.8.img vmlinuz.old@
kernel.h@
[root@localhost root]# uname -r
2.4.31-0vl1.8     //もう一度確認。なんと2つ前だよ トホホ・・・
[root@localhost root]# vi /etc/lilo.conf
[root@localhost root]# cat /etc/lilo.conf //liloの設定書類を見てみよう
prompt
timeout=50
# VESA framebuffer console
# ex. 0x301=640x480x8, 0x314=800x600x16, 0x317=1024x768x16, 0x31A=1280x1024x16
vga=0x314
default=linux
boot=/dev/hdc
map=/boot/map
install=menu
message=/boot/message

image=/boot/vmlinuz-2.4.33-0vl0.22
label=linux
read-only
root=/dev/hde1
append=" resume2=swap:/dev/hdc2" //viエディタで変更した箇所だ。

image=/boot/vmlinuz-2.4.31-0vl1.8
label=linux.old
initrd=/boot/initrd-2.4.31-0vl1.8.img
read-only
root=/dev/hde1
append=" resume2=swap:/dev/hdc2"


[root@localhost root]# /sbin/lilo //lilo.confの変更がすんだら忘れずに!
Added linux *
Added linux.old
[root@localhost root]# exit


[hoge@localhost hoge]$ uname -r //リブートした後にカーネルを確認してみる。
2.4.33-0vl0.22          //無事アップデート完了だね。
[hoge@localhost hoge]$

慣れちゃえばリブートの時間を含めても10分とかからないはず。
Vineでサーバたててるケースだと、カーネルのアップ以外は再起動もほとんどないってなケースもあるんだとか。せっかく障害情報を公開してくれてるんだから、有意義に活用しような。