關於檔案系統的壓縮 - Linux

Table of Contents

※ 引述《gn00618777 (非常念舊)》之銘言:
: 想請問從官網抓下來的 filesystem 壓縮檔例如 Oneiric.gz
: 點擊兩下都會直接出現被壓縮內容,例如: bin root usr 就像我們的Linux filesystem
: 我將他們解壓縮到一個 A 資料夾,接著想要將他們壓縮成另一格式。
: 比如說 tar -jcv xxx.tar.bz2 A/* ( tar 參數 目的 來源)
: 這樣我點擊 xxx.tar.bz2 他出現被解壓縮內容為一個A資料夾,要怎樣才能壓縮成
: 點擊壓縮檔會直接出現 bin root usr 等等的這些資料夾呢? 謝謝。

cd A ; tar -jcvf ../xx.tar.bz2 .

或者是

tar -jcvf xx,tar.bz2 -C A .

-C 表示切換工作目錄

: ====================================================================
: 第二個問題是,似乎不能這樣直接將 filesystem 解壓再壓縮成另一格式,
: 因為在一開始解壓的會後會出現一些權限錯誤訊息,最後就算製成另一種格式
: 的壓縮檔之後,被 kernel 掛載,也會出現權限不能存取問題,請問該如何做呢?
: 謝謝。

xxx.tar.gz 變成 xx.tar.bz2 ? 那可以這樣:

gzip -dc xxx.tar.gz | bzip2 > xx.tar.bz2

這樣權限不會跑掉....

若是 tar.bz2 變成 tar.gz 那也是類似:

bzip2 -dc xxx.tar.bz2 | gzip > xx.tar.gz

有看到另外一篇你似乎把整個 tar.bz2 解開了其實沒有必要,只要還原成為
tar 格式重新壓縮就好。再來直接解開還原變成 tar 檔案放在硬碟也不好,
因為佔用空間... 所以透過上面 stdout 輸出重新壓縮一份比較快速。

--

All Comments