Linux分區壓縮主要有以下兩種場景及對應方法:
ZIP格式分卷壓縮
使用zip -s <分卷大小> -r <壓縮包前綴>.zip <目錄>
命令,支持跨平臺,分卷自動命名(如.z01
、.zip
),解壓時只需指定最后一個分卷即可自動合并。
示例:zip -s 100m -r data.zip /data
。
TAR.GZ格式分卷壓縮
先用tar -czvf - <目錄>
打包,再通過split -b <分卷大小> - <前綴>.tar.gz.
拆分。支持數字后綴(-d -a 2
),適合Linux環境。
示例:tar -czvf - /home | split -b 500m - home_split.tar.gz.
。
LVM邏輯卷壓縮
僅適用于LVM管理的邏輯分區,步驟包括:卸載分區→檢查文件系統→縮小文件系統(resize2fs
/xfs_growfs
)→縮小邏輯卷(lvreduce
)→重新掛載。
注意:XFS文件系統需先備份數據再重建分區,操作有數據丟失風險。
文件系統原生壓縮
部分文件系統(如Btrfs)支持掛載時啟用壓縮(remount,compress=zstd /dev/sdX /mnt
),但僅對新寫入數據生效,無法壓縮已有數據。
fsck
),確保數據可用。