ports collection にセキュリティホールなどが見つかった場合に通知してくれるツールである portaudit をインストールする。
% sudo portinstall portaudit
早速 sudo を使って portinstall を実行する。ここで入力するパスワードは root のパスワードではなく、自分のパスワードであることに注意。
また、portaudit インストール直後に、画面の指示に従って portaudit を実行しておくと良い。最新の ports collection になった状態で作業しているので、おそらく問題はないはず。
% sudo /usr/local/sbin/portaudit -Fda
portaudit は、インストールされると自動的に、毎日実行されるようになる。
portaudit によって、インストール済みの port にセキュリティホールが見つかった場合には以下のような表示が出るか、もしくはメイルが来る。これはmysql-server にセキュリティホールが見つかったときのものである。
Checking for packages with security vulnerabilities: Affected package: mysql-server-5.0.21 Type of problem: MySQL -- SQL-injection security vulnerability. Reference: <http://www.FreeBSD.org/ports/portaudit/7f8cecea-f199-11da-8422-00123ffe8333.html> 1 problem(s) in your installed packages found. You are advised to update or deinstall the affected package(s) immediately.
この場合、以下のように portupgrade を実行し port の更新を行う。
# portupgrade mysql-server-5.0.21
もちろん、実際に更新をする port は、セキュリティホールが見つかったものにしなければならない。
% portupgrade imlib2-1.2.1.010_2 /usr/local/etc/pkgtools.conf:513: warning: already initialized constant BEFOREDEINSTALL /usr/local/etc/pkgtools.conf:517: warning: already initialized constant AFTERINSTALL ---> Session started at: Sat, 29 Sep 2007 06:40:58 +0900 ---> Upgrade of graphics/imlib2 started at: Sat, 29 Sep 2007 06:40:59 +0900 ---> Upgrading 'imlib2-1.2.1.010_2' to 'imlib2-20070223_1,1' (graphics/imlib2) ---> Build of graphics/imlib2 started at: Sat, 29 Sep 2007 06:40:59 +0900 ---> Building '/usr/ports/graphics/imlib2' ===> Cleaning for imlib2-20070223_1,1 ===> Found saved configuration for imlib2-20070223_1,1 ===> Extracting for imlib2-20070223_1,1 => MD5 Checksum OK for imlib2-20070223.tar.bz2. => SHA256 Checksum OK for imlib2-20070223.tar.bz2. ===> Patching for imlib2-20070223_1,1 ===> Applying FreeBSD patches for imlib2-20070223_1,1 ===> imlib2-20070223_1,1 depends on executable: pkg-config - found ===> imlib2-20070223_1,1 depends on file: /usr/local/libdata/xorg/libraries - not found ===> Verifying install for /usr/local/libdata/xorg/libraries in /usr/ports/x11/xorg-libraries /usr/X11R6 exists, but it is not a symlink. Installation cannot proceed. This looks like an incompletely removed old version of X. In the current version, /usr/X11R6 must be a symlink if it exists at all.Please read /usr/ports/UPDATING (entry of 20070519) for the procedure to upgrade X.org related ports.*** Error code 1 Stop in /usr/ports/x11/xorg-libraries. *** Error code 1 Stop in /usr/ports/graphics/imlib2. *** Error code 1 Stop in /usr/ports/graphics/imlib2. ** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade.14252.0 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=imlib2-1.2.1.010_2 UPGRADE_PORT_VER=1.2.1.010_2 make ** Fix the problem and try again. ---> Build of graphics/imlib2 ended at: Sat, 29 Sep 2007 06:41:03 +0900 (consumed 00:00:04) ---> Saving the log as '/var/log/ports/graphics::imlib2' ---> Upgrade of graphics/imlib2 ended at: Sat, 29 Sep 2007 06:41:03 +0900 (consumed 00:00:04) ---> ** Upgrade tasks 1: 0 done, 0 ignored, 0 skipped and 1 failed ---> Listing the results (+:done / -:ignored / *:skipped / !:failed) ! graphics/imlib2 (imlib2-1.2.1.010_2) (unknown build error) ---> Packages processed: 0 done, 0 ignored, 0 skipped and 1 failed ---> Session ended at: Sat, 29 Sep 2007 06:41:03 +0900 (consumed 00:00:05)
http://heipooh.jugem.jp/?eid=94
/usr/X11R6 must be a symlink /usr/X11R6 が、/usr/local の symlink になっていないと言うようなもの。
とりあえず、 /usr/ports/UPDATING (entry of 20070519)をみなおして
# sh /usr/ports/Tools/scripts/mergebase.sh を実行。
でもダメだったので
強引だけど
# mv /usr/X11R6 /usr/X11R6_backup
で、
# cd /usr/ports/x11/xorg-libraries # make patch # make install clean