将 Squashfs 提取到现有目录

将 Squashfs 提取到现有目录

我有一个 Ubuntu 安装备份为 .squashfs 文件。我想将其提取到分区的根目录,但当我尝试时,系统出现错误,提示目录已存在。我可以顺利提取到不存在的目录。我搜索了有关使用 squashfs-tools 的信息,但找不到可以使用哪些命令提取到现有位置(例如空分区)。

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

sudo unsquashfs -d /media/location1/locationthatdoesntexist /media/location2/file.squashfs

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

sudo unsquashfs -d /media/location1 /media/location2/file.squashfs

来源

答案1

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

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

所以这应该可行

sudo unsquashfs -f -d /media/location1 /media/location2/file.squashfs

答案2

  1. 挂载 squashfs文件.SQUASHFS

    sudo mount -t squashfs PATH/TO/FILE.SQUASHFS /mnt
    
  2. 将其内容复制到目录(必须存在):

    sudo cp -av /mnt/. PATH/TO/DIRECTORY
    
  3. 卸载 squashfs文件.SQUASHFS

    sudo umount /mnt
    

相关内容