温馨提示×

Linux分区怎样压缩

小樊
47
2025-09-08 07:03:59
栏目: 智能运维

Linux分区压缩需区分场景选择工具,以下是常见方法及操作要点:

一、文件系统级别压缩(需文件系统支持)

  • Btrfs文件系统

    1. 挂载时启用压缩:mount -o remount,compress=zstd /dev/sdXN /mntzstd为压缩算法,可选gzip等)。
    2. 检查压缩状态:btrfs filesystem usage /mnt
  • XFS文件系统
    需在挂载时指定压缩选项(部分版本支持):mount -o remount,compress /dev/sdXN /mnt,但压缩效率低于Btrfs。

二、逻辑卷管理(LVM)压缩

  1. 卸载逻辑卷umount /dev/mapper/vg-name/lv-name
  2. 检查文件系统e2fsck /dev/mapper/vg-name/lv-name
  3. 缩小文件系统resize2fs /dev/mapper/vg-name/lv-name 10G(将文件系统缩小到10GB)。
  4. 缩小逻辑卷lvreduce -L 10G /dev/mapper/vg-name/lv-name
  5. 重新挂载mount /dev/mapper/vg-name/lv-name /mnt

三、分卷压缩(大文件/目录拆分压缩)

  • ZIP格式(跨平台兼容)

    zip -r -s 100M archive.zip /path/to/directory  # 每个分卷100MB,生成archive.zip.z01、archive.zip.z02等。  
    解压:`unzip archive.zip`(自动合并分卷)。  
    
  • TAR.GZ格式(Linux高效压缩)

    tar -czvf - /path/to/directory | split -b 500M - archive.tar.gz.  # 每个分卷500MB,生成archive.tar.gz.aa、archive.tar.gz.ab等。  
    解压:`cat archive.tar.gz.* | tar xzvf - -C /target/path`。  
    
    

四、注意事项

  1. 数据备份:操作前务必备份重要数据,尤其是分区调整或LVM操作有数据丢失风险。
  2. 权限要求:需使用root用户或sudo执行相关命令。
  3. 工具依赖zipsplit等命令需提前安装(如Ubuntu/Debian使用sudo apt install zip)。

根据需求选择合适方案:

  • 需跨平台传输选ZIP分卷
  • 纯Linux环境且追求高压缩比选TAR.GZ分卷
  • 调整分区大小选LVM或文件系统原生压缩

0