Linux
Sep 06, 2010
エプソンのスキャナをLinuxで
ほとんど適当で大丈夫だった。Avasysのドライバーを導入。
エプソンのスキャナをLinuxで使おうと思った。探してみたらAvasysという会社が作っていた。debも用意してあった。いやあ、そういう時代になったのねえ…。ぱぱっとダウンロードしてdpkgでインストール。iscanを起動…あれ?認識しない。rootでやったら認識した。細かいことはいいや。1枚スキャンできればいいのだから。ちゃんと使えることはわかりました。
Jun 02, 2010
iptableで接続を制限
久しぶりにさわったんで忘れていたよ。
大体は次のような感じでちょいちょいと。ESTABLISHEDとか書くのを忘れていたよ。なぜか繋がらないよーとかやっていたのは当たり前の話だった。ちなみにポリシーをDENYにしてないのはめんどくさかったから。
# iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT # iptables -A INPUT -i eth0 -p tcp -m multiport --dport 22,25,53,80 -j ACCEPT # iptables -A INPUT -i eth0 -p tcp -j LOG --log-prefix 'LOG-REJECT: ' # iptables -A INPUT -i eth0 -p tcp -j REJECT
Jan 15, 2010
NVIDIAドライバーを無理矢理つっこむ
x.orgが7.5になったら古いnvidiaドライバーでは駄目になった。そこで…。
Debian用のNVIDIAのバイナリドライバがx.org 7.5に対応してない。それなら元のパッケージをダウンロードしてきてインストール、というところなんだがちょっと問題が。amd64のkernelを使っているがi386のuserlandのせいか、x86もamd64もインストールがきちんとできない。ということで無理矢理つっこむ。
- kernel moduleはamd64でビルドすると nvidia.ko を作成するところまではやってくれたのでそれを手でコピーする
- nvidia_drv.soとかlibglx.soだとかいろいろなものは手でコピーする
Dec 20, 2009
描画が遅い件
2.6.32にしてから描画が遅いぞ
NVRM: not using NVAGP, kernel was compiled with GART_IOMMU support!!
とかメッセージが出ちゃって。ごにょごにょと捜すとBIOSのaperture sizeを64MBにするといいとかある。意味わからんけどそうしてみた。まあ、なんか多少ましになった気がする。
Dec 17, 2009
nlug-ng忘年会
いちおーnlug設立当初からいた人なんですー。
濃い話ができて楽しい。勝手なことしゃべって大丈夫な機会って、ないんだな、これが。NGKでも感じなかった。なんでだろうねえ…。
余談: あの人は酒さえ飲まなきゃいい人なんだけどねえとみな意見が一致するのはこれいかに。
Sep 21, 2009
久しぶり勉強会
OSC Nagoya反省会・SFD・NGBとかとか。
大学時代にお世話になったひとに10年振りに再会したとか。
久しぶりに勉強会に出ると刺激になる。ExtJSは面白そうだ。ちょこっとやってみるか。
Sep 19, 2009
VIA DXSってなんだね
2.6.30だと音量が小さいんですが。
Linux-2.6.30だとなぜか音が小さくて。alsa mixerでいろいろいじっていたらVIA DXSのコントロールをいじったら音量が大きくなった。何ですかね?
Jul 24, 2009
時代は変わったものだよ
Hyper-VのドライバーをMicrosoftが書いてGPLで公開。
特に問題があるとも思えないのでLinuxの一部としてMicrosoftのコピーライト表示のコードが配布されるわけだ。10年ぐらい前からすると随分と変わったものだ。ちなみに自分はずっと前にAnti-MSはやめています。クローズドソースの話も、例えればSolarisがバイナリだけの時代でもSunは嫌いじゃなかったよ。是々非々で対応してますよ。むしろAppleが嫌いだ。
Apr 27, 2009
NVIDIAのドライバー
やっと173.14.18のドライバーが入った。
ということでxorg-7.4に家のPCが上がる。
OCFS2の実験
OCFS2を実験してみた。
NFSの代わりに使ったりするということだったので、サーバとクライアントという図式でサーバが調整を行うのだと思っていたら違っていた。各サーバーが共有のブロックデバイスを持ち、各サーバーが互い協調して書き込みをする仕組みだった。つまりFCやiSCSIで共有ディスクを接続して運用するということになる。
今回の実験ではLinuxのiscsitargetを使った。iscsitargetでiSCSIディスクを提供するサーバーを1台用意して2台のクライアントからiSCSIでブロックデバイスを共有。そしてOCFS2でマウントする構成を取った。kernelは 2.6.26-2-{686,amd64}で実験。
iSCSIの設定
ざっと書く。iSCSIなりFCなりで共有ディスクがすでにあるなら飛ばす。
iscsitargetをインストールしてLVMのボリュームをiSCSIで公開する。LVMで/dev/vgmain/iscsi0というボリュームを作成して/etc/ietd.confにTarget iqn.2009-04.com.example:storage.iscsi0
Lun 0 Path=/dev/vgmain/iscsi0,Type=blockio
としてiSCSIのディスクを公開する。
クライアント側ではopen-iscsiをインストールする。iscsi_discoverを使ってiscsiのディスクをブロックデバイスとして登録できるところまでやる。例えば /dev/sdaなりに登録されたとする。
OCFS2の設定
次にOCFS2の設定を行なう。クライアント側でocfs2-toolsをインストール。debconfでブート時に起動されるように設定する。
/etc/ocfs2/cluster.confを設定する。
node:このファイルは各クライアントで同じ内容を持つ必要がある。
name = client0
cluster = ocfs2
number = 0
ip_address = 192.168.1.100
ip_port = 7777
node:
name = client1
cluster = ocfs2
number = 1
ip_address = 192.168.1.101
ip_port = 7777
cluster:
name = ocfs2
node_count = 4
mkfs.ocfs2を実行してiSCSIのデバイスにOCFS2のファイルシステムを作成する。
# mkfs.ocfs2 /dev/vgmain/ocfs/etc/fstabに次のように設定。書かないと /etc/init.d/ocfs2 が起動しない。
mkfs.ocfs2 1.4.1
Cluster stack: classic o2cb
Filesystem label=
Block size=4096 (bits=12)
Cluster size=4096 (bits=12)
Volume size=1073741824 (262144 clusters) (262144 blocks)
9 cluster groups (tail covers 4096 clusters, rest cover 32256 clusters)
Journal size=67108864
Initial number of node slots: 4
Creating bitmaps: done
Initializing superblock: done
Writing system files: done
Writing superblock: done
Writing backup superblock: 0 block(s)
Formatting Journals: done
Formatting slot map: done
Writing lost+found: done
mkfs.ocfs2 successful
#
/dev/sda /mnt/ocfs ocfs2 _netdev 0
そのあとに o2cbとocfs2を再起動する。
# /etc/init.d/o2cb restart
Stopping O2CB cluster ocfs2: OK
Unloading module "ocfs2": OK
Unmounting ocfs2_dlmfs filesystem: OK
Unloading module "ocfs2_dlmfs": OK
Unloading module "ocfs2_stack_o2cb": OK
Unmounting configfs filesystem: OK
Unloading module "configfs": OK
Loading filesystem "configfs": OK
Mounting configfs filesystem at /sys/kernel/config: OK
Loading stack plugin "o2cb": OK
Loading filesystem "ocfs2_dlmfs": OK
Mounting ocfs2_dlmfs filesystem at /dlm: OK
Setting cluster stack "o2cb": OK
Starting O2CB cluster ocfs2: OK
# /etc/init.d/ocfs2 restart
Stopping Oracle Cluster File System (OCFS2) OK
Starting Oracle Cluster File System (OCFS2) OK
#
というところで終了。かなり簡単。
Apr 14, 2009
paco
Paco is a source code package organizer for Unix/Linux systems, originally written to aid package management when installing an LFS system.
Mar 03, 2009
あたらしいpamの設定ファイルとpam_ldap
libpam-runtimeに入っているpam.d/common-*が変わったのでちょっと設定変更
auth [success=2 default=ignore] pam_unix.so nullok_secure
auth [success=1 default=ignore] pam_ldap.so use_first_pass
auth requisite pam_deny.so
auth required pam_permit.so
となった。3行目の部分がデフォルトで追加されているのでこうなる。今までよりsuccessで飛ばす行数が増えた。
pam.conf(5)を読んでいて気付いたがrequiredとかのキーワードは[...]で定義される条件に名前をつけたものになっているわけですね。
Jan 26, 2009
kvmでbridge接続再び
kvmでNICをbrdige接続する方法がやっとわかった。tapはeth0に直接繋がらないのに継ごうとscriptがするから駄目だという話だった。
tapはbr0に繋ぐ必要がある。がー、何も気付かずにやっているとeth0なんかを継いでしまうので駄目だということ。次のようなエラーが出てしまう。Debianの kvm-72 だとスクリプトがdefaultがあるインターフェイスにしようとする。
can't add tap0 to bridge eth0: Operation not supported
問題を正しく認識してなくてeth0じゃなくてeth1にしたらどうかとスクリプト中で決め打ちでやってみたが同じエラー。tapはbr0に継ぐのはわかっていたが自動的にqemu-kvmが処理してくれるわけではなかった。
br0を有効にするための手順は以下のとおり。ちなみにeth1をkvm専用としてbr0で通常の通信を使わない環境で実験している。
# ifconfig eth1 promisc up
# brctl addbr br0
# brctl addif br0 eth1
# ifconfig br0 up
/etc/kvm/kvm-ifupを次のようにする。
#!/bin/sh
switch=br0
/sbin/ifconfig $1 0.0.0.0 up
/usr/sbin/brctl addif ${switch} $1
exit 0
で次のとおりにkvmを実行する。
# kvm vm-disk.img -m 512 -localtime -net nic -net tap,script=/etc/kvm/kvm-ifup
使用したあとに br0 を消すには次のとおり
# /sbin/ifconfig eth1 down
# /sbin/ifconfig br0 down
# /usr/sbin/brctl delbr br0
br0で通常の通信をするつもりなら /etc/network/interface で br0に IPを設定しまえば自動でやってくれて楽になる。
auto br0
iface br0 inet static
address 192.168.11.2
netmask 255.255.255.0
gateway 192.168.11.1
pre-up /sbin/ifconfig eth1 promisc up
pre-up /usr/sbin/brctl addbr br0
post-up /usr/sbin/brctl addif br0 eth1
pre-down /sbin/ifconfig eth1 down
post-down /sbin/ifconfig br0 down
post-down /usr/sbin/brctl delbr br0
ということで eth0 で同じことをやれば増設NICなしでできるものと思われる。
追記:kvmのディスクイメージは qcow2 フォーマットが最新のようだ。いままではqcowでやっていたが古い。
# qemu-img create -f qcow2 vm-disk.img 30G
Nov 15, 2008
Linuxでルーティングの勉強
LinuxでOSPFなどの勉強をしよう。
NIC2枚挿しPCを集められないのでVMware上で作成する。bridgeネットワークにしておいて eth0とeth0:0に割り振る。
- lr01 192.168.100.71/24, 172.16.71.1/24, 172.17.71.1/24
- lr02 192.168.100.72/24, 172.16.72.1/24, 172.17.72.1/24
と作成する。
lr01にquaggaをインストールする。zebra.confをexampleからコピーしてくる。/etc/quagga/daemonも修正してzebra=onにする。これでquaggaが起動する。telnet localhost zebraで接続を確認。vtyshで接続するとまとめて設定できるので便利。そうじゃないとルーティングプロトコルごとにtelnetで繋ぐ必要があるので面倒。
! lr01
router ospf
network 172.16.71.0/24 area 0.0.0.1
network 192.168.100.0/24 area 0.0.0.0
! lr02
router ospf
network 172.16.72.0/24 area 0.0.0.2
network 192.168.100.0/24 area 0.0.0.0
という感じになる。 互いに172.16.71.1と172.16.72.1にpingが通るにOSPF動かしているルータからルーティング情報を拾ってきたのできっと大丈夫だろう。あとはshow ip ospf interface とか show ip ospf neighbor とかで確かめてみりゃOK。ただeth0とeth0:0はL2で同じところに繋がっているちょっと自信持てない。
次はBGP。基本はASを設定して自分の持ってるネットワークを隣のルータに教えるということか。
! lr01
router bgp 65071
bgp router-id 172.17.71.1
network 172.17.71.0/24
neighbor 192.168.100.72 remote-as 65072
! lr02
router bgp 65072
bgp router-id 172.17.72.1
network 172.17.72.0/24
neighbor 192.168.100.71 remote-as 65071
あとはshow ip bgpとかで確認。
Oct 04, 2008
UUIDでXFSをマウントする
これでデバイス名が代わっても安心。
- mkfs.xfs /dev/a_device
- xfs_admin -u /dev/a_device
- uuidが表示される
- fstabに次のように書く
- UUID=the_uuid /mount/path xfs default 0 0
XFSチューニングテスト
そんなに複雑なことはやってないけど素でmkfs.xfsを動かせばよいというものではないらしいので。削除が遅いのがXFSのこまった点なのでどうなるか。
# mkdir z
# cd z
# time seq 500000 | xargs touch
# cd ..
# time rm -rf z
を実行してみて時間をはかる。
- 単にmkfs.xfsを実行してみただけだと 3:12s/ 2:53
-
mkfs.xfs -l size=64m /dev/hdXXだと 3:03 / 2:30
- mkfs.xfs -l size=128m /dev/hdXXだと 2:56 / 2:33
- mount -o logbufs=8 で上記のmkfs.xfsだと 2:48 / 2:09
Oct 02, 2008
XFSチューニングをちょっと
mountのオプションだけ。
70万のファイルを削除するベンチマーク。logbufs=8 で20%ぐらいよくなっているということかな。
# mount -o logbufs=8 /test
# time rm -rf /test/aaa
real 21m19.383s
user 0m1.280s
sys 0m45.111s
# mount -o /test
# time rm -rf /test/bbb
real 26m37.726s
user 0m2.204s
sys 1m24.385s
Sep 11, 2008
kvmためしてみたよ
Linuxの仮想化技術のkvmを試してみたよ。
Xenより楽。kernel-moduleをつっこめばおわりなので。Xenのhypervisorで起動させる必要がないのでそのままできるのがありがたい。
# m-a a-i kvm
インストールだとかmodule組み込みだとか
# cd somewhere
# qemu-img create -f qcow vm-disk.img 8G
# kvm -no-acpi -m 512 -cdrom ubuntu-ja-8.04-desktop-i386-tomoyo-1.6.2.iso -hda vm-disk.img -boot d
そのあと
# kvm -no-acpi -m 512 -cdrom /dev/cdrom -hda vm-disk.img -boot c
Sep 09, 2008
nfsがおかしいんですけど
リブートしたらnfsがおかしくなった。
mountはできるがPermission Deniedとなってなーんにもできない。nobody扱いになっているようだし。BTSを見ると nfs-common 1.1.3 のクライアントは 1.0.xのサーバーにきちんとマウントできないと出ている。えー、どうしようもないので1.1.2に戻す。kernelが悪いのかと色々悩みましたがそんな話かよ。
May 15, 2008
Fedora9インストール
Fedora9をインストール。

