it-swarm-es.com

Montaje CLI frente a montaje GUI

En Ubuntu 12.10, cuando quiero montar un disco duro, puedo hacer clic en el disco desmontado y todo funciona bien (montando en /media/username/partitionlabel).

Básicamente, me gustaría hacer exactamente eso a través de la línea de comandos (para un script en el que estoy trabajando).

Como yo no quiero montar automáticamente en el arranque, fstab está fuera de la cuestión (¿verdad?).

Cuando uso mount en CLI, necesito especificar un punto de montaje (que debe tener un punto de montaje creado previamente; también, tengo que ocuparme de los permisos y demás): lo que no entiendo es dónde toma la GUI todo sus informaciones de? El punto de montaje parece depender de la etiqueta de la partición, pero dicho directorio no existe antes del montaje. Además, la forma de la GUI no parece importarle demasiado que un usuario no sea root.

¿Existe una forma "fácil" de montar a través de CLI, tal como lo hace en la GUI haciendo clic en una unidad desmontada?

21
NicApicella

Nautilus y otros administradores de archivos que montan unidades (es decir, la GUI ) usan el comando udisks.

Esto proporciona un montaje dinámico , donde el punto de montaje se crea para la unidad sobre la marcha, y cuando la unidad se desmonta, el punto de montaje desaparece lejos.

Consulte man 1 udisks para obtener detalles sobre cómo usar este comando (ya sea manualmente o desde un script/aplicación). Para obtener más información sobre cómo funciona udisks, consulte man 7 udisks .

Para montar un dispositivo con udisks, debe especificar un nombre de dispositivo válido para el dispositivo. Especificar el nombre del volumen del dispositivo no funcionará. Entonces, puedes usar udisks así:

_udisks --mount /dev/sdb1
_

Al usar manualmente udisks desde la línea de comandos, es mejor que simplemente conecte un dispositivo, luego ejecute _dmesg | tail_ poco después (vea man dmesg y man tail ) para descubrir el nombre del dispositivo recién conectado.

Sin embargo, esta puede no ser la mejor manera de escribir un script que monte dispositivos con udisks. No sé exactamente cómo debes hacerlo, y sería difícil saberlo ya que no nos has dicho con precisión qué quieres este script hacer y cuando desea que monte dispositivos.

16
Eliah Kagan

Como no quiero montar automáticamente en el arranque, fstab está fuera de cuestión (¿verdad?).

No La palabra clave noautohace que se omita el montaje en el momento del arranque.

¿Existe una forma "fácil" de montar a través de CLI, tal como lo hace en la GUI haciendo clic en una unidad desmontada?

Lo más fácil sería agregarlo a /etc/fstab con noautoy usar ...

mount /dir

Esto tendrá una sonda de montaje para un punto de montaje y, si no se encuentra, para un dispositivo en /etc/fstab. /dir necesita existir sin embargo.

Si se proporciona un dispositivo o UUID /etc/fstab no se sondea. Al igual que ...

mount /dev/sda1 /media/directory

O use udisksNAME _ (Dejaré que Eliah se encargue de eso> :-))


mount generalmente es solo superusuario.

Opciones de ejemplo:

  • rw,noauto,user lo monta como lectura + escritura pero no en el arranque y puede hacerlo como usuario.

  • También puede agregar permisos para un usuario en /etc/fstab para archivos. Puede usar umaskpara eso.

  • umask = 0444: todos leen, no escriben, no ejecutan.

  • umask = 0333: todos leen, ejecutan.
  • umask = 0338: propietario, grupo leer y ejecutar; otros nada
6
Rinzwind

En uno de los comentarios, dijiste:

Por alguna razón, obtengo "Error de montaje: no autorizado" cuando lo ejecuto a través de ssh

Yo uso pmountNAME _ en lugar de udisksname__. Funciona sobre ssh.

Si no recuerdo mal, esta es la sintaxis/etc. que uso con ella; la mayoría de las mías están ocultas detrás de los alias en este punto:

pmount /dev/sdb1 my_usb
ls /media/my_usb/
eject /media/my_usb
3
Izkata

Utilizar

udisks --mount /dev/sdb1

(reemplace /dev/sdb1 con el dispositivo que desea montar)

2
Florian Diesch