Как вручную указать, точку монтирования флэшки при вставлянии (монтируется автоматом)?

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
Hephaestus
Сообщения: 3728
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Как вручную указать, точку монтирования флэшки при вставлянии (монтируется автоматом)?

Сообщение Hephaestus »

жучара писал(а):
01.03.2020 18:59
Вы что мне голову морочите? Вы показывали
Я показывал /etc/fstab с одной записью, отвечая вот на этот вопрос:
жучара писал(а):
01.03.2020 13:17
Но как в него можно прописать монтировать в домашнюю директорию пользователя?
Вот сам факт того, что можно прописать домашнюю директорию - именно это я и показывал.
Сколько там будет строк - две, три или десять - это обсуждалось уже позже.
жучара писал(а):
01.03.2020 18:59
Итак, значок не появился
А вот это уже интереснее. Надо было так и сказать сразу.
Автоматического монтирования (в частности без щелчка по значку) там не происходит, а как именно Вы монтировали - команды Вы не приводили.
По выводу lsblk или df невозможно понять, появился значок или нет.

Ну, раз не появился, значит, либо возникает коллизия имен и тогда нужны уникальные имена устройств,
либо проблема где-то глубже.
Если интерес к теме ещё не пропал, проверьте дополнительно пару моментов.
Во-первых убедитесь, что каждая из двух записей по отдельности срабатывает. Одна из двух работает - это ясно. Проверьте, работает ли вторая.
А во-вторых, посмотрите, как при наличии двух записей ведет себя монтирование с помощью mount, pmount.
Если наличие более одной записи - это критично и приводит к неработоспособности схемы, то по идее, mount тоже не будет работать - будет плеваться ошибками, например.
жучара писал(а):
01.03.2020 18:59
Я не пойму, вы предполагаете или что?
Я ничего не предполагаю. Все записи в /etc/fstab, которые я Вам предлагал,
я проверял на своей системе и они работают.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1085
ОС: астралинукс

Re: Как вручную указать, точку монтирования флэшки при вставлянии (монтируется автоматом)?

Сообщение жучара »

Hephaestus писал:
01.03.2020 23:34
Во-первых убедитесь, что каждая из двух записей по отдельности срабатывает. Одна из двух работает - это ясно. Проверьте, работает ли вторая.
да, обоих пользователей по отдельности всё работает, значок появляется. Когда значок появляется это означает, что флэшка УЖЕ примонтирована (смотрю командой df)
Hephaestus писал:
01.03.2020 23:34
А во-вторых, посмотрите, как при наличии двух записей ведет себя монтирование с помощью mount,
предсказуемо. Если пользователь sudo (пришлось создать третьего пользователя user, который sudo) и, следовательно, может монтировать, то он монтирует вручную в /home/user/temp без ошибок (НО НЕ АВТОМАТОМ! Автоматом вообще никак, ибо три строчки в /etc/fstab):

Это вот /etc/fstab с пользователем user, который sudo:

Shell

foo@debian:~$ cat /etc/fstab | grep sdc1
/dev/sdc1 /home/foo/temp auto rw,user,noauto 0 0
/dev/sdc1 /home/bar/temp auto rw,user,noauto 0 0
/dev/sdc1 /home/user/temp auto rw,user,noauto 0 0
foo@debian:~$
Hephaestus писал:
01.03.2020 23:34
pmount.
НЕпредсказуемо. Монтироваться (с руганью!) будет тот пользователь, который в файле /etc/fstab первый по списку. То есть файл /etc/fstab:

Shell

foo@debian:~$ cat /etc/fstab | grep sdc1
/dev/sdc1 /home/foo/temp auto rw,user,noauto 0 0
/dev/sdc1 /home/bar/temp auto rw,user,noauto 0 0
foo@debian:~$
Сейчас смонтируется пользователь foo:

Shell

foo@debian:~$ pmount /dev/sdc1 temp
Предупреждение: Т.к. устройство /dev/sdc1 уже описано в /etc/fstab,
указанная метка будет проигнорирована
foo@debian:~$
Проверим:

Shell

foo@debian:~$ df
Файловая система 1K-блоков Использовано Доступно Использовано% Cмонтировано в
udev 1980976 0 1980976 0% /dev
tmpfs 405048 6412 398636 2% /run
/dev/sda8 85986088 4293432 77281744 6% /
tmpfs 2025232 0 2025232 0% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 2025232 0 2025232 0% /sys/fs/cgroup
tmpfs 405044 12 405032 1% /run/user/116
tmpfs 405044 24 405020 1% /run/user/1001
/dev/sdc1 976344 117732 858612 13% /home/foo/temp
foo@debian:~$
Отмонтируем:

Shell

foo@debian:~$ pumount /dev/sdc1 temp
foo@debian:~$
Так, а если теперь перезайти пользователем bar (он второй в списке /etc/fstab), то такая ругань:

Shell

bar@debian:~$ pmount /dev/sdc1 temp
Предупреждение: Т.к. устройство /dev/sdc1 уже описано в /etc/fstab,
указанная метка будет проигнорирована
ntfs-3g-mount: user has no write access to mountpoint /home/foo/temp
bar@debian:~$

И не примонтировался:

Shell

bar@debian:~$ df
Файловая система 1K-блоков Использовано Доступно Использовано% Cмонтировано в
udev 1980976 0 1980976 0% /dev
tmpfs 405048 11688 393360 3% /run
/dev/sda8 85986088 4294476 77280700 6% /
tmpfs 2025232 0 2025232 0% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 2025232 0 2025232 0% /sys/fs/cgroup
tmpfs 405044 12 405032 1% /run/user/116
tmpfs 405044 32 405012 1% /run/user/1001
tmpfs 405044 28 405016 1% /run/user/1002
bar@debian:~$


Я потом поменял foo c bar местами в файле /etc/fstab, так оказалось наоборот, bar монтируется, а foo нет, так что тут всё точно.

И ещё: отмонтировать pumount можно только через командную строку, а если отмонтировать через правую кнопку мыши, то просит ни иного ни мало, пароль пользователя, который sudo (в данном случае пароль пользователя user). Такие дела.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3728
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Как вручную указать, точку монтирования флэшки при вставлянии (монтируется автоматом)?

Сообщение Hephaestus »

жучара писал(а):
02.03.2020 14:13
Когда значок появляется это означает, что флэшка УЖЕ примонтирована (смотрю командой df)
Стоп. Это означает, что автоматика не выключена.
жучара писал(а):
02.03.2020 14:13
Я потом поменял foo c bar местами в файле /etc/fstab, так оказалось наоборот, bar монтируется, а foo нет, так что тут всё точно.
Всё правильно. При невыключенной автоматике всё так и должно быть.
Если Вы пока не поняли, разъясняю:
Автоматика работает от рута. И поэтому имеет возможность монтировать что угодно куда угодно.
Из Вашего файла

Shell

bar@debian:~$ cat /etc/fstab | grep sdc1
/dev/sdc1 /home/foo/temp auto rw,user,noauto 0 0
/dev/sdc1 /home/bar/temp auto rw,user,noauto 0 0
берется первая подходящая запись и монтируется.
В данном случае монтируется в /home/foo/temp.
Но поскольку Вы проверяете результаты от пользователя bar, Вы не увидите ни примонтированной флешки, ни значка на рабочем столе.
Я не могу утверждать наверняка, проходит монтирование успешно или нет конкретно в Вашем случае, но даже если проходит, результатов не видно. Разделение доступа в действии. Нужно либо смотреть lsblk и df от рута, либо от пользователя foo. Ну, по идее, команда mount без параметров должна показать смонтированные устройства.
Кстати, значок на рабочем столе пользователя bar всё-таки появляется и тут же исчезает. Это можно заметить, если держать два рабочих стола одновременно.
Это всё относится к случаю, когда действует автоматика.

А вот когда автоматика выключена, всё существенно иначе.
Значок на рабочем столе появляется, поскольку есть запись в /etc/fstab.
Но монтирование не происходит, потому что автоматика выключена, а в /etc/fstab присутствует опция noauto.
В результате каждый из пользователей видит значок флешки на своём рабочем столе. И значок этот относится к той точке монтирования, которая доступна данному пользователю (/home/foo/temp - для foo и /home/bar/temp - для bar). Если в /etc/fstab не прописано ни одной точки монтирования, доступной данному пользователю - не будет и значка.
Таким образом, пользователь может щелчком по значку смонтировать устройство и оно смонтируется туда, куда надо. Но это, скажем так, "работа по очереди", в каждый момент времени залогинен только один из пользователей. Поэтому, несмотря на одинаковые имена устройств, коллизии не возникает. Именно так всё срабатывает на моей системе. Я проверял при выключенной автоматике. При включенной поведение было таким же, как в Вашем случае.

