2011年10月7日金曜日

blogのデザイン変更

js-kitがechoという有料サービスになっていたため、移行を諦めて標準のコメントシステムに戻すことにしました。がらっと変えてみたけど、どうなってるかな・・・・?
何故か文字が化ける? のか? 文字チェック。


ひょうじゅん→標準 ばぱべぺずづ standard oO0Ll1 (デフォルト)
ひょうじゅん→標準 ばぱべぺずづ standard oO0Ll1 (Arial)
ひょうじゅん→標準 ばぱべぺずづ standard oO0Ll1 (Courier)
ひょうじゅん→標準 ばぱべぺずづ standard oO0Ll1  (Georgia)
ひょうじゅん→標準 ばぱべぺずづ standard oO0Ll1  (Helvetica)
ひょうじゅん→標準 ばぱべぺずづ standard oO0Ll1  (Times)
ひょうじゅん→標準 ばぱべぺずづ standard oO0Ll1 (Trebuchet)
ひょうじゅん→標準 ばぱべぺずづ standard oO0Ll1  (Verdana)


化けると思ったのは勘違いだったようです。

2011年4月28日木曜日

ports の net/samba35 が微妙に古い

FreeBSD ports に入っている samba 3.5系 (net/samba35) がどういう訳か 3.5.6 のままなのですね。
samba 3.5系の最新版は現在 3.5.8 なわけで。これはよろしくない、ってんで検証を一切していないまま、無理矢理最新版をコンパイルするような patch を作ってみました。
diff -urN net/samba35.orig/Makefile net/samba35/Makefile
--- net/samba35.orig/Makefile 2011-04-11 22:22:12.708685727 +0900
+++ net/samba35/Makefile 2011-04-26 19:28:16.125102303 +0900
@@ -6,8 +6,8 @@
#

PORTNAME= ${SAMBA_BASENAME}35
-PORTVERSION= 3.5.6
-PORTREVISION?= 2
+PORTVERSION= 3.5.8
+PORTREVISION?= 1
CATEGORIES?= net
MASTER_SITES= ${MASTER_SITE_SAMBA}
MASTER_SITE_SUBDIR= . old-versions rc pre
@@ -18,8 +18,8 @@

CONFLICTS?= *samba3[0-4]-3.* sharity-light-1.*
# Additional patches from Sernet.de
-PATCH_STRIP= -p1
-EXTRA_PATCHES= ${PATCHDIR}/sernet.patch
+#PATCH_STRIP= -p1
+#EXTRA_PATCHES= ${PATCHDIR}/sernet.patch

LICENSE= GPLv3
LICENSE_FILE= ${WRKDIR}/${DISTNAME}/COPYING
diff -urN net/samba35.orig/distinfo net/samba35/distinfo
--- net/samba35.orig/distinfo 2011-01-13 14:55:07.821352212 +0900
+++ net/samba35/distinfo 2011-04-26 16:52:06.184280759 +0900
@@ -1,2 +1,2 @@
-SHA256 (samba-3.5.6.tar.gz) = 466410868375d19a286ac3fc5d9f3c267ce359189f8e0d76e72ec10bd54247da
-SIZE (samba-3.5.6.tar.gz) = 30803319
+SHA256 (samba-3.5.8.tar.gz) = 331e3f2806edcad853b48f4b1e653367ad9a6ce1ab5ed486c03a6bf614882796
+SIZE (samba-3.5.8.tar.gz) = 30721269
お察しの通り、ほぼ distinfo を更新しただけです。EXTRA PATCHES はバグフィクスされたかどうか分からないので一旦保留にしてあります。
手元でコンパイルしてみると、出るわ出るわwarning...

