我在从 squashfs 中排除特定文件时遇到问题。我希望能够排除所有以 *.db 结尾的文件类型,但没有运气。
每当我使用参数运行 mksquashfs 命令以排除文件时,它总是包含该文件。我尝试了许多不同的命令变体。我的测试脚本如下:
#!/bin/bash
OPT="-regex -e '*.db' "
echo -e "Creating squashfs..."
mksquashfs test test.package ${OPT}
echo "Ran the following command: mksquashfs pf test.package ${OPT}"
echo -e "Uncompressing squashfs..."
mkdir pf_post
unsquashfs -f -d test_post/ test.package
echo
read -p "press any key to continue..."
rm test.package
rm -r test_post
测试目录的树如下。应该排除 test.db 的两个实例,但它似乎不起作用。
test
├── test
│ └── test.db
├── test.ab
├── test.cd
├── test.db
├── test.ef
├── test.gh
└── test.sh
将其切换为通配符部分修复了它。这排除了第一个 .db 文件,但没有排除第二个更深的子目录。有没有办法告诉它排除所有“.db”文件,而不仅仅是最低目录中的第一个?下面是排除第一种文件类型的代码。两种解决方案仍然没有排除子目录“.db”文件。
mksquashfs test test.package -wildcards -e '*.db'
mksquashfs test test.package -regex -e '\.db$'
上述一些解决方案是从以下链接提供的,但我遇到了无法排除所有“.db”文件的死胡同。 https://askubuntu.com/questions/628585/mksquashfs-not- exclude-file