portsのportupgradeをmakeする途中でコケる

portsのportupgradeをmakeする途中でコケる


# cd /usr/ports/ports-mgmt/portupgrade; make && make install

portupgradeをmakeしようとすると


test -z "/usr/local/info" || ../../build-aux/install-sh -c -d "/usr/local/info"
install  -o root -g wheel -m 444 ./gettext.info '/usr/local/info'
install-info --info-dir='/usr/local/info' '/usr/local/info/gettext.info'
install-info --quiet /usr/local/info/autosprintf.info /usr/local/info/dir
install-info: No such file or directory for /usr/local/info/autosprintf.info
*** Error code 1

となってautosprintf.infoが無いって怒られる。portsのバグかと思ってたけど、ここしばらく半年ぐらいは改善される様子がない。
自分の環境がportsディレクトリをnfs化しているのが原因だろうか。
しょうがないので毎度毎度他のマシンからautosprintf.infoを拾ってきて突っ込んで再コンパイルしてる。

php conference 2010

php conference 2010へ行って参りました。そのときのメモをメモります。

nginxっていういいサーバっぽいのがあるらしい。proxy?

puppetで300-400台ぐらいいけるらしい。すごいね! 個々一さん

<hr>

symphonyのサンプルとしてOpenPNEいいよね。 手嶋屋さん

5-8台で数千PV/日さばけますよ <-なんの話だっけ

Klabさん、DBサーバの接続数は節約しましょうね。memcacheいいじゃないですか

APCとかKVSとか。不整合はユーザが得をするように考えましょう。それなら文句でない。

zynga。ウノウを買収したらしいす。

internet上のスケールアウト可能なwebサーバ。オートスケールがウリ。へぇ。高そうね。

membaseっていうmemcacheとmysqlの組み合わせ動くよ。これmemcacheにいったんいれて、あとで永続的な、ね。

codeignighterの本買ってね。->買いたいですね、前探したんですががが。

hip hop php。速度は二倍ぐらい。あら~もっと早くなるかと思いました。

個々一さんがジュースを差し入れしてました。受付に。

web matrix。バイオレーションの報告がみれますよ、(バイオレーションって何?) SEOがよくなりますよ microsoft

twitterbot いいなぁ、お金になりそうっすね

php-fpm vs spawn-fcgi

nginx <- 軽量PHPサーバらしい。

軽いらしい。でもspawn-fcgiってlighttpdと組み合わせて使ってるとプロセス死んじゃうんです、うちでは。

tokyo tyrant

セションがストアできるとか。 apacheのgdb。これ結構気が折れますよね。

12時間でpythonがマスターできる、python4phper

是非いつかの機会に行かせてください。

Pirum。pearのチャンネルを管理するツール。bear使ってるらしいです。管理ってなんだろう。一度使おう。

anatooさん。PEGパーサについて。よくわかんなかったです。

php-oll

php-online learning? 人工なんとかのうだった?

I2I

アクセス解析がいいらしいです。

syslogで管理してるファイルのファイル名を変更した

syslogで管理してるファイルのファイル名を変更した。

ホストA上のプログラム -> ホストA上のsyslog -> ホストB上のsyslog-ng

という順序で受けているファイルのファイル名を変更した。

まずは受け側をうまく受けてやるように、ホストB上のsyslog-ngをconfいじって変更。syslog-ngを再起動。

次いでホストA上のプログラムでsyslogのプログラム名を変更。プログラムを再起動。

syslogも適当に変更して再起動。

この段階でホストB上にファイルが作られてログが流れてきたことを確認。

# cat now.log>> old.log ; mv old.log now.log

ってやって、作業中に流れたログをこれまでのログとまとめてやる。

最後にログのファイル名を変更する必要がある。

%find ./ -name ‘hogehoge*’ -print | sed -ne ‘s/.\/hogehoge-httpd_backend-\(.*\)/sudo mv hogehoge-httpd_backend-\1 httpd-\1/p’ | sh

確認しながらやろう。

FreeNASに接続できなかった

FreeNASに接続できなかった。

結論から言うとデフォルトゲートウェイが設定されてなかった。

まずインストール直後のFreeNASを起動して、IPアドレスはDHCPから取得するように端末から設定した。DHCPからうまくアドレスをもらっていたようだったのだけど、隣のセグメントからつながらない。


クライアント: 192.168.1.100
FreeNAS: 192.168.2.100

みたいな感じ。ファイアウォールのせいかと思って、FreeNASと同じセグメントのマシンからSSHトンネルを掘って作業してたんだけど、どうもおかしい。基本的にあいている設定で、隣のセグメントからつながらないような設定が見当たらない。

しょうがないのでsshでログインしてdhclientを再起動。したらdefaultrouteがちゃんと設定されてた。うーん、再起動でちゃんと設定されるか見ておく必要あり。だめならrc.confを書き換えるか、毎度それも書き換えられてしまうならパッチを送るか。

