我mksquashfs
在重新安装系统之前使用工具备份 Ubuntu 的根目录:
sudo mksquashfs / root.squashfs -ef "/home/admin/squashfs_root/exclude.txt"
但我在文档中没有找到该文件的格式。我把以下内容放进去:
/proc
/sys
/dev
/tmp
/run
/mnt
/media
/swapfile
它会按预期工作吗,排除那些特定目录而不是其他目录内的类似目录?
我mksquashfs
在重新安装系统之前使用工具备份 Ubuntu 的根目录:
sudo mksquashfs / root.squashfs -ef "/home/admin/squashfs_root/exclude.txt"
但我在文档中没有找到该文件的格式。我把以下内容放进去:
/proc
/sys
/dev
/tmp
/run
/mnt
/media
/swapfile
它会按预期工作吗,排除那些特定目录而不是其他目录内的类似目录?
它记录在通常分发在二进制包中的 README 或 USAGE 文件中,您也可以在github 源中找到它,例如usage 4.6。
有两种类型的排除语法、您正在使用的传统基本语法和需要
-wildcard
或-regex
选项的首选扩展语法。基本匹配包括要排除的文件名或目录。每个都分为绝对或相对。绝对名称以“/”、“../”或“./”开头。它们被转换为
lstat(2)
设备和 inode 编号,因此它们通常应该从当前目录开始/
存在..
。相对名称被添加到每个源名称的末尾,并且该字符串的转换方式与设备和 inode 类似。
例如对于 2 个来源:
/tmp/a b
和排除模式:-e /foo /tmp/a/1 ../d 2 c/3
你将排除文件或目录(
<cwd>
当前目录在哪里)以及但只有这些文件或目录存在时才会出现。对于每个不存在的文件或目录,您都会收到警告。因此,如果您
mksquashfs
在当前目录中运行/tmp/a/c
,则/tmp/a/c/../d
ie/tmp/a/d
将被排除。首选的扩展排除语法适用于字符串而不是 inode,默认情况下模式会锚定到每个源的开头。您需要添加前缀
...
以匹配未锚定的模式。