Если же нужно прямо вот одновременную работу, чтобы в каждый момент времени были активны несколько пользователей,
тогда нужны уникальные имена устройств, например, идентификаторы. Но это как бы само собой разумеется. У Вас же не будут два пользователя втыкать одновременно одну и ту же флешку. Флешки всё-таки будут разными. В этом случае, кстати, автоматика вполне себе может быть включенной - отработает, не запутается.
На всякий случай замечу, что если пользователю нужно несколько устройств (несколько флешек), то для каждой флешки будет своя запись в /etc/fstab - свой идентификатор и своя точка монтирования, потому что флешки могут вставляться одновременно.
жучара писал(а):
02.03.2020 14:13
Если пользователь sudo
sudo здесь вообще ни при чем. В том и весь прикол, что опция "user", которую Вы указали в /etc/fstab, позволяет монтировать без sudo, но монтировать исключительно в соответствии с записью в /etc/fstab. В команде монтирования в этом случае указывается только точка монтирования (без имени устройства): mount /home/foo/temp
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Kopilov
Сообщения: 954
ОС: [K]Ubuntu, Debian

Re: Как вручную указать, точку монтирования флэшки при вставлянии (монтируется автоматом)?

Сообщение Kopilov »

жучара писал(а):
01.03.2020 18:59
Бля это принципиальный вопрос, при одной строчке работает при двух НЕ РАБОТАЕТ. ПРИНЦИПИАЛЬНЫЙ вопрос, одна или две строки (или три)!!!
жучара, если у каждого пользователя — своя уникальная (ещё и, о ужас, одна и только одна, одобренная безопасником навека) флешка — можно вместо /dev/sdc1 использовать UUID=. Или LABEL=, как промежуточный вариант.
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1085
ОС: астралинукс

Re: Как вручную указать, точку монтирования флэшки при вставлянии (монтируется автоматом)?

Сообщение жучара »

Kopilov писал:
02.03.2020 15:14
жучара писал(а):
01.03.2020 18:59
Бля это принципиальный вопрос, при одной строчке работает при двух НЕ РАБОТАЕТ. ПРИНЦИПИАЛЬНЫЙ вопрос, одна или две строки (или три)!!!
жучара, если у каждого пользователя — своя уникальная (ещё и, о ужас, одна и только одна, одобренная безопасником навека) флешка — можно вместо /dev/sdc1 использовать UUID=. Или LABEL=, как промежуточный вариант.
спасибо, не вариант.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1085
ОС: астралинукс

Re: Как вручную указать, точку монтирования флэшки при вставлянии (монтируется автоматом)?

Сообщение жучара »

Hephaestus писал:
02.03.2020 15:12
жучара писал(а):
02.03.2020 14:13
Когда значок появляется это означает, что флэшка УЖЕ примонтирована (смотрю командой df)
Стоп. Это означает, что автоматика не выключена.
жучара писал(а):
02.03.2020 14:13
Я потом поменял foo c bar местами в файле /etc/fstab, так оказалось наоборот, bar монтируется, а foo нет, так что тут всё точно.
Всё правильно. При невыключенной автоматике всё так и должно быть.
Если Вы пока не поняли, разъясняю:
Автоматика работает от рута. И поэтому имеет возможность монтировать что угодно куда угодно.
Из Вашего файла

Shell

bar@debian:~$ cat /etc/fstab | grep sdc1
/dev/sdc1 /home/foo/temp auto rw,user,noauto 0 0
/dev/sdc1 /home/bar/temp auto rw,user,noauto 0 0
берется первая подходящая запись и монтируется.
В данном случае монтируется в /home/foo/temp.
Но поскольку Вы проверяете результаты от пользователя bar, Вы не увидите ни примонтированной флешки, ни значка на рабочем столе.
Я не могу утверждать наверняка, проходит монтирование успешно или нет конкретно в Вашем случае, но даже если проходит, результатов не видно.
нет не монтируется. Автоматика включена во-первых, да (причём по умолчанию у каждого пользователя).

Shell

bar@debian:~$ gsettings get org.gnome.desktop.media-handling automount
true
bar@debian:~$
Опять же /etc/fstab

Shell

