2008年2月28日木曜日

擬似HDR画像


PHOTOSHOPのチュートリアルサイト
http://www.gomedia.us/arsenal/freestuff.php
を見ていると、擬似HDR画像の作成法があった。
これはいい。

http://www.nill.cz/index.php?set=tu1

http://mantiddesign.com/archives/3207

に日本語訳を載せているサイトがあった。

以下メモ引用
Photos looks like painting 手順

※【】内は操作するレイヤーネーム。

元画像にBaseというレイヤーネームを付ける。

【Base】
イメージ>色調補正>シャドウ・ハイライト
シャドウ 量:50% 諧調の幅:45% 半径:44px
ハイライト 量:67% 諧調の幅:65% 半径:46px
※詳細オプションをチェックしておく。上記数値は目安。

元画像を複製。レイヤーネームをColor Dodgeに、描画モードを覆い焼きカラーに。
同様にもっかい複製。レイヤーネームをLinear Burnに、描画モードを焼き込み(リニア)に。

【Linear Burn】
描画色を黒にして(ショートカット:D)、
選択範囲>色域指定>許容量100
シャドウ部の選択範囲が取れたら、レイヤーマスクボタン(レイヤーウィンドウ下部、やや左)を押す。マスクにぼかしガウスフィルタをかける。数値は任意。

上記手順が終わったら、Linear Burnレイヤーを複製して、レイヤー名をOverlayに、描画モードをオーバーレイに。

【Overlay】
レイヤーマスク部(この段階ではLinear Burnレイヤーと同一のハズ)の色を反転。ようするにマスクを反転させるという意味(ショートカット:Command + I)

【Overlay】
レイヤーの不透明度を40%程度に。

【Linear Burn】
レイヤーの不透明度を55%程度に。

【Base】
描画色を白にして(ショートカット:D→X)
選択範囲>色域指定>許容量100
でハイライト部の選択範囲を取る。Baseレイヤーを複製して、上記選択範囲を使ってマスク。マスク部にはぼかしガウスフィルタを任意の数値でかけておく。レイヤー名はLightに。

http://www.nill.cz/index.php?set=tu1


焼き込みってLinear Burnなのね・・・。

NICを二枚差しした時のdhcpサーバ

dhcpサーバをnic2枚刺したマシンで動かす際に、ふと疑問が浮かんだ。
「二枚両方に対してipアドレス配布されるんじゃ?」
ということで調べると、矢張りdhcpdの向きを決めておくものがあった。
/etc/sysconfig/dhcpd

DHCPARGS=
があるので、そこに配布させるNICを指定する。

例:DHCPARGS=eth0

2008年2月15日金曜日

ubuntuでランレベルを変更して、nvidiaのドライバを突っ込んで視覚効果を堪能したい

compizの視覚効果を試したくて、外観の設定をいじったが「無理」と言われる。
http://tmcosmos.org/linux/ubuntu/ubuntu710.html
を参考に入れようとするが、あえなく失敗。
それでnvidiaから引っ張ったドライバを入れようとするが、ubuntu面倒。
ubuntuにおける最大の不満点は、runlevelを変更しにくいこと。
常にGUI起動するので、CUIモードが使えない。
しかも、/etc/inittabがない。
何だそれ。
おかげでnvidiaのドライバが入らない(X起動中はインストールできない)。

http://lab.urume.net/2007,0227,612.html

を参考に、ランレベルを変更してみる。

まず、init 3をCUIにするために、sysv-rc-confをインストール

sudo apt-get install sysv-rc-conf

実行

sudo sysv-rc-conf

3のところのgdmとx-serverに入っているチェックをスペースキーではずし、qで抜ける。

次にgeditで、inittabの代わりみたいな/etc/event.d/rc-defaultを編集。

sudo gedit /etc/event.d/rc-default

init 2と書かれているところを3に変更。

nvidiaのドライバを、nvidiaからダウンロードしてくる。
これを書いたときの最新は
http://jp.download.nvidia.com/XFree86/Linux-x86/169.09/NVIDIA-Linux-x86-169.09-pkg1.run
デフォルトのubuntuにはlibc-developmentが入っていないので、ダウンロード中にパッケージマネージャでlibcを突っ込んでおく。

