USB HDD (ext4) を自動マウント
デバイスの確認
- blkidコマンドの実行
- /dev/disk/by-id ディレクトリの参照
を行い、当該 USB HDD の UUID とデバイスを特定。
# blkid : /dev/sdb1: UUID="cf68a854-7e32-4b3f-872c-70d29fc7b343" TYPE="ext4" : # ls -l /dev/disk/by-id : lrwxrwxrwx. 1 root root 9 1月 3 22:01 2014 usb-SAMSUNG_HM120JC_2060302072A1-0:0 -> ../../sdb lrwxrwxrwx. 1 root root 10 1月 3 22:01 2014 usb-SAMSUNG_HM120JC_2060302072A1-0:0-part1 -> ../../sdb1 :
ちなみに、UUID や デバイスの確認方法は他にも
- dmesg
- lsusb
- fdisk -l
- /dev/disk/by-uuid ディレクトリの参照
- /dev/disk/by-path ディレクトリの参照
- cat /proc/scsi/scsi
- cat /proc/bus/usb/devices
など、いろいろとあるので、必要に応じて組み合わせるとよいかも。
ボリュームラベル(LABEL)の設定
USB はPCの再起動や接続する毎にデバイス(/dev/sdb1等)が変更されてしまう可能性があるため、UUID もしくは LABEL 指定でマウントする必要がある。
UUID は管理しにくいため、LABEL をつけるとわかりやすいと思われる。
LABEL を付けるには、ext2/3/4の場合は e2label コマンドを使用する。
# e2label /dev/sdb1 bkuphdd # blkid /dev/sdb1 /dev/sdb1: UUID="cf68a854-7e32-4b3f-872c-70d29fc7b343" TYPE="ext4" LABEL="bkuphdd"
mount ポジションの作成と fstab の追記後、マウント実施
# mkdir -p /mnt/bkuphdd # vi /etc/fstab
追記例のみ(コメントアウトして、UUID 指定の場合と、LABEL指定・デフォルト状態のものも記述)。
# UUID=cf68a854-7e32-4b3f-872c-70d29fc7b343 /mnt/bkuphdd ext4 defaults,relatime 0 0 # LABEL=bkuphdd /mnt/bkuphdd ext4 defaults 0 0 # defaults(ext4) = rw, suid, dev, exec, auto, nouser, async LABEL=bkuphdd /mnt/bkuphdd ext4 rw,suid,dev,exec,auto,nouser,sync,relatime 0 0
バックアップ目的なのでキャッシュでメモリを圧迫したくないこともあり、デフォルトから async → syncに変更。また、パフォーマンス上から relatime オプションを追加。
# mount -a # mount -l : /dev/sdb1 on /mnt/bkuphdd type ext4 (rw,relatime) [bkuphdd] :
USB HDD (NTFS) を自動マウント
今回は実施していないので、詳細は忘却の彼方へ…悪しからず。
以前、Fedora Core 5ではやったはずなのだが…。
とりあえず。
参照:
ALL about Linux: CentOS 6 で ntfs をマウントする
CentOS/CentOSでntfsドライブをマウントする - Linuxと過ごす
また、ボリュームラベルの設定は、ntfslabel で行うらしい。
ntslabel は ntfsprogsパッケージに含まれるので yum でインストールしておくこと
マウントした外付HDD を Samba で共有する場合の注意
例えば、ホームディレクトリを共有化し、その下から外付HDD へのシンボリックリンクを設定しているような場合、Windows PCからシンボリックリンク先へのアクセス時に SELinux によるアクセス制限にひっかかる(場合がある)。
参考:
この場合、Linux(Sambaサービスの稼働している)側のホストで、
# setsebool -P samba_export_all_rw on
を実行する必要が出てくるかもしれない。
特定のディレクトリなら、
# chcon -R -t samba_share_t <target_dir>
のように、当該ディレクトリ下にタイプ samba_share_t を付けてやればよい、のかも(自信なし)。
なお、ls コマンドに -Z オプションを付けることで、対象のセキュリティコンテキストを確認できる。
Windows の共有フォルダ(NTFS)のマウント
ユーザID(uid) とグループID(gid)を確認
# id myname uid=500(myname) gid=500(myname) 所属グループ=500(myname)
共有フォルダのマウント
確認した uid と gid を指定して、その権限でアクセス可能なようにマウントする。
下記はホスト winpc の share フォルダ(\\winpc\share)をマウントする例。
# mkdir -p /mnt/share # mount -t cifs //winpc/share /mnt/share -o username=winuser,password=pass_for_winuser,uid=500,gid=500