Исследуя зависший файл umount
, я наткнулся /run/mount/utab
на некоторые strace
выходные данные.
Какова цель /run/mount/utab
?
Где я могу прочитать больше о /run/mount/utab
:
- цель
- формат
- что взаимодействует с ним (и как)
решение1
Какова цель
/run/mount/utab
?
Файл используется mount
для хранения пользователя, который смонтировал файловую систему. Из man mount
, под FILESYSTEM-INDEPENDENT MOUNT OPTIONS
(и несколько быстрых тестов)
user Allow an ordinary user to mount the filesystem. The name of the mounting user
is written to the mtab file (or to the private libmount file in /run/mount on
systems without a regular mtab) so that this same user can unmount the filesys‐
tem again.
Другими словами, если у вас есть диск, который вы хотите смонтировать как обычный пользователь, вы, вероятно, используете запись в /etc/fstab
, содержащую UUID устройства (или другой идентификатор) и опцию user
, например
UUID=<UUID> <target> ... user ...
Когда вы, $ mount -U <UUID>
как пользователь user1
, mount
напишете что-то вроде следующего/run/mount/utab
SRC=/dev/sdb1 TARGET=<target> ROOT=/ OPTS=user=user1
что позволяет вам размонтировать устройство.
Где я могу прочитать больше о
/run/mount/utab
Формат простой, при условии, что вы видите то же самое, что и я в своей системе, и, помимо того, что написано выше, это все, что я смог найти, попробуйте проверить ссылки издругой ответ.
решение2
После быстрого прочтенияlibmount-tables-обновлениеЯ думаю, что файл используется для хранения параметров монтирования пространства пользователя. Я бы посмотрел вокругздесьдля информации об API и как с ним взаимодействовать. Исходный код для util-linux, который содержитlibmountтакже может быть еще одно место для поиска.