ネットワーク勉強会
2002926
浩志
FreeBSDカーネルバージョンアップ
牧之内研究室「インターネット実習」Webページ
http://www.db.is.kyushu-u.ac.jp/rinkou/internet/
・新バージョンのカーネルの提供
・バグフィックス
・セキュリティ向上
・対応ハードウェアやドライバの追加
現在利用中のカーネルのバージョン
アップが必要になることがある。
カーネルのバージョンアップの目的
カーネルのバージョンアップ方法
・ソースを入手してコンパイルする
・パッチをあてる
RPM形式
ソースを入手してコンパイルする
最も一般的。
# cd /usr/src
# mv linux linux-2.0.30
# tar zxpvf linux-2.0.31.tar.gz
こんな感じで、あとはmake configmake 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 depmake 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 (カーネル、カーネルモジュールのインストー)
(実習)
http://www.db.is.kyushu-u.ac.jp/computer/freebsd/csvup.html
CVSupを使用してFreeBSDを最新バージョンに
アップデートする
% uname a で現在のバージョンを確認
ここを参考にしてください。