USB HDDの自動マウント

起動した時点でUSB接続HDDがまだマウントされていない。

自動マウントの類はどうやら/etc/fstabを弄れば良いらしいのだが、未だ手をつけていなかったので、起動のたびに、

# mount -t ext2 /dev/sda1 /share/disk1
# /etc/init.d/mt-daapd restart

と打っていた。

さすがに面倒になってきたので実際/etc/fstabに

/dev/sda1 /share/disk1 ext2 defaults 0 0

の1行を追加してみたが、再起動後もマウントされていない。

"fstab USB 起動時"とかそれっぽいキーワードでググってみたら、それっぽい情報にぶつかった。

/etc/fstabの情報に従ってマウント処理が行われる時点では、USBがまだ認識されていないというそりゃそーだな理由。

よって起動時、できればinit.dによるサービス起動の前にmountコマンドを実行する必要がある。

ググった情報と、かすかなslackware時代の記憶を頼りに、起動スクリプトは/etc/rc.localだというところまでは判明したんだけど、肝心のrc.localが無い。

さらにググると、debianは/etc/init.d以下にスクリプトを置いて、それをそれぞれのランレベルのディレクトリ"rcx.d"以下にリンクを張るんだそうだ。

/etc/init.d/mountusb.shという名前のスクリプトを以下の内容で記述。

mount -t ext2 /dev/sda1 /share/disk1

chmodコマンドで実行可能にする。
update-rc.dコマンドで自動的に各ランレベルのディレクトリにリンクを張る。

# update-rc.d mountusb.sh defaults 19

"19"は単に、たまたまSambaが"20"で指定されていたので、それ以前にマウントするため。