/etc/fstab
아래와 같이 추가 규칙을 추가하여 USB 드라이브의 자동 마운트를 구성했습니다.
/dev/sda1 /media vfat noauto,nofail,x-systemd.automount,x-systemd.idle-timeout=2,x-systemd.device-timeout=2
그런 다음 systemd는 이 항목을 선택하여 fsab-generator
마운트 및 자동 마운트를 위한 두 개의 유닛 파일을 생성합니다 /dev/sda1
.
- 미디어 자동 마운트
- 미디어 마운트
일단 삽입되면 USB 드라이브는 지정된 마운트 지점에 올바르게 마운트됩니다. 이는 를 실행하여 확인되었습니다 ls /media
. Journalctl의 출력은 다음과 같습니다.
Sep 17 13:19:55 pcxx systemd[1]: Mounted /media.
Sep 17 13:19:57 pcxx systemd[1]: Unmounting /media...
Sep 17 13:19:57 pcxx systemd[1]: Unmounted /media.
1. systemd가 /media
설치 직후 제거되는 이유는 무엇입니까?
USB 드라이브를 사용한 후 깔끔하게 마운트 해제할 수 있도록 하는 것이 목적입니다.
이 작업을 수행하는 방법에는 두 가지가 있다는 것을 알았습니다.
첫 번째는 실행 중입니다 umount /media
. 이렇게 하면 작업이 완료되지만 media.automount 서비스가 손상됩니다. Journalctl 및 실행 시 관찰되는 오류 메시지 systemctl status -l media.automount
는 다음과 같습니다.
Sep 17 13:28:44 pcxx systemd[1]: media.automount: Got invalid poll event 16 on pipe (fd=59)
Sep 17 13:28:44 pcxx systemd[1]: media.automount: Failed with result 'resources'.
두 번째는 systemd의 umount 명령을 실행하는 것입니다 systemd-umount /media
. 이 작업도 수행되지만 media.mount 및 media.automount 서비스는 중지됩니다. 그 결과 다음 USB 드라이브를 삽입할 때 자동으로 마운트되지 않아 자동 마운트 목적이 무효화됩니다.
2. 자동 마운트 서비스를 중지하지 않고 systemd에 의해 자동으로 마운트된 드라이브를 마운트 해제하는 올바른 방법이 있습니까?
답변1
Q1: systemd가 /media를 마운트한 후 즉시 마운트 해제하는 이유는 무엇입니까?
A1: 2초 동안 활동이 없으면 제거하도록 지시했기 때문에:
이 x-systemd.idle-timeout
옵션이 이를 제어합니다. 항목에서 2초로 설정했습니다 /etc/fstab
.x-systemd.idle-timeout=2
Q2. 자동 마운트 서비스를 중지하지 않고 systemd에 의해 자동 마운트된 드라이브를 마운트 해제하는 올바른 방법이 있습니까?
A2. 우리가 당신을 위해 그것을 해보자 systemd.automount
.
Q1과 마찬가지로 이 x-systemd.idle-timeout
옵션은 마운트가 마운트 해제되기 전에 마운트가 유휴 상태로 있을 수 있는 시간을 제어합니다. 현재 설정한 대로 2초입니다. 따라서 2초 동안 활동이 없으면 USB 드라이브가 마운트 해제됩니다. 이 시점에서 해야 할 일은 드라이브를 분리/분리하는 것뿐입니다. 명령을 사용하려면 마운트 해제되었는지 확인할 수도 있습니다 lsblk -f
. USB 드라이브에 마운트 지점이 없다고 표시되면 아직 마운트되지 않은 것입니다. 명확하게 설명하기 위해 내 시스템의 예는 다음과 같습니다(무시 mmcblk0
- 시스템 SD 카드임).
USB 드라이브를 마운트한 후 lsblk -f
다음 마운트 지점이 표시됩니다 sdb1
.
pi@raspberrypi3b:~ $ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sdb
└─sdb1 ext4 1.0 SANDISK8GB e5cb39a9-b041-4339-92f5-4172201a4b1a 2.6G 59% /home/pi/SANDISK8GB_ThumbDrv
mmcblk0
├─mmcblk0p1 vfat FAT32 boot C839-E506 203M 19% /boot
└─mmcblk0p2 ext4 1.0 rootfs 568caafd-bab1-46cb-921b-cd257b61f505 26.3G 5% /
출력을 모니터링하면 journalctl --follow
다음과 유사한 메시지가 나타나 USB 드라이브가 설정된 시간 동안 유휴 상태가 된 후 마운트 해제되었음을 알려줍니다 x-systemd.idle-timeout
.
Jan 17 10:46:40 raspberrypi3b systemd[1]: Unmounting /home/pi/SANDISK8GB_ThumbDrv...
Jan 17 10:46:40 raspberrypi3b systemd[750]: home-pi-SANDISK8GB_ThumbDrv.mount: Succeeded.
Jan 17 10:46:40 raspberrypi3b systemd[1]: home-pi-SANDISK8GB_ThumbDrv.mount: Succeeded.
Jan 17 10:46:40 raspberrypi3b systemd[1]: Unmounted /home/pi/SANDISK8GB_ThumbDrv.
다른 드라이브를 얻을 때까지 드라이브는 마운트 해제된 상태로 유지됩니다.자동 마운트 요청. 이 예에서는 ls
아래 첫 번째 줄 끝에 표시된 대로 CLI를 입력하여 요청이 트리거됩니다 .
Jan 17 10:40:38 raspberrypi3b systemd[1]: home-pi-SANDISK8GB_ThumbDrv.automount: Got automount request for /home/pi/SANDISK8GB_ThumbDrv, triggered by 927 (ls)
Jan 17 10:40:38 raspberrypi3b systemd[1]: Mounting /home/pi/SANDISK8GB_ThumbDrv...
Jan 17 10:40:38 raspberrypi3b kernel: EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null)
Jan 17 10:40:38 raspberrypi3b systemd[1]: Mounted /home/pi/SANDISK8GB_ThumbDrv.
다음을 수행하여 USB 드라이브가 마운트 해제되었는지 확인할 수 있습니다. lsblk -f
마운트 지점이 표시되지 않으면 장치가 마운트되지 않은 것입니다.
pi@raspberrypi3b:~ $ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sdb
└─sdb1 ext4 1.0 SANDISK8GB e5cb39a9-b041-4339-92f5-4172201a4b1a
mmcblk0
├─mmcblk0p1 vfat FAT32 boot C839-E506 203M 19% /boot
└─mmcblk0p2 ext4 1.0 rootfs 568caafd-bab1-46cb-921b-cd257b61f505 26.3G 5% /
답변2
mount 대신 /media
새 디렉토리를 생성하고 거기에 마운트하십시오.
/media
이는 대부분의 Linux에서 예약된 위치입니다.