Linuxの最近のブログ記事

sambaパッケージをインストール。依存するsamba-commonもここでインストールされました。

# yum -y install samba

smb.confを編集

# vi /etc/samba/smb.conf
...

workgroup = ...

hosts allow = 127. 192.168.1.

unix charset = UTF-8
dos charset = CP932

...

UDPポート137,138とTCPポート139,445を開ける。

# vi /etc/sysconfig/iptables
...
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
...
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

...
# service iptables restart

システム起動時に自動起動するよう設定

# chkconfig smb on

samba起動

# service smb start

sambaにユーザ追加&パスワード設定

# smbpasswd -a username
<備考>
  • GUIの管理ツール(system-config-samba)は動きが怪しい気がする???
  • iptablesでのudpの設定ではstateは不要か

CentOS 5.2 GNOMEな環境でNTFSフォーマットのUSB HDD接続時に勝手に認識してmountしてくれるようになるまでの手順のメモです。

fuseをインストール

#yum install -y gcc kernel-devel
#wget http://downloads.sourceforge.net/fuse/fuse-2.7.3.tar.gz
#tar zxvf fuse-2.7.3.tar.gz
#cd fuse-2.7.3
#./configure
#make
#make install

ntfs-3gをインストール

#wget http://www.ntfs-3g.org/ntfs-3g-1.2712.tgz
#tar zxvf ntfs-3g-1.2712.tgz
#cd ntfs-3g-1.2712
#./configure
#make
#make install

※ここまでで手動mountによる利用は出来るようになる

例(/dev/sdcがUSB HDDの場合)

mkdir /mnt/ntfs
mount -t ntfs-3g /dev/sdc1 /mnt/ntfs

mount.ntfsを用意

ln -s /bin/ntfs-3g /sbin/mount.ntfs

※ここまでで自動でmountされ、デスクトップにHDDのアイコンが現れるようになるが、rootのみ書き込み可になっている。

gconf-editor (設定エディタ)

yum install -y gconf-editor
#gconf-editor&

/system/storage/default_options/ntfs/mount_optionsの値に"uid="を追加する。

gconf-editor.jpg

※コマンドラインでやる場合はgconftool-2で出来るみたい

以上でFATのUSB HDDを接続した時と同じ感覚で使えるようになりました。
(NTFSへの書き込みはあまり試していません)

そう言えばボリュームラベルが日本語の時に怪しげな動作があったような...

参考になったサイト

NTFS-3G Stable Read/Write Driver
http://www.ntfs-3g.org/
FUSE: Filesystem in Userspace
http://fuse.sourceforge.net/
NTFS mount on CentOS 5 - 思い出はいつまでも
http://d.hatena.ne.jp/a10i/20080203/1202045773
NTFS-3G - Gentoo Linux Wiki
http://gentoo-wiki.com/HOWTO_NTFS_write_with_ntfs-3g
Re: USB device permissions
http://archives.free.net.ph/message/20080610.150453.93c0b26f.ja.html

110Gdで動かしているCentOS5.2にmt-daapd(firefly)をインストールした時の手順です。

依存モジュールをyumでインストール

#yum install -y gcc zlib zlib-devel gdbm gdbm-devel

libid3tagをインストール

こちらのrpmを利用しました。

#wget http://dag.wieers.com/rpm/packages/libid3tag/libid3tag-0.15.1b-3.el5.rf.x86_64.rpm
#wget http://dag.wieers.com/rpm/packages/libid3tag/libid3tag-devel-0.15.1b-3.el5.rf.x86_64.rpm
#rpm -ivh libid3tag-0.15.1b-3.el5.rf.x86_64.rpm
#rpm -ivh libid3tag-devel-0.15.1b-3.el5.rf.x86_64.rpm

mt-daapdのソース一式ダウンロード

ここからダウンロード。今回ダウンロードしたのはmt-daapd-0.2.4.2.tar.gz

mt-daapdをmake install

#tar zxvf mt-daapd-0.2.4.2.tar.gz
#cd mt-daapd-0.2.4.2
#./configure
#make
#make install

設定ファイルを/etcにコピー

#cp contrib/mt-daapd.conf /etc
#cp contrib/mt-daapd.playlist /etc

