使用列出块后lsblk
,我发现列出了 14 个外观块,从循环 0 到循环 13。
me@alpha:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 87.9M 1 loop /snap/core/5662
loop1 7:1 0 140.7M 1 loop /snap/gnome-3-26-1604/74
loop2 7:2 0 3.7M 1 loop /snap/gnome-system-monitor/57
loop3 7:3 0 140.9M 1 loop /snap/gnome-3-26-1604/70
loop4 7:4 0 34.6M 1 loop /snap/gtk-common-themes/818
loop5 7:5 0 42.1M 1 loop /snap/gtk-common-themes/701
loop6 7:6 0 89.5M 1 loop /snap/core/6130
loop7 7:7 0 2.3M 1 loop /snap/gnome-calculator/238
loop8 7:8 0 130.2M 1 loop /snap/gnome-3-28-1804/4
loop9 7:9 0 14.5M 1 loop /snap/gnome-logs/45
loop10 7:10 0 13M 1 loop /snap/gnome-characters/124
loop11 7:11 0 53.7M 1 loop /snap/core18/536
loop12 7:12 0 13M 1 loop /snap/gnome-characters/139
loop13 7:13 0 2.3M 1 loop /snap/gnome-calculator/260
sda 8:0 0 113G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
└─sda2 8:2 0 112.5G 0 part /
但是,当我列出使用ls /dev
并查找使用块时grep 'loop'
,我发现列出了 15 个块,其中loop14
显示了一个额外的块。
me@alpha:~$ ls /dev | grep 'loop'
loop0
loop1
loop10
loop11
loop12
loop13
loop14
loop2
loop3
loop4
loop5
loop6
loop7
loop8
loop9
loop-control
为何loop14
未列出lsblk
?
答案1
lsblk
列出带有备份文件的循环设备。就您而言,循环设备 0-13 有备份文件,并显示出来。
losetup --find
,用于查找下一个可用的循环设备,如果所有现有循环设备都在使用中(如果以 root 身份运行),则会自动创建一个新的循环设备。因此,某些进程可能losetup --find
以 root 身份运行以查找可用的循环设备,但可能没有使用它。
例子:
我有七个循环设备,全部支持:
$ sudo losetup --list --all
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop1 0 0 1 1 /var/lib/snapd/snaps/core_5897.snap
/dev/loop6 0 0 0 0 /tmp/foo
/dev/loop4 0 0 0 0 /tmp/foo
/dev/loop2 0 0 1 1 /var/lib/snapd/snaps/core_6130.snap
/dev/loop0 0 0 1 1 /var/lib/snapd/snaps/vuze-vs_3.snap
/dev/loop7 0 0 0 0 /tmp/foo
/dev/loop5 0 0 0 0 /tmp/foo
/dev/loop3 0 0 1 1 /var/lib/snapd/snaps/core_6034.snap
$ ls /dev/loop*
/dev/loop0 /dev/loop2 /dev/loop4 /dev/loop6 /dev/loop-control
/dev/loop1 /dev/loop3 /dev/loop5 /dev/loop7
我losetup
以 root 身份请求下一个可用的循环设备:
$ sudo losetup --find
/dev/loop8
并losetup
为我创建了这个:
$ ls /dev/loop*
/dev/loop0 /dev/loop2 /dev/loop4 /dev/loop6 /dev/loop8
/dev/loop1 /dev/loop3 /dev/loop5 /dev/loop7 /dev/loop-control
但它不在lsblk
:
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop1 7:1 0 88.2M 1 loop /snap/core/5897
loop6 7:6 0 1M 0 loop
loop4 7:4 0 1M 0 loop
sr0 11:0 1 1024M 0 rom
loop2 7:2 0 89.5M 1 loop /snap/core/6130
loop0 7:0 0 280.2M 1 loop /snap/vuze-vs/3
loop7 7:7 0 1M 0 loop
sda 8:0 0 41G 0 disk
└─sda1 8:1 0 41G 0 part /
loop5 7:5 0 1M 0 loop
loop3 7:3 0 89.5M 1 loop /snap/core/6034
因为它没有任何可用作块设备的东西支持。