Linux下如何创建loop device
在Linux中,有一種特殊的塊設(shè)備叫l(wèi)oop device,這種loop device設(shè)備是通過影射操作系統(tǒng)上的正常的文件而形成的虛擬塊設(shè)備
?
。因?yàn)檫@種設(shè)備的存在,就為我們提供了一種創(chuàng)建一個(gè)存在于其他文件中的虛擬文件系統(tǒng)的機(jī)制.下面是一個(gè)示例:
第一步:用dd創(chuàng)建一個(gè)大文件:
dd if=/dev/zero of=node1 bs=4M count=500
?
這樣就在當(dāng)前目錄下創(chuàng)建了一個(gè)2G的文件"node1"
?
第二步:使用losetup命令創(chuàng)建一個(gè)loop device
losetup /dev/loop0 node1
?
第三步:創(chuàng)建一個(gè)文件系統(tǒng)
mkfs -t ext3 /dev/loop0
?
第四步:掛載這個(gè)文件系統(tǒng)
mount /dev/loop0 /mnt/
?
最后:如果要?jiǎng)h除剛才創(chuàng)建的這些對(duì)象,依次執(zhí)行如下步驟:
$ umount /dev/loop0
$ losetup -d /dev/loop0
$ rm node1
說(shuō)明:1)詳細(xì)的losetup命令如下
[root@vm11g ~]# losetup
usage:
losetup loop_device # give info
losetup -d loop_device # delete
losetup [ -e encryption ] [ -o offset ] loop_device file # setup
[root@vm11g ~]#
其中加密選項(xiàng)有如下幾種方式:
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)默認(rèn)情況下系統(tǒng)支持的loop device是8個(gè)
[root@vm11g dev]# 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
[root@vm11g dev]#
如果需要超過8個(gè)loop device,那么使用losetup命令的時(shí)候可能會(huì)遇到類似的錯(cuò)誤 'no such device',這是因?yàn)槌^了可用
?
loop device設(shè)備的最大限制,依據(jù)你的Linux系統(tǒng),可以通過修改
/etc/modprobe.conf
配置文件,增加如下參數(shù)的方式進(jìn)行擴(kuò)展
options loop max_loop=20 --比如我增加到20個(gè)
保存退出,如果要了馬上生效的話,可以通過
modprobe -v loop
命令立即加載該模塊。
[root@vm11g dev]# cat /etc/modprobe.conf|grep loop
options loop max_loop=20
[root@vm11g dev]# modprobe -v loop
insmod /lib/modules/2.6.9-42.0.0.0.1.ELsmp/kernel/drivers/block/loop.ko max_loop=20
[root@vm11g dev]# 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
有了這個(gè)東西,在Linux下就可以借助file來(lái)測(cè)試學(xué)習(xí)ASM了(后續(xù)發(fā)表)
轉(zhuǎn)載于:https://www.cnblogs.com/zphj1987/archive/2013/01/05/2845957.html
總結(jié)
以上是生活随笔為你收集整理的Linux下如何创建loop device的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BZOJ 3231: [Sdoi2008
- 下一篇: StringUtil.isNotEmpt