解決無法自動掛載U盤問題

飛奔的蝸牛發表於2008-09-07
本文參考網路資料寫成。感謝google.感謝在linux及相關開發者,感謝linux愛好者為解決各種問而付出的努力.站在巨人的肩膀上,才能看的更遠.
prife 首發於csdn.08年/9月.
歡迎轉載.請著明出處

系統: fedora9
安裝方式:自定義安裝。只安裝文字介面(或者稱為字元截面),後  yum 升級 XFCE4.4 桌面環境。
症狀:普通使用者登陸X windows後,無法自動掛載U盤,光碟。以及其他可移動裝置。

自從 命令列安裝了裁減安裝了fedora9之後.就無法自動掛載可移動容器.也無法自動掛載windows分割槽.
這是十分不方便的.每次讀寫可移動容器.都搞的很鬱悶.因為必須載終端下 cp .move .rm.很不爽.
我終於被這種方式搞崩潰了.所以決定解決這個問題.
首先看到此文
http://www.sudu.cn/info/html/edu/linux/20070101/291856.html內容如下
=========================================================
    從命令列安裝後,u盤的自動掛載方法
   
安裝udev,hotplug,hal,dbus,gnome-mount,gnome-volume-manager
啟動hotplug,hal 和 dbus 服務,並將這些服務加入到開機自啟動列表
新增”gnome-volume-manager
–sm-disable”這一行到System->preferences->Sessions->Startup
programs,並重新登入gnome,這樣能夠確保gnome-volume-manager隨gnome啟動
刪除或註釋掉/etc/fstab中有關可移動裝置掛載的部分,因為hald的script會檢查/etc/fstab中的內容,假如已掛載或存在相關選項,就忽略該裝置。
將想要使用自動掛載的使用者加入plugdev組,”gpasswd -a someuser plugdev”,因為非plugdev組的普通使用者不能使用自動掛載功能。
===========================================================
使用
  1. sudo rpm -qa | grep 軟體名
得知udev hal dbus gnome-mount gnome-volume-manager都已經安裝了
只有hotplug沒有安裝.
但是 sudo yum install hotplug 發現源中並無此軟體包.

從redhat官方網站幫助網
=============================================================
7.6. Kernel device, module loading, and hotplug changes

The hotplug and device handling subsystem has undergone significant changes in Fedora Core. The udev method now handles all module loading, both on system boot and for hotplugged devices. The hotplug package has been removed, as it is no longer needed.

Support for hotplug helpers via the /etc/hotplug, /etc/hotplug.d, and /etc/dev.d directories is deprecated, and may be removed in a future Fedora Core release. These helpers should be converted to udev rules. Please see http://www.reactivated.net/writing_udev_rules.html for examples.
=============================================================
文寫於2006年.文中說hotplug報已經被移除了.並且不再需要.所以yum也就安裝不了
而且我的/etc/group檔案中並沒有 plugdev組,也就無法執行
  1. su -c "gpasswd -a 使用者名稱 plugdev"
於是再網上繼續google.因為我想知道到底 這個組是由哪個程式建立的?
找到不少和我有同樣問題的帖子.
如此帖.
ttp://bbs.archlinux.org/viewtopic.php?id=47174
我決定新增plugdev這個組,再把prife新增到這個組中.
  1. [root@localhost ~]# useradd -G plugdev root
  2. useradd: unknown group plugdev
  3. [root@localhost ~]# groupadd plugdev
  4. [root@localhost ~]# more /etc/group | grep "plugdev"
  5. plugdev:x:504:
  6. [root@localhost ~]# more /etc/group 
  7. root:x:0:root,prife
  8. bin:x:1:root,bin,daemon
  9. daemon:x:2:root,bin,daemon
  10. sys:x:3:root,bin,adm
  11. adm:x:4:root,adm,daemon
  12. tty:x:5:
  13. disk:x:6:root
  14. lp:x:7:daemon,lp
  15. mem:x:8:
  16. kmem:x:9:
  17. wheel:x:10:root,prife
  18. ......
  19. jackuser:x:488:
  20. plugdev:x:504:
  21. [root@localhost ~]# useradd -G plugdev root
  22. useradd: user root exists
  23.  usermod -a -G plugdev root
編輯/etc/group檔案
  1. [root@localhost ~]# vim /etc/group
在最後一行中新增了   ,prife  
然後重啟系統發現還是不行.
所有參考的網頁如下:
==================================================
New days ,the Next Day
==================================================
/etc/PolicyKit/PolicyKit.conf    不知道此檔案是作什麼呢?
/etc/hal/fdi/policy/ 該目錄下空空如也.所以我建立了一個配置檔案
不過建立成功以後依然 無法掛載系統.
最後還是在此貼上解決問題...
http://foo-projects.org/pipermail/lunar/2008-August/008081.html
  1. Hello,

  2. if you use kde3 (or other DM) in Lunar and insert pendrive or any other hot 
  3. plugable device the kde will show you option to mount it. If an user will 
  4. agree to mount it the error will appear:
  5. "org.freedesktop.hal.storage.mount-removable no <-- (action, result)"

  6. There is easy fix for this error. Just define security rules 
  7. in /etc/PolicyKit/PolicyKit.conf like these:

  8. <config version="0.1">

  9. <match action="org.freedesktop.hal.storage.mount-removable">
  10.   <match user="Put user account name here">
  11.     <return result="yes"/>
  12.   </match>
  13. </match>

  14. <match action="org.freedesktop.hal.storage.mount-fixed">
  15.   <match user="Put user account name here">
  16.     <return result="yes"/>
  17.   </match>
  18. </match>

  19. </config>

  20. First rule allows automounting pendrives, the second one is for fixed disks 
  21. like hard drives.

  22. have a nice day,
  23. Zbigniew 'zbiggy' Luszpinski
參照此文做如下操作。
  1. cd /etc/PolicyKit
  2. sudo cp PolicyKit.conf  PolicyKit.conf.back
  3. sudo gedit PolicyKit.conf
將檔案中內容全部刪除。將下列檔案複製到此文中。
  1. <config version="0.1">
  2. <match action="org.freedesktop.hal.storage.mount-removable">
  3.   <match user="Put user account name here">
  4.     <return result="yes"/>
  5.   </match>
  6. </match>
  7. <match action="org.freedesktop.hal.storage.mount-fixed">
  8.   <match user="Put user account name here">
  9.     <return result="yes"/>
  10.   </match>
  11. </match>
  12. </config>
請將橘黃色文字 Put user account name here 該為您的 使用者名稱。比如我把它改為 prife
然後重起 HAL 服務
  1. sudo /etc/service haldaemon restart
通過修改這個配置檔案修復了無法自動掛載u盤和光碟的問題.)
OK,現在取得階段性勝利...下一個問題,如何自動掛載 windows分割槽..並且使當前普通使用者具有讀寫的許可權..而且需要在桌面上有windows分割槽的圖示...
=====================================================

相關文章