本篇文章探討FreeBSD 3.1 USB device auto mount功能,比較系統內建的automount(/usr/sbin/automount)、Port的automount(/usr/local/sbin/automount) 與各種Desktop環境的auto mount功能。
一、系統內建的automount(/usr/sbin/automount):
設定FreeBSD自動掛載USB Device步驟.
若須使用NTFS檔案系統,須先安裝fusefs-ntfs package# pkg install fusefs-ntfs 建立/etc/devfs.rules:加入 [localrules=10]add path 'da*' mode 0660 group operator 說明:設定device的onwer與permission,系統內的使用了ruleset number為1-5,自訂的為5以上,相同的number會覆蓋。 在/etc/rc.conf加入ruleset:devfs_system_ruleset="localrules" 說明:加入user自訂的ruleset 在/etc/sysctl.conf 加入vfs.usermount=1 說明:允許non-root user可mount device 在/etc/auto_master 啟用 /media -media -nosuid 說明:自動掛載在/media路徑下。 檢查/etc/devd.conf是否包含下列設定 notify 100 { match "system" "GEOM"; match "subsystem" "DEV"; action "/usr/sbin/automount -c"; }; 說明:內定的上述一段notify為放置在註解內,可複製註解外。 啟用autofs: 在/etc/rc.conf加入: autofs_enable="YES" sysrc kld_list+=fusefs 說明:開機後自動啟用autofs與fusefs 經過上述設定後,只要插入USB device就會偵測到,一般使用不需要mount device即可使用,內定掛載在/media下,透過 $ ls -l /media 即可知道掛載的devices,但是一般使用者沒有權限umount device。詳細過程請觀看下列影片展示:
VIDEO
二、安裝port的automount:
支援:NTFS/MSDOS/exFAT/EXT2/EXT3/EXT4/UFS/XFS/HFS/MTP/ISO9660
自動安裝:
automount: 1.7.8 e2fsprogs: 1.46.5_1
e2fsprogs-libblkid: 1.46.5
e2fsprogs-libuuid: 1.46.5
fusefs-ext2: 0.0.10_3
fusefs-libs: 2.9.9_2
fusefs-ntfs: 2022.5.17
libublio: 20070103_3
相關設定檔: 👉/usr/local/etc/automount.conf: 可設定:USERUMOUNT='YES' MNT_PREFIX='/media' group='operator' FAT_ENCODING= FAT_CODEPAGE= ATIME='YES' RETRY_COUNT='1' NOTIFY='YES'
REMOVEDIRS=NO NICENAMES=YES IGNORE_SYS_PARTS=YES
👉/usr/local/etc/devd/automount_devd.conf 說明:會自動安裝此檔案,處理devd notify 當automount設定:USERMOUNT=YES時,會執行"chmod +s /sbin/umount",non-root user也可umount device。 使用port automount時須將原來的autofs_enable, /etc/auto_master,與在/etc/devd.conf中的notify設定取消。 /etc/devfs.rules設定仍須一需要設定。 詳細步驟與展示請參閱下列影片片段:
VIDEO
三、各種Desktop(MATE, XFCE, KDE)的automount:
上述兩種方式均未安裝任何Desktop環境自動掛載USB Device,下列影片片段展示安裝port auotmount在MATE, Xfce, KDE下,在桌面環境的運作。 另外在KDE桌面環境下對於usb device自動掛載以內附在桌面系統中,無須再安裝automount(Builtin or port),就有完善整合的運作,請參閱下列影片片段展示。
VIDEO