run/media/{user} -- вы этим пользуетесь?

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

Ответить
azsx
Сообщения: 3684
ОС: calculate linux, debian, ubuntu

run/media/{user} -- вы этим пользуетесь?

Сообщение azsx »

У меня calculate linux, udisks2 как я думаю. Я подключил к компьютеру винчестер и он мне примонтировал его автоматически при загрузке в run/media/{user}. И тут я запутался.
Идея монтировать в mnt вручную и в media автоматом мне кажется вполне разумной, для десктоп системы. А вот монтировать с {user} в названии каталога мне кажется каким то бредом. А если я загружусь под одним юзером, а работаю всегда под другим? А если я вышел временно под другого юзера и флешку вставил?
Я читаю как это исправить:
https://wiki.archlinux.org/index.php/Udisks...BA%D0%B8%D0%B9)
По умолчанию, udisks2 монтирует съемные диски в контролируемом каталоге ACL /run/media/$USER/. Если Вы хотите вместо этого монтировать в /media, используйте это правило:

/etc/udev/rules.d/99-udisks2.rules # UDISKS_FILESYSTEM_SHARED # == 1: монтировать файловую систему в общий каталог (/media/VolumeName) # == 0: монтировать файловую систему в частный каталог (/run/media/$USER/VolumeName) # Смотрите udisks (8) ENV {ID_FS_USAGE} == «filesystem|other|crypto», ENV {UDISKS_FILESYSTEM_SHARED} = «1»
Но у меня нет такого файла, не удивительно, у меня же не арч. Мой вывод:

Код: Выделить всё

ls /etc/udev/rules.d/
50-firmware.rules  70-persistent-net.rules
Вопрос.
У Вас у всех уже наверняка давно есть своё мнение по этому вопросу и какое то своё решение. Скажите, как вы решили этот вопрос с автомонтированием?
То есть по сути я не знаю что мне делать, так как не знаю плюсов и минусов разных решений (и ваще не знаю чо делать).
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5282
ОС: Gentoo

Re: run/media/{user} -- вы этим пользуетесь?

Сообщение /dev/random »

azsx писал(а):
07.01.2018 10:36
Но у меня нет такого файла, не удивительно, у меня же не арч.

Создайте. Файлы из /etc/udev/rules.d/ и /lib/udev/rules.d/ выполняются как один большой, в алфавитном порядке. Имена имеют только 3 назначения: задание порядка выполнения, перекрытие системных файлов одноимёнными пользовательскими и подсказка для человека о том, что в этом файле лежит.

azsx писал(а):
07.01.2018 10:36
Скажите, как вы решили этот вопрос с автомонтированием?

Радикально: я не пользуюсь автомонтированием.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: run/media/{user} -- вы этим пользуетесь?

Сообщение Bizdelnick »

azsx писал(а):
07.01.2018 10:36
монтировать с {user} в названии каталога мне кажется каким то бредом

Такое поведение по умолчанию сейчас везде. И в принципе логика в этом есть: кто подключил устройство, тот с ним и работает, а остальным и видеть его не надо.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
yoshakar
Сообщения: 259
ОС: Debian Stretch

Re: run/media/{user} -- вы этим пользуетесь?

Сообщение yoshakar »

/dev/random писал(а):
07.01.2018 11:00
Радикально: я не пользуюсь автомонтированием.
+1
Сам долго писал кастомные скрипты и правила для udev, делал чтобы всё самовосстанавливалось при некорректном выключении системы, боролся с авторами дистрибутивов и файловых менеджеров, у которых были свои представления (весьма дикие, с моей точки зрения) на правильное автомонтирование и т. д. А потом когда перешёл на FreeBSD, где автомонтирования (грубо говоря) в принципе нет, неожиданно понял, что все проблемы решились сами собой. Теперь у меня просто есть папка media в домашней директории с вот таким скриптом внутри, и никаких проблем с (авто)монтированием:

Код: Выделить всё

#!/bin/sh

linux_removable() {
    DEV="${1%[0-9]*}"
    REMOVABLE="/sys/block/$DEV/removable"

    if [ -e "$REMOVABLE" ]; then
        cat "$REMOVABLE"
    else
        echo "0"
    fi
}

linux_on_mount() {
    echo "#!/bin/sh" > ${1}_umount
    echo "/usr/bin/pumount $1 || { /bin/sleep 3; exit 1; }" >> ${1}_umount
    echo "/bin/rm -f $1" >> ${1}_umount
    echo "/bin/rm -f ${1}_umount" >> ${1}_umount
    /bin/chmod a+x ${1}_umount
    echo $2 -\> $1
}

bsd_on_mount() {
    echo "#!/bin/sh" > ${1}_umount
    echo "/sbin/umount $1 || { read -t 3 stub; exit 1; }" >> ${1}_umount
    echo "/bin/rmdir $1" >> ${1}_umount
    echo "/bin/rm -f ${1}_umount" >> ${1}_umount
    /bin/chmod a+x ${1}_umount
    echo $2 -\> $1
}