mt-daapd.confの編集(必要最低限)とディレクトリ作成

#vi /etc/mt-daapd.conf

...
mp3_dir /var/mp3
...
web_root /usr/local/share/mt-daapd/admin-root
...

#mkdir /var/cache/mt-daapd
#mkdir /var/mp3    (mp3ファイル置き場)

起動ファイルのコピーと修正

#cp contrib/mt-daapd /etc/init.d
#vi /etc/init.d/mt-daapd

...
daemon mt-daapd
を
daemon /usr/local/sbin/mt-daapd
に変更
...

システム起動時に起動するよう設定する

#chkconfig --add mt-daapd

ポート3689を開ける

GUIでやりました...

起動

#/etc/init.d/mt-daapd start

以上でPC上のiTunesから参照出来るようになりました。

その後、PCで管理していたmp3ファイルを丸ごとmt-daapd管理下に置いたのですが、約200アルバム中1アルバム分だけ何故か文字化けしてました。まあこれくらいはOKでしょう。

あとmt-daapd関連でググるとhowl, BonjourやRendezvousといったキーワードが出てきますが、少なくともCentOS5.2においては普通に入ってる(?)avahiデーモンがそれ相応のものと理解してます。

日経Linux2008年7月号の「初めてのApacheモジュール」という連載にmod_cacheのことが載っていたので導入してみました。

CentOS 5.1+Apache 2.2.3の環境です。

#mkdir /var/cache/mod_disk_cache
#chown apache.apache /var/cache/mod_disk_cache
#chmod 700 /var/cache/mod_disk_cache
httpd.conf
CacheRoot /var/cache/mod_disk_cache
CacheEnable disk /

導入は簡単なのですが、効いて欲しいCGIで効いていない様子。

Cashing Guideを読んでみたけどcacheされる要件はみたしてます。

さらに調査。結局、グーグル先生によると原因は↓でした。

ASF Bugzilla - Bug 40805 mod_cache fails to retrieve objects cached for URLs which have been rewritten to target URLs with a query string

mod_rewriteしてるとダメなのですね。キャッシュに保存した時のキーとは異なるキーで取ってこようとするようです。

さて、原因がわかったので解決!といきたいところですが、そうすんなりいかないのがにわかLinuxユーザの痛いところ...

mod_cacheだけパッチが当たった状態にしたいのですが...とりあえずSRPMを取ってきました。

#wget http://rsync.atworks.co.jp/centos/5.1/updates/SRPMS/httpd-2.2.3-11.el5_1.centos.3.src.rpm
#rpm -ivh httpd-2.2.3-11.el5_1.centos.3.src.rpm

これで /usr/src/redhat/ の下にソースファイルのアーカイブ等が展開されました。

で、ちょうど日経Linux2008年7月号にはmod_chrootをrpmパッケージ化してみるような記事が載っていたのでざっと読んでみてrpmbuildを使うっぽいことを理解しました。

#cd /usr/src/redhat/
#rpmbuild -bc SPECS/httpd.spec

これで実行してみるとconfigure+make相当のことが実行されました。

なんとかなりそうな気がしてきました。

つづく

110GdのCPUをPentiumDCに交換しました。交換前後の/proc/cpuinfoの内容とsuper_piの結果を残しておきます。

Celeron D 341 2.93GHz

[root@gd tmp]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Celeron(R) CPU 2.93GHz
stepping : 9
cpu MHz : 2933.511
cache size : 256 KB
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall lm constant_tsc up pni monitor ds_cpl tm2 cid cx16 xtpr lahf_lm
bogomips : 5870.24
clflush size : 64
cache_alignment : 128
address sizes : 36 bits physical, 48 bits virtual
power management:

