ネットワーク勉強会
2002年9月26日
龍 浩志
FreeBSDカーネルバージョンアップ
・新バージョンのカーネルの提供
・バグフィックス
・セキュリティ向上
・対応ハードウェアやドライバの追加
現在利用中のカーネルのバージョン
アップが必要になることがある。
カーネルのバージョンアップの目的
カーネルのバージョンアップ方法
・ソースを入手してコンパイルする
・パッチをあてる
・RPM形式
ソースを入手してコンパイルする
最も一般的。
# cd /usr/src
# mv linux linux-2.0.30
# tar zxpvf linux-2.0.31.tar.gz
こんな感じで、あとはmake config、make dep、
make cleanと続く。
パッチをあてる
カーネルの順番に一つずつしかバージョンアップ
できない。
# cd /usr/src
# zcat patch-2.0.31.gz | patch -p0
(またはgzip -d patch-2.0.31.gz | patch -p0)
こんな感じで、やはりあとはmake config、
make dep、make cleanと続く。
RPM形式
RPMとは?
プログラムをバイナリ(コンパイル済み)の形
で配布してそのままインストールする
プログラムのソースを持ってきて,自分で
コ ンパイルして,自分でインストール
インス トール,アンインストール,
パッケージ間の依存関係の調整
RPM
RPMには二種類あります.
・RPM
バイナリ形式
コンパイル済みで,そのままインス トールを
することができる
・SRPM
RPM形式を作れるような形にパッ ケージ
されたソース
RPM SRPM
コンパイル
不可
RPMの一般的な使い方
rpm -ivh (RPMパッケージ) そのパッケージを新たにインストールします
rpm -Uvh (RPMパッケージ) 既にそのパッケージがインストールされている場合,
そのパッケージを バージョンアップします.
rpm -Uvh (RPMパッケージ) そのパッケージをアンインストールします.
rpm -q (RPMパッケージ) そのパッケージのバージョン情報を出力します.
rpm -qi (RPMパッケージ) そのパッケージについての詳細情報を出力します.
rpm -ql (RPMパッケージ) そのパッケージに属するファイルのリストを出力します.
rpm -qf (ファイル名) そのファイルが属するパッケージを出力します.
rpm -qa インストールされている全てのRPMパッケージを出力します.
rpm --help もっと詳しい情報を出力します.
CVSupを使ったバージョンアップ
CVSup
FreeBSDの最新のソースコードをインターネット
越しに取得するプログラム
手順
①CVSupでソース取得
②取得したソースをコンパイル
③インストール
⇒システムは最新バージョンに
CVSup の動作は, supfile と呼ばれるコンフィグ
レーションファイルで 制御
・ どのファイルを受け取りたいのか?
・ どのバージョンのものが欲しいのか?
・ どこから入手したいのか?
・ 自分のマシンのどこに置きたいのか?
・ どこに status ファイルを置きたいのか?
/usr/share/examples/cvsup/****-supfile
# cvsup supfile
CVSupの使い方
GUIを使う場合
GUIを使わない場合
# cvsup -g -L 2 supfile
-g :CVSup にGUI を使用しないように伝える。
-L 2 :CVSup にファイル更新中の詳細情報を
プリントアウト するように伝える。
cvsup -H : オプション一覧
コンパイル、インストール
CVSupで最新バージョンのソースを入手したら、/usr/src/Makefileを
元にコンパイル
手順
make buildworld (コンパイル)
↓
make installworld (コンパイル結果のインストール)
↓
make buildkernel (カーネル、カーネルモジュールのコンパイル)
↓
make installkernel (カーネル、カーネルモジュールのインストール)
(実習)
CVSupを使用してFreeBSDを最新バージョンに
アップデートする
% uname –a で現在のバージョンを確認