1. 程式人生 > >Linux mount 命令

Linux mount 命令

一、mount 命令

首先簡單介紹一下 mount 這個命令:

在Linux系統中,如果要使用硬碟、光碟、軟盤或MO盤等儲存裝置,必須先進行掛裝(Mount)。當儲存裝置掛裝完成之後,就可以將其作為一個目錄來進行訪問了。掛裝裝置需要使用mount命令。執行這一命令,至少要先確定下列三種資訊:

  1. 要掛裝(Mount)物件的檔案系統型別;
  2. 要掛裝(Mount)物件的裝置名稱(/dev/...);
  3. 要將裝置掛裝(Mount)到哪一目錄。
  因為我是在VM虛擬機器上安裝的CentOS6.4 64位系統版本,如果我要將windows上的檔案傳到虛擬機器上的Linux上的話,可以通過以下幾個方法:
  1. 安裝VMware-Tools,這個如果在windows上安裝就特別方便,直接點選安裝就行了,Linux上的安裝過程在稍後的隨筆中會記錄下來。
  2. 掛載ISO檔案,我們在windows上找到我們需要的檔案,然後可以通過UltraISO(一款功能強大而又方便實用的光碟映像檔案製作/編輯/轉換工具),用這個來將檔案製作成IOS映象檔案,然後掛載到虛擬機器上的Linux系統上。
  3. 啟用虛擬機器上的檔案共享功能,這樣通過共享windows上的資料夾,將檔案傳給虛擬機器上的Linux。(這個我發現要安裝了VMware-Tools以後才可以)。
  在這裡我使用的第二種方式,通過掛載ISO檔案的方式來將windows上的檔案掛載到Linux系統上(有關Linux系統的分割槽、掛載等概念將會在後續學習中進行詳細記錄)   二、掛載ISO檔案到Linux系統上 首先將需要用到的檔案(jdk1.7、tomcat、eclipse等Linux版本軟體)通過UltraISO這個軟體製作成ISO檔案,例如我取名為:linuxSoft.iso
  首先選擇虛擬機器最上方的 VM -> Settings 進入到設定介面:
  然後在右邊的Use ISO image file那裡選擇我們剛製作好的ISO檔案,( 注:右上方的兩個複選框必須都打上 √ )   點選OK,此時我們發現我們的桌面多了個虛擬光碟機。。。也就是我們剛掛載的那一個iso檔案   開啟后里面就是我們剛需要的一些軟體:   至於這些軟體怎麼安裝將會在下一篇隨筆中詳細記錄下來!!! 三、對mount命令的小吐槽
  可能看到上面的第二步,會覺得很輕鬆就將檔案掛載到了Linux下面,而且都木有用到mount命令。。。。。所以下面我就來吐槽一下昨天搞了我幾個小時的 mount 命令。
按照正常流程,應該是在將ISO檔案掛載到Linux上以後,通過 mount 命令將這個ISO檔案掛載下來,命令如下:
mount   /mnt/cdrom    // 這命令就是把ISO掛載在/mnt/cdrom目錄中,這樣我就可以訪問裡面的內容了  (必須要有root許可權才能掛載)
當我在以root身份敲入了這個命令以後,報了  mount: can't find /mnt/cdrom in /etc/fstable or /etc/mtab  這個錯誤 於是我就google,在google上發現了一篇文章是來處理這個錯誤的: 複製程式碼
 
解決以下掛載錯誤的方法:
 
mount: can't find /mnt/cdrom in /etc/fstable or /etc/mtab
 
1、首先檢視#cat /etc/fstab

    檢視到類似下面的一行;
    /dev/hdc /media/cdrecorder auto users,exec,noauto,managed 0 0  (問題的關鍵是我查看了fstable以後木有類似的一句)
    通過這個,我們能知道hdc 就是cdrom(dvdrom)裝置 ,更是 cdrecorder的裝置;為了驗證我們的說法;請用ls -l 來列檔案;
    # ls -lh /dev/dvd*
    lrwxrwxrwx 1 root root 3 2005-09-13 /dev/dvd -> hdc
    # ls -lh /dev/cdrom
    lrwxrwxrwx 1 root root 3 2005-09-13 /dev/cdrom -> hdc
    # ls -lh /dev/cdwriter
    lrwxrwxrwx 1 root root 3 2005-09-13 /dev/cdwriter -> hdc
    得知: dvd 、cdrom 、cdwriter 的檔名都連結到了hdc這個裝置,所以光碟機裝置根源就是/dev/hdc ;
    得知: 通過/etc/fstab內看到的,我們可以肯定的是光碟被mount 到了/media/cdrecorder 目錄;
 
