FreeBSD PHP 5.4.36 へアップグレード

年の瀬が押し迫った今日、FreeBSD の PHP のアップグレード(5.4.35 から 5.4.36 へ)が ports へ到着していました。

早速、いつものように portupgrade -a で関連する ports を含めて一斉に更新を行なっておきました。

我が家では動作上の問題は無いように感じられました。

php5-5.4.36 のビルド・オプション

FreeBSD 9.3 p7 (ntpd, freebsd-update) アップデート

Debian Wheezy では、すでに NTPD の脆弱性問題に対するアップデートが到着していました。我が家では FreeBSD のサーバで家庭内 LAN 向けの NTPD が稼働しており、外部に公開はしておりませんが、とても気になる脆弱性でした。この NTPD の脆弱性問題について FreeBSD ではどうなるのか気になっていましたが、ようやく NTPD の対策アップデートが到着しました。また NTPD と一緒に freebsd-update のアップデートも到着していました。

20141223: p7 FreeBSD-SA-14:31.ntp
             FreeBSD-EN-14:13.freebsd-update

Fix multiple vulnerabilities in NTP suite.  [SA-14:31]
https://www.freebsd.org/security/advisories/FreeBSD-SA-14:31.ntp.asc
Fix directory deletion issue in freebsd-update.  [EN-14:13]
https://www.freebsd.org/security/advisories/FreeBSD-EN-14:13.freebsd-update.asc

この二つのアップデートは、ソースツリーの更新の後、共にユーザーランドの再構築(make buildworld)で対策可能となっています。カーネルの再構築は必要ありませんが、私はいつものように一緒に再構築を行なっておきました。詳しくは上記公式ウェブサイトを参照ください。

システム・ソースツリーの更新

# svn update /usr/src
Updating ‘/usr/src’:
U    /usr/src/contrib/ntp/ntpd/ntp_proto.c
U    /usr/src/contrib/ntp/ntpd/ntp_control.c
U    /usr/src/contrib/ntp/ntpd/ntp_crypto.c
U    /usr/src/contrib/ntp/ntpd/ntp_config.c
U    /usr/src/contrib/ntp/util/ntp-keygen.c
U    /usr/src/usr.sbin/freebsd-update/freebsd-update.sh
U    /usr/src/UPDATING
U    /usr/src/sys/conf/newvers.sh
Updated to revision 276176.

システムの再構築(再ビルド)

# cd /usr/src
# make buildworld && make buildkernel KERNCONF=MYKERNEL
# make installkernel
# make installworld
# reboot

注意

NTPD のバージョンを確認してみましたが、最新の 4.2.8 ではなく、アップデートの前後でバージョン番号(4.2.4p8)の変更はなかったようです。しかし上記のソースツリーの更新で確かにパッチが対応しているので、セキュリティ上これで問題ないようです。

# ntpd –version
ntpd – NTP daemon program – Ver. 4.2.4p8

参考 URL

Network Time Protocol daemon (ntpd) に複数の脆弱性
http://jvn.jp/vu/JVNVU96605606/

PCi GW-NS300N 無線 LAN アダプタ

一つ前の記事のバッファロー WLI-CB-AMG54HP に引き続き、プラネックス社の IEEE 802.11n 対応の GW-NS300N 無線 LAN アダプタもインターネット・オークションで入手しました。

プラネックス GW-NS300N の外観です。

本機は IEEE 802.11 b/g/n 対応となっています。コントローラチップに Lalink RT2800 が使用されているようです。ドライバには rt2800pci が適用されていました。

我が家には以前入手したロジテック社の LAN-WN23/CB がありますが、こちらもコントローラチップに RT2800 が使用されていて、同様の仕様となっています。

今回入手した GW-NS300N の転送速度の計測の比較として、上記の LAN-WN23/CB を使用してみました。

実験方法は FTP 転送で転送速度の計測を行なってみました。使ったノートパソコンは ThinkPad R51e を使用して、OS に Debian Wheezy の Gnome3 デスクトップの環境です。無線LANアクセスポイントは、Linksys 社の WRT150N (DD-WRT v24-sp2) を使用しました。転送速度の比較用として、LAN-WN23/CB も併せて計測しました。計測は、およそ 100MB のファイルをダウンロードした転送速度を五回計測して、その平均値を求めました。

なお今回の計測において、同じ性能と思われた二機種の転送速度に差が出たため、最初に計測した GW-NS300N は、後に計測を行った LAN-WN23/CB の計測の後に、再計測を行なってみました。これは同じ条件で計測を行なっていましたが、目に見えない無線環境に急変があったのではないかと想像しての処置でしたが、結果として GW-NS300N の計測結果に差が生じることはありませんでした。どうも今回計測した二機種には性能差があるようです。

転送速度を比較計測した二機種の無線LANアダプタです。
左が GW-NS300N 右が LAN-WN23/CB です。

以下は転送速度の計測結果です。

GW-NS300N   : 4,116 KB/s (32,929 Kbps) 計測一回目
LAN-WN23/CB : 5,467 KB/s (43,739 Kbps)
GW-NS300N   : 4,047 KB/s (32,377 Kbps) 計測二回目

転送速度の計測データ

 この結果を見る限り LAN-WN23/CB の方が、GW-NS300N より転送速度が速くなっています。lspci コマンドで表示される内容はどちらも同じ内容の “05:00.0 Network controller: Ralink corp. RT2800 802.11n PCI” です。少なくともコントローラ・チップ以降の部分は同じ内容となっているものと思われます。アンテナや無線回路の部分に違いがあるのでしょうか? また無線LANアクセスポイントへ接続するときも GW-NS300N がなかなか接続できない症状が発生することがありました。この症状も転送速度が遅いことと何か関連があるのでしょうか? そして転送速度の大きな違いは、単純な個体差なのか? 設計・製造上の違いからくるものなのかは不明です。個人的な感想としては、GW-NS300N はあまりお薦めできる無線 LAN アダプタではなさそうです。

