Respostas:
Você precisará saber como é chamada a unidade para montá-la. Para fazer isso, acione um dos seguintes (classificados na ordem de minha preferência):
lsblk
sudo blkid
sudo fdisk -l
Você está procurando uma partição que deve ser algo como: /dev/sdb1
. Quanto mais discos você tiver, maior será a letra. Enfim, encontre e lembre-se do que é chamado.
Isso precisa ser montado no sistema de arquivos em algum lugar . Você geralmente pode usar / mnt / se estiver com preguiça e nada mais estiver montado lá, mas caso contrário, você deseja criar um novo diretório:
sudo mkdir /media/usb
sudo mount /dev/sdb1 /media/usb
Quando terminar, basta disparar:
sudo umount /media/usb
Essa resposta tem quase 6 anos e, embora o núcleo ainda funcione, coisas como fdisk -l
essas não são as opções mais fáceis de usar. Também existem novos mecanismos em pilhas mais altas para montar dispositivos de maneira sã e padrão que nem sempre estão disponíveis.
Então, eu adicionei um pouco de polimento das outras respostas. Enquanto você lê esta nota de rodapé e faz isso em um sistema desktop, definitivamente existem argumentos para usar udisksctl
, de acordo com a resposta de wecac . Isso é montado da mesma maneira que a área de trabalho - criando seu próprio /media/$USER/device
diretório - mas acho que ainda existem argumentos para um ponto de montagem estático, especialmente quando você não deseja que o caminho seja alterado.
O Udisks também conta com o D-Bus, portanto, pode não estar disponível em qualquer lugar.
Instale pmount
. Monta discos em / media /
pmount /dev/sdb1
pumount /dev/sdb1
Não é necessário sudo. Substitua "sdb1" pelo caminho do seu dispositivo específico. Para mais informações, consulte a página de manual:
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
insistiu em montar minha unidade somente leitura.
Além de usar o mount
comando padrão (que requer raiz), você pode montar unidades usando udisks
e dbus
com o usuário padrão.
Para fazer isso, é útil (mas não obrigatório) conhecer primeiro algumas coisas sobre a unidade:
/dev/sdb1
)Sabendo disso, você pode usar um comando simples para montar uma unidade a partir da linha de comando.
gdbus call --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices/<device> --method org.freedesktop.UDisks.Device.FilesystemMount "<filesystem>" []
essa chamada deve ecoar o caminho em que está montada, se a montagem for bem-sucedida.
Para desmontar as unidades montadas dessa maneira, você pode executar:
gdbus call --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices/<device> --method org.freedesktop.UDisks.Device.FilesystemUnmount []
NB <device>
é simplesmente o fim do caminho para ele. Então, por exemplo, se o que você deseja montar é /dev/sdb2
, você deve colocar sdb2
no lugar de <device>
.
Se você não souber qual dispositivo é ou qual sistema de arquivos ele usa, não tenha medo. Você pode imprimir facilmente todas essas informações com este pequeno comando:
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) ).*|\}|.*\{)"
Isso imprimirá algo como isto:
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';
};
};
};
Aqueles que possuem IdUsage = 'filesystem'
podem ser montados usando o comando acima.
Isso significa que, por exemplo, se eu quisesse montar o dispositivo 'USB DRIVE', executaria o comando
gdbus call --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices/sdb1 --method org.freedesktop.UDisks.Device.FilesystemMount "vfat" []
Todos esses comandos funcionam usando o dbus
sistema de mensagens, da mesma maneira que Nautilus
outros gerenciadores de arquivos montam automaticamente as coisas. Nesses comandos, estamos enviando vários objetos (ou seja, /org/freedesktop/...
mensagens pedindo para montar e desmontar determinados dispositivos. Eles podem ou não fazer isso, dependendo das permissões que foram concedidas PolicyKit
.
Usando comandos semelhantes, é possível controlar quase todos os aspectos da experiência no Ubuntu e simular a maioria dos programas e funções do sistema (por exemplo, desligamento, alteração de volume, etc.).
gdbus introspect --system --dest org.freedesktop.UDisks2 --object-path /org/freedesktop/UDisks2/drives --recurse --only-properties
Use udisksctl
from package = udisks2
(no Ubuntu e Debian). O procedimento é:
Encontre o ID do dispositivo de bloco que você deseja montar, usando 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
Pelo seu tamanho, /dev/sdc1
parece ser a unidade USB que quero montar.
Use udisksctl
para montar o dispositivo. Observe que -b
== --block-device
(para reduzir a digitação), mas eu prefiro opções longas para documentação:
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.
Abordando o comentário de Hans Deragon abaixo : você também pode dizer o udisksctl
que fazer --no-user-interaction
. Ele não tenta autenticar o usuário, o que geralmente "simplesmente funciona":
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 é que ele pede?
Você também pode montar automaticamente dispositivos USB no Ubuntu Server com a ajuda do USBmount.
Certifique-se de executar o apt-get update / upgrade antes de iniciar a instalação:
sudo apt-get update && sudo apt-get upgrade
Agora instale o USBmount a partir dos repositórios:
sudo apt-get install usbmount
A montagem USB monta todas as unidades USB em /media/usb*
(usb0, usb1, usb2 ...)
Agora conecte uma unidade USB e aguarde que ela seja detectada e montada. Enquanto o sistema operacional host suportar o sistema de arquivos, ele deverá ser montado.
Para verificar se a unidade USB foi montada corretamente, você pode usar df -h
para exibir todas as unidades disponíveis e seus respectivos pontos de montagem
Para desmontar uma unidade, você pode usar umount.
sudo umount /media/usb0
Isso é simples. Quando quero usar uma unidade USB no terminal, faço o seguinte:
Crie uma pasta /media
com:
mkdir /media/mountDrive
Esta pasta será usada para o ponto de montagem. Use este comando:
sudo mount /dev/sdd1 /media/mountDrive
sdd1
é a primeira partição do meu USB. Em seguida, você pode navegar para a pasta que você já montou com
cd /media/mountDrive
Se você deseja listar os arquivos na unidade, pode usar o ls
comando
Para desmontar a unidade, você pode usar
sudo umount /dev/sdd1
Observe que no meu sistema a unidade usb é /dev/sdd1
, mas no seu sistema pode ser algo diferente. Para descobrir o que é, use o df
comando para ver todos os discos conectados no momento.