有鑑於有些新進Linux朋友仍困擾於媒體自動掛載的問題
小弟在此提供一點點讓Debian自動mount floppy cdrom或usbdisk的心得分享
雖然過程有點耍賤
但總之
希望對一些朋友有幫助....
如果有更好的方式
請各位前輩不吝指正
---------
用過Mandrake的人都知道有一個叫supermount的自動掛載光碟功能
對用慣Windows的使用者而言,真是一大福音,除非是高手,否則一般人很少會想在每次換光碟或插入usbdisk時都要使用mount和umount與一堆繁瑣的參數
在debian裡我找了老半天,沒有直接可用的supermount套件,但網路上的資料似乎有提供其他多種替代方法可行,除了把supermount這個東西patch到核心以外,autofs套件也可以自動掛載,不過弄了老半天,我實在看不懂應該怎樣設定。
感謝老天...
我最後總算得到一個結論:直接下automount指令!並把它作成一個服務,在每次開機後自動執行~
方法如下:
1.首先,核心必須支援autofs
可用modconf去找,並加入這個模組,然後安裝autofs套件(apt-get install autofs)
2.編輯/etc/auto.cdrom
假設我有:
一台DVD-ROM在/dev/hdc
一台燒錄機在/dev/hdd
一台軟碟機在/dev/fd0
一個usb接頭在/dev/sda1
一個usb接頭在/dev/sdb1
則/etc/auto.cdrom內容應可如下:
dvd -fstype=iso9660,user,suid,iocharset=cp950 :/dev/hdc
cdrom2 -fstype=iso9660,user,suid,iocharset=cp950 :/dev/hdd
fd0 -fstype=vfat,exec,dev,rw,uid=1000,gid=1000,umask=000,iocharset=cp950 :/dev/fd0
usb -fstype=vfat,exec,dev,rw,uid=1000,gid=1000,umask=000,iocharset=cp950 :/dev/sda1
usb2 -fstype=vfat,exec,dev,rw,uid=1000,gid=1000,umask=000,iocharset=cp950 :/dev/sdb1
註:第一個欄位設定到時候在某資料夾下掛載起來後的名稱,第二個欄位是掛載參數,第三個欄位是設備所在之處。
3.以root身份執行:
#mkdir /auto
註:到時候會把媒體掛到這個資料夾來,然後再連結到/mnt下
為什麼不乾脆直接掛到/mnt下,卻要間接再連結過去,待會會說明
4.編輯/etc/auto.master:
# $Id: auto.master,v 1.2 1997/10/06 21:52:03 hpa Exp $
# Sample auto.master file
# Format of this file:
# mountpoint map options
# For details of the format look at autofs(5).
# 這檔案的結構意義如下:
#(把cdrom 與cdrom2掛載至何處) (參考那一份檔案)
#/var/autofs/misc /etc/auto.misc
#/var/autofs/net /etc/auto.net
/auto /etc/auto.cdrom
5.現在作連結,以root輸入指令:
#ln -s /auto/dvd /mnt/dvd
#ln -s /auto/cdrom2 /mnt/cdrom2
#ln -s /auto/usb /mnt/usb
#ln -s /auto/usb2 /mnt/usb2
#/ln -s /auto/fd0 /mnt/fd0
6.測試automount,以root輸入指令:
#/usr/sbin/automount --timeout 1 /auto file /etc/auto.cdrom
現在把光碟放入光碟機,輸入cd /mnt/cdrom 或 /mnt/usb看看,或者也可以用file manager進去該媒體瀏覽看看,應該可以發現Debian已能自動掛載媒體了!
註:
關於這段指令:
(1)timeout是指設定光碟機於閒置時間(秒數)後即卸載光碟
(2)"/auto"是媒體的掛置點
(3) file /etc/auto.cdrom 是指要求automount參照auto.cdrom這個檔案去執行掛載動作。
(4) 這個/auto目錄要保持空資料夾的狀態,千萬不要在/auto這個資料夾裡新增dvd、cdrom2、fd0、usb、usb2等資料夾。
(5)建議:掛在/auto 只是權宜之計,在光碟尚未自動掛載時,/auto裡是個空資料夾,許多程式若設定為索引/auto/cdrom,會發生「檔案不存在」的窘狀。所以應該在 /mnt資料夾另作兩個符號連結各連到/auto下的cdrom與cdrom2,如此當程式要求光碟時,/mnt/cdrom這個捷徑是存在的,且會讓程式立即轉向/auto要求資料,就不會發生找不到檔案的情形了。
7.讓Debian每次開機都自動執行automount
每次開機都手動輸入這個指令,未免太沒效率,您可以考慮把它加入系統的開機設定裡,異曲同工的方法非常多。舉例來說,我把它作成一個服務,放在 /etc/init.d裡,並在/etc/rc3.d/(我的預設init level)裡加入連結,就可以每次在開機時自動啟動了!
至於服務的script如何寫,您就自己在/etc/init.d中隨便找一個來改吧,我也是亂寫的,反正能用就好。