emerge dos2unix unix2dos blocking

またかよ( ゚д゚)
別に普段使わんツールやから消しちゃってもいいんやけどなぁ・・・
因みにdos2unix,unix2dosはファイルの改行コードを変換するツールです。

$ emerge -pvuD world
...
[ebuild     U ] app-misc/realpath-1.15-r1 [1.15] USE="nls" 0 kB
[ebuild     U ] app-text/dos2unix-5.1 [3.1-r2] USE="nls%*" 66 kB
[blocks B     ] >=app-text/dos2unix-5 (">=app-text/dos2unix-5" is blocking app-text/unix2dos-2.2-r1)
[blocks B     ] app-text/unix2dos ("app-text/unix2dos" is blocking app-text/dos2unix-5.1)

Total: 2 packages (2 upgrades), Size of downloads: 66 kB
Conflict: 2 blocks (2 unsatisfied)
...
$ qlist dos2unix
/usr/bin/dos2unix
/usr/bin/mac2unix
/usr/share/man/man1/dos2unix.1.bz2
/usr/share/man/man1/mac2unix.1.bz2
$ qlist unix2dos
/usr/bin/unix2dos
/usr/share/man/man1/unix2dos.1.bz2
$ sudo emerge -C unix2dos
...
$ sudo emerge -avuD world
...y
$ qlist dos2unix|grep /usr/bin
/usr/bin/dos2unix
/usr/bin/unix2dos
/usr/bin/unix2mac
/usr/bin/mac2unix

まー多分dos2unixに統合されたとかそんなんでしょう。ってことでunix2dosを消して更新したら案の定。まあそうそう使う機会ないけどな。
楽だからsambaでやり取りしたファイルの都合合わせるとき一気に変換したりするのに欲しくなる。emacsとかviとかリッチな環境だと簡単に出来たりするけど、どうも一気にやろうとするとsedとかawkとかで意外と書きにくい。特に改行コード混ざってる時とかは意外と面倒だったりするw

GCJ Online Round 2 落選

Google Code Jam 2010 Online Round 2落ちた。毎年気付けば終わってたから今年初参加。

忙しくって、今更感あるけど先週のネタ。明日R3だから手遅れではないはず?年次開催だけあって全体的にいい問題が揃ってると思うので練習するのにもいいと思う。

結果はA完、C-small。Rank: 1023 Score: 18。酷い結果だ。scoreboard(1021-)
Bが読みにくくて飛ばしたけど、やるべきだった。と思ったけどAに時間食い過ぎた事を考えるとBやったらCに掛かれなかったと思うので、どの道通過出来なかったかも。考察するとレベルも英語力も足りないけど、問題を解く時間が遅いことが一番のネックになってるんじゃないかなと思った。

A. Elegant Diamond
どちらかと言えばコーディングハード問題、1時間掛けてしまった。点数低すぎ!
B. World Cup 2010
若干題意が汲み取りにくかったけど、落ち着いて読み直したら(読む時間除いて)30分位で解けた。
C. Bacteria
large通らなかった。いやうん、時間無くって分からんかった。全く考えずsmall通ったのでよしww
D. Grazing Google Goats
読んでない。

解答が公開されてるから問題について書く必要はないね。Analysisを見るといいよ。
来年はR3まで行こう。

簡単なWordPress高速化

ググればいくらでも出てきたので敢えて俺が書く必要もあるまいて。自分用健忘録。

WordPress を高速化する5つの方法

MySQLのキャッシュ有効化。

$ sudoedit /etc/mysql/my.cnf
# in section [mysqld]
> query_cache_size=24M
$ sudo rc-config restart mysql

PHP拡張APC(中間コードキャッシュ)。

$ sudo emerge pecl-apc
$ sudo rc-config reload apache2

終わり。うっわ簡単。これだけでおよそ描画開始までの遅延が半分にw

鯖の状態を視覚化するツールmunin

グラフィカルな鯖缶ツールはあった方がいいなと思って探したらMuninってのが良さ気。正味使えりゃ何でも良かった。他に何があるかは知らない。

gentooでの記録なので違う方は適所読み替えればおk。emergeはyumとかaptみたいなもん。

$ sudo emerge munin
$ munin-check
  #各ファイルの権限とかをチェックしてくれる
$ sudo chown munin:munin /var/lib/munin/crontab
  #これだけで済んだ
$ /usr/sbin/munin-node-configure --shell --families auto,manual,contrib
  #使えるプラグイン一覧
