• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 200, comments - 8, trackbacks - 0, articles - 0

            回環(huán)設(shè)備掛載

            Posted on 2013-04-03 19:47 鑫龍 閱讀(552) 評論(0)  編輯 收藏 引用 所屬分類: linux基礎(chǔ)
            回環(huán)設(shè)備(loop-back devices) ¶

            回環(huán)設(shè)備( 'loopback device')允許用戶以一個普通磁盤文件虛擬一個塊設(shè)備。設(shè)想一個磁盤設(shè)備,對它的所有讀寫操作都將被重定向到讀寫一個名為 disk-image 的普通文件而非操作實際磁盤或分區(qū)的軌道和扇區(qū)。(當(dāng)然,disk-image 必須存在于一個實際的磁盤上,而這個磁盤必須比虛擬的磁盤容量更大。)回環(huán)設(shè)備允許你這樣使用一個普通文件。

            回環(huán)設(shè)備以 /dev/loop0、/dev/loop1 等命名。每個設(shè)備可虛擬一個塊設(shè)備。注意只有超級用戶才有權(quán)限設(shè)置回環(huán)設(shè)備。

            回環(huán)設(shè)備的使用與其它任何塊設(shè)備相同。特別是,你可以在這個設(shè)備上創(chuàng)建文件系統(tǒng)并像普通的磁盤一樣將它掛載在系統(tǒng)中。這樣的一個將全部內(nèi)容保存在一個普通文件中的文件系統(tǒng),被稱為虛擬文件系統(tǒng)(virtual file system)(譯者注:這個用法并不常見。VFS 通常另有所指,如指代 Linux 內(nèi)核中有關(guān)文件系統(tǒng)抽象的代碼層次等)。

            可以通過下列步驟創(chuàng)建一個虛擬文件系統(tǒng)并通過回環(huán)設(shè)備掛載:

            創(chuàng)建一個用于承載虛擬文件系統(tǒng)的空文件。這個文件的大小將成為掛載后文件系統(tǒng)的大小。
            創(chuàng)建指定大小文件的簡單方法是通過 dd 命令。這個命令以塊為單位(通常為 512 字節(jié))從一個文件向另一個文件復(fù)制數(shù)據(jù)。/dev/zero 文件則是一個很好的數(shù)據(jù)來源。
            要建立一個 10 MB 大的名為 disk-image 的文件可以通過以下命令:
            % dd if=/dev/zero of=/tmp/disk-image count=20480
            20480+0 records in
            20480+0 records out
            % ls -l /tmp/disk-image
            -rw-rw----     1 root      root       10485760 Mar   8 01:56 /tmp/disk-image
            這個新建立的文件被填滿了 0 字節(jié)。在掛載之前,必須在其上建立一個文件系統(tǒng)。這個過程會建立許多用于組織和存儲文件的控制單元并構(gòu)造根目錄結(jié)構(gòu)。
            在這個磁盤映像之上可以構(gòu)建任何類型的文件系統(tǒng)。以創(chuàng)建 ext2 文件系統(tǒng)為例(ext2 是 Linux 系統(tǒng)中最常見的文件系統(tǒng)),用 mke2fs 可以完成這個操作。因為這個命令通常是針對塊設(shè)備進行操作,當(dāng)對一個普通文件操作時它會要求確認(rèn):
            % mke2fs -q /tmp/disk-image
            mke2fs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09
            disk-image is not a block special device.
            Proceed anyway? (y,n) y
            這里 -q 參數(shù)用于省略輸出有關(guān)新建立文件系統(tǒng)的概要信息。如果你想看到這些信息,則請省略這個參數(shù)。
            現(xiàn)在 disk-image 文件包含了一個新建立的文件系統(tǒng),正如一個被剛剛初始化完畢的 10 MB 大小的磁盤。
            以一個環(huán)回設(shè)備掛載這個文件系統(tǒng)。方法是使用 mount 命令,指定磁盤文件為被掛載的設(shè)備。同時指定 loop=loopback-device 作為 -o 選項的參數(shù),告訴 mount 命令使用哪個回環(huán)設(shè)備。
            下面例子中的命令可用于掛載我們的 disk-image 文件系統(tǒng)。要記住的是只有超級用戶可以使用環(huán)回設(shè)備。第一個命令將創(chuàng)建一個目錄 /tmp/virtual-fs,這個目錄將被用于掛載我們的文件系統(tǒng)。
            % mkdir /tmp/virtual-fs
            % mount -o loopback=/dev/loop0 /tmp/disk-image /tmp/virtual-fs
            這時,這個設(shè)備應(yīng)該已經(jīng)被掛載,就如同一個普通的 10M 空間的磁盤一樣。
            % df -h /tmp/virtual-fs
            Filesystem   Size Used Avail Use% Mounted on
            /tmp/disk-image 9.7M 13k 9.2M 0% /tmp/virtual-fs
            你可以向任何其它磁盤一樣使用這個設(shè)備:
            % cd /tmp/virtual-fs
            % echo 'Hello, world!' > test.txt
            % ls -l
            total 19
            drwxr-xr-x 2   root root 12288 Mar 8 02:00 lost+found
            -rw-rw---- 1   root root     14 Mar 8 02:12 test.txt
            % cat test.txt
            Hello, world!
            請注意 lost+found 是一個由 mke2fs 自動建立的文件夾一旦文件系統(tǒng)被破壞,部分?jǐn)?shù)據(jù)被回復(fù)但沒有與任何文件關(guān)聯(lián)起來,將被放置在這個文件夾中。。
            結(jié)束使用后,卸載這個文件系統(tǒng):
            % cd /tmp
            % umount /tmp/virtual-fs
            你可以刪除 disk-image,或者之后再次掛載并使用其中的文件。你甚至可以將這個文件復(fù)制到遠程主機并在那里掛載、使用——文件系統(tǒng)的內(nèi)容完全不會受到影響。
            除了從新創(chuàng)建一個文件系統(tǒng),還可以從一個現(xiàn)有的文件系統(tǒng)復(fù)制而得到一份映像。例如,可以通過普通的復(fù)制操作為一個 CD-ROM 創(chuàng)建一份映像。

            如果系統(tǒng)中有一個 IDE 接口的 CD-ROM 驅(qū)動器,使用前面說過的設(shè)備名如 /dev/hda。如果 CD-ROM 是 SCSI 接口的話,設(shè)備文件名可能是 /dev/scd0 之類。系統(tǒng)中也可能包含一個符號鏈接 /dev/cdrom 指向?qū)嶋H的光驅(qū)。請參考 /etc/fstab (譯者注: 手冊)查看系統(tǒng)實際使用的光驅(qū)對應(yīng)的設(shè)備。

            接下來要做的僅僅是將這個設(shè)備復(fù)制為一個文件——得到的文件將是被存在硬盤上的、這個 CD-ROM 內(nèi)容的完整映像。例如:

            % cp /dev/cdrom /tmp/cdrom-image
            取決于設(shè)備的速度和 CD-ROM 的容量,這個操作可能需要幾分鐘的時間。最終的文件將會相當(dāng)大,它的體積與這個 CD-ROM 的容量相同。

            這時,你可以在系統(tǒng)中掛載這個光盤而無須插入原始的 CD-ROM 盤片。要掛載在 /mnt/cdrom 目錄下:

            mount -o loopback=/dev/loop0 /tmp/cdrom-image /mnt/cdrom
            因為映像位于磁盤上,這個文件系統(tǒng)的速度將遠勝于直接掛載自實際光驅(qū)的時候。請注意多數(shù)光盤使用的文件系統(tǒng)類型都是   iso9660。
            久久国产成人午夜AV影院| 国内精品九九久久久精品| 久久国产乱子伦精品免费强| 午夜不卡久久精品无码免费| 亚洲中文字幕无码久久2020| 亚洲国产精品无码久久久不卡| 日韩人妻无码精品久久免费一 | 91久久成人免费| 综合久久给合久久狠狠狠97色| 久久这里只有精品首页| 亚洲AV无码1区2区久久| 99久久精品国产综合一区| 久久无码中文字幕东京热| 久久综合久久综合九色| 久久天天躁夜夜躁狠狠| 香蕉久久一区二区不卡无毒影院| 欧美一区二区久久精品| 91麻精品国产91久久久久 | 伊人久久精品影院| 久久青草国产手机看片福利盒子| 一本大道久久香蕉成人网| 日本道色综合久久影院| 成人综合伊人五月婷久久| 久久久久亚洲精品日久生情 | 久久久精品波多野结衣| 久久人人爽爽爽人久久久| 伊人久久一区二区三区无码| 国产精品成人久久久久久久| 久久99精品久久久久子伦| 亚洲精品国产美女久久久| 久久精品国产免费观看三人同眠| 久久精品国产只有精品66 | 中文字幕日本人妻久久久免费| 国产精品久久久久一区二区三区| 久久精品国产精品青草| 久久99热国产这有精品| 久久99国产精品久久99| 伊人久久免费视频| 2020最新久久久视精品爱| 欧美激情精品久久久久| av国内精品久久久久影院|