百科问答小站 logo
百科问答小站 font logo



为什么 Linux 要用 tar.gz,很少用 7Z 或 ZIP? 第1页

  

user avatar   ldbeth 网友的相关建议: 
      

因为 7z 和 zip 压缩格式都不能保留 unix 风格的文件权限,比如解压出个可执行文件要重新 chmod chown 才能恢复正常。而 tar 格式可以。而 tar 本身不提供压缩,无非就是把包括所有文件的內容和权限拼成一个文件而己,所以用另外如 gzip 格式压缩。为什么是 gzip,因为几乎所有 linux 都支持而已。


官方 ZIP 标准:pkware.cachefly.net/web,又称 PKZIP,未标示支持文件权限记录。有个 ISO 版本的 ZIP 标准 (ISO/IEC 21320-1),功能远少于 PKZIP。而 Linux 上常见的 zip/unzip 是 Info-Zip 实现,自行实现了记录 unix 文件权限的第三方扩展,不过也沒有 setuid 和 setgid,也因为 ZIP 天生的限制不能支持 hardlink。

7z 在 Wikipedia 条目有写明

The 7z format does not store filesystem permissions (such as UNIX owner/group permissions or NTFS ACLs)

其它多处來源亦有大同小异的说明。

说不存在 tar.7z 的,man 7z 里有这么一行


user avatar   zhang-hao-72 网友的相关建议: 
      

补充一点,很久以前看到的说法,tar打包成.tar之后再用gzip压缩,这样就相当于7zip之类的固实模式了,比每个文件独立执行压缩的压缩率会稍高一点。缺点是从很大的压缩包里解压单个文件也得执行完整解压,所以会比较慢。

不过我找了几个有大量小文件的文件夹试了一下,都用默认参数,zip还是比tar+gzip的压缩率高一点点啊。。。再加上7zip,压缩包大小基本是9:10:6的样子。


user avatar   sha-bao-yao-meng 网友的相关建议: 
      

女王:求求题主放过我,我可不敢有什么政绩。。。




  

相关话题

  为什么好多人说大牛都玩Unix/Linux? 
  普通个人电脑能做到的最酷炫的事是什么? 
  在初期用户不多的时候,服务器的核心数,内存和带宽应该优先升级哪个? 
  Linux 内核的 C 代码风格是怎样的? 
  大学学习linux是安装虚拟机,还是安装双系统。? 
  elasticsearch 部署在windows, 还是在linux? 
  为何一提起Linux,总有人指出显卡驱动配置不好等问题? 
  如何反驳「Powershell 比 Linux shell(bash..)好得多」这种说法? 
  linux在系统调用进入内核时,为什么要将参数从用户空间拷贝到内核空间?不能直接访问,或是使用memcpy吗?非要使用copy_from_user才行吗? 
  用到了高版本Qt库,但Ubuntu更新不到那么高的Qt版本,自己拷贝高版本Qt库过去又有问题,怎么办? 

前一个讨论
想问问读博的家人们,怎么平衡科研和生活的?
下一个讨论
什么样的人适合搞科研?





© 2025-04-24 - tinynew.org. All Rights Reserved.
© 2025-04-24 - tinynew.org. 保留所有权利