Sur Ubuntu 12.10, lorsque je veux monter un disque dur, je peux simplement cliquer sur le lecteur non monté et tout fonctionne correctement (en montant sur /media/username/partitionlabel
).
En gros, je voudrais faire exactement cela via la ligne de commande (pour un script sur lequel je travaille).
Depuis que je ne pas veux monter automatiquement au démarrage, fstab est hors de question (non?).
Lorsque j'utilise mount sur la CLI, je dois spécifier un point de montage (qui doit avoir un point de montage déjà créé; je dois également m'occuper des autorisations et autres). Ce que je ne comprends pas, c'est où l'interface graphique prend-elle tout ses infos de? Le point de montage semble dépendre de l'étiquette de la partition, mais un tel répertoire n'existe pas avant le montage. De plus, l'interface utilisateur graphique ne semble pas trop se soucier du fait qu'un utilisateur ne soit pas root.
Existe-t-il un moyen "facile" de monter via la CLI, tout comme sur l'interface graphique en cliquant sur un lecteur non monté?
Nautilus et les autres gestionnaires de fichiers qui montent des lecteurs (c'est-à-dire l'interface graphique ) utilisent la commande udisks
.
Ceci fournit un montage dynamique , où le point de montage est créé pour le lecteur à la volée, et lorsque le lecteur est démonté, le point de montage passe un moyen.
Voir man 1 udisks
pour plus d'informations sur l'utilisation de cette commande (manuellement ou à partir d'un script/d'une application). Pour en savoir plus sur le fonctionnement de udisks
, voir man 7 udisks
.
Pour monter un périphérique avec udisks
, vous devez spécifier un nom de périphérique valide pour le périphérique. Spécifier le nom de volume du périphérique ne fonctionnera pas. Donc, vous pouvez utiliser udisks
comme ceci:
_udisks --mount /dev/sdb1
_
Lorsque vous utilisez manuellement udisks
à partir de la ligne de commande, vous avez peut-être intérêt à simplement brancher un périphérique, puis à exécuter _dmesg | tail
_ peu de temps après (voir man dmesg
et man tail
) pour découvrir le nom du périphérique qui vient d'être connecté.
Cependant, ce n'est peut-être pas la meilleure façon d'écrire un script qui monte des périphériques avec udisks
. Je ne sais pas exactement comment vous devriez le faire, et il serait difficile de savoir puisque vous ne nous avez pas dit précisément ce que vous voulez ce script à faire et quand vous voulez monter des périphériques.
Puisque je ne veux pas monter automatiquement au démarrage, fstab est hors de question (non?).
Nan. Le mot clé noauto
le fait sauter le montage au démarrage.
Existe-t-il un moyen "facile" de monter via la CLI, tout comme sur l'interface graphique en cliquant sur un lecteur non monté?
Le plus simple serait de l'ajouter à /etc/fstab
avec noauto
et d'utiliser ...
mount /dir
Cela aura la sonde de montage pour un point de montage et si non trouvé, alors pour un périphérique dans /etc/fstab
. /dir
doit exister cependant.
Si un périphérique ou un UUID est fourni, /etc/fstab
n'est pas interrogé. Ainsi ...
mount /dev/sda1 /media/directory
Ou utilisez udisks
(je laisserai Eliah gérer cela> :-))
mount est généralement un super utilisateur uniquement.
Exemple d'options:
rw,noauto,user
le monte en lecture + écriture mais pas au démarrage et vous pouvez le faire en tant qu'utilisateur.
Vous pouvez également ajouter des autorisations pour un utilisateur dans /etc/fstab
pour des fichiers. Vous pouvez utiliser umask
pour cela.
umask = 0444: tout le monde lit, pas d'écriture, pas d'exécution.
Dans l'un des commentaires, vous avez dit:
Pour une raison quelconque, je reçois le message "Mount failed: Not Aouthorized" lorsque je l'exécute via ssh
J'utilise pmount
au lieu de udisks
. Cela fonctionne sur ssh.
Si je me souviens bien, c'est la syntaxe/etc que j'utilise avec elle - la plupart des miennes sont cachées derrière des alias à ce stade:
pmount /dev/sdb1 my_usb
ls /media/my_usb/
eject /media/my_usb
Utilisation
udisks --mount /dev/sdb1
(remplacez /dev/sdb1
par le périphérique que vous souhaitez monter)