導航:首頁 > 操作系統 > linux載入usb設備

linux載入usb設備

發布時間:2024-01-25 01:32:03

『壹』 linux 載入不存在的usb設備

方法一:在/etc/init.d/rcS中添加mount -t usbfs none /proc/bus/usb. 方法二:在shell中輸入mount -t usbfs /proc/bus/usb /proc/bus/usb. 前提是在編譯內核時選中usb device filesystem。

『貳』 linux主機側與設備側USB驅動

USB採用樹形拓撲結構,主機側和設備側的USB控制器分別稱為主機控制器((Host Controller)和USB設備控制器(UDC),每條匯流排上只有一個主機控制器,負責協調主機和設備間的通信,而設備不能主動向主機發送任何消息。

在Linux系統中,USB驅動可以從兩個角度去觀察,一個角度是主機側,一個角度是設備側。從上圖主機側去看,在Linux驅動中,處於USB驅動最底層的是USB主機控制器硬體,在其上運行的是USB主機控制器驅動,在主機控制器上的為USB核心層,再上層為USB設備驅動層(插入主機上的U盤、滑鼠、USB轉串口等設備驅動)。因此,在主機側的層次結構中,要實現的USB驅動包括兩類:USB主機控制器驅動和USB設備驅動,前者控制插入其中的USB設備,後者控制USB設備如何與主機通信。Linux內核中的USB核心負責USB驅動管理和協議處理的主要工作。主機控制器驅動和設備驅動之間的USB核心非常重要,其功能包括:通過定義一些數據結構、宏和功能函數,向上為設備驅動提供編程介面,向下為USB主機控制器驅動提供編程介面;維護整個系統的USB設備信息;完成設備熱插拔控制、匯流排數據傳輸控制等。

『叄』 Linux系統設置U盤自動掛載

    筆者在工作中遇到自動掛載U盤,於是在樹莓派和紅帽系統上研究了一下U盤實現自動掛載。總的來說,Linux gnome/kde窗口環境下有移動存儲的管理程序,可以實現自動掛載移動存儲設備,但是在命令行下 通常需要用mount命令手動掛載USB存儲設備。第二種方法有風險,第三種是設備管理服務udev添加規則實現自動mount,第四種方法則進一步封裝mount添加日誌功能。

    Raspberry Pi中USB設備的自動掛載由基於LXDE的GUI / DE處理,具體來說,由文件管理器PCManFM控制。若要禁用此行為,請打開「文件管理器」,然後從「編輯」菜單中選擇「首選項」。選擇「卷管理」選項卡,取消選中第二個選項「掛載可移動介質...」 ,可以禁用第三個選項「顯示可用選項...」設置,以防止彈出窗口提示可用程序。

    系統開機時會主動讀取/etc/fstab這個文件中的內容,根據文件裡面的配置掛載磁碟。使用檢查UUID: sudo blkid,顯示關於可用塊設備的信息, 查找您的設備(如 / dev / sda1 )並復制其UUID。此方法只限於開機時已經插入U盤了,開機後再插入就不發自動掛載,需要執行sudo mount -a命令。

    在文件/ etc / fstab底部添加:UUID={YOUR-UID}    {/path/to/mount/point}    {file-system-type}    defaults,errors=remount-ro   0  1

  倒數第二是mp備份設置,當其值設置為1時,將允許mp備份程序備份;設置為0時,忽略備份操作。倒數第一是fsck磁碟檢查設置,其值是一個順序,當其值為0時,永遠不檢查;而 / 根目錄分區永遠都為1,其它分區從2開始,數字越小越先檢查。

    修改後保存,關閉,重新啟動設備以檢查或鍵入: sudo mount -a  。mount -a 是自動掛載 /etc/fstab 裡面的東西,會忽略所有已經完成的操作。但是筆者認為在這裡面添加太過於危險,不要輕易操作這個文件,有可能造成系統無法開機。外部設備在插入時掛載,在未插入時忽略,不然無法進入系統,這需要添加 nofail 選項,但是操作這個文件不太方便,有其他剛好的方法。

    文件種有兩種ACTION,add和remove。在U盤插入或者拔出時,自動激活mount和unmount,完成設備自動掛載。

KERNEL!="sd*", GOTO="media_by_label_auto_mount_end"

SUBSYSTEM!="block",GOTO="media_by_label_auto_mount_end"

IMPORT{program}="/sbin/blkid -o udev -p %N"

ENV{ID_FS_TYPE}=="", GOTO="media_by_label_auto_mount_end"

ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"

ENV{ID_FS_LABEL}=="", ENV{dir_name}="Untitled-%k"

ACTION=="add", ENV{mount_options}="relatime,sync"

ACTION=="add", ENV{ID_FS_TYPE}=="vfat", ENV{mount_options}="iocharset=utf8,umask=000"

ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", ENV{mount_options}="iocharset=utf8,umask=000"

ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options}  /dev/%k /media/%E{dir_name}"

ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}" 