2、自定義cdrom 掛載的位置;
 
    比如 /mnt/cdrom ,所以我們也可以這樣來掛載光碟機;

    修改:/etc/fstab,把/dev/hdc /media/cdrecorder auto users,exec,noauto,managed 0 0改成:
    /dev/hdc /mnt/cdrom auto users,exec,noauto,managed 0 0 再存檔。
 
3、建立光碟機掛載目錄#mkdir /mnt/cdrom
 
4、指令掛載

    # mount /dev/hdc /mnt/cdrom
  或# mount /dev/cdrom /mnt/cdrom
 
複製程式碼

因為找不到類似於  /dev/hdc /media/cdrecorder auto users,exec,noauto,managed 0 這行程式碼,所以這種方式設定以後失敗了。。。。。

繼續google,後面又陸續看了N多的帖子,總結了一下,無非就是以下幾種:

mount  -t auto /mnt/cdrom /dev/cdrom /media

這個在回車以後,也是出現了錯誤,說在 mnt 下找不到 cdrom資料夾。。。但是我是用mkdir /mnt/cdrom 命令又一直提示我該光碟機是隻讀的,不讓建立。。。我是root使用者啊!!!!再次以失敗告終

此時我無意間發現了這麼一個帖子,並從中受到了一些啟發:mount: can't find /dev/cdrom in /etc/fstab or /etc/mtab問題解決方法,從裡面可以得出一些觀點:Linux系統估計根據版本不同,預設掛載的位置不同,可能掛載到 /mnt、 /dev、 /media 這三個目錄下

如果說不能再 /mnt 下 掛載光碟機的話,首先去 /dev/ 目錄檢視是否有cdrom這個檔案,發現還真有,然後我又進入到了/media目錄下,敲入一下命令了  ls -l 命令,結果讓我震驚了!!!

[[email protected] media]$ ls -l

結果為:

dr-x------. 1 xiaoluo xiaoluo 2048 3月  31 13:26 20130331_132633

發現居然在/media下面找到了我們剛掛載上去的ISO檔案,然後心裡一個激動,繼續進入到這個目錄裡  ,然後ls -l,發現了我需要的所有檔案!!!!

看來我安裝的CentOS6.4系統預設是將ISO映象掛載到了 /media 目錄下了,所以一直用mount 命令掛載到 /mnt下沒反應

於是我又通過了 解除安裝 命令 umount 看能否將這個ISO映象檔案從Linux上解除安裝掉:

[[email protected] 20130331_132633]$    cd /    // 解除安裝時要先退到root目錄下
[[email protected] 20130331_132633]$    umount /media/20130331_132633

然後再ls -l /media

發現剛才那個ISO已經被解除安裝掉了,於是心裡一陣狂喜,立馬想試試能否通過  mount /media重新掛載回來,結果是失望的!!!!掛載時又提示了之前的那些錯誤。。。於是我就一生氣,然後重啟了CentOS系統,在進去後發現/media目錄下又自動掛載了剛選擇的那個ISO檔案!!!!!!

四、我的解決辦法

此時我才恍然大悟,總結出了我這個問題的解決辦法!!!!

在我安裝的CentOS6.4  64位系統上,我如果需要掛載一個ISO檔案,我就在開機的時候選擇那個ISO檔案,通過

這裡就選擇好,然後在進入了系統以後,CentOS會自動給我們掛載好該ISO檔案,預設存放在了 /media/這個資料夾下!,我們如果需要用到裡面的軟體安裝包,就直接先複製到別的目錄下(因為這只是將ISO檔案掛載到了CentOS上,是虛擬光碟機,裡面所有的檔案都是隻讀的,我們如果需要安裝,必須先將檔案複製到其它路徑下,這個在後續隨筆中記錄)

在解決這個方法中,也參考了許多朋友的帖子,並有深入 剖析 mount 命令的好貼, 在這裡放出連結,希望能幫助其他未解決這個問題的朋友!!!

linux mount掛載裝置(u盤,光碟,iso等 )使用說明

mount: can't find /dev/cdrom in /etc/fstab or /etc/mtab問題解決方法