montagem CLI vs. montagem GUI

21

No Ubuntu 12.10, quando eu quero montar um disco rígido, basta clicar na unidade desmontada e tudo funciona bem (montando em /media/username/partitionlabel ).

Basicamente, eu gostaria de fazer exatamente isso via linha de comando (para um script em que estou trabalhando).

Como eu não quero automontar na inicialização, o fstab está fora de questão (certo?).

Quando uso o mount na CLI, preciso especificar um ponto de montagem (que precisa ter um ponto de montagem criado anteriormente; também preciso cuidar de permissões e outros) - o que não entendo é onde o GUI tirar todas as informações de? O ponto de montagem parece depender do rótulo da partição, mas esse diretório não existe antes da montagem. Além disso, o modo GUI não parece se importar muito com o fato de um usuário não ser root.

Existe uma maneira "fácil" de montar via CLI, como acontece na GUI clicando em uma unidade desmontada?

    
por NicApicella 21.03.2013 / 11:27
fonte

4 respostas

16

O Nautilus e outros gerenciadores de arquivos que montam unidades (ou seja, a GUI ) usam o comando udisks .

Isso fornece uma montagem dinâmica , em que o ponto de montagem é criado para a unidade on-the-fly e quando a unidade é desmontada, o ponto de montagem desaparece.

Veja man 1 udisks para detalhes sobre como usar este comando ( manualmente ou chamado de um script / aplicativo). Para saber mais sobre como o udisks funciona, consulte man 7 udisks .

Para montar um dispositivo com udisks , você deve especificar um nome do dispositivo válido para o dispositivo. Especificar o nome do volume do dispositivo não funcionará. Então, você pode usar udisks assim:

udisks --mount /dev/sdb1

Ao usar manualmente o udisks na linha de comando, talvez seja melhor simplesmente conectar um dispositivo e executar dmesg | tail logo depois (veja man dmesg e man tail ) para descobrir o nome do dispositivo recém-anexado.

Isso pode não ser a melhor maneira de escrever um script que monta dispositivos com udisks , no entanto. Não sei exatamente como você deve fazer isso, e seria difícil saber, já que você não nos disse exatamente o que deseja que esse script faça e quando você quer montar dispositivos.

    
por Eliah Kagan 21.03.2013 / 11:36
fonte
6
% bl0ck_qu0te%

Não. A palavra-chave noauto faz com que pule a montagem no momento da inicialização.

% bl0ck_qu0te%

O mais fácil seria adicioná-lo a /etc/fstab com noauto e usar ...

mount /dir

Isso terá o probe mount para um ponto de montagem e, se não for encontrado, para um dispositivo em /etc/fstab . /dir precisa existir.

Se um dispositivo ou UUID for fornecido, /etc/fstab não será testado. Como assim ...

mount /dev/sda1 /media/directory

Ou use udisks (deixarei Eliah lidar com isso & gt ; :-))

mount geralmente é apenas super usuário.

Exemplo de opções:

  • rw,noauto,user monta como leitura + gravação, mas não na inicialização, e você pode fazer isso como usuário.

  • Você também pode adicionar permissões para um usuário em /etc/fstab para arquivos. Você pode usar umask para isso.

  • umask = 0444: todos leram, não escrevem, não executam.

  • umask = 0333: todos leram, executam.
  • umask = 0338: proprietário, grupo, ler e executar; outros, nada
por Rinzwind 21.03.2013 / 11:37
fonte
3

Em um dos comentários, você disse:

% bl0ck_qu0te%

Eu uso pmount em vez de udisks . Funciona em ssh.

Se bem me lembro, esta é a sintaxe / etc que eu uso com ela - a maioria dos meus está escondida atrás de aliases neste ponto:

pmount /dev/sdb1 my_usb
ls /media/my_usb/
eject /media/my_usb
    
por Izkata 21.03.2013 / 16:23
fonte
2

Use

udisks --mount /dev/sdb1

(substitua /dev/sdb1 pelo dispositivo que você deseja montar)

    
por Florian Diesch 21.03.2013 / 11:35
fonte