bar@debian:~$ cat /etc/fstab | grep sdc1
/dev/sdc1 /home/foo/temp auto rw,user,noauto 0 0
/dev/sdc1 /home/bar/temp auto rw,user,noauto 0 0
bar@debian:~$
Пользователь bar, воткнув флэшку, может просто проверить папку /home/foo/temp. По умолчанию все пользователи могу её читать и выполнять. Очень-очень странно, но воспользуемся этим

Shell

bar@debian ls -ld /home/foo/temp
drwxr-xr-x foo foo 4096 мар 1 18:22 /home/foo/temp
bar@debian
bar@debian ls /home/foo/temp
bar@debian
Ещё раз убедились, что более одной строчки в файле /etc/fstab с одинаковым первым полем бесполезны. Остались ещё два способа для автомонтирования в разные папки (см. ранее)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Будем доразбирываться с отключенным автомонтированием? Тут всё запутано, я вот даже сейчас не могу понять чьё автомонтирование на что влияет.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3728
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Как вручную указать, точку монтирования флэшки при вставлянии (монтируется автоматом)?

Сообщение Hephaestus »

жучара писал(а):
02.03.2020 18:14
Будем доразбирываться с отключенным автомонтированием?
Решать Вам.
Вы в данной теме рассматриваете вопрос сразу с нескольких сторон:
автомонтирование
измененная точка монтирования
разделение доступа
работа в графике
Какое именно сочетание из этих четырех составляющих Вас устроит, я не знаю.

Лично я склоняюсь к варианту, когда записи в /etc/fstab содержат уникальные имена устройств.
С учетом нескольких пользователей и, вероятно, нескольких устройств, это будет наиболее правильный вариант.
А если его принять, автоматика вполне может сработать нормально. Но я в автоматике не уверен.
Это нужно проверить. Вам. Я проверить не могу, поскольку не могу полностью воспроизвести Вашу схему.
У Вас автоматика настроена через gsettings, у меня этого нет, я автоматику включал средствами оболочки.
жучара писал(а):
02.03.2020 18:14
Ещё раз убедились, что более одной строчки в файле /etc/fstab с одинаковым первым полем бесполезны.
В общем случае - да. Потому что разделение доступа предполагает разных пользователей, а значит и разные устройства. Но это был просто пример. Я и не настаивал, что надо обязательно одинаковые имена устройств, скорее - наоборот. Вам, кстати, вполне можно было взять две флешки, прописать вместо имен их идентификаторы да и проверить. Либо, если нет двух флешек, можно взять два файловых образа и прописать их имена - в данном случае это не принципиально.

Однако в частных случаях схема с одинаковыми именами может работать (как у меня, например). Хотя я сейчас посмотрел - даже при включенной автоматике устройство не монтируется сразу. Вчера монтировалось.
Вот за это, в частности, не люблю автомонтирование - норовит сработать, когда не спрашивают, а когда надо - не срабатывает.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1085
ОС: астралинукс

Re: Как вручную указать, точку монтирования флэшки при вставлянии (монтируется автоматом)?

Сообщение жучара »

Hephaestus писал:
02.03.2020 19:04
жучара писал(а):
02.03.2020 18:14
Будем доразбирываться с отключенным автомонтированием?
Решать Вам.
Вы в данной теме рассматриваете вопрос сразу с нескольких сторон:
автомонтирование
измененная точка монтирования
разделение доступа
работа в графике
Какое именно сочетание из этих четырех составляющих Вас устроит, я не знаю.
да, на подходе, монтирование вручную пользователем. Прервёмся пока, а то так можно обсуждать ВСЁ.
Hephaestus писал:
02.03.2020 19:04
Лично я склоняюсь к варианту, когда записи в /etc/fstab содержат уникальные имена устройств.
так оно хорошо бы так было, если бы заранее была известна метка или UUID, а оно неизвестно. Пользователь принесёт завтра из дома другую флэшку и... всё. По логике вещей кто вставляет флэшку- это отличный идентификатор ДОЛЖЕН БЫТЬ. Вставил флэшку Вася- она монтируется туда-то. Вставил Петя- в другое место. Если для Васи прописано две точки монтирования- выбирается либо первая, либо администратор сам дурак. Должен, но не обязан, как говорится.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3728
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Как вручную указать, точку монтирования флэшки при вставлянии (монтируется автоматом)?

Сообщение Hephaestus »

