Unix/Ubuntu

SMB를 automount 하기 (/etc/fstab + x-systemd 이용)

ForceCore 2025. 11. 6. 15:33

https://forcecore.tistory.com/1421 와 관련이 깊은 내용이다. 저 글에서처럼 .mount, .automount 파일을 생성하고 해당 유닛을 enable/disable/start 하는게 은근 귀찮은 일이다.

 

/etc/fstab 을 연다.

 

//neddy/cache            /cifs/cache-neddy        cifs    noauto,ro,x-systemd.automount,x-systemd.idle-timeout=60,_netdev,x-systemd.mount-timeout=30,x-systemd.requires=network-online.target,x-systemd.after=network-online.target,nofail,soft,echo_interval=30,credentials=/etc/.neddy,uid=1000,gid=1000,dir_mode=0755,file_mode=0755,iocharset=utf8  0  0

(저런 타임아웃 등의 옵션을 넣어야 더 안정적이 됨)

 

이 한 줄을 넣는다. 그러면 거의 끝이다. 일부러 예제에 cach-neddy 처럼 특수문자를 가지는 폴더를 들어봤다. 이렇게 되면 .mount, .automount 파일명 짓기가 더 골치아파진다 ㅋㅋ. -는 automount가 / 로 변경해서 경로로 알아먹기 때문에 \x2d 로 escape된 이름으로 변경되어야 하기 때문이다. 그래서 /etc/fstab 방법이 더 편하고 좋다고 생각된다.

 

noauto: 부팅시 마운트 하지 않게 만든다. 네트웍 연결도 없는데 연결하는게 말이 안 됨.

x-systemd.automount: 오토마운트 데몬이 인식을 해서 필요한 .mount, .automount를 생성하고 가동하라는 뜻.

 

적용 하려면...
sudo systemctl daemon-reload

sudo systemctl restart remote-fs.target  # 이 유닛명이 배포판마다 다를 수 있음.


systemctl list-units --type=automount 로 fstab에 등록한 것이 오톼운트화 되어 ACTIVE상태로 보이는가 체크.

/run/systemd/generator 폴더에도 .mount, .automount 파일이 보여야함.

 

ls /cifs/cache-neddy 같이 ls 명령어로 공유폴더 내용물이 보이나 체크.

 

No such device 같은 에러가 나오면 로그를 봐야한다.

 

journalctl -b -u 'cifs-cache\x2dneddy.mount' -u 'cifs-cache\x2dneddy.automount'  # 특수문자가 끼어있어서 '로 둘러싸야지 먹힘.

 

mount[406895]: mount error(22): Invalid argument

이런 에러가 나온다면 /etc/fstab에서 틀린 옵션을 넣은 것이다. 예를 들면 deadtime 같이 더이상 유효하지 않은 cifs 마운트 옵션이라든지...