우리는 Debian 8.4를 실행하는 장치 1개(실제로는 2개)를 갖고 있으며 대부분 공급업체에서 사전 구성했습니다. 시작 시 자동으로 설치되는 SD 카드 슬롯(사용 가능한 경우)이 있습니다.
문제는 fsck용 카드를 수동으로 마운트 해제한 후 어떻게 다시 마운트합니까?입니다. 수동으로 다시 설치할 수도 있지만 부팅 시 자동으로 설치되기 때문에 시스템에서도 같은 방식으로 다시 설치하게 하는 방법이 있어야 할 것 같습니다. 간단히 시스템을 재부팅할 수도 있지만 그것이 최선의 해결책은 아닌 것 같습니다.
다음을 포함하기 때문에 systemctl | grep mmc
:
media-sd\x2dmmcblk0p1.mount loaded active mounted /media/sd-mmcblk0p1
systemd가 부팅 시 카드를 설치한 것 같습니다. 그런데 umount
그 항목이 사라졌습니다. Systemd는 여전히 나에게 미스터리이므로 이 지식은 나에게 별로 도움이 되지 않습니다.
편집: 언급하는 것을 잊었습니다: /etc/fstab에는 SD 카드에 대한 내용이 없습니다.
편집: 시작 후 다음과 systemctl status 'media-sd\x2dmmcblk0p1.mount'
같이 표시됩니다.
? media-sd\x2dmmcblk0p1.mount - /media/sd-mmcblk0p1
Loaded: loaded (/proc/self/mountinfo)
Active: active (mounted) since Fri 2016-04-15 11:47:52 UTC; 3h 2min ago
Where: /media/sd-mmcblk0p1
What: /dev/mmcblk0p1
그 후에는 다음과 umount
같이 말합니다.
? media-sd\x2dmmcblk0p1.mount
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)
systemctl cat 'media-sd\x2dmmcblk0p1.mount'
두 경우 모두 아무 말도 하지 않았습니다.
답변1
찾은 것 같아요.
내 초기 생각과는 달리 SD 카드는 systemd가 아닌 부팅 시 udev에 의해 마운트됩니다. 다음을 포함하는 규칙이 있는 것으로 나타났습니다 /etc/udev/rules.d/11-media-by-label-auto-mount.rules
.
KERNEL!="mmcblk[0-9]p[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}="sd-%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"
따라서 다음과 같은 방법을 사용하여 SD 카드를 마운트할 수 있습니다.
sudo udevadm trigger -c add -y "mmcblk*"
여전히 간단한 것에는 약간 신비롭지만(제 생각에는) 작동합니다.