印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
Linux kernel 2.4.22-0vl2.11

Linux カーネルにセキュリティホールが見つかった。修正済パッケージが公開されたのでアップグレードを行う。

■ ■ ■

kernel 2.4.22-0vl2.10 にセキュリティホールが見つかった(Vine Linux errata [kernel にセキュリティホール])。VineLinux では修正済パッケージを公開してくれている。カーネルパッケージのアップグレードにしたがってアップグレードを行う。

環境は Vine Linux 2.6。

まず、現在のバージョンを確認する。

$ cat /etc/vine-release
Vine Linux 2.6 (La Fleur de Bouard)
$ uname -r
2.4.22-0vl2.10

他にインストールされているカーネル関係のパッケージも確認しておく。

$ rpm -qa | grep kernel
kernel-pcmcia-cs-3.2.1-0vl3
kernel-doc-2.4.22-0vl2.10
kernel22-2.2.20-0vl10
kernelcfg-0.6-9vl1
kernel-2.4.22-0vl2.10
kernel-headers-2.4.22-0vl2.10
kernel-source-2.4.22-0vl2.10

カーネル本体を近くのミラーサイトからダウンロードする(今回は Ring 本家のサーバから)。FTP サイトはHow to get Vine Linuxから選べばよい。パッケージは /root においておいた方がいいというので、ここからは root で作業する。

# wget http://www.ring.gr.jp/pub/linux/Vine/Vine-2.6/updates/RPMS/i386/kernel-2.4.22-0vl2.11.i386.rpm

シングルユーザモードに移行してコンソールから作業するのが最も安全であるが、今回はリモートから無理やりやってしまうことにする。この場合はシングルユーザモードに移ってはいけない。

新しいカーネルパッケージをインストールする。現在稼動中のカーネルを直接置き換える訳ではないので、rpm のオプションは -Uvh ではなく -ivh とするのがポイント。現在稼動中の古いカーネルは、新しいカーネルで正常に起動させてから削除することになる。

# rpm -ivh kernel-2.4.22-0vl2.11.i386.rpm

ノートパソコンの場合、 PCMCIA パッケージのアップグレードも必要なのだが、今回は更新がないので kernel-pcmcia-cs のアップグレードは省略。

/etc/lilo.conf を編集する。

# 新カーネル用
image=/boot/vmlinuz-2.4.22-0vl2.11
        label=linux
        read-only
        root=/dev/hda2
        append="acpi=off"
# カーネル 2.2 用
image=/boot/vmlinuz-2.2.20-0vl10
        label=linux-2.2-up
        read-only
        root=/dev/hda2

行頭の空白は [Tab] である。リブート後に新しいカーネルで起動しないと困るので(まずそんなことはないが)、念のため正常に動作するカーネルイメージのエントリも用意しておく。私は kernel 2.2 を使っている。append="acpi=off" は、このサーバ ThinkPad 600 に必要なオプションで、これがないとネットワークカードが正常に動作しないのでつけている。

lilo コマンドを実行し、LILO を有効にする。エラーが出たら、/etc/lilo.conf のどこかに問題があるか,ブートイメージがないかのどちらかである。

# lilo
Added linux *
Added linux-2.2-up

ヘッダをインストールする。ソースとドキュメントも同時にアップグレードしてしまうのが簡単。ここからは apt-get でネットワークインストールするのが便利。最初に update オプションでデータベースをアップデートすることを忘れずに。

# apt-get update
# apt-get install kernel-headers kernel-doc kernel-source

途中、

パッケージ Makefile は file index 中にリストされていません

というメッセージが山ほど出るが、無視してよい。

インストールパッケージを確認する。カーネル本体以外はアップグレードされて、新しいものに置き換えられていることが分かる。

# rpm -qa | grep kernel
kernel-2.4.22-0vl2.11
kernel-pcmcia-cs-3.2.1-0vl3
kernel22-2.2.20-0vl10
kernelcfg-0.6-9vl1
kernel-doc-2.4.22-0vl2.11
kernel-headers-2.4.22-0vl2.11
kernel-2.4.22-0vl2.10
kernel-source-2.4.22-0vl2.11

リブートする。

# shutdown -r now

古いパッケージの削除を行う。/etc/lilo.conf を編集してエントリを削除してから、本体の削除を行うようにすると作業忘れが少なくて済むだろう。

Posted by n at 2004-02-25 13:02 | Edit | Comments (0) | Trackback(0)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?

Loading...