жучара писал(а):
02.03.2020 23:50
По логике вещей кто вставляет флэшку- это отличный идентификатор ДОЛЖЕН БЫТЬ. Вставил флэшку Вася- она монтируется туда-то. Вставил Петя- в другое место.
Как ни странно, но без вмешательства в /etc/fstab автоматика ровно это и делает.
Единственное отличие - точка монтирования создается где-нибудь в /media/A45B231, а не в /home/foo/temp.
Почему создается в /media, объяснить легко: это общепринятая практика - монтировать съемные устройства в /media, а несъемные - в /mnt. И в частности pmount, поскольку рулит съемными устройствами, монтирует в /media в соответствии с этой же логикой.

А вот почему Вам так важно именно в /home и никак нельзя в /media - на этот вопрос Вы так и не ответили.

Вот кстати, настаивая на создании собственной точки монтирования где-то в /home/foo/temp,
Вы не учитываете один момент: Как должна вести себя эта схема, если пользователь вставил вторую, третью флешку? Куда их монтировать? Автоматика, создавая свои динамические точки монтирования, справляется. А вот как быть с Вашими точками монтирования, которые не динамические?
Регулярные выражения, кстати, которые Вы хотели бы видеть где-нибудь в /etc/fstab в этой ситуации не помогут вообще.
Потому что требуется однозначное соответствие между устройством и точкой монтирования, а регулярка этого совершенно не гарантирует, скорее наоборот.

Я могу предположить, что Вас устроил бы вариант менять префикс автоматических точек монтирования.
И у этой автоматики даже есть нечто подобное:
Переменная окружения UDISKS_FILESYSTEM_SHARED,
выставленная в значение 1, предписывает монтировать в /media/VolumeName,
а выставленная в значение 0, предписывает монтировать в /run/media/$USER/VolumeName.
Вас бы, вероятно, устроил вариант указывать свой префикс и монтировать в /home/$USER/VolumeName
и теоретически это наверное даже можно устроить (пропатчив udisks).
Но вот чем префикс /home лучше префикса /media или /run/media - этот вопрос остается открытым.
На мой взгляд, создавать точку монтирования именно в /home нет никакого смысла, учитывая временный характер этих точек,
а также общепринятую практику, которую я упоминал выше.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Kopilov
Сообщения: 954
ОС: [K]Ubuntu, Debian

Re: Как вручную указать, точку монтирования флэшки при вставлянии (монтируется автоматом)?

Сообщение Kopilov »

Hephaestus писал:
03.03.2020 07:55
Переменная окружения UDISKS_FILESYSTEM_SHARED,
выставленная в значение 1, предписывает монтировать в /media/VolumeName,
а выставленная в значение 0, предписывает монтировать в /run/media/$USER/VolumeName.
Ценная, инфа, на заметку, спасибо :)
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1085
ОС: астралинукс

Re: Как вручную указать, точку монтирования флэшки при вставлянии (монтируется автоматом)?

Сообщение жучара »

Hephaestus писал:
03.03.2020 07:55
Вот кстати, настаивая на создании собственной точки монтирования где-то в /home/foo/temp,
Вы не учитываете один момент: Как должна вести себя эта схема, если пользователь вставил вторую, третью флешку?
Описал же уже в этом посту
Re: Как вручную указать, точку монтирования флэшки при вставлянии (монтируется автоматом)?

Другое решение c /etc/fstab это ваше решение, я не буду его защищать. А вот на счёт регулярных выражений в /etc/fstab не соглашусь

+++++++++++++++++++++++++++++++++++++++++++++++++++
Hephaestus писал:
03.03.2020 07:55
Регулярные выражения, кстати, которые Вы хотели бы видеть где-нибудь в /etc/fstab в этой ситуации не помогут вообще.
Потому что требуется однозначное соответствие между устройством и точкой монтирования, а регулярка этого совершенно не гарантирует, скорее наоборот.
а это как написать. Написать, чтобы помогли и помогут, написать, чтоб не помогли и не помогут. Что, нельзя однозначно трактовать имя этой папки?:

/home/~/foo

Ещё как можно. Просто не реализовано. Надеюсь, пока. Кстати /etc/fstab на одной из систем (не которую использую сейчас):

Shell

