Установка CLI против установки графического интерфейса

21

В Ubuntu 12.10, когда я хочу установить жесткий диск, я могу просто щелкнуть на отключенном диске, и все работает нормально (путем установки на /media/username/partitionlabel ).

В принципе, я хотел бы сделать именно это через командную строку (для сценария, над которым я работаю).

Так как я не хочу автомонтироваться при загрузке, fstab не может быть и речи (правильно?).

Когда я использую mount в CLI, мне нужно указать точку монтирования (которая должна иметь ранее созданную точку монтирования, также я должен заботиться о разрешениях и еще что-то) - я не понимаю, где GUI берет всю свою информацию? Кажется, что точка монтирования зависит от метки раздела, но такой каталог не существует перед установкой. Кроме того, GUI-путь, похоже, не слишком заботится о том, чтобы пользователь не был root.

Есть ли «простой» способ монтирования через CLI, как это делается в графическом интерфейсе, нажав на несмонтированный диск?

    
задан NicApicella 21.03.2013 в 11:27
источник

4 ответа

16

Nautilus и другие файловые менеджеры, которые монтируют диски (т. е. GUI ), используют команду udisks .

Это обеспечивает монтирование dynamic , где точка монтирования создается для привода на лету, а когда диск размонтирован, точка монтирования исчезает.

Подробнее о том, как использовать эту команду, см. man 1 udisks . либо вручную, либо вызывается из сценария / приложения). Подробнее о том, как работает udisks , см. man 7 udisks .

Чтобы смонтировать устройство с udisks , вы должны указать допустимое имя устройства для устройства. Указание имени тома устройства не будет работать. Итак, вы можете использовать udisks следующим образом:

udisks --mount /dev/sdb1

При ручном использовании udisks из командной строки вам может быть лучше просто подключить устройство, а затем запустить dmesg | tail вскоре после этого (см. man dmesg и man tail ), чтобы узнать имя устройства недавно подключенного устройства.

Это может быть не лучший способ написать скрипт, который монтирует устройства с udisks . Я не знаю точно, как вы должны это делать, и это будет трудно узнать, так как вы не сказали нам точно , что вам нужен этот сценарий, и , когда вы хотите, чтобы он монтировал устройства.

    
ответ дан Eliah Kagan 21.03.2013 в 11:36
источник
6

Since I do not want to automount on boot, fstab is out of the question (right?).

Неа. Ключевое слово noauto позволяет пропустить установку во время загрузки.

Is there an "easy" way to mount via CLI, just like it does on the GUI by clicking on an unmounted drive?

Легче было бы добавить его в /etc/fstab с noauto и использовать ...

mount /dir

У этого будет монтируемый зонд для точки монтирования, и если он не найден, то для устройства в /etc/fstab . /dir должно существовать.

Если установлено какое-либо устройство или UUID, /etc/fstab не проверяется. Так вот ...

mount /dev/sda1 /media/directory

Или используйте udisks (я позволю Элии справиться с этим > ; :-))

mount обычно является суперпользователем.

Примеры параметров:

  • rw,noauto,user монтирует его как чтение + запись, но не при загрузке, и вы можете сделать это как пользователь.

  • Вы также можете добавить разрешения для пользователя в /etc/fstab для файлов. Вы можете использовать для этого umask .

  • umask = 0444: все читают, не пишут, не выполняют.

  • umask = 0333: все читают, исполняют.
  • umask = 0338: владелец, чтение и выполнение группы; другие, ничего
ответ дан Rinzwind 21.03.2013 в 11:37
3

В одном из комментариев вы сказали:

For whatever reason, I'm getting "Mount failed: Not Aouthorized" when running it via ssh

Я использую pmount вместо udisks . Он работает над ssh.

Если я правильно помню, это синтаксис / etc, который я использую с ним - большинство моих скрыто за псевдонимами на данный момент:

pmount /dev/sdb1 my_usb
ls /media/my_usb/
eject /media/my_usb
    
ответ дан Izkata 21.03.2013 в 16:23
2

Использование

udisks --mount /dev/sdb1

(замените /dev/sdb1 на устройство, которое хотите установить)

    
ответ дан Florian Diesch 21.03.2013 в 11:35