2007-09-01
/libexec/ld-elf.so.1: Shared object "libintl.so.6" not found, required by "gmake"
お手伝いで FreeBSD に rails と senna を入れようと思って作業していた時の話です。
rails で gettext 使うとの事だったので、何となーく ports で gettext を新しいものに入れ替えました。
その後、senna を入れる為に make を実行すると、タイトルのエラーが出ました。
仕方が無いので、gmake を ports から再インストールして回避。
あふぅ…、他にも何か問題が出てきそう…。
neon、subversion、svk を入れなおした。 gettext の入れ替えは、気をつけようと思った…orz
2007-01-31
freebsd-update
大人の事情で、port 80 しか空いていなかったので csup が使えず、かつ、特にカーネルに変更を加えてなかったので、freebsd-update を選択。
(ってか、FreeBSD への風当たりが強い中で、無理矢理使っている都合上、簡単に update できる仕組みは押しやすい・・・)
cd /usr/ports/security/freebsd-update make && make install && make clean mv /usr/local/etc/freebsd-update.conf.sample /usr/local/etc/freebsd-update.conf /usr/local/sbin/freebsd-update fetch /usr/local/sbin/freebsd-update install reboot
引数について
引数 cron を使うと、fetch を行い、patch が存在していれば root ユーザにメールでお知らせしてくれる。
(install を行うか否かは、メール受信後に検討する)
引数 rollback を使うと、適用した patch を削除し、一つ前の状態に戻る。
(連続して実行する事で、前の状態を遡れる)
注意点について
以下、csup を使っていても言える事だが・・・
静的なライブラリが更新された場合
そのライブラリを利用するコマンド等は脆弱性が残ったままとなるので
コンパイルしなおす必要がある。
よって、fetch の時点で、何が更新されているか把握しておく事。
(.so とか更新されると、動かなくなるコマンドとかあるかも)
また、カーネルモジュールが更新された場合
いろいろ面倒なので、reboot しちゃった方が楽。
(どうしても止められない場合は、kldstat -v > 使用サービス停止 > kldunload > kldload > 使用サービス起動 の手順で)
参考URI
追記(2007/02/06)
freebsd-update は、csup と共に FreeBSD 6.2 から標準なので、ports から入れる必要なし。
2006-07-31
AcceptFilter
FreeBSD 6.1 に Apache 2.2.3 を Source からインストールして起動したら、下記のエラーが出た。
(2)No such file or directory: Failed to enable the 'httpready' Accept Filter
調べてみたら、各所で・・・
kldload accf_http.ko echo 'accf_http_load="YES"' >> /boot/loader.conf
と案内されていた。
とりあえず、ググってみた。
http://www.freebsd.org/cgi/man.cgi?query=accf_http&sektion=9
http://www.allbsd.org/~hrs/FreeBSD/doc-jp/announce-jp/FreeBSD-SA/02:26
http://httpd.apache.org/docs/2.2/ja/mod/core.html#acceptfilter