#/dev/sd* /*home/*/media/* auto owner,group,nodev,noexec,noauto,iocharset=utf8,defaults 0 0
Самое что ни на есть регулярное выражение.
Hephaestus писал:
03.03.2020 07:55
Я могу предположить, что Вас устроил бы вариант менять префикс автоматических точек монтирования.
И у этой автоматики даже есть нечто подобное:
Переменная окружения UDISKS_FILESYSTEM_SHARED,
выставленная в значение 1, предписывает монтировать в /media/VolumeName,
а выставленная в значение 0, предписывает монтировать в /run/media/$USER/VolumeName.
Вас бы, вероятно, устроил вариант указывать свой префикс и монтировать в /home/$USER/VolumeName
у меня $UDISKS_FILESYSTEM_SHARED не определена, а флэшка монтируется в /media/<user>/ FS_UUID (правда, нужно ткнуть во сплывающее окошко "примонтировать"). Но монтируется. Так что возможности сего, я думаю сомнений, не вызовут.
Я просто читаю маны.
Спасибо сказали:
MiK13
Сообщения: 1258
ОС: Linux Debian

Re: Как вручную указать, точку монтирования флэшки при вставлянии (монтируется автоматом)?

Сообщение MiK13 »

s.xbatob писал:
29.02.2020 12:46
жучара
Долго держался, но вопрос "из зала" всё-таки задам: А зачем всё это надо? Мне как-то до лампады, куда монтируется флешка.
Я тоже думал, думал, для чего может понадобиться монтирование флешки в какой-то "свой" каталог... но так и не додумался.
Если хочется, чтобы флешка монтировалась в какой-то определённый каталог, то надо каждый раз указывать его имя. Которое ещё надо придумывать. Каждый раз. Особенно когда монтируется несколько флешек или дисков.
А если нужно, чтобы каталог монтирования просто был в /home/$USER, так это делается командой ln -s /media/$USER ~/My_Mount
Можно в стартовый скрипт записать mount -o bind /media/<user> /home/<user>/My_Mount
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3728
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Как вручную указать, точку монтирования флэшки при вставлянии (монтируется автоматом)?

Сообщение Hephaestus »

жучара писал(а):
03.03.2020 23:48
Описал же уже в этом посту
Вот это?
жучара писал(а):
28.02.2020 13:29
Монтирование будет происходить в папку /home/foo/<UUID файловой системы>.
ну, допустим.
жучара писал(а):
03.03.2020 23:48
Что, нельзя однозначно трактовать имя этой папки?:
/home/~/foo
Ещё как можно.
Можно. Только регулярные выражения для этого не нужны. Совсем.
И /home/~/foo регулярным выражением не является, если что.
жучара писал(а):
03.03.2020 23:48
Кстати /etc/fstab на одной из систем (не которую использую сейчас):
жучара писал(а):
03.03.2020 23:48
Самое что ни на есть регулярное выражение.
Во-первых, это не регулярное выражение.
А во-вторых, Вы это приводите, как работающий пример?
Не будет это работать в таком виде.
жучара писал(а):
03.03.2020 23:48
у меня $UDISKS_FILESYSTEM_SHARED не определена
По умолчанию считается равной нулю, если не ошибаюсь.
жучара писал(а):
03.03.2020 23:48
а флэшка монтируется в /media/<user>/ FS_UUID (правда, нужно ткнуть во сплывающее окошко "примонтировать"). Но монтируется.
Замечательно. Чего же Вам ещё надо?
Чем это принципиально отличается от /home/<user>/ FS_UUID, о котором Вы говорите?
Объясните уже наконец, почему /home/<user>/ FS_UUID годится, а /media/<user>/ FS_UUID не годится.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1085
ОС: астралинукс

Re: Как вручную указать, точку монтирования флэшки при вставлянии (монтируется автоматом)?

Сообщение жучара »

