Voici mon problème:
Mon ordinateur dispose de 4 ports USB et exécute Ubuntu 12.10. Chaque jour, je reçois des clés USB différentes, je les branche à mon ordinateur, lecture/écriture données, puis je les envoie.
Ce que je veux, c'est monter automatiquement n'importe quelle clé USB que je branche sur mon ordinateur. Le premier USB détecté ira à /media/HDD1
, le second à /media/HDD2
et ainsi de suite. Ou ce serait bien si USB connecté au port1 ira à /media/HDD1
, USB connecté au port2 ira à /media/HDD2
, etc.
Le chemin /media
n’est pas important, mais j’aimerais avoir les répertoires HDD1-4 à un endroit unique pour pouvoir y accéder facilement.
Les clés USB sont normalement ext2 mais parfois, je reçois également des clés USB FAT32, NTFS.
Je souhaite également que la clé USB soit montée sans se connecter à Ubuntu, car j’accède souvent à /media/HDD..
à partir d’un autre ordinateur Windows.
Comment puis je faire ça? Quel changement dans udev
règles, fstab
devrais-je effectuer? Les suggestions sont grandement appréciées.
Eh bien, ici, nous pouvons utiliser le même truc que fstab
utilise pour les supports optiques (CD et DVD):
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
La première colonne indique le système de fichiers. Je suis sûr que vos clés USB auront des valeurs fixes. Nous allons donc supposer que tout ce qui se trouve après sda
est une clé USB. Et comme vous ne pouvez avoir que 4 clés USB en même temps, la liste va de sdb
, sdc
, sdd
et 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
(Dans mon cas, j'utilise un lecteur de mémoire, mes pilotes USB démarrent donc de sdg
mais continuons.)
Maintenant, nous supposons que chaque clé USB a une seule une partition, les lignes dont nous avons besoin, pour notre fstab
, sont les suivantes:
/dev/sdb1
/dev/sdc1
/dev/sdd1
/dev/sde1
Ensuite, vous avez dit que vos points de montage devaient être corrigés. Après avoir créé vos répertoires, ajoutons-les:
/dev/sdb1 /media/HDD1
/dev/sdc1 /media/HDD2
/dev/sdd1 /media/HDD3
/dev/sde1 /media/HDD4
Comme vous pouvez avoir presque tous les types de systèmes de fichiers, utilisons le auto
afin que fstab devine le type de fichier à utiliser:
/dev/sdb1 /media/HDD1 auto
/dev/sdc1 /media/HDD2 auto
/dev/sdd1 /media/HDD3 auto
/dev/sde1 /media/HDD4 auto
Ok, passons maintenant aux options, qui seront les mêmes pour les CD avec les permissions en lecture/écriture:
/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
indique que nous voulons des autorisations de lecture et d'écriture, users
permet à tout utilisateur de monter un périphérique, noauto
empêche le pilote d'être monté automatiquement lorsque mount -a
est appelé, comme ça au démarrage, empêchant les erreurs de démarrage et les avertissements, allow_other
autorise les autres utilisateurs, mais l'utilisateur qui a monté le pilote, à disposer des mêmes autorisations, et umask=0
empêche l'application des valeurs par défaut umask.
Maintenant, les 2 seuls champs restants correspondent à peu près aux commandes dump
et fsck
, qui pourraient être dans 0
, nous laissant ainsi le résultat final:
/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
Ainsi, chaque fois que vous branchez un périphérique USB, celui-ci est automatiquement monté sur le point de montage sans intervention de l'utilisateur. Vous devriez modifier en fonction de vos besoins.
Voici la solution que j'ai trouvée:
Tout d'abord, j'installe autofs sur mon PC Linux:
Sudo apt-get install autofs
Il créera un fichier auto.master sous /etc/auto.master
Ajoutez la ligne suivante à la fin de ce fichier:
/media/mount /etc/auto.mount --timeout=10 --ghost
/media/mount
est un répertoire dans lequel je veux monter tous les lecteurs externes. /etc/auto.mount
est le fichier à mettre en règles de montage. --timeout=10
signifie qu'il démontera automatiquement le lecteur après 10 secondes d'inactivité. --ghost
signifie qu'il reste toujours une image du contenu lorsqu'il est démonté. Modifiez cette ligne en fonction de vos besoins.
Editez le fichier /etc/auto.mount
et ajoutez les lignes suivantes:
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
Pour les lecteurs normaux tels que USB ou eSATA, définissez -fstype=auto,sync
. J'ai 8 ports USB + eSATA, je déclare donc 8 points de montage ici. Mon ordinateur a déjà sda
et sdb
en tant que disques locaux. Je mets donc sdc1
-> sdj1
pour les périphériques externes. Ce sont en fait des nœuds de périphérique dans /dev
lorsque vous connectez vos lecteurs. Une exception à la règle de montage est le montage sur DVD, comme vous le voyez ci-dessus.
Lorsque j'insère des lecteurs, ils apparaissent en tant que disk1, disk2, ... dans le répertoire /media/mount
et se démontent automatiquement au bout de 10 secondes. Je n'ai pas besoin de toucher mon PC et je peux y accéder depuis un autre endroit (comme une machine virtuelle)