Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версияПоследняя версияСледующая версия справа и слева |
igor:udev_i_ego_primenenie_dlja_montirovanija_fajlovoj_sistemy [2017/08/06 00:57] – igor | igor:udev_i_ego_primenenie_dlja_montirovanija_fajlovoj_sistemy [2019/12/09 23:49] – [Опции монтирования] igor |
---|
Все мои статьи: [[http://wiki.lumier.org/doku.php?id=igor:glavnaja]] | Все мои статьи: [[igor:glavnaja|Статьи Игоря Романова]] |
=====Udev и его применение для монтирования файловой системы===== | =====Udev и его применение для монтирования файловой системы===== |
====Необходимость и сущность операции монтирования, в сопоставлении Linux-Windows==== | ====Необходимость и сущность операции монтирования, в сопоставлении Linux-Windows==== |
====Опции монтирования==== | ====Опции монтирования==== |
Это "нюансы" того, как операционная система должна обращаться с файлами и каталогами на каждом конкретном | Это "нюансы" того, как операционная система должна обращаться с файлами и каталогами на каждом конкретном |
устройстве. Их довольно много, выглядят они несколько путано, и вся эта система опций монтирования носит на себе следы кусочно-ямочных модернизаций. Перечислю некоторые опции, начиная с тех, которыми владею сам.\\ | устройстве. Их довольно много, выглядят они несколько путано, и вся эта система опций монтирования носит на себе следы многочисленных кусочно-ямочных улучшизаций. Перечислю некоторые опции, начиная с тех, которыми владею сам.\\ |
rw/ro - использовать диск для чтения и записи или только для чтения; \\ | rw/ro - использовать диск для чтения и записи или только для чтения; \\ |
exec/noexec - разрешать/запрещать выполнение программ, находящихся на диске; \\ | exec/noexec - разрешать/запрещать выполнение программ, находящихся на диске; \\ |
blksize=N; \\ | blksize=N; \\ |
default_permissions; \\ | default_permissions; \\ |
allow_other; \\ | allow_other - эта опция используется только при монтировании по сети и дает возможность другим пользователям также получать доступ к данному ресурсу; \\ |
shortname=mixed; \\ | shortname=mixed; \\ |
unhide \\ \\ | unhide \\ \\ |
В строке 6 полей, на данном этапе мы рассмотрим первые четыре: нода устройства, точка монтирования, тип файловой системы (или, в более общем плане, в каком виде хранится информация, поскольку она может храниться не только в виде файловой системы, но и как-то иначе) и опции монтирования.\\ | В строке 6 полей, на данном этапе мы рассмотрим первые четыре: нода устройства, точка монтирования, тип файловой системы (или, в более общем плане, в каком виде хранится информация, поскольку она может храниться не только в виде файловой системы, но и как-то иначе) и опции монтирования.\\ |
Для примера: как это сделано у меня.\\ | Для примера: как это сделано у меня.\\ |
В своих статьях я придерживаюсь определенной системы представления текста. ''Моноспейсный'' текст имитирует экран компьютера, на котором мы видим наши команды (подчеркнутым шрифтом) и ответ системы на них.\\ \\ | В своих статьях я придерживаюсь определенной системы представления текста. ''Моноспейсный'' текст имитирует экран компьютера, на котором мы видим наши команды (''__подчеркнутым шрифтом__'') и ответ системы на них.\\ \\ |
''igor@ibmnote ~ $ __cat /etc/fstab__ \\ | ''igor@ibmnote ~ $ __cat /etc/fstab__ \\ |
/dev/sda3 / ext4 rw,async,noatime 0 0 \\ | /dev/sda3 / ext4 rw,async,noatime 0 0 \\ |
/dev/sda1 on /media/windows type fuseblk (ro,nosuid,nodev,allow_other,blksize=4096)'' \\ \\ | /dev/sda1 on /media/windows type fuseblk (ro,nosuid,nodev,allow_other,blksize=4096)'' \\ \\ |
Как видим, результаты двух команд по существу одинаковы, хотя представлены в несколько разном формате. | Как видим, результаты двух команд по существу одинаковы, хотя представлены в несколько разном формате. |
Команда mount без параметров просто выдает список всего, что смонтировано. Файл /etc/mtab также хранит информацию о смонтированных ФС. Этот файл создается системой, и пользователю изменять его не следует. \\ | Команда mount без параметров просто выдает список всего, что смонтировано. Файл /etc/mtab также хранит информацию о смонтированных ФС. Этот файл создается системой, и пользователю изменять его не следует. Заметим, что команда cat отображает __настоящее содержимое__ файла (/etc/mtab - символическая ссылка, которая в Дебиане ведет на /proc/mounts). \\ |
Devtmpfs, proc,tmpfs,devpts,shm,sysfs - это как раз псевдофайловые системы. \\ | Devtmpfs, proc,tmpfs,devpts,shm,sysfs - это как раз псевдофайловые системы. \\ |
Вывод этих команд можно сделать более наглядным, если использовать утилиту column, например так: \\ \\ | Вывод этих команд можно сделать более наглядным, если использовать утилиту column, например так: \\ \\ |
Udev - вещь достаточно универсальная, его компетенция простым автомонтированием гаджетов отнюдь не исчерпывается (некоторые даже пишут, что он для этого не предназначен - непонятно почему). Однако по жизни именно автомонтирование - задача номер один, при решении которой люди в первую очередь вспоминают про udev. \\ | Udev - вещь достаточно универсальная, его компетенция простым автомонтированием гаджетов отнюдь не исчерпывается (некоторые даже пишут, что он для этого не предназначен - непонятно почему). Однако по жизни именно автомонтирование - задача номер один, при решении которой люди в первую очередь вспоминают про udev. \\ |
Udev независим ни от файл-менеджеров, ни от используемой вами графической оболочки (desktop environment, window manager...), ни вообще от X-сервера, то есть описанная ниже технология применима даже к компьютеру, совсем не имеющему графической периферии. \\ | Udev независим ни от файл-менеджеров, ни от используемой вами графической оболочки (desktop environment, window manager...), ни вообще от X-сервера, то есть описанная ниже технология применима даже к компьютеру, совсем не имеющему графической периферии. \\ |
Второе. В бинарных дистрибутивах, как правило, имеются свои варианты решения поставленной задачи, разработанные для нас (за нас) создателями конкретного дистрибутива и, в отличие от того что сказано чуть выше, "привязанные" к графическим средствам этого дистрибутива. Если вы, подобно вашему покорному слуге, считаете их неудачными и хотите решить задачу по-своему, то надо понимать, что это обходное решение - "костыль". В данной ситуации это слово не несет отрицательной эмоциональной нагрузки, но этот "костыль" может конфликтовать со стандартным решением, которого никто не отменял. У меня, например, тунар просто "вылетает" при попытке обратиться к флэшке, примонтированной через udev. \\ \\ | Второе. В бинарных дистрибутивах, как правило, имеются свои варианты решения поставленной задачи, разработанные для нас (за нас) создателями конкретного дистрибутива и, в отличие от того что сказано чуть выше, "привязанные" к графическим средствам этого дистрибутива. Если вы, подобно вашему покорному слуге, считаете их неудачными и хотите решить задачу по-своему, то надо понимать, что это обходное решение - "костыль". В данной ситуации это слово не несет отрицательной эмоциональной нагрузки, но этот "костыль" может конфликтовать со стандартным решением, которого никто не отменял. У меня, например, тунар при попытке обратиться к флэшке, примонтированной через udev, просто "вылетает" со скоростью, обычно ему не свойственной. \\ \\ |
====Краткое описание принципа работы udev==== | ====Краткое описание принципа работы udev==== |
Как уже говорилось, в каждой ОС есть механизмы, следящие за событиями и докладывающие о них, и есть механизмы, получающие эти доклады и предпринимающие должные действия по факту событий. К последним относится udev - демон, который характеризуется тем, что может анализировать информацию о событиях согласно __правилам__, написанным для него пользователем данного конкретного компьютера. \\ | Как уже говорилось, в каждой ОС есть механизмы, следящие за событиями и докладывающие о них, и есть механизмы, получающие эти доклады и предпринимающие должные действия по факту событий. К последним относится udev - демон, который характеризуется тем, что может анализировать информацию о событиях согласно __правилам__, написанным для него пользователем данного конкретного компьютера. \\ |