Réponses:
Vous aurez besoin de savoir comment le lecteur est appelé pour le monter. Pour ce faire, effectuez l'une des opérations suivantes (classée par ordre de préférence):
lsblk
sudo blkid
sudo fdisk -l
Vous êtes à la recherche d'une partition qui devrait ressembler à : /dev/sdb1
. Plus vous avez de disques, plus la lettre sera haute. Quoi qu'il en soit, trouvez-le et rappelez-vous comment il s'appelle.
Cela doit être monté quelque part dans le système de fichiers . Vous pouvez généralement utiliser / mnt / si vous êtes paresseux et que rien d’autre n’y est monté, mais sinon, vous voudrez créer un nouveau répertoire:
sudo mkdir /media/usb
sudo mount /dev/sdb1 /media/usb
Lorsque vous avez terminé, lancez-vous:
sudo umount /media/usb
Cette réponse a presque 6 ans et, même si son noyau fonctionne toujours, les fdisk -l
options telles que celles proposées ne sont pas les plus conviviales. Il existe également de nouveaux mécanismes dans les piles plus hautes pour le montage de périphériques de manière normale et normale, qui peuvent ne pas toujours être disponibles.
J'ai donc ajouté un peu de polissage à partir des autres réponses. Pendant que vous lisez cette note de bas de page et que vous le faites sur un ordinateur de bureau, il existe certainement des arguments pour utiliser udisksctl
, par réponse de wecac . Cela fonctionne de la même manière que le bureau (création de votre propre /media/$USER/device
répertoire), mais je pense qu'il existe toujours des arguments pour un point de montage statique, en particulier lorsque vous ne voulez pas que le chemin d'accès change.
Les Udisks reposent également sur D-Bus, ils pourraient donc ne pas être disponibles partout.
Installer pmount
. Monte les disques dans / media /
pmount /dev/sdb1
pumount /dev/sdb1
Pas besoin de sudo. Remplacez "sdb1" par votre chemin de périphérique spécifique. Pour plus d'informations, voir la page de manuel:
pmount ("policy mount") is a wrapper around the standard mount program
which permits normal users to mount removable devices without a match-
ing /etc/fstab entry.
pmount is invoked like this:
pmount device [ label ]
This will mount device to a directory below /media if policy is met
(see below). If label is given, the mount point will be /media/label,
otherwise it will be /media/device.
mount
j'ai insisté pour monter mon lecteur en lecture seule.
En plus d'utiliser la mount
commande standard (qui nécessite root), vous pouvez monter des lecteurs à l'aide de udisks
et dbus
avec votre utilisateur standard.
Pour ce faire, il est utile (mais pas obligatoire) de connaître en premier lieu quelques informations sur le lecteur:
/dev/sdb1
)Sachant cela, vous pouvez utiliser une simple commande pour monter un lecteur à partir de la ligne de commande.
gdbus call --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices/<device> --method org.freedesktop.UDisks.Device.FilesystemMount "<filesystem>" []
cet appel doit faire écho au chemin sur lequel il est monté si le montage réussit.
Pour démonter les lecteurs montés de cette manière, vous pouvez exécuter:
gdbus call --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices/<device> --method org.freedesktop.UDisks.Device.FilesystemUnmount []
NB le <device>
est simplement la fin du chemin qui y mène. Ainsi, par exemple, si vous voulez monter, /dev/sdb2
vous devez le sdb2
remplacer <device>
.
Si vous ne savez pas de quel appareil il s'agit ni quel système de fichiers il utilise, ne craignez rien. Vous pouvez facilement imprimer toutes ces informations avec cette petite commande:
gdbus introspect --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices --recurse --only-properties | grep -E "(readonly .+ (IdLabel|IdType|Device(IsMounted|IsDrive|File) ).*|\}|.*\{)"
Cela va imprimer quelque chose comme ça:
node /org/freedesktop/UDisks/devices {
node /org/freedesktop/UDisks/devices/sda {
interface org.freedesktop.UDisks.Device {
readonly s IdLabel = '';
readonly s IdType = '';
readonly s IdUsage = '';
readonly b DeviceIsMounted = false;
readonly s DeviceFile = '/dev/sda';
};
};
node /org/freedesktop/UDisks/devices/sda1 {
interface org.freedesktop.UDisks.Device {
readonly s IdLabel = 'SYSTEM';
readonly s IdType = 'ntfs';
readonly s IdUsage = 'filesystem';
readonly b DeviceIsMounted = false;
readonly s DeviceFile = '/dev/sda1';
};
};
node /org/freedesktop/UDisks/devices/sda2 {
interface org.freedesktop.UDisks.Device {
readonly s IdLabel = 'Windows7';
readonly s IdType = 'ntfs';
readonly s IdUsage = 'filesystem';
readonly b DeviceIsMounted = true;
readonly s DeviceFile = '/dev/sda2';
};
};
node /org/freedesktop/UDisks/devices/sda3 {
interface org.freedesktop.UDisks.Device {
readonly s IdLabel = 'Recovery';
readonly s IdType = 'ntfs';
readonly s IdUsage = 'filesystem';
readonly b DeviceIsMounted = false;
readonly s DeviceFile = '/dev/sda3';
};
};
node /org/freedesktop/UDisks/devices/sda4 {
interface org.freedesktop.UDisks.Device {
readonly s IdLabel = '';
readonly s IdType = '';
readonly s IdUsage = '';
readonly b DeviceIsMounted = false;
readonly s DeviceFile = '/dev/sda4';
};
};
node /org/freedesktop/UDisks/devices/sda5 {
interface org.freedesktop.UDisks.Device {
readonly s IdLabel = '';
readonly s IdType = 'ext4';
readonly s IdUsage = 'filesystem';
readonly b DeviceIsMounted = true;
readonly s DeviceFile = '/dev/sda5';
};
};
node /org/freedesktop/UDisks/devices/sda6 {
interface org.freedesktop.UDisks.Device {
readonly s IdLabel = '';
readonly s IdType = 'swap';
readonly s IdUsage = 'other';
readonly b DeviceIsMounted = false;
readonly s DeviceFile = '/dev/sda6';
};
};
node /org/freedesktop/UDisks/devices/sda7 {
interface org.freedesktop.UDisks.Device {
readonly s IdLabel = '';
readonly s IdType = 'ext4';
readonly s IdUsage = 'filesystem';
readonly b DeviceIsMounted = true;
readonly s DeviceFile = '/dev/sda7';
};
};
node /org/freedesktop/UDisks/devices/sdb {
interface org.freedesktop.UDisks.Device {
readonly s IdLabel = '';
readonly s IdType = '';
readonly s IdUsage = '';
readonly b DeviceIsMounted = false;
readonly s DeviceFile = '/dev/sdb';
};
};
node /org/freedesktop/UDisks/devices/sdb1 {
interface org.freedesktop.UDisks.Device {
readonly s IdLabel = 'USB DRIVE';
readonly s IdType = 'vfat';
readonly s IdUsage = 'filesystem';
readonly b DeviceIsMounted = false;
readonly s DeviceFile = '/dev/sdb1';
};
};
node /org/freedesktop/UDisks/devices/sr0 {
interface org.freedesktop.UDisks.Device {
readonly s IdLabel = '';
readonly s IdType = '';
readonly s IdUsage = '';
readonly b DeviceIsMounted = false;
readonly s DeviceFile = '/dev/sr0';
};
};
};
Ceux qui ont IdUsage = 'filesystem'
peut être monté en utilisant la commande ci-dessus.
Cela signifie que, par exemple, si je voulais monter le périphérique 'USB DRIVE', je lancerais la commande
gdbus call --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices/sdb1 --method org.freedesktop.UDisks.Device.FilesystemMount "vfat" []
Ces commandes fonctionnent toutes avec le dbus
système de messagerie, de la même manière que les Nautilus
autres gestionnaires de fichiers qui montent automatiquement des objets. Dans ces commandes, nous envoyons divers objets (par exemple, des /org/freedesktop/...
messages leur demandant de monter et de démonter certains périphériques. Ils peuvent le faire ou non en fonction des autorisations qui ont été données PolicyKit
.
En utilisant des commandes similaires, il est possible de contrôler presque tous les aspects de l'expérience d'Ubuntu et de simuler la plupart des programmes et des fonctions du système (par exemple, l'arrêt, le changement de volume, etc.).
gdbus introspect --system --dest org.freedesktop.UDisks2 --object-path /org/freedesktop/UDisks2/drives --recurse --only-properties
Utilisez-le udisksctl
depuis package = udisks2
(dans Ubuntu et Debian). La procédure est:
Recherchez l'ID du périphérique bloc que vous souhaitez monter en utilisant lsblk
:
user@machine:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1.8T 0 disk
├─sda1 8:1 0 19.1M 0 part /boot/efi
├─sda2 8:2 0 1.8T 0 part
└─sda3 8:3 0 16G 0 part [SWAP]
sdb 8:16 0 931.5G 0 disk
├─sdb1 8:17 0 37M 0 part
├─sdb2 8:18 0 15.9G 0 part [SWAP]
└─sdb3 8:19 0 915.7G 0 part /
sdc 8:32 1 14.4G 0 disk
└─sdc1 8:33 1 14.4G 0 part
sdd 8:48 0 1.8T 0 disk
└─sdd1 8:49 0 1.8T 0 part
De par sa taille, il /dev/sdc1
semble que ce soit le lecteur USB que je souhaite monter.
Utilisez udisksctl
pour monter le périphérique. Notez que -b
== --block-device
(pour réduire le typage) mais je préfère les longues options pour la documentation:
user@machine:~$ udisksctl mount --block-device /dev/sdc1
==== AUTHENTICATING FOR org.freedesktop.udisks2.filesystem-mount ===
Authentication is required to mount Kingston DT microDuo 3C (/dev/sdc1)
Multiple identities can be used for authentication:
1. XXXXX,,, (user)
2. ,,, (YYYYY)
Choose identity to authenticate as (1-2): 1
Password:
==== AUTHENTICATION COMPLETE ===
Mounted /dev/sdc1 at /media/user/USBDRIVELABEL.
Répondre au commentaire de Hans Deragon ci - dessous : vous pouvez également dire udisksctl
à faire --no-user-interaction
. Il ne tente pas d'authentifier l'utilisateur, ce qui généralement "ne fonctionne que":
user@machine:~$ udisksctl mount --block-device /dev/sdc1 --no-user-interaction
# possibly some complaining here about I/O charset or need to run `fsck`
Mounted /dev/sdc1 at /media/user/USBDRIVELABEL.
--object-path
que cela demande?
Vous pouvez également monter automatiquement des périphériques USB sur Ubuntu Server à l'aide de USBmount.
Assurez-vous d’exécuter apt-get update / upgrade avant de commencer l’installation:
sudo apt-get update && sudo apt-get upgrade
Maintenant, installez USBmount à partir des référentiels:
sudo apt-get install usbmount
USBmount monte tous les lecteurs USB en /media/usb*
(usb0, usb1, usb2 ...)
Maintenant, branchez un lecteur USB et attendez qu'il soit détecté et monté. Tant que le système d'exploitation hôte prend en charge le système de fichiers, il doit être monté.
Pour vérifier si le lecteur USB a été monté correctement, vous pouvez df -h
afficher tous les lecteurs disponibles et leurs points de montage respectifs.
Pour démonter un lecteur, vous pouvez utiliser umount.
sudo umount /media/usb0
C'est simple. Lorsque je veux utiliser un lecteur USB dans un terminal, je fais ceci:
Créez un dossier /media
avec:
mkdir /media/mountDrive
Ce dossier sera utilisé pour le point de montage. Utilisez cette commande:
sudo mount /dev/sdd1 /media/mountDrive
sdd1
est la première partition de ma clé USB. Ensuite, vous pouvez accéder au dossier que vous avez déjà monté avec
cd /media/mountDrive
Si vous voulez lister les fichiers dans le lecteur, vous pouvez utiliser la ls
commande.
Pour démonter le lecteur, vous pouvez utiliser
sudo umount /dev/sdd1
Notez que dans mon système, le lecteur USB est /dev/sdd1
, mais dans votre système, il peut être quelque chose de différent. Pour savoir ce que c'est, utilisez la df
commande pour voir tous les disques connectés à l'heure actuelle.