7z

7z

大家好,我想知道如何使用 gzip 7z tar 或常规 zip 压缩目录,例如 /var/Backups/Tones,常规 gzip 无法做到这一点,因为 Tones 是一个目录,而这个网站 ss64.com/bash 并没有提供太多信息,我已经在谷歌上搜索过了,但那些人说的是基于计算机的,而不是移动的,如果可能的话,我还想让存档受密码保护?如果有帮助的话,我正在使用 bash 来做到这一点。

这将在越狱后的 iPad、iPhone 和 iPod 等 iDevice 上使用;它们有 7z gzip 和 tar。

好的,我使用以下命令使目录压缩正常工作:

#!/bin/bash
cd /var/Backups
7z a -p{example} Tones.tar.7z

我现在的问题是,当我去 iPhone 上提取该档案时,它甚至没有要求输入密码,我做错了什么吗?

答案1

您有多种选择。

7z

tar -cf tarfile.tar path/to/files/
7z a tarfile.tar.7z tarfile.tar

这将创建tarfile.tar.7z。为了帮助清理,如果您已经安装了它,您可以使用:

p7zip tarfile.tar

反而。

至于密码保护,这是一个既不是tar也不是的选项p7zip。如果您习惯使用该7z命令,可以-p{password}根据手册页为其提供一个选项。

7z a -p{password} tarfile.tar.7z tarfile.tar

这将保留tarfile.tar原位,因此您需要使用类似以下的方法进行清理:

if 7z q -p{password} tarfile.tar.7z tarfile.tar; then
  rm tarfile.tar
fi

一个更简单的选择可能是牺牲你的压缩,然后使用压缩-9选择其所能达到的最大压缩程度。

请注意,这远不如使用 PGP 或 GnuPG 正确设计的方案那么安全,因此如果您能找到该方法(并且复杂性不会危及您的安全),那么您将走得更远。阅读前列腺特发性硬化症或者基努,两者都可以满足您的需要。

压缩

与 7z 一样,您无法使用单个命令行对 tar 进行密码保护。此外,该gzip命令也不提供任何密码保护。因此这也迫使您使用第二步:

tar czf - path/to/files/ | openssl enc -aes-256-cbc -e > tarfile.tar.gz.enc

阅读openssl 的文档了解如何让它不在命令行上要求输入密码。或者:

tar czf tarfile.tar.gz path/to/files/
gpg --encrypt tarfile.tar.gz

请注意,您需要先设置 gpg 才能使其正常运行。

可能还有其他方法(或者“肯定有”)可以做到这一点。您可能希望将此作为进一步研究的起点。

压缩

如果zip你的越狱设备中包含该命令,那么你可以使用如下命令:

zip -e -P{password} zipfile.zip path/to/files/

请注意 zip 的手册页说明了该-P选项:这是不安全的.它继续说,在安全性真正重要的地方,请使用强加密(如 Pretty Good Privacy),而不是 zipfile 实用程序提供的相对较弱的标准加密。

这些命令中的任何一个都可以放在脚本中。如果您需要编写脚本方面的帮助,请发布您目前所获得的信息,以便我们提供反馈。

这就是我所得到的一切。

答案2

tar czf your_dir.tgz your_dir/ 将创建一个压缩档案,大多数其他 zip 程序至少可以理解并在需要时解压。

但是,对于密码保护,tar/gzip 没有直接支持。请使用 ghoti 提出的解决方案,或者设置 GPG/PGP 并在压缩 tar 之前对其进行加密。

相关内容