将 Squashfs 提取到现有目录

ple*_* me 13 squashfs execute-command 13.10

我有一个 Ubuntu 安装备份为 .squashfs 文件。我想将其解压缩到分区的根目录,但是当我尝试时出现错误,提示该目录存在。我可以很好地提取到不存在的目录。我搜索了有关使用 squashfs-tools 的信息,但找不到可用于提取到现有位置(例如空分区)的命令。

这是我正在使用的用于提取到不存在的位置的命令:

sudo unsquashfs -d /media/location1/locationthatdoesntexist /media/location2/file.squashfs
Run Code Online (Sandbox Code Playgroud)

我尝试使用它来提取到一个空分区,但它不起作用:

sudo unsquashfs -d /media/location1 /media/location2/file.squashfs
Run Code Online (Sandbox Code Playgroud)

来源

小智 23

您链接到的来源告诉您需要做什么:

除非指定了 -f 选项,否则该工具不会在已经存在的目录中提取压缩的文件系统。

所以这应该有效

sudo unsquashfs -f -d /media/location1 /media/location2/file.squashfs
Run Code Online (Sandbox Code Playgroud)


MrV*_*dji 13

  1. 挂载 squashfs FILE.SQUASHFS

    sudo mount -t squashfs PATH/TO/FILE.SQUASHFS /mnt
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将他的内容复制到DIRECTORY(必须存在):

    sudo cp -av /mnt/. PATH/TO/DIRECTORY
    
    Run Code Online (Sandbox Code Playgroud)
  3. 卸载 squashfs FILE.SQUASHFS

    sudo umount /mnt
    
    Run Code Online (Sandbox Code Playgroud)