私の問題は次のとおりです。
私のコンピューターには4つのUSBポートがあり、Ubuntu 12.10を実行しています。私は毎日異なるUSBを受け取り、コンピューターに接続し、読み取り/書き込みデータをそれらに送信し、それらを送信します。
私が欲しいのは、コンピュータに差し込んだUSBを自動的にマウントすることです。最初に検出されたUSBは/media/HDD1
に進み、2番目は/media/HDD2
に進みます。または、port1に接続されたUSBが/media/HDD1
に接続され、port2に接続されたUSBが/media/HDD2
に接続されれば、それは素晴らしいことです。
パス/media
は重要ではありませんが、簡単にアクセスできるように、HDD1-4ディレクトリを1か所にまとめたいと思います。
USBは通常ext2ですが、時々FAT32、NTFS USBも入手します。
また、別のWindowsコンピューターから/media/HDD..
に頻繁にアクセスするため、UbuntuにログインせずにUSBをマウントしたいと考えています。
どうやってやるの? udev
ルール、fstab
のどのような変更を行う必要がありますか?どんな提案も大歓迎です。
さて、ここでfstab
が光学メディア(別名CDおよびDVD)に使用するのと同じトリックを使用できます。
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
最初の列はファイルシステムを示しています。USBの値は固定されているので、sda
の後のすべてがUSBであると仮定します。同時に4つのUSBしか使用できないため、リストはsdb
、sdc
、sdd
およびsde
から。
$ ls /dev/sd*
/dev/sda /dev/sdb /dev/sdb3 /dev/sdb6 /dev/sdc /dev/sdf
/dev/sda1 /dev/sdb1 /dev/sdb4 /dev/sdb7 /dev/sdd
/dev/sda2 /dev/sdb2 /dev/sdb5 /dev/sdb8 /dev/sde
(私の場合、メモリリーダーを使用しているため、USBドライバはsdg
から開始しますが、続行します。)
ここで、各USBにはoneパーティションが1つしかないため、fstab
に必要な行は次のとおりです。
/dev/sdb1
/dev/sdc1
/dev/sdd1
/dev/sde1
次に、マウントポイントを修正する必要があると言ったので、ディレクトリを作成したら、それらを追加します。
/dev/sdb1 /media/HDD1
/dev/sdc1 /media/HDD2
/dev/sdd1 /media/HDD3
/dev/sde1 /media/HDD4
ほとんどすべてのタイプのファイルシステムを使用できるため、auto
を使用して、fstabが使用するファイルタイプを推測します。
/dev/sdb1 /media/HDD1 auto
/dev/sdc1 /media/HDD2 auto
/dev/sdd1 /media/HDD3 auto
/dev/sde1 /media/HDD4 auto
さて、オプションの詳細を見てみましょう。これは、読み取り/書き込み権限が追加されたCDでもまったく同じです。
/dev/sdb1 /media/HDD1 auto rw,users,noauto,allow_other,umask=0
/dev/sdc1 /media/HDD2 auto rw,users,noauto,allow_other,umask=0
/dev/sde1 /media/HDD3 auto rw,users,noauto,allow_other,umask=0
/dev/sde1 /media/HDD4 auto rw,users,noauto,allow_other,umask=0
rw
は読み取りおよび書き込み権限が必要であることを示し、users
はすべてのユーザーがデバイスをマウントできるようにします。noauto
は、mount -a
が呼び出されたときにドライバーが自動的にマウントされることを防ぎますブート時にエラーや警告を防ぎ、allow_other
は他を許可しますが、ドライバーをマウントしたユーザーは同じ許可を持ち、umask=0
はデフォルトのumaskが適用されないようにします。
残りの2つのフィールドは、ほぼdump
オーダーとfsck
オーダーです。これらは両方とも0
になる可能性があり、最終結果が残ります。
/dev/sdb1 /media/HDD1 auto rw,user,noauto,allow_other 0 0
/dev/sdc1 /media/HDD2 auto rw,user,noauto,allow_other 0 0
/dev/sdd1 /media/HDD3 auto rw,user,noauto,allow_other 0 0
/dev/sde1 /media/HDD4 auto rw,user,noauto,allow_other 0 0
これにより、USBデバイスを接続するたびに、ユーザーの介入なしに自動的にマウントポイントにマウントされます。必要に応じて変更する必要があります。
ここに私が見つけた解決策があります:
まず、Linux PCにautofsをインストールします。
Sudo apt-get install autofs
/etc/auto.master
の下にauto.masterファイルを作成します
そのファイルの最後に次の行を追加します。
/media/mount /etc/auto.mount --timeout=10 --ghost
/media/mount
は、すべての外部ドライブをマウントするディレクトリです。 /etc/auto.mount
は、マウント規則に入れるファイルです。 --timeout=10
は、非アクティブな状態が10秒間続くと、ドライブを自動的にマウント解除することを意味します。 --ghost
は、マウントが解除されてもコンテンツの画像が残ることを意味します。必要に応じてこの行を変更します。
/etc/auto.mount
ファイルを編集して、次の行を追加します。
disk1 -fstype=auto,sync :/dev/sdc1
disk2 -fstype=auto,sync :/dev/sdd1
disk3 -fstype=auto,sync :/dev/sde1
disk4 -fstype=auto,sync :/dev/sdf1
disk5 -fstype=auto,sync :/dev/sdg1
disk6 -fstype=auto,sync :/dev/sdh1
disk7 -fstype=auto,sync :/dev/sdi1
disk8 -fstype=auto,sync :/dev/sdj1
DVD -fstype=iso9660,ro :/dev/sr0
USBやeSATAなどの通常のドライブでは、-fstype=auto,sync
を設定します。 8つのUSB + eSATAポートがあるため、ここで8つのマウントポイントを宣言します。私のPCは既にローカルディスクとしてsda
とsdb
を持っているので、外部デバイス用にsdc1
-> sdj1
を配置します。これらは、実際にドライブを接続したときに/dev
のデバイスノードです。マウントルールの例外は、上記のDVDマウントです。
ドライブを挿入すると、/media/mount
ディレクトリの下にdisk1、disk2、...と表示され、10秒後に自動的にアンマウントされます。 PCに触れる必要はなく、他の場所(仮想マシンなど)からアクセスできます。