CentOS磁盘回收操作指南
临时文件是磁盘空间的常见消耗源,主要包括/tmp、/var/tmp目录及系统缓存。
/tmp用于存储临时文件,删除前需确认无正在运行的程序依赖这些文件。命令:sudo rm -rf /tmp/*。/tmp,但部分程序会长期存储临时文件。命令:sudo rm -rf /var/tmp/*。sudo sync;echo 3 | sudo tee /proc/sys/vm/drop_caches。YUM/DNF包管理器会缓存下载的软件包(.rpm文件),占用/var/cache/yum或/var/cache/dnf目录空间。
sudo yum clean all(适用于CentOS 7及以下)。sudo dnf clean all(适用于CentOS 8及以上)。卸载不再使用的软件包,并清理其残留的配置文件,可释放大量空间。
yum remove(CentOS 7及以下)或dnf remove(CentOS 8及以上)命令,例如:sudo yum remove <package_name>。sudo yum autoremove(自动删除不再被任何软件包依赖的无用包)或sudo dnf autoremove。日志文件(尤其是/var/log目录)随系统运行时间增长会占用大量空间。
truncate命令清空文件内容而不删除文件,例如:sudo find /var/log -type f -name "*.log" -exec truncate -s 0 {} \;。journalctl(systemd日志管理工具)清理旧日志,例如保留最近3天的日志:sudo journalctl --vacuum-time=3d。logrotate工具自动管理日志文件的大小和数量(默认已配置,可通过/etc/logrotate.conf调整)。CentOS系统更新时会保留旧内核版本,占用/boot分区空间。
rpm -qa | grep kernel(显示所有已安装的内核版本)。package-cleanup命令(需安装yum-utils包:sudo yum install yum-utils),例如保留1个最新内核:sudo package-cleanup --oldkernels --count=1。通过命令定位系统中占用空间大的文件或目录,针对性清理。
sudo find / -type f -size +100M -exec ls -lh {} \; | sort -rh。sudo du -sh / * | sort -rh。若系统中有未使用的旧硬盘,可通过挂载或扩展分区来回收空间。
sudo fdisk -l(查看所有磁盘信息,找到未挂载的硬盘,如/dev/sdb);sudo mkdir /mnt/olddisk(目录路径可自定义);sudo mount /dev/sdb1 /mnt/olddisk(sdb1为旧硬盘的分区,需根据实际情况调整);/home/user/backup)。sudo pvcreate /dev/sdb(将旧硬盘初始化为物理卷);sudo vgextend centos /dev/sdb(将物理卷添加到现有卷组,centos为默认卷组名,可通过vgdisplay查看);sudo lvextend -l +100%FREE /dev/mapper/centos-root(将卷组所有可用空间添加到根逻辑卷,centos-root为根逻辑卷名,可通过lvdisplay查看);sudo xfs_growfs /;若为Ext4,使用sudo resize2fs /dev/mapper/centos-root。LVM(逻辑卷管理)支持在线调整分区大小,灵活性更高,适合需要频繁扩容的场景。
df -h查看挂载点是否为/dev/mapper/开头)。若未使用LVM,可通过以下步骤挂载新磁盘到指定目录。
sudo fdisk -l或lsblk查看磁盘信息(如/dev/sdc)。fdisk /dev/sdc(交互式工具)创建分区(如/dev/sdc1),设置分区类型为Linux(83)。sudo mkfs.xfs /dev/sdc1。sudo mkdir /data_new(目录路径可自定义);sudo mount /dev/sdc1 /data_new。/etc/fstab文件,添加一行(获取分区UUID:sudo blkid /dev/sdc1):UUID=<分区UUID> /data_new xfs defaults 0 0,保存后运行sudo mount -a验证配置。