Hephaestus писал:
04.03.2020 08:51
жучара писал(а):
03.03.2020 23:48
Что, нельзя однозначно трактовать имя этой папки?:
/home/~/foo
Ещё как можно.
Можно. Только регулярные выражения для этого не нужны. Совсем.
И /home/~/foo регулярным выражением не является, если что.
ну это уже о названиях речь. Хорошо, пусть это нерегулярное выражние. Ну можно же трактовать однозначно? Можно. Не трактуют. Жаль, очень жаль.
Hephaestus писал:
04.03.2020 08:51
жучара писал(а):
03.03.2020 23:48
Кстати /etc/fstab на одной из систем (не которую использую сейчас):
жучара писал(а):
03.03.2020 23:48
Самое что ни на есть регулярное выражение.
Во-первых, это не регулярное выражение.
А во-вторых, Вы это приводите, как работающий пример?
Не будет это работать в таком виде.
ну звёздочки же служат заменителями же чего-то там.
Hephaestus писал:
04.03.2020 08:51
жучара писал(а):
03.03.2020 23:48
а флэшка монтируется в /media/<user>/ FS_UUID (правда, нужно ткнуть во сплывающее окошко "примонтировать"). Но монтируется.
Замечательно. Чего же Вам ещё надо?
Чем это принципиально отличается от /home/<user>/ FS_UUID, о котором Вы говорите?
Объясните уже наконец, почему /home/<user>/ FS_UUID годится, а /media/<user>/ FS_UUID не годится.
во-первых, мне нужно, чтобы оно монтировалось без нажатия на кнопку и куда мне нжуно. На этой системе, где я сейчас работаю, только предложенные мной два способа, /etc/fstab не помогает вообще (хоть одну строчку прописывай, хоть сколько). Но это система такая, дальше я лезть не буду. А во-вторых, я не буду объяснять, чем работа пользователя в СВОЁМ каталоге это хорошо. При всём уважении.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Как вручную указать, точку монтирования флэшки при вставлянии (монтируется автоматом)?

Сообщение s.xbatob »

жучара писал(а):
04.03.2020 11:00
А во-вторых, я не буду объяснять, чем работа пользователя в СВОЁМ каталоге это хорошо.
И чем это хорошо, если не секрет? Пока все ваши аргументы типа "бог есть, это очевидно и не требует каких-либо доказательств"
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3728
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Как вручную указать, точку монтирования флэшки при вставлянии (монтируется автоматом)?

Сообщение Hephaestus »

жучара писал(а):
04.03.2020 11:00
ну звёздочки же служат заменителями же чего-то там.
Не работает эта конструкция, по крайней мере, в таком виде.
Но даже если где-то оно работает, это wildcard, а не регулярное выражение.
Регулярное выражение - это нечто большее.
И это не просто вопрос названий. Регулярное выражение может вернуть (и чаще всего возвращает) результат из нескольких строк.
Иначе говоря, если мы имеем устройства /dev/sda1, /dev/sda2, /dev/sdb1, /dev/sdb2 и точки монтирования /home/user1/flash и /home/user2/flash, то в конструкции

Shell

/dev/sd* /home/*/flash
первая звёздочка - это часть имени устройства (любое число любых символов), вторая звёздочка - имя каталога (также любое число любых символов).
И в такой интерпретации это означает:

Shell

/dev/sda1 /home/user1/flash
/dev/sda2 /home/user1/flash
/dev/sdb1 /home/user1/flash
/dev/sdb2 /home/user1/flash
/dev/sda1 /home/user2/flash
/dev/sda2 /home/user2/flash
/dev/sdb1 /home/user2/flash
/dev/sdb2 /home/user2/flash
то есть подставляются все имена и все каталоги.
А поскольку символ звездочки может означать и отсутствие символа,
то под такую маску попадают ещё и строки вида /dev/sd и /home//flash, что равносильно

Shell

/dev/sd /home/flash
/dev/sda1 /home/flash
/dev/sda2 /home/flash
/dev/sdb1 /home/flash
/dev/sdb2 /home/flash
А ещё под эту маску попадет куча других каталогов и устройств, которые просто нет смысла перечислять.

То есть, как видите, эта маска дает немного не те результаты, которые ожидались.

В лучшем случае, если бы оно, скажем, работало наподобие подстановок в Makefile,
получилось бы

Shell

/dev/sda1 /home/a1/flash
/dev/sda2 /home/a2/flash
/dev/sdb1 /home/b1/flash
/dev/sdb2 /home/b2/flash
Это уже более однозначно, но это всё равно не тот результат, который хотелось бы.
жучара писал(а):
04.03.2020 11:00
работа пользователя в СВОЁМ каталоге это хорошо
Совершенно с Вами согласен. Пользователь работает в своём каталоге.
Запускает программы от своего имени. И эти программы создают файлы в каталоге пользователя.
Это правильно.
Но вот когда системный сервис (демон), запущенный от рута, шастает по каталогам пользователей и создает/удаляет там файлы, да ещё временные (то есть множество раз за день) - это уже немного другая история.
И это уже неправильно.
Системным временным объектам в пользовательских каталогах не место.
Для таких объектов есть много других мест, более подходящих.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали: