カテゴリー
FreeBSD Software

FreeBSD (6.3-RELEASE)

FreeBSD 6.3-RELEASE がリリースされました。

http://www.freebsd.org/releng/
http://www.freebsd.org/releases/6.3R/relnotes.html
http://www.freebsd.org/releases/6.3R/errata.html

これに合わせてMake Worldを行なう。
備忘録としてここに記録。

FreeBSD 6.3-STABLE #7: Sun Jan 20 12:41:36 JST 20

P.S.

The FreeBSD Security Team intends to support 6.3-RELEASE until January 31st,2010.

だそうです。

カテゴリー
FreeBSD Software

FreeBSD (ソースの同期)

FreeBSD 6-Stableでソースを同期する。

/etc/cvsup/releng_6-supfileの内容は

*default host=cvsup6.au.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_6
*default delete use-rel-suffix

src-all

host は fastest_cvsup を使って近い所に適宜書き換える。手動でソースのアップデート

# mkdir /var/log/cvsup/releng_6
# cvsup -g -L 2 /etc/cvsup/releng_6-supfile | tee -a /var/log/cvsup/releng_6/20071231.log

ソースの同期を自動化するのに必要なスクリプトをTAKE-LABさんのところ(*1)から落としてきます。 この中で”releng_6_1″とある部分を”releng_6″に書き換えて、portsのcvsup自動化の時と同様に

if SERVER=`$bin_fastest_cvsup -q -c jp`; then

の”jp”を”au”に書き換えておきます。これを /root/bin/cvsup-releng_6.sh にchmod 700して置きます。
/etc/crontabに

43     8      *      *      *      root   /root/bin/cvsup-releng_6_1.sh

を追加すると毎日8時43分にソースの同期が行なわれます。時間は適宜変更のこと。

Make World

これは以前のこの記事を参照のこと。

 

(*1): 今現在サイトが見つからないのでこちらに“releng_8”に変更したものを置いておきます

カテゴリー
FreeBSD Software

FreeBSD (portsのアップデート)

portsのアップデートに関するメモ

基本的にはTAKE-LABOさんのサイトに準じた内容です。 感謝。

portsのファイル入手

オーストラリアなら (でも、”36428 KB 2007/02/23 0:00:00″だったりするので古くないか?ここは)
ftp://ftp.au.freebsd.org/pub/freebsd/ports/ports/ports.tar.gz
日本ならここ (“38506 KB 2007/12/08 1:08:00″で割と新しい)
ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/ports/ports.tar.gz
本場(米国) (“38657 KB 2007/12/30 1:09:00” ここだとやっぱり新しい)
ftp://ftp.freebsd.org/pub/FreeBSD/ports/ports/ports.tar.gz
とにかく回線速度と日付と相談して適当にports.tar.gzを入手。

root権限で

# tar -zxvf ports.tar.gz -C /usr/

して/usr/portsに展開。

portupgrade
次にportsを最新の状態に保つために portupgrade をインストール。
この際にperlの最新版(5.8.8_1)とRuby(1.8.6.111_1,1)が一緒にインストールされました。
(注: “sysutils/portupgrade” ではなく ”ports-mgmt/portupgrade” に場所が変わってます。)

# mkdir /var/log/ports
# cd /usr/ports/ports-mgmt/portupgrade
# make | tee -a /var/log/ports/portupgrade.log
# make install | tee -a /var/log/ports/portupgrade.log
# make clean | tee -a /var/log/ports/portupgrade.log
# source ~/.cshrc
# mkdir /usr/ports/packages
# mkdir /usr/ports/packages/All

これで今後は make ではなく portinstall / portupgrade を使ってportsのインストールやアップグレードをすることになります。その際にログを残すために /usr/local/etc/pkgtools.conf の最後の部分を

PORTUPGRADE_ARGS = ENV['PORTUPGRADE'] || \
'-v -D -L /var/log/ports/'

のように書き換えておきます。

portaudit
portsのセキュリティチェックをするためにportauditのインストール。
単に

# portinstall portaudit

でOKです。portsツリーのどこにあるか分からなくても探してインストールしてくれます。
ちなみに、以前は security/portaudit にありましたが、今は ports-mgmt/portaudit に変わっています。

cvsup-without-gui
portsツリーを最新状態に保つために非gui版のcvsupをインストール

# portinstall cvsup-without-gui
#mkdir /etc/cvsup
# mkdir /var/db/sup
# mkdir /var/log/cvsup
# mkdir /var/log/cvsup/ports
# mkdir /var/log/cvsup/pkg

fastest_cvsup

# portinstall fastest_cvsup

cvsupの設定
まず、fastest_cvsup で近所のcvsupサーバーを探します。
まずは日本のサーバーを確認。

# fastest_cvsup -c jp
>>  Querying servers in countries: jp
--> Connecting to cvsup.jp.freebsd.org [210.224.172.75]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 347.93 ms
--> Connecting to cvsup2.jp.freebsd.org [203.216.196.85]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 311.99 ms
--> Connecting to cvsup3.jp.freebsd.org [59.106.2.11]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 318.56 ms
--> Connecting to cvsup4.jp.freebsd.org [133.1.240.15]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 325.13 ms
--> Connecting to cvsup5.jp.freebsd.org [210.161.150.4]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 309.39 ms
--> Connecting to cvsup6.jp.freebsd.org [59.106.2.11]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 307.73 ms

>>  Speed Daemons:
- 1st: cvsup6.jp.freebsd.org
- 2nd: cvsup5.jp.freebsd.org
- 3rd: cvsup2.jp.freebsd.org

さすがに豪州からだとjpは遠いです。次に豪州のサーバーを探します。

# fastest_cvsup -c au
>>  Querying servers in countries: au
--> Connecting to cvsup.au.freebsd.org [203.16.234.32]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 62.51 ms
--> Connecting to cvsup2.au.freebsd.org [150.101.48.30]...
- server replied: ! Access limit exceeded; try again later
- time taken: 87.69 ms
--> Connecting to cvsup3.au.freebsd.org [150.101.48.30]...
- server replied: ! Access limit exceeded; try again later
- time taken: 85.96 ms
--> Connecting to cvsup4.au.freebsd.org [203.16.234.31]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 62.23 ms
--> Connecting to cvsup5.au.freebsd.org [150.101.48.30]...
- server replied: ! Access limit exceeded; try again later
- time taken: 84.68 ms
--> Connecting to cvsup6.au.freebsd.org [203.16.234.32]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 61.53 ms
--> Connecting to cvsup7.au.freebsd.org [202.158.214.106]...
* error: connect: Invalid argument

>>  Speed Daemons:
- 1st: cvsup6.au.freebsd.org
- 2nd: cvsup4.au.freebsd.org
- 3rd: cvsup.au.freebsd.org

au.freebsd.orgなサイトはさすがに近いですがちゃんと最新のがあるのかいまいち不安。(笑

ともかく、cvsupサーバーを決めたらsupfileを用意します。

/etc/cvsup/ports-supfile の中身。

# 利用する CVSup サーバーを fastest_cvsup の結果から選択
#*default host=cvsup.jp.FreeBSD.org
#*default host=cvsup2.jp.FreeBSD.org
#*default host=cvsup3.jp.FreeBSD.org
#*default host=cvsup4.jp.FreeBSD.org
#*default host=cvsup5.jp.FreeBSD.org
#*default host=cvsup6.jp.FreeBSD.org
*default host=cvsup6.au.FreeBSD.org #<--これが選んだcvsupサーバー
*default base=/var/db # 作業ディレクトリ
*default prefix=/usr  # /usr/ports に展開
*default release=cvs tag=.
*default delete use-rel-suffix

ports-all # ports 全てを同期

最新のportsに
cvsupは非gui版なのでコマンドラインから

# cvsup -g -L 2 /etc/cvsup/ports-supfile | tee -a /var/log/cvsup/ports/20071231.log
# portsdb -Fu
# portaudit -Fda

“20071231.log”は単に今日の日付です。portsdb で INDEX を更新。 portaudit でセキュリティ上問題のある ports をリストアップ。

cronによる自動化
今までの手順をそのまま自動化するスクリプトをTAKE-LABOさんの所(*1)から落としてきて /root/bin/cvsup-ports.sh に置いてchmod 700しておきます。
ただし、50行目の

if SERVER=`$bin_fastest_cvsup -q -c jp`; then

の部分は “jp” を “au” に変更しておきます。
あとは /etc/crontab に

11     5      *      *      *      root   /root/bin/cvsup-ports.sh

を追記すれば毎日5時11分にcvsupしてくれます。時間は適宜変更のこと。

(*1): 今現在サイトが見つからないのでこちらに置いておきます

カテゴリー
FreeBSD Squirrelmail

FreeBSD (Squirrelmail 1.4.13)

毎日のportsのcvsupでpkg_versionが、

squirrelmail-1.4.11 < needs updating (port has 1.4.13)

と知らせてくれました。マイナーバージョンが11から13に一気に上がってます。
いつものようにportupgradeして、日本語パッチをここから落としてきて当てて、と作業をしようとしてる途中で

SECURITY:
SquirrelMail 1.4.12 Package Compromise
SquirrelMail 1.4.13 Released 非常に危険な脆弱性修正
SquirrelMail 1.4.11と1.4.12に何があったのか

を知りました。1.4.11と1.4.12のコードが何者かに改ざんされていたので急遽1.4.13のリリースとなったらしいです。
問題のコードが私のサーバーのSquirrelmailには入っていなかったのでセーフでしたが、ともあれアップデートは済ませておきました。

カテゴリー
FreeBSD Software

FreeBSD (Make World)

備忘録としてここに記録。

FreeBSD 6.3-PRERELEASE #6: Sun Dec 16 17:30:49 JST 2007