Linux系统中,分区压缩需根据分区是否挂载、是否使用LVM等因素选择合适工具。以下是具体方法及注意事项:
GParted是Linux下常用的图形化分区编辑器,支持调整分区大小(包括压缩),操作直观且安全。
sudo apt install gparted,CentOS使用sudo yum install gparted。/dev/sda),右侧列表中找到需要压缩的分区(如/dev/sda1)。umount命令卸载,或使用Live CD启动以避免影响系统运行)。parted是Linux下的命令行分区工具,适合习惯终端操作的用户,功能与GParted类似。
sudo parted /dev/sdX(/dev/sdX为目标磁盘,如/dev/sda),进入交互模式。print命令,查看磁盘分区表,确认目标分区编号(如/dev/sda1对应Partition 1)。resizepart PARTITION_NUMBER NEW_END(PARTITION_NUMBER为目标分区编号,NEW_END为新的结束位置,单位为MB/GB)。例如,将/dev/sda1从100GB压缩到80GB,输入resizepart 1 80GB。quit退出parted,修改会自动保存。umount /dev/sdXN),系统分区需使用Live CD启动。若不想改变分区大小,可通过文件系统内置压缩功能减少文件占用空间,适合已存在大量小文件的场景。
compress选项,例如:sudo mount -o compress=zstd /dev/sdXN /mnt # 使用zstd算法压缩(ext4需内核4.1+支持)
或修改/etc/fstab文件,添加compress选项实现永久生效:/dev/sdXN /mnt ext4 defaults,compress=zstd 0 2
sudo mount -o compress=zstd /dev/sdXN /mnt
或修改/etc/fstab:/dev/sdXN /mnt btrfs defaults,compress=zstd 0 0
注意:文件系统压缩会增加CPU负载,但对读写性能影响较小(尤其是现代CPU支持的zstd算法)。
rsync、tar等工具)。umount命令卸载(如sudo umount /dev/sdXN);系统分区需使用Live CD启动(如Ubuntu安装盘)。fsck检查文件系统完整性(如sudo fsck /dev/sdXN),避免操作中出现错误。lvreduce命令压缩逻辑卷(需先缩小文件系统,如resize2fs),步骤更灵活但复杂度更高。以上方法覆盖了Linux分区压缩的常见场景,选择时需根据分区用途、系统环境及个人经验决定。操作前务必确认备份到位,避免数据损失。