PCManFM과 같은 일반적인 GUI 파일 관리자에서는 USB 드라이브 아이콘을 클릭하기만 하면 드라이브를 마운트할 수 있습니다. 드라이브를 마운트하기 전에 올바른 위치(/media/USER/label)에 디렉터리를 자동으로 생성하는 데 사용할 수 있는 유사한 명령이 있습니까? 저는 데비안 9를 사용하고 있습니다.
답변1
이 경우 가장 좋은 방법은 udev를 사용하는 것입니다.이것솔루션을 복사하여 붙여넣을 준비가 되었습니다.
다음 내용으로 /etc/udev/rules.d/11-media-by-label-auto-mount.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"
스크립트를 생성하고 저장한 후 다음 명령을 사용하여 udev를 다시 로드합니다.
udevadm control --reload-rules
이제 USB 저장 장치를 연결하면 udev는 장치 ID 또는 장치 레이블(지정한 경우)을 사용하여 /media 아래에 자동으로 디렉터리를 생성하고 장치를 마운트해야 합니다. 장치 연결이 끊어지면 드라이브 디렉터리(/media에 있음)가 자동으로 삭제됩니다.
udev에 대해 더 자세히 알아보려면 다음을 읽어보세요.이것.
답변2
USB 2
udiskctl mount -b /dev/sdXy
예
udiskctl mount -b /dev/sdb1
마운트 1. /dev/sdb 파티션에서
유티카
udisks --mount /dev/sdXy
답변3
설치하려는 각 장치에 대한 태그를 보유하는 빈 디렉토리가 컴퓨터에 남아 있기 때문에 이는 최선의 솔루션이 아닙니다.
그러나 다음과 같이 시도해 볼 수 있습니다(경고: 아직 테스트하지 않았습니다).
MYDEVICE=/dev/foo
MYDEVLABEL=$(e2label $MYDEVICE)
mkdir -p /media/$USER/$MYDEVLABEL
mount $MYDEVICE /media/$USER/$MYDEVLABEL
명령에 필요한 옵션을 추가하는 것을 잊지 마십시오 mount
.
답변4
나는 순수한 udev 답변을 선호하지만 다음을 통해 마운트할 수 있는 usbmount라는 도구가 있습니다.
apt-get install usbmount
디스크를 자동으로 마운트하며 구성 파일을 통해 구성하는 것이 매우 간단합니다.
저는 자동 마운트를 전혀 좋아하지 않지만 일부 클라이언트에서는 이를 요구합니다.