FreeBSD:freebsd-update
技術ドキュメント目次 -> FreeBSD -> freebsd-update本技術ドキュメントは、2002~2004年頃に作成したものが多いです。
内容が古くなっていることもあるかと思いますが、ご了承ください。
【低価格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 についての他のドキュメント
- IPエイリアス
- freebsd-update
- md5コマンド
- perl-after-upgrade
- pkg_info
- pkg_version
- portaudit
- portupgrade
■ 他のグループのドキュメント
Apache / Linux / FreeBSD / OpenSSL / Perl / HTTPプロトコル / Jakarta Tomcat / Java / NetBSD / Oracle / PostgreSQL / UNIX の C言語 / UNIX のコマンド / Windows / bind / システム運用TIPS