[root@gd tmp]# ./pi 20
Version 2.0 of the super_pi for Linux OS
Fortran source program was translated into C program with version 19981204 of
f2c, then generated C source program was optimized manually.
pgcc 3.2-3 with compile option of "-fast -tp px -Mbuiltin -Minline=size:1000 -Mnoframe -Mnobounds -Mcache_align -Mdalign -Mnoreentrant" was used for the
compilation.
------ Started super_pi run : 2008年 5月 24日 土曜日 08:06:38 JST
Start of PI calculation up to 1048576 decimal digits
End of initialization. Time= 0.493 Sec.
I= 1 L= 0 Time= 1.449 Sec.
I= 2 L= 0 Time= 1.641 Sec.
I= 3 L= 1 Time= 1.645 Sec.
I= 4 L= 2 Time= 1.655 Sec.
I= 5 L= 5 Time= 1.644 Sec.
I= 6 L= 10 Time= 1.638 Sec.
I= 7 L= 21 Time= 1.646 Sec.
I= 8 L= 43 Time= 1.645 Sec.
I= 9 L= 87 Time= 1.644 Sec.
I=10 L= 174 Time= 1.652 Sec.
I=11 L= 349 Time= 1.642 Sec.
I=12 L= 698 Time= 1.637 Sec.
I=13 L= 1396 Time= 1.648 Sec.
I=14 L= 2794 Time= 1.638 Sec.
I=15 L= 5588 Time= 1.632 Sec.
I=16 L= 11176 Time= 1.635 Sec.
I=17 L= 22353 Time= 1.599 Sec.
I=18 L= 44707 Time= 1.540 Sec.
I=19 L= 89415 Time= 1.428 Sec.
End of main loop
End of calculation. Time= 32.429 Sec.
End of data output. Time= 0.175 Sec.
Total calculation(I/O) time= 32.604( 1.062) Sec.
------ Ended super_pi run : 2008年 5月 24日 土曜日 08:07:12 JST

Pentium Dual Core E2200 2.20GHz

[root@gd tmp]# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Pentium(R) Dual  CPU  E2200  @ 2.20GHz
stepping        : 13
cpu MHz         : 2200.121
cache size      : 1024 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall lm constant_tsc pni monitor ds_cpl est tm2 cx16 xtpr lahf_lm
bogomips        : 4402.08
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Pentium(R) Dual  CPU  E2200  @ 2.20GHz
stepping        : 13
cpu MHz         : 2200.121
cache size      : 1024 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall lm constant_tsc pni monitor ds_cpl est tm2 cx16 xtpr lahf_lm
bogomips        : 4399.47
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

[root@gd tmp]# ./pi 20
 Version 2.0 of the super_pi for Linux OS
 Fortran source program was translated into C program with version 19981204 of
 f2c, then generated C source program was optimized manually.
 pgcc 3.2-3 with compile option of "-fast -tp px -Mbuiltin -Minline=size:1000 -Mnoframe -Mnobounds -Mcache_align -Mdalign -Mnoreentrant" was used for the
 compilation.
 ------ Started super_pi run : 2008年 5月 24日 土曜日 09:05:39 JST
 Start of PI calculation up to 1048576 decimal digits
 End of initialization. Time=       0.320 Sec.
 I= 1 L=       0        Time=       0.988 Sec.
 I= 2 L=       0        Time=       1.138 Sec.
 I= 3 L=       1        Time=       1.138 Sec.
 I= 4 L=       2        Time=       1.140 Sec.
 I= 5 L=       5        Time=       1.139 Sec.
 I= 6 L=      10        Time=       1.137 Sec.
 I= 7 L=      21        Time=       1.141 Sec.
 I= 8 L=      43        Time=       1.138 Sec.
 I= 9 L=      87        Time=       1.139 Sec.
 I=10 L=     174        Time=       1.140 Sec.
 I=11 L=     349        Time=       1.137 Sec.
 I=12 L=     698        Time=       1.137 Sec.
 I=13 L=    1396        Time=       1.138 Sec.
 I=14 L=    2794        Time=       1.135 Sec.
 I=15 L=    5588        Time=       1.131 Sec.
 I=16 L=   11176        Time=       1.124 Sec.
 I=17 L=   22353        Time=       1.111 Sec.
 I=18 L=   44707        Time=       1.082 Sec.
 I=19 L=   89415        Time=       1.017 Sec.
 End of main loop
 End of calculation.    Time=      22.453 Sec.
 End of data output.    Time=       0.113 Sec.
 Total calculation(I/O) time=      22.566(       0.864) Sec.
 ------ Ended super_pi run : 2008年 5月 24日 土曜日 09:06:02 JST