LABEL="media_by_label_auto_mount_end"

       第三種方法中,mount或者unmount命令在實際運用中是無法記錄日誌的。在生產系統中就需要添加這個插入U盤和拔出U盤的動作,作為審核調查依據。將上面的mount -o或者unmount  -l替換成usbhotplug.sh  mount 和usbhotplug.sh   unmount。

#!/usr/bin/bash

time=`date "+%Y%m%d"`

LOG_FILE="/home/pi/mount-usb-$time.log"

date=`date`

echo $date >> $LOG_FILE

CMD=$1

case $CMD in

    'mount')

        /bin/mkdir -p $4

        echo "/bin/mkdir -p $4" >> $LOG_FILE

        sleep 2

        /bin/mount -o  $2 $3  $4

        echo "/bin/mount -o $2 $3  $4" >> $LOG_FILE

        sync

        echo "----------" >> $LOG_FILE

    ;;

    'umount')

        sync

        /bin/umount -f $2

        echo "/bin/umount $2" >> $LOG_FILE

        sleep 2

        /bin/rmdir $2

        echo "/bin/rmdir $2" >> $LOG_FILE

        echo "----------" >> $LOG_FILE

    ;;

esac

『肆』 在linux環境下,如何禁用和開啟USB存儲設備本人這方面菜鳥,盼回復。

圖形界面的話,你可以看看你的系統,我記得有的系統使用 USB 設備需要加入特殊的用戶組,你把不想讓他用 U 盤的人從這個組裡面去掉就行了(不過有些系統可能沒有把許可權分的這么清楚)。某些系統用了 SELinux 許可權系統,這個好像也有相關的設置。
命令行下面只有 root 能掛載,禁止別人 sudo 到 root 許可權就行了。

另外,U 盤是需要一個驅動的。具體名字忘了,你可以去搜索一下。從內核 moles 裡面挪走這個驅動模塊就行了。

不過這個需求太少見,我反正對此沒有研究。

『伍』 Linux如何載入與卸載U盤

第一:以root用戶登陸
先載入USB模塊 modprobe usb-storage
用fdisk -l 看看U盤的設備
假如U盤是sda1

第二:確定在 目錄 /mnt 下建立了 文件夾 /usb,如果未建立可鍵入一下命令:
md /mnt/usb
成功後進行下一步。

第三,:載入 u 盤,需鍵入以下命令:
mount -t vfat /dev/sda /mnt/usb_disk
成功後,即可使用 u 盤了, 文件就在目錄 /mnt/usb 下。

第四:卸載u盤
在使用完u盤後,在拔出前需要先鍵入卸載U盤命令
命令如下: umount /mnt/usb

閱讀全文

與linux載入usb設備相關的資料

熱點內容
電腦一鍵解壓縮的軟體 瀏覽:169
怎麼關閉手機通訊錄對外app 瀏覽:370
我的世界如何強行進入一個滿人的伺服器 瀏覽:653
什麼app可以查詢會考成績 瀏覽:389
程序員能創造的價值 瀏覽:259
伺服器上的redis是什麼意思 瀏覽:379
軟體產品經理與程序員 瀏覽:922
高中生程序員 瀏覽:892
ps處理pdf 瀏覽:723
伺服器c1什麼意思 瀏覽:222
哈爾濱手機什麼app拍違章有獎勵 瀏覽:478
盜賊用什麼app最好 瀏覽:902
51單片機如何測量電導率 瀏覽:500
移動花卡怎麼使用app流量 瀏覽:555
個稅演算法2021表格公式解讀 瀏覽:174
怎麼進入電腦板2b2t伺服器 瀏覽:284
idea編譯進度條 瀏覽:134
文件夾工具箱軟體 瀏覽:688
最近為什麼手機連不上索尼伺服器 瀏覽:877
海康錄像機怎麼關視頻加密 瀏覽:788