nfs越しにでっかいファイルを作るとどうなるか on FreeBSD。

nfs越しにでっかいファイルを作るとどうなるか on FreeBSD。

サーバ側: 特にオプションなし。待ち受けが四つぐらいできてる。freebsd 7.1-R。i386。ディスクは500Gx2でハードウェアRAIDされてる。raid1。

クライアント側: 特にオプションなし。

nfsclient.l2tp.org%dd if=/dev/zero of=/usr/home/yousan/tmp/hoge bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes transferred in 134.479734 secs (7797279 bytes/sec)
ざっと7MB/sぐらい。普通に運用中のディスクなのでこれが限界かも。シーケンシャルじゃなくてランダムファイルの時のファイル情報のキャッシュとかいじりたい、いややっぱいいや。シーケンシャルもうちょっと高くならないかな。

ディスクの生のアクセスが気になったのでサーバ上で同じコマンドを実行してみる。

nfsserver.l2tp.org%dd if=/dev/zero of=/usr/home/yousan/tmp/hoge bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes transferred in 27.305885 secs (38401099 bytes/sec)

早い。40MB/s出てる。たぶん、だけど、250GBプラッタじゃないかな、だとすると一般的な実効速度よりちょっと低いぐらい、って感じだろうか。

freebsdにhddを追加する

freebsdにhddを追加する。ちょっと前まではsysinstallでやってたんだけど、よく仕組みもわからないから、ってことで最近はfdiskとかを使ってやってる。でもやるたびに忘れるので意味がない。そのためのメモ。

対象のマシンはExpress5800GT110a。

HDDはHitachi HDS721010CLA332/JP4OA3Eを2台。それをexpress5800のオンボードraidでストライピングする。

まず本体側の設定でRAID0を構築。

FreeBSDでなんとなくRAIDが認識されている事を確認しながらHDDの初期化的な作業に入る。

ar1と認識されているらしいので、これを初期化する必要がある。

初期化のための参考資料はFreeBSDハンドブック。記述がちょっと古かったりするけど、純粋にfreebsdの事しか書いてないのでやっぱり役に立つ。

ハンドブックには、下記の通り二種類の初期化の仕方が書いてある。

15.3.2.1. スライスの利用

15.3.2.2. 専用モード

スライス、パーティションなどの言葉がごちゃごちゃしていることもあって正直よくわかっていないのだけど、先入観から切り分けるとこうだ。

スライスの利用->windowsからでも見えるよ!普通にインストールしたら使われてる感じだよ!

専用モード->HDDまるまるをパーティション切る感じだよ!他のOSには優しくないよ!

専用モードでも他のOSから見えそうだけど、まぁいいや。気になったのはディスクの名前の付けられ方の違いっぽい。

通常のインストールでHDDのスライスを切ると、ad6s1fとかが/usrになってたりする。ad6ってのは実際のhddの名前で、s1ってのがFreeBSDで言うパーティション(?)じゃないだろうか。このパーティションを切るのがスライスの利用バージョンで、パーティションを切らずにまるまる使ってしまうのが専用モード、ということらしい。

つまりスライスの利用だと、新しいRAIDで追加されるHDDは、ar1s1dとかで認識されるけど、専用モードだとar1dとかで認識される、ということ。これは試してみたのでたぶんあってる。

実際の切り分け方はこう。

スライスの利用

# dd if=/dev/zero of=/dev/da1 bs=1k count=1
# fdisk -BI ar1 # 新しいディスクの初期化
# disklabel -B -w -r ar1s1 auto # ディスクにラベルを付ける
# disklabel -e ar1s1 # 作成したディスクラベルを編集し、パーティションを追加する 
# newfs /dev/ar1s1d # 作成したすべてのパーティションに対してこれを繰り返す 

fdiskでwarningが出てたけど、うまくいってるぽい。

%sudo fdisk -BI ar1
******* Working on device /dev/ar1 *******
fdisk: Geom not found: "ar1"

ディスクラベルの編集は下記の内容にしてみた。aっていう元からあるスライスを消してdを作った。

# /dev/ar1s1:
8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
 d: 3902333006       16    4.2BSD        0     0
 c: 3902333022        0    unused        0     0         # "raw" part, don't edit

次からは忘れないように。以上。


	

packageをよそのマシンから持ってきたりする

%pkg_info -EIx apache | xargs -n 1 pkg_create -Rvb

気にすることといえばcpuの種別とFreeBSDのバージョンらしい。詳しくはよくわかんないけど。

下記は春木屋さんに載ってたphp関連のパッケージを作るコマンド

$ pkg_info -Ix php5|cut -d" " -f 1 |xargs -n 1 pkg_create -vb

インストールしたportsのpkgを作るには – 春木屋
【FreeBSD】portsのコンパイルを他のPCに肩代わりさせる – FreeBSD備忘録