Krautkanal.com

Veröffentlicht am 2015-08-31 22:28:52 in /prog/

/prog/ 7676: Linux automount

rcass Avatar
rcass:#7676

Verehrter linuxoider Bernd,

Dieser Bernd möchte gerne USB-Automounts auf seinem Arch realisieren.

Vor ein paar Tagen gab es erstaunlicherweise auf /b udev-Gold,
zu speichern unter zB:
/etc/udev/rules.d/berndusb.rules

KERNEL!="sd[a-z][0-9]", GOTO="media_by_label_auto_mount_end"
# Import FS infos
IMPORT{program}="/sbin/blkid -o udev -p %N"
# Get a label if present, otherwise specify one
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k"
# Global mount options
ACTION=="add", ENV{mount_options}="relatime"
# Filesystem-specific mount options
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},utf8,gid=100,umask=002"
# Mount the device
ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}"
# Clean up after removal
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}"
# Exit
LABEL="media_by_label_auto_mount_end"


Erkennt USB-Sticks und legt entsprechende Mountpoints in /media/ an, mountet aber nicht.


Meine Fragen, bevor ich mich weiterhin der leidigen Bettlakenlektüre zu udev, udisks etc. widme:

1. Warum sagt https://wiki.archlinux.org/index.php/Udev "Warning: To mount removable drives, do not call mount from udev rules. In case of FUSE filesystems, you will get Transport endpoint not connected errors. Instead use udisks that handles automount correctly." Bernd macht es ja scheinbar doch.

2. Viele andere Forenratschläge setzen ebenfalls auf irgendwelche Frontentds, so dass am Ende eine Kette in Form von

udev - udisks2 - https://wiki.archlinux.org/index.php/Udisks#Mount_helpers

entsteht.

Auf so ein Kartenhaus hat Bernd keinen Bock! Komme ich ohne aus, indem ich eine gescheite Rule schreibe? Wie inzu Automount als Nichtroot?

3. Wie triggere ich die Action "remove" aus obigem Skript?


Rekursiver Bildumwandler mit EXIF-Datenentfernung als Dank (braucht imagemagick & jhead):
#!/bin/bash
[ -d "$*" ] && {
    find "$*" -iname "*.jpg" | while read i; do
        file=${i%.*}_converted.${i##*.}
        convert "$i" -resize 800x600 "$file" && jhead -purejpg "$file"
    done
} || {
    echo Usage: kanvert DIR
    echo Will RECURSIVLY convert all images in DIR,
    echo creating (a) new file(s) under FILE_converted.jpg
}

layerssss Avatar
layerssss:#7681

Dein Fricklersystem zum Laufen bringen != Programmieren.

okcoker Avatar
okcoker:#7682

>>7681
Erzähl mir was neues (am liebsten über udev rules).

Warum "bringen" klein, dafür "Programmieren" groß? VB?

Neuste Fäden in diesem Brett: