LinuxForum.Fans
Тема

Автоматическое монтирование съемных носителей в определенное место

Автор: unk 17 сообщений 2914 просмотров
#314392

Здравствуйте.
Использую kde, дистрибутив linux mint. При монтировании флешки/жесткие диски монтируются в /media/<имя пользователя>/<метка>. Как сделать так, чтобы флешки монтировались в /media/<метка>, без имени пользователя?

#314552
Oleg65 написал:

Ну а теперь, используя весь объем предоставленной информации, прошу показать (именно на этом объеме) что именно и в каком файле именно надо изменить, чтобы решить поставленную топикстартером задачу. Чтобы флешки автоматически монтировались не в /media/username/label, а в /media/label

#314593

unk, а покажите ваш fstab.

#314695
Nigelist написал:
unk, а покажите ваш fstab.

fstab у меня так сказать пустой, там только root, home и swap.

"stalker_tk" написал:
Сдается мне все дело в написании правила udev
Подробнее не скажу, так как готового решения не знаю
http://www.linux.org.ru/wiki/en/Udev-mount
http://zenux.ru/articles/40/

Тоже так подумал, но разбираться не стал.

Вообще проблема появилась после установки cinnamon, установил так, посмотреть. До установки монтировалось так, как я хотел. Потом подумал, что kde пока устраивает и снес cinnamon, проблема пропала. Что делает cinnamon с монтированием разбираться не стал.

#314699
"unk" написал:
Потом подумал, что kde пока устраивает и снес cinnamon, проблема пропала. Что делает cinnamon с монтированием разбираться не стал.

Ну, раз так, тогда пока «Решено» :D

#314708
"unk⇓" написал:
Вообще проблема появилась после установки cinnamon, установил так, посмотреть.

Что cinnamon, что MATE на данный момент это костыли ИМХО.

#314722
"yars⇓" написал:
Ну, раз так, тогда пока «Решено»

для таких тредов стоит ввести метку «брошео»

а вообще вопрос интересный... в opensuse 12.3 вообще какая-то херотень творится....
монтируется в /{,var/}run/media/$USER/
причём в mount две записи также как и для /{,var/}run... такое чувство, что они как-то в два место один и тот же tmpfs смонтировали...
но т.к. там systemd разобраться во всей этой бабуйне будет не просто...

#314723
"Fat-Zer" написал:
но т.к. там systemd разобраться во всей этой бабуйне будет не просто...

+1.

#314732
"verg⇓" написал:
mount -o bind

в том то и дело, что нет.... это не bind и не симлинк...

"verg⇓" написал:
Тут можно почитать об истоках этой . . .http://lists.fedoraproject.org/pipermai … 50031.html

это просто откуда /run взялся... об этом все знают...

#314833
"verg⇓" написал:
Fat-Zer, Пишут, что "симлинк": http://opensuse.14.x6.nabble.com/Warnin … 61401.html

честно, не читал пока, но у меня так:
[console]alexander@goblin-book:~> ls -ld /{var/,}run
drwxr-xr-x 23 root root 640 апр 12 12:09 /run
drwxr-xr-x 23 root root 640 апр 12 12:09 /var/run
alexander@goblin-book:~> mount |grep /run
tmpfs on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
tmpfs on /var/run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
[/console]

похоже там всё же бинд, но с применением каких-то мудрёных патчей на ядро, которые мимо бинда сразу монтируют одну тмпфс дважды [умозрительное предположение]
[console]
# openSUSE
alexander@goblin-book:/tmp> mkdir my_tmp{1,2}
alexander@goblin-book:/tmp> sudo mount -t tmpfs none my_tmp1
alexander@goblin-book:/tmp> sudo mount -o bind my_tmp{1,2}
alexander@goblin-book:/tmp> mount |grep my_tmp
none on /tmp/my_tmp1 type tmpfs (rw,relatime)
none on /tmp/my_tmp2 type tmpfs (rw,relatime)

# Gentoo
alexander@goblin /tmp $ mkdir my_tmp{1,2}
alexander@goblin /tmp $ sudo mount -t tmpfs none my_tmp1
alexander@goblin /tmp $ sudo mount -o bind my_tmp{1,2}
alexander@goblin /tmp $ mount |grep my_tmp
none on /tmp/my_tmp1 type tmpfs (rw)
/tmp/my_tmp1 on /tmp/my_tmp2 type none (rw,bind)
[/console]

#314834
"Fat-Zer" написал:
похоже там всё же бинд

Он самый.

Думаю, что эта проблема переходного дистрибутива. Вводят новое, а в целях совместимости так же имеется активный старый функционал (systemd - при этом есть инит-скрипты, journald и rsyslogd и т.п.)

#314975

[возвращаясь к сабжу]
судя по API udisks2 точка монтиравания зашита где-то внутри оного....

в общем так оно и есть...
udiskslinuxfilesystem.c:

text

 879   /* If we know the user-name and it doesn't have any '/' character in
 880    * it, mount in /run/media/$USER
 881    */
 882   if (!fs_shared && (user_name != NULL && strstr (user_name, "/") == NULL))
 883     {
 884       mount_dir = g_strdup_printf ("/run/media/%s", user_name);
 885       if (!g_file_test (mount_dir, G_FILE_TEST_EXISTS))
 886         {
 887           /* First ensure that /run/media exists */
 888           if (!g_file_test ("/run/media", G_FILE_TEST_EXISTS))
 889             {
 890               if (g_mkdir ("/run/media", 0755) != 0)
 891                 {
 892                   g_set_error (error,
 893                                UDISKS_ERROR,
 894                                UDISKS_ERROR_FAILED,
 895                                "Error creating directory /run/media: %m");
 896                   goto out;
 897                 }
 898             }
 899           /* Then create the per-user /run/media/$USER */
 900           if (g_mkdir (mount_dir, 0700) != 0)
 901             {
 902               g_set_error (error,
 903                            UDISKS_ERROR,
 904                            UDISKS_ERROR_FAILED,
 905                            "Error creating directory `%s': %m",
 906                            mount_dir);
 907               goto out;
 908             }
 909           /* Finally, add the read+execute ACL for $USER */
 910           if (!add_acl (mount_dir, uid, error))
 911             {
 912               if (rmdir (mount_dir) != 0)
 913                 udisks_warning ("Error calling rmdir() on %s: %m", mount_dir);
 914               goto out;
 915             }
 916         }
 917     }
 918   /* otherwise fall back to mounting in /media */
 919   if (mount_dir == NULL)
 920     mount_dir = g_strdup ("/media");

т.е. ответ на вопрос в сабже: никак/пропатчить udisks.

Войдите или зарегистрируйтесь, чтобы ответить.