ダウンロード後再起動すると、CUIになってるはずなので、
nvidiaドライバのあるところでインストール実行
sudo sh NVIDIA-Linux-x86-169.09-pkg1.run
適当にyesでインストールされる。

ランレベルをデフォルト(2)に戻して終了。
sudo vi /etc/event.d/rc-default

sudo shutdown -r now

これで追加の視覚効果まで有効になった。
nvidiaのドライバはカーネルが更新されたらその都度入れなければならない。
面倒だなあ。

2008年2月10日日曜日

yumでカーネルkernelがアップデートされない

昔組んだサーバで、何故かyumを実行してもkernelだけ更新されない問題に出会した。
どうやら容量が足りないらしい。
容量?
このサーバ、ファイルサーバとして組んでおり、linuxのシステムは別ドライブにしてあるのでそんなことはあり得ないはず、と思い、
df -h
でドライブの容量を確認すると、

[root@fs ~]# df -h
Filesystem サイズ 使用 残り 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
149G 3.7G 138G 3% /
/dev/sdd1 99M 98M 1M 99% /boot
none 505M 0 505M 0% /dev/shm
/dev/sda1 459G 378G 58G 87% /share1
/dev/sdb1 459G 180G 256G 42% /share2
/dev/sdc1 276G 161G 101G 62% /backup
[root@fs ~]#


どうやら
/boot
に、古いカーネルが溜まっているらしい。

ということで、
uname -rm
で今使っているkernelのバージョンを確認し、使っていないバージョンのカーネルを削除しようとする。
ただ、僕は小心者なので、現行のものの類似物は残すことにした。
yumって前バージョンを全て取って置いているのね・・・。


----------------------------------------------------------------
20090116追記
もっとまともな削除法があった。
yum-utilsの中のpackage-cleanupを使うことで古いカーネルを削除する。
参考は@IT。
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/801deloldkernel.html

まずはyum-utilsをインストール。
yum install yum-utils
次に、--oldkernelsというオプション付きでpackage-cleanupを実行。
package-cleanup --oldkernels
最新世代から数えてn個まで残す場合、
package-cleanup --oldkernels --count=n
(nは自然数)

例:最新+古いカーネル2個を残す場合、
package-cleanup --oldkernels --count=3

2008年2月8日金曜日

3ware 9650SE ドライバアップデート

何故か移動時毎回
controller queue error: cleaning 0x06:0x000e
と出る。凄く不安。

まあ、多分ボード自体が・・・。

気を取り直し、ドライバアップデート。

まずは3ware AMCCからドライバをダウンロード
http://www.3ware.com/support/download.asp

製品名 3ware 9650SE
モデル 8LPMLが入ってるところ
アイテム ドライバ
OSはcentosの5.1なので、RedHat EL5を選択。

とりあえず、zip圧縮のものを引っ張ってきた。
driver-redhat-el5-x86_64-9.5.0.zip 97 KB 64-bit Drivers only in .zip format
選択すると、確認画面が表示されるので、agreeのリンクをコピーして
コンソール上で適当なフォルダを作り、貼り付けでダウンロード。
wget http://www.3ware.com/download/Escalade9690SA-Series/9.5.0/driver-redhat-el5-x86_64-9.5.0.zip

解凍
unzip driver-redhat-el5-x86_64-9.5.0.zip

マニュアル
http://japan.3ware.com/support/9000UG_JA.pdf
に沿ってインストールしていく。

cp /3w-9xxx.o /lib/modules//drivers/scsi/3w-9xxx.o

なので、解凍して出来た3w-9xxx.koがあるディレクトリに移動し、
cp 3w-9xxx.ko /lib/modules/2.6.18-53.1.6.el5(ここは今使ってるカーネルバージョン)/kernel/drivers/scsi/
マニュアルと記述が違うのは何故かは知りません。マニュアルと構造が食い違うのは多分バージョンのせいです。
上書きした後、modprobeを編集。
alias scsi_hostadapter 3w-9xxx
が書かれていることを確認。無ければ書く。
マニュアルには
alias scsi_hostadapter 3w-9xxx.ko

と書いてあるが、このまま書いたらabortされる。
最後に、初期RAMディスクをアップグレード。
cd /boot
mkinitrd -v -f initrd-.img

