為何 linux 要用 tar.gz,而不用 7z或zip?
知識
08-18
為 7z 和 zip 壓縮格式都不能保留 unix 風格的文件許可權,比如解壓出個可執行文件要重新 chmod chown 才能恢復正常。而 tar 格式可以。而 tar 本身不提供壓縮,無非就是把包括所有文件的內容和許可權拼成一個文件而己,所以用另外如 gzip 格式壓縮。為什麼是 gzip,因為幾乎所有linux都支持而已。
從壓縮演算法上來說, gz 是 gzip 的縮寫,用的壓縮演算法和 zip 是一路貨。
其實現在 Linux 已經轉用 tar.xz 了,比如 deb (debian/ubuntu 用的軟體包格式)好幾年前就用 tar.xz 了。xz 和 7z 也是一路貨。
如果你在意的是 tar.gz 是兩段,先 tar 再 gz,那是因為 linux 受 unix 哲學「一個工具只做好一件事」的影響。
至於為什麼沒搞出 tar.zip 這樣的東西?這是因為當年 zip 的官方軟體是個共享軟體,不是自由軟體。所以 Linux 不能直接用或者移植。那既然重寫的話,就沒有必要做的和 zip 一樣,畢竟 gz 只用管壓縮,不用管打包。
※OpenMandriva Lx 4.0 發布,Linux 桌面與伺服器發行版本
※基於Debian 9.9的Emmabuntüs DE2-1.04 發布
TAG:Linux資訊速推 |