株式会社エスロジカル
株式会社エスロジカル
セキュリティ、Web開発、Unix開発、Go言語

■ FreeBSD:freebsd-update

技術ドキュメント目次 -> FreeBSD -> freebsd-update

本技術ドキュメントは、ここしばらくメンテナンスをしておりません。
内容が古くなっている可能性などございますこと、ご理解を頂けますようお願いいたします。


サイフにやさしいSSL証明書
【低価格SSL証明書】弊社運営の低価格SSL証明書販売サイト、翌月末払いなど請求書払いも可能。


◆ freebsd-updateとは

freebsd-updateとはFreeBSDのシステム領域(portsやパッケージは含まない)をアップデートするものです。
freebsd-updateを実行することで、セキュリティ上の問題があるモジュールを、バイナリファイル置き換えで更新することができます。

なお、FreeBSDのインストール後に、カーネルを自分でリコンパイルしている環境では使用できないようです。

また、freebsd-update によってシステムのライブラリが更新された場合に、
そのライブラリをスタティックリンクで参照しているプログラムが ports にあれば、
そのプログラムをリコンパイルする必要もあります。
(脆弱性のあるライブラリが、portsのプログラムに静的リンクされたままになってしまうので。)

インストール方法は、パッケージから入れる場合は次のようにするのもお手軽です。
リモートサイトからパッケージをダウンロードしてきてインストールするという作業が次のpkg_addコマンドで終了します。
インストール後に、設定ファイルをコピーして、/usr/local/freebsd-update という作業ディレクトリを作成します。

# pkg_add -r freebsd-update
# cp /usr/local/etc/freebsd-update.conf.sample /usr/local/etc/freebsd-update.conf
# mkdir /usr/local/freebsd-update


◆ freebsd-updateの使い方

freebsd-update に fetch という引数をつけて実行することで、
FreeBSDに更新されたモジュールが無いかを確認することができます。

# /usr/local/sbin/freebsd-update fetch


更新されたモジュールがある場合は次のように、
freebsd-update install を実行しなさいと表示されます。

# /usr/local/sbin/freebsd-update fetch
Fetching updates signature...
Fetching updates...
Fetching hash list signature...
Fetching hash list...
Examining local system...
Fetching updates...
/boot/kernel/kernel...
Updates fetched

To install these updates, run: '/usr/local/sbin/freebsd-update install'
#


freebsd-update install を実行すると次のようになります。

# /usr/local/sbin/freebsd-update install
Backing up /boot/kernel/kernel...
Installing new /boot/kernel/kernel...
#


上記のようにカーネルが更新された場合には、
reboot後に uname -a を実行すると、日付が新しくなった情報が表示されるはずです。

# uname -a
FreeBSD some.host.name 5.3-SECURITY FreeBSD 5.3-SECURITY #0: (日付)     root@builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  i386
#


なお、freebsd-update には fetch や install以外にも、
cron(アップデートが存在する場合にrootにメール通知する)や、
rollback(適用した更新モジュールを更新前の状態に戻す)というモードもあります。



■ FreeBSD についての他のドキュメント


■ 他のグループのドキュメント

Apache  /  Linux  /  FreeBSD  /  OpenSSL  /  Perl  /  HTTPプロトコル  /  Jakarta Tomcat  /  Java  /  NetBSD  /  Oracle  /  PostgreSQL  /  UNIX の C言語  /  UNIX のコマンド  /  Windows  /  bind  /  システム運用TIPS

アンケートにご協力をお願いいたします。

1. このドキュメントへの評価をご選択ください。
         

2. ご感想をお書きください。