$ sudoedit /etc/munin/munin-node.conf
#変更箇所
< user root
< group root
---
> user munin
> group munin
$ sudo crontab -u munin /var/lib/munin/crontab
$ sudo rc-config start munin-node
$ sudo rc-config add munin-node default
$ sudo htpasswd -c /etc/munin/munin-htpasswd sulume
  #デフォルトでBasic認証掛かる、不要なら.htaccess弄る

mysqlには皆rootばっかり使ってるけど、それは変だろう、ってことで、mysqlに監視用ユーザ作った。MySQLリファレンスのGRANTより権限はsuperだけでよさげ。

mysql> create user 'munin'@'localhost' identified by 'password';
mysql> grant super on *.* to 'munin'@'localhost';
#/etc/munin/plugin-conf.d/munin-node
[mysql*]
env.mysqlopts -u munin -ppassword

デフォのhtml生成先が/var/www/localhost/htdocs/munin/だったので適当に表示される様に調整。これで表示され・・・グラフ画像に文字が表示されない( ゚д゚)□だらけwwwそういえばフォントが必要なのか。読めればいいので適当にフォントを選んだ。念のため日本語対応のX用じゃない奴にした。

$ qsearch media-fonts
  #フォントっぽいパッケージ一覧、qsearchが無かったらemerge -s fontとかでも
$ sudo emerge fs-fonts

画像の更新を待ったらちゃんと文字が表示された。温度とファン回転数が見れたので、ついでにfancontrolの値を調整しといた。画像はこんな感じ。

munin image

samba doesn’t dereference symlinks

sambaを更新(前回の記事)したらシンボリックリンクを辿らなくなった。

logの’IPC$’の部分は共有名でコロコロ変わります。

[2010/06/04 01:23:24,  0] param/loadparm.c:9791(widelinks_warning)
  Share 'IPC$' has wide links and unix extensions enabled. These parameters are incompatible. Wide links will be disabled for this share.

調べたところこんな問題があるんだと、
http://www.samba.org/samba/news/symlink_attack.html

故にセキュリティ上wide linksとunix extensionsを共存させられないからwide linksを無効にするんだと。いやー、この場合unix extensionsの方が問題アリだろwなんでそっち優先すんのw

解決法は[global]セクションにこの二行を追加(もちろん既にある時は変更)。wide linksはデフォでyesらしいけど、消したら動かなかったから一応明記した。

wide links = yes
unix extensions = no

emerge samba blocking

$ emrege -puD world
...
[ebuild  N    ] sys-libs/tdb-1.2.1  USE="python -static-libs -tdbtest -tools"
[ebuild  N    ] sys-libs/talloc-2.0.1-r1  USE="-compat -doc -static-libs -swig"
[ebuild     U ] net-fs/samba-3.4.6 [3.0.37] USE="client%* netapi%* server%* smbclient%* -addns% -aio% -avahi% -cluster% -ldb% -quota% -smbsharemodes%"
[blocks b     ] <net-fs/samba-3.3 ("<net-fs/samba-3.3" is blocking sys-libs/tdb-1.2.1, sys-libs/talloc-2.0.1-r1)

またか、以前mktempとかe2fsprogsとかでもあったけど、バージョンアップ前のブロッキングなので消してやる。もう慣れただけど最初ぶつかった時は困ったなあw

$ sudo emerge -C samba
...
$ emerge -puD samba
...
[ebuild  N    ] dev-libs/iniparser-3.0b-r1
[ebuild  N    ] app-text/build-docbook-catalog-1.4
[ebuild  N    ] app-text/docbook-xsl-stylesheets-1.75.2
[ebuild  N    ] sys-libs/talloc-2.0.1-r1  USE="-compat -doc -static-libs -swig"
[ebuild  N    ] dev-libs/libgpg-error-1.7  USE="nls -common-lisp"
[ebuild  N    ] dev-libs/libgcrypt-1.4.5
[ebuild  N    ] dev-libs/libxslt-1.1.26  USE="crypt python -debug"
[ebuild  N    ] sys-libs/tdb-1.2.1  USE="python -static-libs -tdbtest -tools"
[ebuild  N    ] net-fs/samba-3.4.6  USE="acl client ldap netapi pam readline server smbclient -addns -ads -aio -avahi -caps -cluster -cups -debug -doc -examples -fam -ldb -quota -smbsharemodes -swat -syslog -winbind"
$ sudo emerge -uD samba
...

そんなことより昨日/homeのファイルシステムが壊れるどころかオールゼロ化されてた、原因はメモリ不良で以前兆候があったかから割とすぐ特定できた。このブログはDB上にデータがあるらしく無事やったけど、ユーザー設定が全部消えたorzバックアップって大事だね!