勤&快

          問題其實(shí)就是你期望的東西和你體驗(yàn)的東西之間的差別
          隨筆 - 55, 文章 - 0, 評論 - 68, 引用 - 0
          數(shù)據(jù)加載中……

          Linux 創(chuàng)建文件系統(tǒng)及掛載文件系統(tǒng)流程詳解

          Linux 創(chuàng)建文件系統(tǒng)及掛載文件系統(tǒng)流程詳解

          原地址:http://www.linuxsir.org/main/?q=node/83

          作者:北南南北
          來自: LinuxSir.Org
          摘要:本文對新增硬盤,切割硬盤,創(chuàng)建硬盤分區(qū),為硬盤分區(qū)創(chuàng)建文件系統(tǒng),以及加載文件系統(tǒng)的流程做總結(jié)性論述;主要是為初學(xué)者弄清楚這一 操作過程;本文涉及fdisk、mkfs、mount ... ... 等工具;對/etc/fstab 進(jìn)行了解說;還有磁盤掃描工具fsck 等介紹;


          ++++++++++++++++++++++++++++++++++++++++++++++++++++++
          正文
          ++++++++++++++++++++++++++++++++++++++++++++++++++++++


          閱讀此文,必須具備知識點(diǎn):

          《Linux 查看磁盤分區(qū)、文件系統(tǒng)、使用情況的命令和相關(guān)工具介紹》
          《實(shí)例解說 fdisk 使用方法》
          《合理規(guī)劃您的硬盤分區(qū)》
          《Fedora / Redhat 軟件包管理指南》

          如果您想加載一個分區(qū)(文件系統(tǒng)),首先您得確認(rèn)文件系統(tǒng)的類型,然后才能掛載使用,比如通過mount 加載,或者通過修改 /etc/fstab來開機(jī)自動加載;
          如果您想添加一個新的分區(qū),或者增加一個新的硬盤,您要通過分區(qū)工具來添加分區(qū),然后要創(chuàng)建分區(qū)的文件系統(tǒng),然后才是掛載文件系統(tǒng);比如通過mount 加載,或者通過修改 /etc/fstab來開機(jī)自動加載;

          本文總有一部份是您想要的;比如在新的分區(qū)上創(chuàng)建文件系統(tǒng),如何掛載;如何卸載文件系統(tǒng)或者設(shè)備(比如cdrom )等;我建您最好通讀本文,然后根據(jù)自己的需要再做選擇性實(shí)踐;

          Linux的一個小問題涉及的很多方面的知識,有時一篇文檔是難以說清楚;我為了盡可能詳細(xì)解說每一個過程,所以把分區(qū)工具、創(chuàng)建文件系統(tǒng)工具、查 看文件系統(tǒng)的工具分開來說,主要是讓初學(xué)者比較容易理解。希望您能理解本人的用心;傳說北南長的比較丑,但心的還是善良的 ... ...我是不會用一些垃圾文檔來害您 ... ... 哈哈 ... ... 言歸正傳,開文~~~~


          一、對存儲設(shè)備的分區(qū);

          我們這里所指的存儲設(shè)備主要是本地硬盤、移動硬盤(比如USB 和1394接口的硬盤);由于磁盤很大并且為了滿足我們各種需要,所以把硬盤分成若干個分區(qū);比如我們可以用這個分區(qū)來安裝Linux系統(tǒng),那個分區(qū)用來 安裝Windows系統(tǒng)... ... ;這點(diǎn)小事大家都明白;

          至于如何在 Linux中進(jìn)行硬盤分區(qū)操作,我們推薦您用 fdisk ,目前看來也是最好用的分區(qū)工具;其它工具比如parted 和cfdisk在某一方面有點(diǎn)優(yōu)點(diǎn),但這些優(yōu)點(diǎn)可能為大家?guī)硪恍┓奖?,比如 parted中的數(shù)據(jù)備份功能,這個功能對老手來說可能是優(yōu)點(diǎn),但對新手來說,的確是有風(fēng)險的;所以我們還是推薦您用 fdisk 分區(qū)工具;

          fdisk 的使用說明: 請參考:《實(shí)例解說 fdisk 使用方法》


          二、存儲設(shè)備進(jìn)行格式化,即建立文件系統(tǒng)的過程;


          1、文件系統(tǒng)的一點(diǎn)介紹

          我們對存儲設(shè)備分區(qū)還是遠(yuǎn)遠(yuǎn)不夠的,我們還要對這些新增分區(qū)進(jìn)行格式化;一個分區(qū)只有建立了某種文件系統(tǒng)后,這個分區(qū)才能使用;建立文件系統(tǒng)過程, 就是用相應(yīng)格式化工具格式化分區(qū)的過程,這個過程和我們在Windows中格式化某個分區(qū)為NTFS分區(qū)類似;沒有什么高深的內(nèi)容,只是所用的工具不一樣 罷了;

          在Linux操作系統(tǒng)中,目前幾乎支持目前主流的文件系統(tǒng),比如NTFS(只讀)、FAT(可讀可寫)、ext2、ext3、reiserfs、hfs (MAC 操作系統(tǒng)的文件系統(tǒng))、swap 交換分區(qū)... ... 還有一些咱們不熟悉的操作系統(tǒng)的文件系統(tǒng)等;

          在Linux中,我們常用的文件系統(tǒng)無非是上面例出的這些;如果您新增了一個硬盤,可能想格式化成 Linux的文件系統(tǒng),最佳選擇是 reiserfs 或ext3;目前ext2已被 ext3取代;我們不推薦用ext2文件系統(tǒng),ext2的使用風(fēng)險比較大;速度最快的文件系統(tǒng),當(dāng)屬reiserfs;reiserfs 還有很多優(yōu)點(diǎn),比如更安全;ext3是Redhat認(rèn)為最好的文件系統(tǒng),所以在Fedora 4.0在安裝時,特地為reiserfs 的選擇弄出點(diǎn)麻煩;

          相對來說reiserfs還是比ext3要優(yōu)秀;如果想深入學(xué)習(xí)文件系統(tǒng)的,您可以到官方論壇找相應(yīng)的資料,最好是實(shí)踐實(shí)踐;

          2、格式化工具介紹和使用;

          以fedora 4.0為例,我們常用的工具mkfs mkfs.ext3 mkfs.reiserfs mkfs.ext2 mkfs.msdos mkfs.vfat mkswap

          提示:如果您不能創(chuàng)建reiserfs 文件系統(tǒng),也就是說沒有mkfs.reiserfs 或者mkreiserfs 命令,是您沒有安裝reiserfs-utils工具包,請參考:《讓Fedora 支持創(chuàng)建reiserfs 文件系統(tǒng),以及創(chuàng)建reiserfs文件系統(tǒng)的一點(diǎn)說明》


          1)mkfs的使用;

          使用方法:

          [root@localhost beinan]# mkfs -t 文件系統(tǒng) 存儲設(shè)備



          注:
          這里的文件系統(tǒng)是要指定的,比如 ext3 ;reiserfs ;ext2 ;fat32 ;msdos 等... ...
          設(shè)備比如是一個硬盤的分區(qū),軟盤,光驅(qū)等.. ...

          在格式化分區(qū)之前,您得懂得如何查看硬盤分區(qū)情況,并有針對性的格式化;比如用 fdisk -l 來查看;

          請參考:《Linux 查看磁盤分區(qū)、文件系統(tǒng)、使用情況的命令和相關(guān)工具介紹》

          比如我想格式化一個移動U盤中的一個分區(qū);全景應(yīng)該是:

          [root@localhost beinan]# fdisk -l
          Disk /dev/hda: 80.0 GB, 80026361856 bytes
          255 heads, 63 sectors/track, 9729 cylinders
          Units = cylinders of 16065 * 512 = 8225280 bytes
             Device Boot Start End Blocks Id System
          /dev/hda1 * 1 765 6144831 7 HPFS/NTFS
          /dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
          /dev/hda3 2806 9729 55617030 5 Extended
          /dev/hda5 2806 3825 8193118+ 83 Linux
          /dev/hda6 3826 5100 10241406 83 Linux
          /dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
          /dev/hda8 5199 6657 11719386 83 Linux
          /dev/hda9 6658 7751 8787523+ 83 Linux
          /dev/hda10 7752 9729 15888253+ 83 Linux
          Disk /dev/sda: 1035 MB, 1035730944 bytes
          256 heads, 63 sectors/track, 125 cylinders
          Units = cylinders of 16128 * 512 = 8257536 bytes
             Device Boot Start End Blocks Id System
          /dev/sda1 1 25 201568+ 83 Linux
          /dev/sda2 26 125 806400 5 Extended
          /dev/sda5 26 50 201568+ 83 Linux
          /dev/sda6 51 76 200781 83 Linux

          我們可以看到有sda這個設(shè)備,所以可以用 fdisk -l /dev/sda專門來顯示他的分區(qū)情況;比如我想格式化 /dev/sda6 分區(qū)為 ext3文件系統(tǒng),則為:

          [root@localhost beinan]# mkfs -t ext3 /dev/sda6
          mke2fs 1.37 (21-Mar-2005)
          Filesystem label=
          OS type: Linux
          Block size=1024 (log=0)
          Fragment size=1024 (log=0)
          50200 inodes, 200780 blocks
          10039 blocks (5.00%) reserved for the super user
          First data block=1
          Maximum filesystem blocks=67371008
          25 block groups
          8192 blocks per group, 8192 fragments per group
          2008 inodes per group
          Superblock backups stored on blocks:
                  8193, 24577, 40961, 57345, 73729
          Writing inode tables: done
          Creating journal (4096 blocks): done
          Writing superblocks and filesystem accounting information: 注:在這里直接回車;
          done
          This filesystem will be automatically checked every 26 mounts or
          180 days, whichever comes first. Use tune2fs -c or -i to override.

          這樣就格式化好了,sda6現(xiàn)在就是ext3文件系統(tǒng)了;我們就可以用mount 加載這個分區(qū),然后使用這個文件系統(tǒng);

          [root@localhost beinan]# mkdir /mnt/sda6
          [root@localhost beinan]# chmod 777 /mnt/sda6
          [root@localhost beinan]# mount /dev/sda6 /mnt/sda6

          當(dāng)然您也可以把分區(qū)格式化成其它的文件系統(tǒng);比如我們把 /dev/sda6格式化為ext3 、ext2、reiserfs、fat32、msdos 文件系統(tǒng),命令格式如下;

          [root@localhost beinan]# mkfs -t ext3 /dev/sda6
          [root@localhost beinan]# mkfs -t ext2 /dev/sda6
          [root@localhost beinan]# mkfs -t reiserfs /dev/sda6
          [root@localhost beinan]# mkfs -t fat32 /dev/sda6
          [root@localhost beinan]# mkfs -t msdos /dev/sda6
          ... ...


          2)mkfs.ext3 mkfs.reiserfs mkfs.ext2 mkfs.msdos mkfs.vfat mke2fs 的介紹;

          我們先說了一個mkfs 工具后,我們再來介紹 mkfs.ext3 mkfs.reiserfs mkfs.ext2 mkdosfs mkfs.msdos mkfs.vfat ,其實(shí)mkfs 在執(zhí)行的命令的時候,也是調(diào)用的這個工具,這也是我先把mkfs介紹的主要原因;

          通過文件名,我們就知道這些工具是支持什么文件系統(tǒng);這些命令為我們提供了更多的方便;


          [root@localhost beinan]# mkfs.ext3 /dev/sda6 注:把該設(shè)備格式化成ext3文件系統(tǒng)
          [root@localhost beinan]# mke2fs -j /dev/sda6 注:把該設(shè)備格式化成ext3文件系統(tǒng)
          [root@localhost beinan]# mkfs.ext2 /dev/sda6 注:把該設(shè)備格式化成ext2文件系統(tǒng)
          root@localhost beinan]# mke2fs /dev/sda6 注:把該設(shè)備格式化成ext2文件系統(tǒng)
          [root@localhost beinan]# mkfs.reiserfs /dev/sda6 注:把該設(shè)備格式化成reiserfs文件系統(tǒng)
          [root@localhost beinan]# mkfs.vfat /dev/sda6 注:把該設(shè)備格式化成fat32文件系統(tǒng)
          [root@localhost beinan]# mkfs.msdos /dev/sda6 注:把該設(shè)備格式化成fat16文件系統(tǒng),msdos文件系統(tǒng)就是fat16;
          [root@localhost beinan]# mkdosfs /dev/sda6 注:把該設(shè)備格式化成fat16文件系統(tǒng),同mkfs.msdos
          ... ...



          2)mkswap 把一個分區(qū)格式化成為swap交換區(qū);

          [root@localhost beinan]# mkswap /dev/sda6 注:創(chuàng)建此分區(qū)為swap 交換分區(qū)
          [root@localhost beinan]# swapon /dev/sda6 注:加載交換分區(qū);
          [root@localhost beinan]# swapoff /dev/sda6 注:關(guān)閉交換分區(qū);

          我們查看系統(tǒng)已經(jīng)加載的swap交換分區(qū);

          [root@localhost beinan]# swapon /dev/sda6 注:加載交換分區(qū);
          [root@localhost beinan]# swapon -s
          Filename Type Size Used Priority
          /dev/hda7 partition 787144 0 -1
          /dev/sda6 partition 225144 0 -3
          <code>
          為什么我的系統(tǒng)有兩個交換分區(qū)?因?yàn)槲矣靡苿覷盤做的實(shí)驗(yàn),主要是為寫教程之用;sda6是我在U盤上建的swap分區(qū);
          如果讓swap開機(jī)就加載,應(yīng)該改 /etc/fstab文件,加類似如下一行;
          <code>
          /dev/sda6 swap swap defaults 0 0 注:把此行中的/dev/hda7 改為您的交換分區(qū)就行;

          或者把命令行直接寫入 /etc/rc.d/rc.local中也行;

          swapon /dev/sda6

          如果您的硬盤不能再分區(qū),您可以創(chuàng)建一個swap文件

          [root@localhost beinan]# dd if=/dev/zero of=/tmp/swap bs=1024 count=524288 注:創(chuàng)建一個大小為512M 的swap 文件,在/tmp目錄中;您可以根據(jù)自己的需要的大小來創(chuàng)建swap 文件;
          讀入了 524288+0 個塊
          輸出了 524288+0 個塊
          [root@localhost beinan]# mkswap /tmp/swap 注:把/tmp/swap 文件,創(chuàng)建成swap 交換區(qū)
          Setting up swapspace version 1, size = 536866 kB
          no label, UUID=d9d8645d-92cb-4d33-b36e-075bb0a2e278
          [root@localhost beinan]# swapon /tmp/swap 注:掛載swap
          [root@localhost beinan]# swapon -s
          Filename Type Size Used Priority
          /dev/hda7 partition 787144 888 -1
          /tmp/swap file 524280 0 -2

          注意:其實(shí)我們在安裝系統(tǒng)的時候,就已經(jīng)劃分了交換分區(qū);查看/etc/fstab,應(yīng)該swap的行;如果您在安裝系統(tǒng)時沒有添加swap,可以通過這種辦法來添加;


          三、掛載文件系統(tǒng);

          掛載文件系統(tǒng),目前有兩種方法,一是通過 mount 來掛載,另一種方法是通過/etc/fstab文件來開機(jī)自動掛載;


          1、通過mount 來掛載磁盤分區(qū)(或存儲設(shè)備)

          mount的用法其實(shí)也簡單,我們說幾個常用的;

          掛載文件系統(tǒng)的命令格式:

          [root@localhost beinan]# mount [-t 文件系統(tǒng) ] [-o 選項(xiàng)] 設(shè)備 目錄

          注:

          -t 通過這個參數(shù),我們來指定文件系統(tǒng)的類型,一般的情況下不必指定有時也能識加,-t 后面跟 ext3 、ext2 、reiserfs、vfat 、ntfs 等,其中 vfat 是fat32和fat16分區(qū)文件系統(tǒng)所所用的參數(shù);如果您忘記了文件系統(tǒng),也可以在-t 后面加auto ;

          -o 這個選項(xiàng),主要選項(xiàng)有權(quán)限、用戶、磁盤限額、語言編碼等,但語言編碼的選項(xiàng),大多用于vfat和ntfs文件系統(tǒng);由于選項(xiàng)太多,還是請您看看 man mount ;這里不多說;

          設(shè)備 指存儲設(shè)備,比如/dev/hda1, /dev/sda1 ,cdrom 等...至于您的系統(tǒng)中有哪些存儲設(shè)備,主要通過 fdisk -l 或者查看 /etc/fstab 或 dmesg ;一般的情況下光驅(qū)設(shè)備是/dev/cdrom ;軟驅(qū)設(shè)備是/dev/fd0 ;硬盤及移動硬盤以 fdisk -l 的輸出為準(zhǔn);


          1)對光驅(qū)和軟驅(qū)的掛載;


          舉例:

          [root@localhost beinan]# mount /dev/cdrom
          [root@localhost beinan]# mount /dev/fd0

          第一行是mount 光驅(qū),至于mount 到哪了,我們可以通過查看 /etc/fstab來查看;同理軟驅(qū)/dev/fd0設(shè)備也是如此;比如我們在/etc/fstab

          /dev/hdc /media/cdrecorder auto users,exec,noauto,managed 0 0

          我們可以肯定的是光盤被mount 到了 /media/cdrecorder 目錄;

          但我們也可以自己來指定cdrom 掛載的位置 ;比如 /mnt/cdrom ,所以我們也可以這樣來掛載光驅(qū);

          [root@localhost beinan]#mkdir /mnt/cdrom
          [root@localhost beinan]# mount /dev/cdrom /mnt/cdrom

          我們先建一個目錄,然后執(zhí)行mount 命令,這樣cdrom 就掛在 /mnt/cdrom 中了;我們就可以在/mnt/cdrom 中查看光盤中資料和文件;這個目錄您想怎么建就怎么建。用什么目錄不是最重要的。重要的是您知道自己在做什么就行了。比如我們也可以把這個目錄建成 dvdrom ;然后用 mount /dev/cdrom /mnt/dvdrom 來掛載;

          有時我們的設(shè)備是COMBO的,有支持dvd cd 還能支持刻錄的;我們最好查一下光驅(qū)設(shè)備的,主要有兩個方法,一是通過查看 /etc/fstab ,二是通過ls -l 來查看;比如我們在/etc/fstab中查看到類似下面的一行;

          /dev/hdc /media/cdrecorder auto users,exec,noauto,managed 0 0

          通過這個,我們能知道hdc 就是cdrom 也是dvdrom的設(shè)備 ,更是 cdrecorder的設(shè)備;為了驗(yàn)證我們的說法;請用ls -l 來列文件;

          [root@localhost beinan]# ls -lh /dev/dvd*
          lrwxrwxrwx 1 root root 3 2005-09-13 /dev/dvd -> hdc
          [root@localhost beinan]# ls -lh /dev/cdrom
          lrwxrwxrwx 1 root root 3 2005-09-13 /dev/cdrom -> hdc
          [root@localhost beinan]# ls -lh /dev/cdwriter
          lrwxrwxrwx 1 root root 3 2005-09-13 /dev/cdwriter -> hdc

          這不一目了然了嗎?dvd 、cdrom 、cdwriter 的文件名都鏈接到了hdc這個設(shè)備,所以光驅(qū)設(shè)備根源就是/dev/hdc ;所以我們也可以這樣掛載光驅(qū);

          [root@localhost beinan]# mkdir /mnt/cdrom
          [root@localhost beinan]# mount /dev/hdc /mnt/cdrom




          2)掛載硬盤和移動硬盤的文件系統(tǒng);

          一個分區(qū)只有創(chuàng)建了文件系統(tǒng)后才能使用,前面我們說過了,我們在Linux大多用的是ext2 、ext3、reiserfs、fat32、msdos 、ntfs等;

          [1]掛載Linux文件系統(tǒng);

          對于ext2 、ext3 、reiserfs 不需要指定文件系統(tǒng)的編碼,其實(shí)mount 也沒有這個功能;這些Linux文件系統(tǒng),如果出現(xiàn)編碼問題,一般是通過export LANG來指定;所以掛載這些文件系統(tǒng)比較簡單;

          首先我們得建一個文件系統(tǒng)掛載的目錄;我們前面已經(jīng)提到了;一個有文件系統(tǒng)的分區(qū)要掛到系統(tǒng)中,必須要有一個掛載點(diǎn);這個掛載點(diǎn)就是一個目錄;比如我們通過fdisk -l 得知hda5 是Linux分區(qū),并且創(chuàng)建了文件系統(tǒng),比如是reiserfs 文件系統(tǒng)吧;

          [root@localhost beinan]# fdisk -l /dev/hda
          Disk /dev/hda: 80.0 GB, 80026361856 bytes
          255 heads, 63 sectors/track, 9729 cylinders
          Units = cylinders of 16065 * 512 = 8225280 bytes
             Device Boot Start End Blocks Id System
          /dev/hda1 * 1 765 6144831 7 HPFS/NTFS
          /dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
          /dev/hda3 2806 9729 55617030 5 Extended
          /dev/hda5 2806 3825 8193118+ 83 Linux
          /dev/hda6 3826 5100 10241406 83 Linux
          /dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
          /dev/hda8 5199 6657 11719386 83 Linux
          /dev/hda9 6658 7751 8787523+ 83 Linux
          /dev/hda10 7752 9729 15888253+ 83 Linux

          我們先用fdisk -l 來查看一下分區(qū)情況:我們想要掛載/dev/hda5分區(qū),比如hda5分區(qū)創(chuàng)建的是reiserfs文件系統(tǒng);

          [root@localhost beinan]# mkdir /mnt/hda5/ 注:先創(chuàng)建一個掛載目錄;
          [root@localhost beinan]# chmod 777 /mnt/hda5/ 注:設(shè)置/mnt/hda5的權(quán)限為任何用戶可寫可讀可執(zhí)行;這樣所有的用戶都能在寫入;
          [root@localhost beinan]# mount -t reiserfs /dev/hda5 /mnt/hda5 注:通過-t reiserfs 來指定/dev/hda5是reiserfs 文件系統(tǒng), 并且掛載到/mnt/hda5目錄;
          [root@localhost beinan]# mount -t auto /dev/hda5 /mnt/hda5 注:假如我們不知道hda5上reiserfs 文件系統(tǒng),我們可以用 -t auto 讓系統(tǒng)定奪,然后掛載到/mnt/hda5 ;
          [root@localhost beinan]# mount /dev/hda5 /mnt/hda5 注:不加任何參數(shù),直接 mount /dev/hda5 到/mnt/hda5;系統(tǒng)自動判斷分區(qū)文件系統(tǒng);

          是不是被掛載了,我們通過df -lh 來查看;

          [root@localhost beinan]# df -lh
          Filesystem 容量 已用 可用 已用% 掛載點(diǎn)
          /dev/hda8 11G 8.5G 1.9G 83% /
          /dev/shm 236M 0 236M 0% /dev/shm
          /dev/hda10 16G 6.9G 8.3G 46% /mnt/hda10
          /dev/hda5 7.9G 5.8G 2.1G 74% /mnt/hda5




          [2]掛載Windows文件系統(tǒng);

          請參考: 《在Fedora core 4.0 加載NTFS和FAT32分區(qū)詳述》


          3)卸載文件系統(tǒng)umount ;


          命令用法:

          [root@localhost beinan]# umount 設(shè)備或掛載目錄


          舉例:

          [root@localhost beinan]# mount -t auto /dev/hda5 /mnt/hda5 注:掛載/dev/hda5;
          [root@localhost beinan]# df -lh 注:查看/dev/hda5是否被掛載;
          Filesystem 容量 已用 可用 已用% 掛載點(diǎn)
          /dev/hda8 11G 8.5G 1.9G 83% /
          /dev/shm 236M 0 236M 0% /dev/shm
          /dev/hda10 16G 6.9G 8.3G 46% /mnt/hda10
          /dev/hda5 7.9G 5.8G 2.1G 74% /mnt/hda5
          [root@localhost beinan]# umount /dev/hda5 注:卸載/dev/hda5
          [root@localhost beinan]# df -lh 注:看是否卸載了/dev/hda5;
          Filesystem 容量 已用 可用 已用% 掛載點(diǎn)
          /dev/hda8 11G 8.5G 1.9G 83% /
          /dev/shm 236M 0 236M 0% /dev/shm
          /dev/hda10 16G 6.9G 8.3G 46% /mnt/hda10
          [root@localhost beinan]#umount /dev/cdrom 注:卸載cdrom ;
          [root@localhost beinan]#umount /dev/fd0 注:卸載軟驅(qū);

          ... ...

          再說一個查看分區(qū)是否被掛載了的命令,直接用 mount -s

          [root@localhost beinan]# mount -s


          2、通過/etc/fstab文件來開機(jī)自動掛載文件系統(tǒng)


          1)理解fstab

          上面我們說了mount掛載存儲設(shè)備文件系統(tǒng)的辦法;現(xiàn)在我們再來說一說在/etc/fstab 中實(shí)現(xiàn)開機(jī)自動掛載文件系統(tǒng)的辦法;首先我們要查看 /etc/fstab ;主要看他的規(guī)劃寫法;

          # This file is edited by fstab-sync - see 'man fstab-sync' for details
          LABEL=/1 / ext3 defaults 1 1
          /dev/devpts /dev/pts devpts gid=5,mode=620 0 0
          /dev/shm /dev/shm tmpfs defaults 0 0
          /dev/proc /proc proc defaults 0 0
          /dev/sys /sys sysfs defaults 0 0
          LABEL=SWAP-hda7 swap swap defaults 0 0
          /dev/hdc /media/cdrecorder auto users,exec,noauto,managed 0 0

          第一字段:設(shè)備名,在這里表示是文件系統(tǒng); 有時我們把掛載文件系統(tǒng)也說成掛載分區(qū); 在這個字段中也可以用分區(qū)標(biāo)簽;在例子中/LABEL=/1就是Fedora 系統(tǒng)安裝分區(qū)的標(biāo)簽,至于是在哪個分區(qū),可以用 df -lh 來查看;

          [root@localhost beinan]# df -lh
          Filesystem 容量 已用 可用 已用% 掛載點(diǎn)
          /dev/hda8 11G 8.5G 1.9G 83% /
          /dev/shm 236M 0 236M 0% /dev/shm
          /dev/hda10 16G 6.9G 8.3G 46% /mnt/hda10

          我們可以知道 LABEL=/1是/dev/hda8的標(biāo)簽;那我們用什么命令來創(chuàng)建硬盤分區(qū)的標(biāo)簽?zāi)兀?/p>

          對于ext3和ext2文件系統(tǒng),我們可以用 e2label 來設(shè)置

          e2label device [newlabel]

          比如我們想把文件系統(tǒng)為ext3 的分區(qū)/dev/hda5的標(biāo)簽設(shè)備為 /5 ,我們應(yīng)該執(zhí)行如下的命令:

          [root@localhost beinan]# e2label /dev/hda5 /5
          [root@localhost beinan]# mkdir /mnt/hda5 注:創(chuàng)建掛載/dev/hda5分區(qū)的目錄;
          [root@localhost beinan]# chmod 777 /mnt/hda5 注:打開權(quán)限,所有用戶可讀可寫可執(zhí)行;

          然后我們要改/etc/fstab 中加一行

          /5 /mnt/hda5 ext3 defaults 0 0

          警告: 請不要在您的Linux的安裝分區(qū)(也就是Linux系統(tǒng)/ 所在的分區(qū))實(shí)踐,會導(dǎo)致您的Linux系統(tǒng)崩潰;如果想實(shí)踐,請?jiān)谄渌謪^(qū)測試;

          如果是reiserfs文件系統(tǒng),我們應(yīng)該用

          [root@localhost beinan]# reiserfstune -l 標(biāo)簽 設(shè)備

          舉例:比如我為reiserfs 文件系統(tǒng) /dev/hda10設(shè)置標(biāo)簽為 /10 ;

          [root@localhost beinan]# reiserfstune -l /10 /dev/hda10

          我們在/etc/fstab中加入一行;

          /10 /mnt/hda10 reiserfs defaults 0 0

          警告: 請不要在您的Linux的安裝分區(qū)(也就是Linux系統(tǒng)/ 所在的分區(qū))實(shí)踐,會導(dǎo)致您的Linux系統(tǒng)崩潰;如果想實(shí)踐,請?jiān)谄渌謪^(qū)測試;

          第二字段:文件系統(tǒng)的掛載點(diǎn);
          第三字段:文件系統(tǒng)類型;
          第四字段:mount 命令的選項(xiàng),和mount 中的-o 同理;defaults包括這些選項(xiàng) rw, suid, dev, exec, auto, nouser, async;通過實(shí)踐,這個默認(rèn)的還能滿足我們的需要;至于這些選項(xiàng)的意思,請參看man mount ;

          第五字段:表示文件系統(tǒng)是否需要dump 備份,是真假關(guān)系;1是需要,0 是不需要;
          第六字段: 是否在系統(tǒng)啟動時,通過fsck磁盤檢測工具來檢查文件系統(tǒng),1是需要,0是不需要,2是跳過;

          基于這些認(rèn)識;比如我們要開機(jī)自動掛載/dev/hda5 ;我們可以如下做;

          [root@localhost beinan]# mkdir /mnt/hda5/ 注:先創(chuàng)建一個掛載目錄;
          [root@localhost beinan]# chmod 777 /mnt/hda5/ 注:設(shè)置/mnt/hda5的權(quán)限為任何用戶可寫可讀可執(zhí)行;這樣所有的用戶都能在寫入;

          然后我們在/etc/fstab 中加如下的一行;

          /dev/hda5 /mnt/hda5 reiserfs defaults 0 0

          這樣重啟機(jī)器就能看到效果了;


          四、對文件系統(tǒng)進(jìn)行掃描fsck;

          大家對Windows中的scandisk不寞生吧,在Linux中就有類似這樣的工具fsck,不過fsck 可不僅僅是掃描,還能修正文件系統(tǒng)的一些問題。值得注意的是fsck 掃描文件系統(tǒng)時一定要在單用戶模式、修復(fù)模式或把設(shè)備umount后進(jìn)行。

          警告:如果掃描正在運(yùn)行中的系統(tǒng),會造成系統(tǒng)文件損壞;如果您的系統(tǒng)是正常,請不要用掃描工具,她可能會把您的系統(tǒng)搞壞掉,fsck運(yùn)行是有危險的;

          以Fedora 為例,文件系統(tǒng)掃描工具有 fsck fsck.ext2 fsck.jfs fsck.msdos fsck.vfat fsck.ext3 fsck.reiserfs(reiserfsck)

          其中fsck 默認(rèn)支持文件系統(tǒng)ext2,如果想支持ext3文件系統(tǒng)的掃描,應(yīng)該加-j 參數(shù),最好是我們應(yīng)該根據(jù)不同的文件系統(tǒng)來調(diào)用不同的掃描工具,比如 fsck.ext2,fsck.jfs,fsck.msdos,fsck.ext3,fsck.reiserfs(reiserfsck)等。我們也可以 根據(jù)自己的文件系統(tǒng)選擇不同的掃描工具;

          舉例:掃描/dev/hda10分區(qū)(基于reiserfs文件系統(tǒng) );

          [root@localhost beinan]# fsck.reiserfs /dev/hda10
          reiserfsck 3.6.19 (2003 www.namesys.com)
          *************************************************************
          ** If you are using the latest reiserfsprogs and it fails **
          ** please email bug reports to reiserfs-list@namesys.com, **
          ** providing as much information as possible -- your **
          ** hardware, kernel, patches, settings, all reiserfsck **
          ** messages (including version), the reiserfsck logfile, **
          ** check the syslog file for any related information. **
          ** If you would like advice on using this program, support **
          ** is available for $25 at www.namesys.com/support.html. **
          *************************************************************
          Will read-only check consistency of the filesystem on /dev/hda10
          Will put log info to 'stdout'
          Do you want to run this program?[N/Yes] (note need to type Yes if you do):Yes
          ###########
          reiserfsck --check started at Wed Sep 14 08:54:17 2005
          ###########
          Replaying journal..
          Reiserfs journal '/dev/hda10' in blocks [18..8211]: 0 transactions replayed
          Checking internal tree..finished
          Comparing bitmaps..finished
          Checking Semantic tree:
          finished
          No corruptions found 注:沒有發(fā)現(xiàn)錯誤;
          There are on the filesystem:
                  Leaves 2046
                  Internal nodes 15
                  Directories 130
                  Other files 2305
                  Data block pointers 1863657 (70565 of them are zero)
                  Safe links 0
          ###########
          reiserfsck finished at Wed Sep 14 08:54:33 2005
          ###########

          對于fsck.ext2和fsck.ext3常用的幾個選項(xiàng):

          -p Automatic repair (no questions) 注:自動修復(fù)文件系統(tǒng)存在的問題;
          -y Assume "yes" to all questions 注:如果文件系統(tǒng)有問題,會跳出提示是否修復(fù),如果修復(fù)請按y;
          -c Check for bad blocks and add them to the badblock list 注:對文件系統(tǒng)進(jìn)行壞塊檢查;這是一個極為漫長的過程;
          -n Make no changes to the filesystem 注:不對文件系統(tǒng)做任何改變,只要掃描,以檢測是否有問題;

          舉例:比如 /dev/hda6 (文件系統(tǒng)是ext3的),我想掃描并自動修復(fù);

          [root@localhost beinan]# fsck.ext3 -p /dev/hda6

          注意: 針對不同文件系統(tǒng),最好用相應(yīng)的工具;雖然有時fsck 在不加參數(shù)的情況下能識別不同的文件系統(tǒng);

          對于不同工具的最為詳細(xì)的參數(shù),請參看--help或者man ,謝謝。。


          后記:

          創(chuàng)建文件系統(tǒng)和加載文件系統(tǒng)就算寫的差不多了;再高深的可能也不是我所能寫的。為了寫文件系統(tǒng)系統(tǒng)的掛載,我已經(jīng)寫過幾篇文檔。可能還得需補(bǔ)充幾篇短小文檔,以及還有一個總結(jié)性的文檔;

          比如Fedora Core 4.0 默認(rèn)安裝不支持創(chuàng)建reiserfs 文件系統(tǒng),解決辦法是安裝reiserfs-utils ,這也是需要補(bǔ)充的;

          posted on 2007-04-26 23:55 daning 閱讀(1174) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 五莲县| 庆元县| 彰化县| 元阳县| 正安县| 佛学| 徐汇区| 襄城县| 文水县| 固阳县| 聂荣县| 白玉县| 平原县| 承德县| 沐川县| 临武县| 安国市| 凌云县| 赤城县| 葫芦岛市| 溧水县| 许昌市| 罗平县| 山西省| 安达市| 红原县| 竹溪县| 赤壁市| 兰西县| 乌拉特后旗| 星座| 新巴尔虎右旗| 万全县| 嵩明县| 新化县| 涡阳县| 徐汇区| 剑川县| 马边| 雷山县| 秦安县|