if [ -x /bin/uname ]; then
    system="$(/bin/uname)"
else
    system="$(/usr/bin/uname)"
fi

case "$system" in
Linux)
    mount_list=$(/bin/mount | /usr/bin/awk '{ print $1 $3 }')
    list=$(/usr/bin/find /dev -maxdepth 1 -name '[s,h]d[a-z]*' -print | /usr/bin/sort -r)
    for d in $list; do
        if [ "$(linux_removable $(/usr/bin/basename $d))" = "1" ]; then
            if [ -z "$(echo $mount_list | /bin/grep $d)" ]; then
                pointname=$(/usr/bin/basename $d)
                point=$HOME/media/$pointname
                if [ \! -e $point ]; then
                    if /usr/bin/pmount -A -c utf8 $d 2>/dev/null; then
                        /bin/mkdir -p $(/usr/bin/dirname $point)
                        /bin/ln -s /media/$pointname $point
                        linux_on_mount $point $d
                    fi
                fi
            fi
        fi
    done
    /bin/sleep 1
    ;;
FreeBSD)
    mount_list=$(/sbin/mount | /usr/bin/awk '{ print $1 $3 }')
    list=$(/usr/bin/find /dev -depth 1 -name 'da*' -print | /usr/bin/sort -r)
    for d in $list; do
        if [ -z "$(echo $mount_list | /usr/bin/grep $d)" ]; then
            point=$HOME/media/$(/usr/bin/basename $d)
            if [ -z "$(echo $mount_list | /usr/bin/grep $point)" ]; then
                if [ -n "$(/usr/bin/file -Ls $d | /usr/bin/grep FAT)" ]; then
                    /bin/mkdir -p $point
                    if /sbin/mount_msdosfs -L $LANG -D CP866 -o rw $d $point; then
                        bsd_on_mount $point $d
                    else
                        /bin/rmdir $point
                    fi
                elif (/usr/local/bin/ntfsinfo -m $d > /dev/null 2>&1); then
                    /bin/mkdir -p $point
                    /sbin/mount_fusefs auto $point ntfs-3g $d $point
                    bsd_on_mount $point $d
                fi
            fi
        fi
    done
    read -t 1 stub
    ;;
*)
    echo "Unknown system: ${system}."
esac

Спасибо сказали:
Аватара пользователя
algri14
Сообщения: 1369
ОС: Mageia 5.1 & 8 x86_64, KDE

Re: run/media/{user} -- вы этим пользуетесь?

Сообщение algri14 »

yoshakar писал(а):
07.01.2018 18:09
Теперь у меня просто есть папка media в домашней директории с вот таким скриптом внутри, и никаких проблем с (авто)монтированием:

yoshakar, дайте пожалуйста краткое пояснение к скрипту, что сиё значит, для чайников
Спасибо сказали:
yoshakar
Сообщения: 259
ОС: Debian Stretch

Re: run/media/{user} -- вы этим пользуетесь?

Сообщение yoshakar »

algri14 писал(а):
07.01.2018 19:32
дайте пожалуйста краткое пояснение к скрипту, что сиё значит, для чайников
В каталоге юзера создаётся папка media, туда кладётся скрипт (у меня он называется update). Дальше вставляется флешка, каталог media открывается в файловом менеджере, делается двойной клик по скрипту (сам я пользуюсь mc или просто консолью, так что в моём случае это скорее не двойной клик, а нажате Enter или вызов команды "./update", но суть та же), и рядом появляется каталог со смонтированной флешкой и скрипт для размонтирования.
Спасибо сказали:
Аватара пользователя
algri14
Сообщения: 1369
ОС: Mageia 5.1 & 8 x86_64, KDE

Re: run/media/{user} -- вы этим пользуетесь?

Сообщение algri14 »

yoshakar писал(а):
07.01.2018 18:09
боролся с авторами дистрибутивов и файловых менеджеров, у которых были свои представления (весьма дикие, с моей точки зрения) на правильное автомонтирование и т. д. А потом когда перешёл на FreeBSD, где автомонтирования (грубо говоря) в принципе нет

Лично меня устраивает автомонтирование в /run/media/имя_юзера/ , так как в системе нет другого пользователя. Но один раз неудобство возникло, когда создал пользователя для дочери, флеш подключил у неё, а отмонтировать, уже у себя, не смог. В автомонтирование разрабы вкладывали свою идею и тоже вероятно имеющую обоснование, а так как линукс система гибкая, то у более-менее опытного юзера есть возможность добавить свои правила под себя.
За пояснения спасибо! положу в рюкзачок, может пригодится
Спасибо сказали:
Ответить