新聞中心
在Linux中,有一種特殊的塊設(shè)備叫l(wèi)oop device,這種loop device設(shè)備是通過影射操作系統(tǒng)上的正常的文件而形成的虛擬塊設(shè)備。因為這種設(shè)備的存在,就為我們提供了一種創(chuàng)建一個存在于其他文件中的虛擬文件系統(tǒng)的機制。

10余年專注成都網(wǎng)站制作,成都定制網(wǎng)頁設(shè)計,個人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識、方案,網(wǎng)站設(shè)計流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù),專注于成都定制網(wǎng)頁設(shè)計,高端網(wǎng)頁制作,對三維植被網(wǎng)等多個領(lǐng)域,擁有多年的網(wǎng)站設(shè)計經(jīng)驗。
示例
第一步:使用dd命令創(chuàng)建文件
dd if=/dev/zero of=FS_on_file bs=1k count=10000
第二步:使用losetup命令創(chuàng)建一個loop device
losetup /dev/loop0 FS_on_file
第三步:創(chuàng)建一個文件系統(tǒng)
mkfs -t ext3 /dev/loop0
第四步:掛載這個文件系統(tǒng)
(the mount point '/mnt/FS_file0' has been created before by 'mkdir'):
mount /dev/loop0 /mnt/FS_file0
第五步:若要刪除剛才創(chuàng)建的這些對象,依次執(zhí)行如下步驟:
$ umount /dev/loop0
$ losetup -d /dev/loop0
$ rm FS_on_file
說明
1. 詳細的losetup命令如下
[root@linuxprobe ~]# losetup
usage:
losetup loop_device # give info
losetup -d loop_device # delete
losetup [ -e encryption ] [ -o offset ] loop_device file # setup
其中加密選項有如下幾種方式:
NONE use no encryption (default).
XOR use a simple XOR encryption.
DES use DES encryption.
DES encryption is only available if the optional DES package has been added to the kernel.
DES encryption uses an additional start value that is used to protect passwords against dictionary attacks.
2. 默認情況下系統(tǒng)支持的loop device是8個
[root@linuxprobe ~]# ls -ltr /dev/loop*
brw-r----- 1 root disk 7, 0 Jul 19 2009 /dev/loop0
brw-r----- 1 root disk 7, 1 Jul 19 2009 /dev/loop1
brw-r----- 1 root disk 7, 2 Jul 19 2009 /dev/loop2
brw-r----- 1 root disk 7, 3 Jul 19 2009 /dev/loop3
brw-r----- 1 root disk 7, 4 Jul 19 2009 /dev/loop4
brw-r----- 1 root disk 7, 5 Jul 19 2009 /dev/loop5
brw-r----- 1 root disk 7, 6 Jul 19 2009 /dev/loop6
brw-r----- 1 root disk 7, 7 Jul 19 2009 /dev/loop7
如果需要超過8個loop device,那么使用losetup命令的時候可能會遇到類似的錯誤 ‘no such device’,這是因為超過了可用loop device設(shè)備的最大限制,依據(jù)你的Linux系統(tǒng),可以通過修改 /etc/modprobe.conf 配置文件,增加如下參數(shù)的方式進行擴展
options loop max_loop=20 --比如我增加到20個
如果要馬上生效的話,可以執(zhí)行以下命令立即加載該模塊。
modprobe -v loop
[root@linuxprobe ~]# cat /etc/modprobe.conf|grep loop
options loop max_loop=20
[root@linuxprobe ~]# modprobe -v loop
insmod /lib/modules/2.6.9-42.0.0.0.1.ELsmp/kernel/drivers/block/loop.ko max_loop=20
[root@linuxprobe ~]# ls -ltr /dev/loop*
brw-rw---- 1 root disk 7, 8 Jul 19 07:44 /dev/loop8
brw-rw---- 1 root disk 7, 9 Jul 19 07:44 /dev/loop9
brw-rw---- 1 root disk 7, 10 Jul 19 07:44 /dev/loop10
brw-rw---- 1 root disk 7, 11 Jul 19 07:44 /dev/loop11
brw-rw---- 1 root disk 7, 12 Jul 19 07:44 /dev/loop12
brw-rw---- 1 root disk 7, 13 Jul 19 07:44 /dev/loop13
brw-rw---- 1 root disk 7, 14 Jul 19 07:44 /dev/loop14
brw-rw---- 1 root disk 7, 15 Jul 19 07:44 /dev/loop15
brw-rw---- 1 root disk 7, 16 Jul 19 07:44 /dev/loop16
brw-rw---- 1 root disk 7, 17 Jul 19 07:44 /dev/loop17
brw-rw---- 1 root disk 7, 18 Jul 19 07:44 /dev/loop18
brw-rw---- 1 root disk 7, 19 Jul 19 07:44 /dev/loop19
brw-rw---- 1 root disk 7, 0 Jul 19 2009 /dev/loop0
brw-rw---- 1 root disk 7, 1 Jul 19 2009 /dev/loop1
brw-rw---- 1 root disk 7, 2 Jul 19 2009 /dev/loop2
brw-rw---- 1 root disk 7, 3 Jul 19 2009 /dev/loop3
brw-rw---- 1 root disk 7, 4 Jul 19 2009 /dev/loop4
brw-rw---- 1 root disk 7, 5 Jul 19 2009 /dev/loop5
brw-rw---- 1 root disk 7, 6 Jul 19 2009 /dev/loop6
brw-rw---- 1 root disk 7, 7 Jul 19 2009 /dev/loop7
有了這個東西,在Linux下就可以借助file來測試學習ASM了。
分享文章:詳解Linuxloopdevice
網(wǎng)頁鏈接:http://www.dlmjj.cn/article/dpogsdg.html


咨詢
建站咨詢
