FreeBSD上で安全にソフトウェアをアップデート--注意点とその手順

文:Chad Perrin (Special to TechRepublic) 翻訳校正:村上雅章・野崎裕子
2009-11-16 11:19:01
  • このエントリーをはてなブックマークに追加

 筆者は、FreeBSDをインストールする時に、ソフトウェアアップデートを取り扱う時のことも考えて作業を行っている。つまり、OSをインストールした後、/usr/prots/ports-mgmt/portupgradeポートもインストールしておくのである。このポートはportsシステムを自動化し、ユーザーインターフェースをシンプルなものにするためのスクリプトの集合体である。これについての詳細とセットアップ方法についてはFreeBSDハンドブックを参照されたい。次に、portupgradeが提供している「portinstall」コマンドを使用し、portauditというツールをインストールしておく。この情報についてもFreeBSDハンドブックを参照してほしい。

 これで後は、ソフトウェアのアップデートが必要となるたびに、以下のような手順を実行することになる。

  1. ローカルportsツリーのスナップショットを更新するために、「portsnap fetch update」と入力する。
  2. 「portaudit -Fa」と入力する。-Fオプションによって最新のportauditデータベースが取得される。-aオプションによって、portsからインストールされたソフトウェアのうち、既知の脆弱性があるすべてのものについて脆弱性レポートが出力される。
    • 「portaudit」コマンドによって何らかの脆弱性が表示された場合、/usr/ports/UPDATINGファイルをページャやテキストエディタでオープンする。筆者はいつも、ターミナルエミュレータから「less」コマンドを実行している。そして、ページャやエディタのテキスト検索機能を用いて、システム上のソフトウェアをアップデートした日、あるいはその日以降の日付でUPDATINGファイルに記載されている脆弱性情報がないかどうかを確認している。
    • UPDATINGファイル中に、脆弱性のあるソフトウェアの記載が具体的なアップデート指示とともにあった場合、該当アップデートが他のソフトウェアの再帰的なアップデートを要求している際を除き、その指示に従う。再帰的なアップデートが要求されている際には、後でどういったことを行う必要があるのかをメモしておき、今のところは作業を行わない。
    • UPDATINGファイル中に、脆弱性のあるソフトウェアの記載がなかった場合、「portupgrade」コマンドを用い、通常手順でこういった特定の脆弱性があるportsをアップデートする。
  3. 「portversion -vL=」と入力する。portversionユーティリティは、インストールされているソフトウェアのバージョンと最新のportsツリー内のそれとを比較するものである。-vオプションを指定することで、詳細な出力が行われるようになる。-Lオプションに=を指定することで、インストールされているソフトウェアのうちステータスフラグが=となっているものが除外される、つまり最新のportsツリー内に新しいバージョンのソフトウェアがある場合(あるいは、ロールバック等によってバージョンが古くなっている場合)にのみ表示される。
    • 「portversion -vL=」で表示されたポートについて、portauditの出力に対して行った作業と同様の手順を実行し、UPDATINGファイルをチェックし、指示に従い、再帰的に他のポートをアップデートする場合には後で従う必要のある指示を書き留めておく。
  4. この時点で、再帰的にアップグレードを行う必要のあるポートに対する指示を実行したり、追加するポートの再コンパイルを行う。この時点まで指示を実行しないようにする理由は、UPDATINGノートに解説されている特殊な取り扱いを要するポートを、そういった指示に従うことなくアップグレードしてしまわないようにするためである。
  5. 最後に、アップデートの必要なポートが残っているのであれば、「portupgrade -a」コマンドを用いてそれらすべてをアップグレードする。-aオプションによって、インストールされているパッケージのうち、最新になっていないものすべてがportupgradeの操作対象となる。
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]