udisks (Русский)

udisks состоит из двух основых элементов: демона udisksd, который предоставляет интерфейсы D-Bus для управления устройствами хранения, и утилиты командной строки udisksctl, с помощью которой пользователь взаимодействует с демоном.

Состояние перевода: На этой странице представлен перевод статьи udisks. Дата последней синхронизации: 7 января 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Установка

Установите пакет udisks2.

Демон udisksd(8) запускается через D-Bus "по требованию" и включать его вручную не нужно. Управлять демоном можно утилитой udisksctl(1).

Настройка

Набор действий, которые пользователь может выполнять с udisks, определяется разрешениями Polkit. Если пользовательский сеанс неактивен или не существует вовсе (например, при управлении udisks из службы systemd/Пользователь), необходимо соответствующим образом настроить Polkit.

В описаны стандартные настройки прав для группы , в приведён пример с более жёсткими ограничениями. Если вы используете Dolphin, то стоит также изучить .

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

Следующая команда выполнит монтирование съёмного устройства, например, :

$ udisksctl mount -b /dev/sdc1

Размонтирование:

$ udisksctl unmount -b /dev/sdc1

Смотрите для более подробной информации.

Советы и рекомендации

Программы для монтирования

Существует ряд программ-обёрток для udisks, которые позволяют настроить автоматическое монтирование устройств. Смотрите также List of applications/Utilities#Mount tools.

Примечание: Некоторые окружения рабочего стола, например, GNOME или KDE, имеют собственную встроенную обёртку для udisks.
  • bashmount Сценарий Bash для монтирования и управления съёмными устройствами обычным пользователем с помощью udisks2.
https://github.com/jamielinux/bashmount || bashmountAUR

udevadm monitor

Команду можно использовать для отслеживания связанных с блочными устройствами событий, а также для монтирования носителя при создании нового блочного устройства. Неактуальные точки монтирования удаляются демоном udiskd в автоматическом режиме, поэтому специальных действий по их удалению предпринимать не нужно.

Монтирование в /media (udisks2)

По умолчанию udisks2 монтирует съёмные устройства в каталог , который находится под управлением ACL. Если вы желаете изменить каталог монтирования на , создайте следующее правило udev:

Поскольку каталог в отличие от /run не монтируется по умолчанию с файловой системой tmpfs, возможно, вы также захотите создать сниппет в каталоге tmpfiles.d, который будет удалять устаревшие точки монтирования при каждой загрузке:

/etc/tmpfiles.d/media.conf
D /media 0755 root root 0 -

Монтирование петлевых устройств

Для монтирования ISO-образов воспользуйтесь следующей командой:

$ udisksctl loop-setup -r -f image.iso

Это создаст петлевое устройство и сделает образ готовым к монтированию. После размонтирования udev удалит петлевое устройство.

Сокрытие отдельных разделов

Если вы не хотите, чтобы определённые разделы или носители отображались на рабочем столе, можно создать правило udev, например, :

KERNEL=="sda1", ENV{UDISKS_PRESENTATION_HIDE}="1"
KERNEL=="sda2", ENV{UDISKS_PRESENTATION_HIDE}="1"

В результате на рабочем столе будут отображаться все разделы, кроме и . Имейте в виду, что это не сработает, если вы используете udisks2, потому что переменная больше не поддерживается. Вместо неё используйте :

KERNEL=="sda1", ENV{UDISKS_IGNORE}="1"
KERNEL=="sda2", ENV{UDISKS_IGNORE}="1"

Поскольку названия блочных устройств могут изменяться от загрузки к загрузке, то имеет смысл использовать UUID раздела или устройства, который можно узнать командой :

После этого можно создать следующее правило:

SUBSYSTEM=="block", ENV{ID_FS_UUID}=="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXX", ENV{UDISKS_IGNORE}="1"

Помимо обычного применения, этим правилом можно также скрыть целую файловую систему btrfs с несколькими устройствами, поскольку в этой системе UUID всех устройств совпадает, а различия определяются на основании SUB_UUID.

Применение настроек ATA (udisks2)

При запуске системы и при подключении устройства демон udiskd применяет настройки из файла /etc/udisks2/ИДЕНТИФИКАТОР.conf, где — значение параметра Drive:Id для данного устройства. В настоящее время в udisks существует поддержка настроек ATA. Список доступных опций можно посмотреть в руководстве . Данные настройки по сути не отличаются от настроек hdparm, за тем исключением, что настройки ATA сохранятся при последующих автозапусках демона udisks.

Например, следующие настройки установят для устройства время ожидания 240 (20 минут):

Значение DriveId можно узнать командой udevadm info --query=all --name=sdx | grep ID_SERIAL | sed "s/_/-/g".

В качестве альтернативы для работы с файлом настроек можно использовать какую-нибудь графическую утилиту, например .

Для некоторых жёстких дисков после размонтирования, но перед физическим отключением питания может понадобиться отправить команду отключения для корректного завершения работы. Смотрите hdparm#Power off a hard disk drive, чтобы решить, требуется ли выполнять команду для вашего диска.

Решение проблем

Скрытые устройства (udisks2)

udisks2 по умолчанию скрывает от пользователя некоторые устройства. Если такое поведение нежелательно, скопируйте файл в и удалите в файле-копии следующий раздел:

Устройства не остаются размонтированными (udisks)

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

Следующая команда отключит опрашивание выбранного CD/DVD устройства:

# udisks --inhibit-polling /dev/sr0

То же самое, но для всех устройств одновременно.

# udisks --inhibit-all-polling

Подробнее см. .

Неправильно работает таймер ожидания (udisks2)

Демон udisks регулярно опрашивает устройства с целью сбора S.M.A.R.T.-данных. Жесткие диски, время ожидания которых больше интервала опрашивания, могут не успевать войти в режим standby. Устройства, которые уже вошли в этот режим, данной проблеме не подвержены. Судя по всему, в настоящий момент в udisks2 не предусмотрено способа отключить опрашивание устройств или изменить интервал. См. и .

Тем не менее, время ожидания в udisks2 изменить можно. Подробнее см. #Применение настроек ATA (udisks2).

Другие возможные обходные решения заключаются в задании отдельной задержки перед интервалом опрашивания (10 минут) или в ручном переводе диска в замедленный режим командой .

Не удаётся смонтировать NTFS-раздел

Если монтирование NTFS-раздела завершается неудачно с ошибкой

или какой-то другой, а команды / находят в логах ядра сообщение

то проблема скорее всего в том, что udisks пытается использовать драйвер NTFS, который не понимает текущие опции монтирования.

Для решения проблемы установите NTFS-3G в качестве опциональной зависимости.

Смотрите также

gollark: It's great if you use Rust, otherwise horrible.
gollark: I dislike it but not because of that.
gollark: Some of it's probably Cthulu though. I mean, zygohistomorphic premorphisms.
gollark: They don't need much help, to be fair.
gollark: They're actually paid for by Google to keep Haskell programmers away from doing anything useful.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.