gpt4 book ai didi

linux - "tar cf xxxx | gzip -n"与 "tar zcf xxxx"之间有什么区别吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:56:07 25 4
gpt4 key购买 nike

我正在维护一些旧脚本,我遇到了这个:

tar -cvf - ${files} | gzip -n -c | openssl ...

这个和没有 gzip 的“-n”的更紧凑的有什么实际区别吗?有没有其他方法可以在 tar 命令中将“-n”传递给 gzip?

tar -cvzf - ${files} | openssl ...

这是在 Linux 3.0.101-0.47.71-default 上。我希望性能略有提高,但我担心的是不会导致下游发生变化。

最佳答案

tar没有内置 gzip 压缩。在任何 gzip 上我知道,n通过 stdin 馈送时没有任何意义.除此之外,当然要将 gzip 数据中的压缩时间戳设置为 0。

老实说,我怀疑这个选项的用处——在我可以测试的任何东西上,大小都保持不变。这是正确的行为 - header (如 RFC 1952, Sec. 2.2 中指定)仅具有自纪元以来以秒为单位的 4B timespec - 如果将其设置为 0,则表示“未保存 timespec”。所以,除非你需要让 gzip 数据的接收者知道它何时被压缩,-n没有任何好处。 (如果您有一些基于未知时间的身份验证方案,例如,从启动设备后的时间生成的 session ID,那么省略此类时间戳可能会带来安全好处,但坦率地说,我宁愿担心堵塞这些安全漏洞而不是将时间戳设置为零。)

关于linux - "tar cf xxxx | gzip -n"与 "tar zcf xxxx"之间有什么区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41232995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com