とマニュアルにあるので、そのままやる。
/sbin/mkinitrd -v(おしゃべり) -f(上書き可能) initrd-2.6.18-53.1.6.el5(ここも使っているkernelバージョン),img 2.6.18-53.1.6.el5(ここも使っているkernelバージョン)
-vを付けないと何も表示されない。





そのときのlog。
/sbin/mkinitrd -v -f initrd-2.6.18-53.1.6.el5.img 2.6.18-53.1.6.el5
Creating initramfs
Looking for deps of module uhci-hcd
Looking for deps of module ohci-hcd
Looking for deps of module ehci-hcd
Looking for deps of module ext3: jbd
Looking for deps of module jbd
Looking for driver for device sda2
Looking for deps of module pci:v000013C1d00001004sv000013C1sd00001004bc01sc04i00: scsi_mod 3w-9xxx
Looking for deps of module scsi_mod
Looking for deps of module sd_mod: scsi_mod
Looking for deps of module 3w-9xxx: scsi_mod
Looking for deps of module 3w-9xxx.ko
No module 3w-9xxx.ko found for kernel 2.6.18-53.1.6.el5, aborting.
[root@zilcon boot]# vi /etc/modprobe.conf
[root@zilcon boot]# /sbin/mkinitrd -v -f initrd-2.6.18-53.1.6.el5.img 2.6.18-53.1.6.el5
Creating initramfs
Looking for deps of module uhci-hcd
Looking for deps of module ohci-hcd
Looking for deps of module ehci-hcd
Looking for deps of module ext3: jbd
Looking for deps of module jbd
Looking for driver for device sda2
Looking for deps of module pci:v000013C1d00001004sv000013C1sd00001004bc01sc04i00: scsi_mod 3w-9xxx
Looking for deps of module scsi_mod
Looking for deps of module sd_mod: scsi_mod
Looking for deps of module 3w-9xxx: scsi_mod
Looking for deps of module ata_piix: scsi_mod libata
Looking for deps of module libata: scsi_mod
Looking for deps of module pata_marvell: scsi_mod libata
Looking for deps of module ide-disk
Looking for deps of module dm-mod
Looking for deps of module dm-mirror: dm-mod
Looking for deps of module dm-zero: dm-mod
Looking for deps of module dm-snapshot: dm-mod
Using modules: /lib/modules/2.6.18-53.1.6.el5/kernel/drivers/usb/host/uhci-hcd.ko /lib/modules/2.6.18-53.1.6.el5/kernel/drivers/usb/host/ohci-hcd.ko /lib/modules/2.6.18-53.1.6.el5/kernel/drivers/usb/host/ehci-hcd.ko /lib/modules/2.6.18-53.1.6.el5/kernel/fs/jbd/jbd.ko /lib/modules/2.6.18-53.1.6.el5/kernel/fs/ext3/ext3.ko /lib/modules/2.6.18-53.1.6.el5/kernel/drivers/scsi/scsi_mod.ko /lib/modules/2.6.18-53.1.6.el5/kernel/drivers/scsi/sd_mod.ko /lib/modules/2.6.18-53.1.6.el5/kernel/drivers/scsi/3w-9xxx.ko /lib/modules/2.6.18-53.1.6.el5/kernel/drivers/ata/libata.ko /lib/modules/2.6.18-53.1.6.el5/kernel/drivers/ata/ata_piix.ko /lib/modules/2.6.18-53.1.6.el5/kernel/drivers/ata/pata_marvell.ko /lib/modules/2.6.18-53.1.6.el5/kernel/drivers/md/dm-mod.ko /lib/modules/2.6.18-53.1.6.el5/kernel/drivers/md/dm-mirror.ko /lib/modules/2.6.18-53.1.6.el5/kernel/drivers/md/dm-zero.ko /lib/modules/2.6.18-53.1.6.el5/kernel/drivers/md/dm-snapshot.ko
/sbin/nash -> /tmp/initrd.lB3280/bin/nash
/sbin/insmod.static -> /tmp/initrd.lB3280/bin/insmod
copy from `/lib/modules/2.6.18-53.1.6.el5/kernel/drivers/usb/host/uhci-hcd.ko' [elf64-x86-64] to `/tmp/initrd.lB3280/lib/uhci-hcd.ko' [elf64-x86-64]
copy from `/lib/modules/2.6.18-53.1.6.el5/kernel/drivers/usb/host/ohci-hcd.ko' [elf64-x86-64] to `/tmp/initrd.lB3280/lib/ohci-hcd.ko' [elf64-x86-64]
copy from `/lib/modules/2.6.18-53.1.6.el5/kernel/drivers/usb/host/ehci-hcd.ko' [elf64-x86-64] to `/tmp/initrd.lB3280/lib/ehci-hcd.ko' [elf64-x86-64]
copy from `/lib/modules/2.6.18-53.1.6.el5/kernel/fs/jbd/jbd.ko' [elf64-x86-64] to `/tmp/initrd.lB3280/lib/jbd.ko' [elf64-x86-64]
copy from `/lib/modules/2.6.18-53.1.6.el5/kernel/fs/ext3/ext3.ko' [elf64-x86-64] to `/tmp/initrd.lB3280/lib/ext3.ko' [elf64-x86-64]
copy from `/lib/modules/2.6.18-53.1.6.el5/kernel/drivers/scsi/scsi_mod.ko' [elf64-x86-64] to `/tmp/initrd.lB3280/lib/scsi_mod.ko' [elf64-x86-64]
copy from `/lib/modules/2.6.18-53.1.6.el5/kernel/drivers/scsi/sd_mod.ko' [elf64-x86-64] to `/tmp/initrd.lB3280/lib/sd_mod.ko' [elf64-x86-64]
copy from `/lib/modules/2.6.18-53.1.6.el5/kernel/drivers/scsi/3w-9xxx.ko' [elf64-x86-64] to `/tmp/initrd.lB3280/lib/3w-9xxx.ko' [elf64-x86-64]
copy from `/lib/modules/2.6.18-53.1.6.el5/kernel/drivers/ata/libata.ko' [elf64-x86-64] to `/tmp/initrd.lB3280/lib/libata.ko' [elf64-x86-64]
copy from `/lib/modules/2.6.18-53.1.6.el5/kernel/drivers/ata/ata_piix.ko' [elf64-x86-64] to `/tmp/initrd.lB3280/lib/ata_piix.ko' [elf64-x86-64]
copy from `/lib/modules/2.6.18-53.1.6.el5/kernel/drivers/ata/pata_marvell.ko' [elf64-x86-64] to `/tmp/initrd.lB3280/lib/pata_marvell.ko' [elf64-x86-64]
copy from `/lib/modules/2.6.18-53.1.6.el5/kernel/drivers/md/dm-mod.ko' [elf64-x86-64] to `/tmp/initrd.lB3280/lib/dm-mod.ko' [elf64-x86-64]
copy from `/lib/modules/2.6.18-53.1.6.el5/kernel/drivers/md/dm-mirror.ko' [elf64-x86-64] to `/tmp/initrd.lB3280/lib/dm-mirror.ko' [elf64-x86-64]
copy from `/lib/modules/2.6.18-53.1.6.el5/kernel/drivers/md/dm-zero.ko' [elf64-x86-64] to `/tmp/initrd.lB3280/lib/dm-zero.ko' [elf64-x86-64]
copy from `/lib/modules/2.6.18-53.1.6.el5/kernel/drivers/md/dm-snapshot.ko' [elf64-x86-64] to `/tmp/initrd.lB3280/lib/dm-snapshot.ko' [elf64-x86-64]
/sbin/lvm.static -> /tmp/initrd.lB3280/bin/lvm
/etc/lvm -> /tmp/initrd.lB3280/etc/lvm
`/etc/lvm/lvm.conf' -> `/tmp/initrd.lB3280/etc/lvm/lvm.conf'
/sbin/dmraid.static -> /tmp/initrd.lB3280/bin/dmraid
/sbin/kpartx.static -> /tmp/initrd.lB3280/bin/kpartx
Adding module uhci-hcd
Adding module ohci-hcd
Adding module ehci-hcd
Adding module jbd
Adding module ext3
Adding module scsi_mod
Adding module sd_mod
Adding module 3w-9xxx
Adding module libata
Adding module ata_piix
Adding module pata_marvell
Adding module dm-mod
Adding module dm-mirror
Adding module dm-zero
Adding module dm-snapshot