I’m currently working in a command line only environment.
When I plug my USB key in, I see a new device file in /dev:
... sdi sdi1 ...
If I simply sudo mount /dev/sdi1 /media/tmp, and umount it when I’m done, I have to repeat the process all over again. This alone could be accomplished with a little script but my key doesn’t always show up as sdi.
Is there a way for me to have it always auto-mount and maybe reserve sdi for it?
Note: Also, there seems to be orphaned device files in /dev if I forget to unmount and just pull the stick out.
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
I use this Udev rule from the Arch Wiki:
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"
Just change the “sd[a-z][0-9]” in the first line to avoid clashes with your other drives…
Method 2
On Debian and Ubuntu there is the package usbmount that should do exactly what you ask.
I am sure it is available in other Linux distros too.
Method 3
There are a number of auto-mount solutions out there, but I’d especially recommend those based on udev – like uam for example.
Also, for normal user, command-line, on-demand mounting I’d recommend pmount (Policy based mounting programs that does not require any sudo).
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0