Wednesday, October 2, 2013

Автомонтирование разделов с NTFS


Вернуться к этой теме заставило недавнее обновление моего любимого LMDE до Update Pack 7 (UP7).

Итак, задача: после входа пользователя, разделы с файловой системой NTFS должны быть примонтированы.
Нашёл отличное решение вот здесь.
Заключается оно в следующем:
  • создаётся скрипт, который монтирует разделы по одному, скажем, по их UUID
  • скрипт помещается в автозагрузку
  • profit!

Продублирую это решение:
#!/usr/bin/env bash

# Redsandro 2013-03-01
# Mount (LUKS) drives and such

doMount() {
    # Devices change every now and then. UUID does not.
    DEV=`ls -l --color=never /dev/disk/by-uuid/ | grep $UUID | cut -d\>  -f2 | cut -d/ -f3`
    gvfs-mount -d /dev/$DEV
}

# LUKS-1TB
# /dev/sdb1
UUID='9dd6df52-c901-4b70-8151-27086ba7db16'
doMount

# Projects 1TB
# /dev/sdd1
UUID='6b01a30e-af6e-48b4-810a-f9824558f041'
doMount
Всё. Осталось только подставить сюда UUID своих разделов. В рамках одной системы решение долговечное, т.к. UUID разделов меняются чуть чаще чем никогда.

Ещё советуют запретить автоматически открываемые окна для каждого примонтированного девайса вот такой командой:
gsettings set org.gnome.desktop.media-handling automount-open false
Но у меня эти окна не появляются и без редактирования указанной опции.

Следующий шаг очевиден. После входа в систему мы увидим окошко с запросом пароля для монтирования разделов. Чтобы этого избежать, и монтировать без запроса пароля, рекомендуют сделать следующее:
  • открыть файл /usr/share/polkit-1/actions/org.freedesktop.udisks.policy
  • найти там следующую секцию: <action id="org.freedesktop.udisks.filesystem-mount-system-internal">
  • взглянуть ниже и найти там подсекцию <defaults>
  • для каждой из опций allow_* в этой секции поменять текущие значения на yes
В итоге должно получиться следующее:
    
      yes
      yes
      yes
    
НО.
После UP7 используется новая подсистема udisks2, и значит нужно менять другой конфиг и другие секции.
Конфиг теперь вот такой: /usr/share/polkit-1/actions/org.freedesktop.udisks2.policy
Секции теперь вот такие:
  • <action id="org.freedesktop.udisks2.filesystem-mount">
  • <action id="org.freedesktop.udisks2.filesystem-mount-system">
  • <action id="org.freedesktop.udisks2.filesystem-mount-other-seat">

Ну и напоследок - новая версия udisks преподнесла ещё один сюрприз.
Доселе разделы монтировались в /media, теперь же они стали монтироваться в /media/$USER.
К счастью, решение есть. Как видим, даже два :)
Используем самое простое и очевидное:
  • создаём файл /etc/udev/rules.d/99-udisks2.rules
  • пишем в нём: ENV{ID_FS_USAGE}=="filesystem", ENV{UDISKS_FILESYSTEM_SHARED}="1"
  • сохраняем
  • размонтируем примонтированные в корявое место разделы :)
  • sudo service udev restart
  • profit!

No comments:

Post a Comment