% uname -mrs
FreeBSD 8.2-RC3 amd64
% grep warning samba358log.txt
configure.in:1402: warning: AC_CACHE_VAL(smb_attr_cv_xattr_add_opt, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:3353: warning: AC_CACHE_VAL(smb_ldap_cv_ldap_set_rebind_proc, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:3734: warning: AC_CACHE_VAL(smb_krb5_cv_ticket_has_keyinfo, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:3758: warning: AC_CACHE_VAL(smb_krb5_cv_creds_opt_free_context, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:3778: warning: AC_CACHE_VAL(smb_krb5_cv_verify_checksum, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:4120: warning: AC_CACHE_VAL(smb_krb5_cv_enctype_to_string_takes_krb5_context_arg, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:4141: warning: AC_CACHE_VAL(smb_krb5_cv_enctype_to_string_takes_size_t_arg, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:5597: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
samba4.m4:6: warning: file `../m4/check_python.m4' included several times
../lib/util/xattr.m4:9: warning: AC_CACHE_VAL(smb_attr_cv_xattr_add_opt, ...): suspicious cache-id, must contain _cv_ to be cached
samba4.m4:83: warning: file `../lib/tdb/libtdb.m4' included several times
../lib/tevent/samba.m4:3: warning: file `../lib/tevent/libtevent.m4' included several times
configure.in:1402: warning: AC_CACHE_VAL(smb_attr_cv_xattr_add_opt, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:3353: warning: AC_CACHE_VAL(smb_ldap_cv_ldap_set_rebind_proc, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:3734: warning: AC_CACHE_VAL(smb_krb5_cv_ticket_has_keyinfo, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:3758: warning: AC_CACHE_VAL(smb_krb5_cv_creds_opt_free_context, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:3778: warning: AC_CACHE_VAL(smb_krb5_cv_verify_checksum, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:4120: warning: AC_CACHE_VAL(smb_krb5_cv_enctype_to_string_takes_krb5_context_arg, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:4141: warning: AC_CACHE_VAL(smb_krb5_cv_enctype_to_string_takes_size_t_arg, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:5597: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
samba4.m4:6: warning: file `../m4/check_python.m4' included several times
../lib/util/xattr.m4:9: warning: AC_CACHE_VAL(smb_attr_cv_xattr_add_opt, ...): suspicious cache-id, must contain _cv_ to be cached
samba4.m4:83: warning: file `../lib/tdb/libtdb.m4' included several times
../lib/tevent/samba.m4:3: warning: file `../lib/tevent/libtevent.m4' included several times
modules/vfs_zfsacl.c:285: warning: initialization from incompatible pointer type
modules/vfs_zfsacl.c:287: warning: initialization from incompatible pointer type

追いかけはじめるとハマりそうなので、ログを出しておくだけでそっとしておこうかと思います……
むしろ、files/ の下にある大量のpatch はすんなり当たっているのがなんともかんとも。

2011年2月13日日曜日

Debian/kFreeBSDのメモ

先日 Debian/kFreeBSD が正式リリースされましたね。まだ試せてないんですが、ちょっと読んだりしてるところをメモしておこうと思います。

http://wiki.debian.org/Debian_GNU/kFreeBSD_FAQ
FAQですね。翻訳は無いです。FAQの中で面白いなあと思ったのはこれ。
Q. What version of kFreeBSD is supported?
A. The squeeze release is based on the 8.1 kernel, see for details.
If you are interested, you can take a look at the patches Debian applied to the kernel.
http://svn.debian.org/wsvn/glibc-bsd/trunk/kfreebsd-8/debian/patches/999_config.diff
 あれ、NIC の fxp とか bce は無いの?とか、

http://svn.debian.org/wsvn/glibc-bsd/trunk/kfreebsd-8/debian/patches/903_disable_non-free_drivers.diff
 なるほど、Highpoint RocketRAID ( hptrr, hptmv ) とか NVIDIA nForce MCP Networking Adapter ( nve ) はnon-freeなのか。知らなかった…とか。

ちゃんとインストールした後にどうなってるか見ておきたいですね。

2011年2月2日水曜日

FreeBSD 8.2-RC3に更新した(実機編)

使用中のPC(core i7-860/ P55 chipset)を8.0-RELEASE-p4(amd64)から 8.0-RELEASE-p6に更新したところ、

kernel: interrupt storm detected on "irq19:"; throttling interrupt source

を頻発するようになったのが、今回8.2-RC3に更新しようと思ったきっかけです。
vmstat -i で見たところ、原因は

interrupt total rate
irq19: atapci0+++ 29162 7

上記の例は8.2-RC3の場合なのですが、8.0-RELEASE-p6のときは、ここの割り込み数がトータルで10桁以上になっており、rateも7桁以上の数字になっていました。(うろ覚え)

調べた結果、Intel 5系のチップセットに対応するのは 8.2-RELEASEからのようで。じゃあ今まで何故平気だったのかというと、どういう訳かICH8として認識してたようです。

8.0-RELEASE-p4 までは ICH8 として認識していたのですが、8.0-RELEASE-p6 にした時点でatapciの認識がSATAじゃないコントローラとして認識したようで、そこで扱いが狂ってinterrupt stormが起こっていると判断した、のかな?(8.0-RELEASE-p6にした後、interrupt stormが頻発するので BIOSで AHCI を切ったかも知れません。)

データ領域にzfsを使っているのですが、8.0から8.2に上がるとzfsのバージョンが上がるため、作業として問題ないのかどうか確かめたのが、先日書いたブログの内容でした。

実機での移行は問題なく終了しました。先日書いたブログでは、8.2-RC3更新後に py-zfs を入れる、と書きましたが、更新し忘れたまま zfs upgrade しても問題なく動いていました。何だったんだろう…

2011年2月1日火曜日

FreeBSD 8.0→8.2に伴いzfsを更新してみる

FreeBSD 8.0で構築したzfsを、FreeBSD 8.2にupgradeした際に正しく更新することは出来るのか? という話です。zfsbootとか複雑なことをしていない限り、あっさり更新出来るはず。ちょっとvmware上で試してみました。

FreeBSD 8.0-RELEASE (i386) の環境構築


まず8.0-RELEASEを入れ、カーネルをリコンパイルします。GENERICに書くので /usr/src を make update したときは注意すること。

options KVA_PAGES=512

次にzfsを有効にする。(vmware)

vm.kmem_size="768M"
vm.kmem_size_max="768M"
vfs.zfs.arc_max="80M"

そして

# bsdlabel /dev/ad0s1
# /dev/ad0s1:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 1048576 0 4.2BSD 0 0 0
b: 6223488 1048576 swap
c: 41942817 0 unused 0 0 # "raw" part, don't edit
d: 5208064 7272064 4.2BSD 0 0 0
e: 1048576 12480128 4.2BSD 0 0 0
f: 8388608 13528704 4.2BSD 0 0 0
g: 20025505 21917312 4.2BSD 0 0 0
# bsdlabel /dev/ad1
bsdlabel: /dev/ad1: no valid label found

ad0s1g と ad1 がzfspool候補。

# zpool create zp0 ad0s1g
# zpool create zp1 ad1

# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
zp0 9.50G 72K 9.50G 0% ONLINE -
zp1 7.94G 72K 7.94G 0% ONLINE -

こうなる。

# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1a 507630 208682 258338 45% /
devfs 1 1 0 100% /dev
/dev/ad0s1e 507630 12 467008 0% /tmp
/dev/ad0s1f 4058062 2226374 1507044 60% /usr
/dev/ad0s1d 2521070 37264 2282122 2% /var
zp0 9805696 0 9805696 0% /zp0
zp1 8192896 0 8192896 0% /zp1

/usr/src, /usr/portsをzfsに置いておく。

# cd /usr
# tar -cpf - src | ( cd /zp0/ ; tar -xf - )
# tar -cpf - ports | ( cd /zp1/ ; tar -xf - )
# mv ports ports.orig
# ln -s /zp0/src src
# ln -s /zp1/ports ports

これで試行準備完了。

ここからFreeBSD 8.2

RELENG_8_2 に更新。/usr/src/Makefileの教えに従い滞りなく終了。sysutils/py-zfs は8.2に上げてから導入or更新。

Before:(8.0-RELEASE-p6)

%zpool status -v
pool: zp0
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
zp0 ONLINE 0 0 0
ad0s1g ONLINE 0 0 0

errors: No known data errors

pool: zp1
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
zp1 ONLINE 0 0 0
ad1 ONLINE 0 0 0

errors: No known data errors

%zpool upgrade
This system is currently running ZFS pool version 13.

All pools are formatted using this version.

%zfs upgrade
This system is currently running ZFS filesystem version 3.

All filesystems are formatted with the current version.

After:(8.2-RC3)

# zpool status -v
pool: zp0
state: ONLINE
status: The pool is formatted using an older on-disk format. The pool can
still be used, but some features are unavailable.
action: Upgrade the pool using 'zpool upgrade'. Once this is done, the
pool will no longer be accessible on older software versions.
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
zp0 ONLINE 0 0 0
ad0s1g ONLINE 0 0 0

errors: No known data errors

pool: zp1
state: ONLINE
status: The pool is formatted using an older on-disk format. The pool can
still be used, but some features are unavailable.
action: Upgrade the pool using 'zpool upgrade'. Once this is done, the
pool will no longer be accessible on older software versions.
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
zp1 ONLINE 0 0 0
ad1 ONLINE 0 0 0

errors: No known data errors

# zpool upgrade
This system is currently running ZFS pool version 15.

The following pools are out of date, and can be upgraded. After being
upgraded, these pools will no longer be accessible by older software versions.

VER POOL
--- ------------
13 zp0
13 zp1

Use 'zpool upgrade -v' for a list of available versions and their associated
features.

# zfs upgrade
This system is currently running ZFS filesystem version 4.

The following filesystems are out of date, and can be upgraded. After being
upgraded, these filesystems (and any 'zfs send' streams generated from
subsequent snapshots) will no longer be accessible by older software versions.


VER FILESYSTEM
--- ------------
3 zp0
3 zp1

ということでupgrade推奨されるので…(例によってバックアップはしっかりとりましょう)

# zfs upgrade -a
zp0: can not be upgraded; the pool version needs to first be upgraded
to version 15

zp1: can not be upgraded; the pool version needs to first be upgraded
to version 15

0 filesystems upgraded
これはzpoolのupgradeをする前に zfs をupgradeしようとしたのでエラーになった。順番が重要です。

# zpool upgrade -a
This system is currently running ZFS pool version 15.

Successfully upgraded 'zp0'

Successfully upgraded 'zp1'
数秒で終わる。

# zfs upgrade -a
2 filesystems upgraded
十数秒で終わる。

# zpool upgrade
This system is currently running ZFS pool version 15.

All pools are formatted using this version.

# zfs upgrade
This system is currently running ZFS filesystem version 4.

All filesystems are formatted with the current version.

# zpool status
pool: zp0
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
zp0 ONLINE 0 0 0
ad0s1g ONLINE 0 0 0

errors: No known data errors

pool: zp1
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
zp1 ONLINE 0 0 0
ad1 ONLINE 0 0 0

errors: No known data errors
かくて滞りなくOSの更新もzfsの更新も終了。


注意事項、というか、正直よく分かっていない事項として、8.0→8.2になった際に物理ドライブの位置が変更されてしまった場合に(ad0がad4になったり、別のデバイス名になったら)どうなるのだろう?という点。zfsとして読み込めていれば問題はないのでしょうか?

2011年1月24日月曜日

コンテキストメニューが重くなったのはsugarsyncのせいだった

職場と自宅のWindows Vistaで、いつからかファイルアイコン上で右クリックを押した後のメニュー(コンテキストメニュー)の表示に十数秒かかり、大変遅い、という現象に見舞われていました。
いろいろ理由を探していたのですが、どうも原因はsugarsyncだったようです。

■Windows 7 で右クリックの表示が遅い時の解決方法例
http://d.hatena.ne.jp/kbutti/20101203/p1
ここのコメントにある通り、

HKEY_CLASSES_ROOT\Folder\ShellEx\ContextMenuHandlers\SugarSync
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\SugarSync

の2つのキーを削除したところ状況が改善されました。(常駐していたSugarsyncのツールを終了させてからレジストリを編集しました。念のため。)
ファイルを削除する際にも反応が遅く、困っていたので大変助かりました。
ようやく対処法を見つけることが出来ました。よかったよかった。