systemd 장치에 대해 조사한 후 두 가지 유형의 마운트 장치를 발견 했습니다 .mount
. .automount
처음에는 automount
장치가 자동으로 설치되는 것이 논리적인 것처럼 보였습니다 mount
. 그러나 탑재된 장치를 활성화하면 다음과 같은 결과가 나타납니다.
systemctl enable media-mydisk.mount
시작 시 자동으로 설치됩니다. 저는 systemd를 처음 접했지만 오랫동안 이것이 저를 괴롭혔습니다. 마지막에 해당 장치의 코드도 게시했습니다.
automount
그래서 내 주요 질문은: mount
단위를 활성화할 수 있는데 왜 s가 필요한가요?
media-mydisk.mount
차이가 있다면 이것은 내 것입니다.
[Unit]
Description=My disk
[Mount]
What=/dev/sdb1
Where=/media/mydisk
Type=ext4
Options=defaults
[Install]
WantedBy=multi-user.target
온라인으로 검색했지만 .automount
a를 사용하는 것과 단순히 활성화하는 것 사이의 비교를 찾을 수 없습니다..mount
답변1
의 "auto" 부분은 automount
부팅 프로세스를 참조하지 않습니다. automount
장치는 마운트할 마운트 지점을 정의합니다.주문형, 즉 액세스될 때만.
automount
단위는 선택 사항이지만, 해당 mount
단위도 있어야 합니다. 전자는 후자의 기존 인스턴스에 기능을 추가하기 위한 것입니다. 에서 man systemd.mount
:
선택적으로 장착 장치에 자동화된 장착 장치가 함께 제공되어 주문형 또는 병렬 설치가 가능합니다.
그리고 다음에서 man systemd.automount
:
각 자동 마운트 장치 파일에 대해 자동 마운트 경로에 액세스할 때 활성화되는 일치하는 마운트 장치 파일(자세한 내용은 systemd.mount(5) 참조)이 있어야 합니다. 예: 자동 마운트 장치가
home-lennart.automount
활성화되어 있고 사용자가/home/lennart
마운트 장치 에 액세스하면home-lennart.mount
활성화됩니다.
장치의 일반적인 사용 사례 automount
는 부팅 중에 필요하지 않은 파일 시스템을 설치하는 것입니다(예: 원격, 이동식 또는 암호화된 미디어). 속도가 느려지거나 부팅 시 사용하지 못할 수 있지만 여전히 선호합니다. 시스템에 의해 제어됨 d.
간단하고 예시적인 예일 뿐입니다. 주어진 mnt-foo.mount
단위
[Unit]
Description=foo mount
[Mount]
Where=/mnt/foo
What=/home/user/foo
Type=ext4
( 단순화를 위해 foo
ext4로 형식화된 일반 파일 ) 및 mnt-foo.automount
단위
[Unit]
Description=foo automount
[Automount]
Where=/mnt/foo
[Install]
WantedBy=multi-user.target
후자가 활성화된 후(또는 enable
d, 시스템이 다시 시작됨)
# systemctl start mnt-foo.automount
/home/user/foo
아직 어디에도 설치되지 않았 음을 확인할 수 있습니다 mount
.
$ mount | grep foo
systemd-1 on /mnt/foo type autofs (...)
실제로 마운트는 마운트 지점에 액세스한 후에만 발생합니다 /home/user/foo
./mnt/foo
$ ls /mnt/foo
$ mount | grep foo
systemd-1 on /mnt/foo type autofs (...)
/home/user/foo on /mnt/foo type ext4 (rw,relatime)