最後に、GW-NS300N と LAN-WN23/CB ともに、無線LANアダプタを使用中に抜き去ると、カーネルがハングアップしてしまいます。ドライバに問題があるのでしょうか。

Buffalo WLI-CB-AMG54HP 無線 LAN アダプタ

インターネット・オークションにて、バッファロー社の無線 LAN アダプタの WLI-CB-AMG54HP を入手しました。

バッファロー WLI-CB-AMG54HP

バッファロー社の無線LANアダプタのうち、ハイパワー仕様(HP)の無線LANアダプタはこれで WLI-CB-G54HP に引き続き、二個目の入手となります。

この WLI-CG-AMG54HP は、IEEE 802.11 a/b/g 仕様となっています。このためなのか?どうかは不明ですが、アンテナ部分が大きくなっています。下記の写真は比較写真です。以前入手していた WLI-CB-G54HP もアンテナ部分が大きい印象がありましたが、それよりも大きなアンテナに圧倒されてしまいます(笑)。この大きさのおかげで無線の到達距離も伸びるのでしょうか?なお使用しているコントローラ・チップは BCM4318 でした。ドライバは b43 が適用されました。

アンテナ部分の突出量の比較です。
上から
WLI-CB-AMG54HP
WLI-CB-G54HP
WLI-CB-G54

さて気になる転送速度ですが、いつものように FTP 転送で転送速度の計測を行なってみました。使ったノートパソコンは ThinkPad R51e を使用して、OS に Debian Wheezy の Gnome3 デスクトップの環境です。無線LANアクセスポイントは、Linksys 社の WRT150N (DD-WRT v24-sp2) を使用しました。転送速度の比較用として、WLI-CB-G54HP (BCM4318) と WLI-CB-G54 (BCM4306) も併せて計測しました。計測は、およそ 100MB のファイルをダウンロードした転送速度を五回計測して、その平均値を求めました。

転送速度を計測した三種類の無線LANアダプタです。
左から WLI-CB-AMG54HP, WLI-CB-G54HP, WLI-CB-G54

以下は転送速度の計測結果です。

WLI-CB-AMG54HP : 2,272 KB/s (18.178 Kbps)
WLI-CB-G54HP   : 2,143 KB/s (17.144 Kbps)
WLI-CB-G54     : 2,265 KB/s (18.127 Kbps)

転送速度の計測データ

意外なほどに横並びの結果となりました(笑)。 アンテナ部分や無線回路部分の違いは、転送速度自体には影響を与えていないようでした。ただ無線LANの受信状況を示すインジケータを見る限り、アンテナのマークの本数が多い分だけ受信状況が WLI-AMG54HP は良好であったようです。単純に無線LANの到達距離を伸ばすことを目的として、本機を使用することには、効果があるようです。

FreeBSD Perl 5.18.4_11 へアップデートと注意事項

FreeBSD の ports へ Perl 5.18.4_11 へのアップデートが到着していました。

アップデートは単純に portupgrade で更新を行なっておきました。ビルドとインストールした最後に次のセキュリティ警告が表示されていました。

Installing perl5-5.18.4_11…
===> SECURITY REPORT:
 This port has installed the following files which may act as network servers and may therefore pose a remote security risk to the system.
/usr/local/lib/perl5/5.18/mach/CORE/libperl.so.5.18.4

さらに /usr/ports/UPDATING を確認してみると、Perl 5.** を使用しているユーザ宛に注意事項が届いていました。Perl 本体のアップグレードを行った時には、依存関係のある Perl のモジュールや ports の再ビルドが必要ですが、PKG を使ってバイナリ・アップグレードを行うときには、PKG がアップグレードを検出して再インストールしてくれるそうです。portupgrade や portmaster を使用している場合には、次のコマンド・スクリプトを実行することで、再ビルドの必要な ports を検出して、再ビルドができるそうです。PKG コマンドで再ビルドの必要な ports を検出して、portupgrade で再ビルドさせる手法のようです。詳しくは /usr/ports/UPDATING を確認してください。

20141217:
  AFFECTS: users of lang/perl5.*
  AUTHOR: mat@FreeBSD.org

  Perl now links all .so it builds with libperl.so, it makes upgrading from one Perl major version to another way easier.  For binary package users, it means pkg upgrade will detect the libperl.so.x.yy change, and reinstall the affected packages.  For users using ports, it will save rebuild time as it’s easier to detect what ports really need to be rebuilt.

Perl 5.18 ユーザは、次の方法で再ビルドすると時間の節約になるそうです。Perl 5.16 などの他のバージョンを使用している場合には、適宜変更が必要です。

  Ports users are encouraged to rebuild ports that install files in SITE_ARCH.
  If using Perl 5.18, run:

  With portupgrade:

 portupgrade -f `find /usr/local/lib/perl5/site_perl/mach/5.18 -name ‘*.so’|xargs pkg which -qo|sort -u`

  With portmaster:

 portmaster `find /usr/local/lib/perl5/site_perl/mach/5.18 -name ‘*.so’|xargs pkg which -qo|sort -u`

私個人としては、単純に portupgrade の “-r” オプションで Perl と依存関係のあるものを全て再ビルドしてしまう方が、後腐れなしで安心できるのではないかと思っています。今後もしばらくこの方法で処理する予定です。

portupgrade -fr perl5