losetup 命令详解

| 选择喜欢的代码风格  

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

losetup 命令安装:


-bash: losetup: command not found

#Debian
apt-get install mount

#Ubuntu
apt-get install mount

#Alpine
apk add util-linux

#Arch Linux
pacman -S util-linux

#Kali Linux
apt-get install mount

#CentOS
yum install util-linux

#Fedora
dnf install util-linux

#OS X
brew install util-linux

#Raspbian
apt-get install loop-aes-utils

#Docker
docker run cmd.cat/losetup losetup

losetup 命令补充说明:


losetup 用于将循环设备与常规文件或块设备相关联,分离循环设备并查询循环设备的状态。

循环设备,也称为 vnd(vnode 磁盘)或 lofi(环回文件接口)是一种伪设备,可使文件作为块设备进行访问。

如果仅给出 loopdev 参数,则显示相应循环设备的状态。

losetup 命令语法:


losetup loopdev
losetup -a
losetup -j file [-o offset]
losetup -d loopdev...
losetup -f
losetup [{-e|-E} encryption] [-o offset] [--sizelimit size] [-p pfd] 
        [-r] {-f[--show]|loopdev} file
losetup -c loopdev

losetup 命令选项:


-a, --all 显示所有回路设备的状态
-c, --set-capacity loopdev 强制循环驱动程序重新读取与指定循环设备关联的文件的大小
-d, --detach loopdev... 分离与指定循环设备关联的文件或设备
-e, -E, --encryption encryption_type 启用具有指定名称或编号的数据加密
-f, --find 查找第一个未使用的环路设备。 如果存在文件参数,请使用此设备。 否则,请打印其名称。
-h, --help 打印帮助
-j, --associated file 显示与给定文件关联的所有循环设备的状态
-k, --keybits num 将要在键中使用的位数设置为num。
-N, --nohashpass 不要哈希密码。 默认情况下,Debian系统通过哈希函数运行密码,而非Debian系统可能不会。
-o, --offset offset 数据开始将偏移字节移到指定的文件或设备中
--sizelimit size 数据开始后,数据结束设置为不超过大小字节
-r, --read-only 设置只读循环设备
--show 如果存在-f选项和文件参数,则打印设备名称。 不建议使用此选项的缩写(-s)。 这种简短形式可能与Loop-AES实现冲突,在后者中,--sizelimit使用相同的选项。

losetup 命令参数:


loop_device:循环设备可以是/dev/loop0, /dev/loop1 ... /dev/loop7。
file:要与循环设备相关联的文件名,这个往往是一个磁盘镜象文件,如 *.img

losetup 命令退出状态:


losetup 成功时返回退出状态 0,失败时返回非零状态。 当 losetup 命令显示循环设备的状态时,如果未配置该设备,则返回 1;如果发生错误,则返回 2,这阻止了 losetup 确定设备的状态。

losetup 命令实例


如果使用可加载回路设备模块,则必须首先使用以下命令加载模块:

modprobe loop

可能还需要加密模块。

modprobe des

modprobe cryptoloop

以下命令是使用循环设备的示例:

dd if=/dev/zero of=/file bs=1k count=100
losetup -e des /dev/loop0 /file


密码:
初始化(最多16个十六进制数字):

mkfs -t ext2 /dev/loop0 100
mount -t ext2 /dev/loop0 /mnt
...
umount /dev/loop0
losetup -d /dev/loop0

如果使用的是可加载模块,则可以使用以下命令删除该模块:

rmmod loop

losetup 命令其他示例:

#创建空的磁盘镜像文件,这里创建一个 1.44M 的软盘:
dd if=/dev/zero of=floppy.img bs=512 count=2880

#使用 losetup将磁盘镜像文件虚拟成快设备:
losetup /dev/loop1 floppy.img

#挂载块设备:
mount /dev/loop0 /tmp

#经过上面的三步之后,我们就可以通过/tmp目录,像访问真实快设备一样来访问磁盘镜像文件floppy.img。

#卸载loop设备:

umount /tmp
losetup -d /dev/loop1

losetup 命令扩展阅读:




losetup 命令评论