温馨提示×

centos stream8磁盘空间如何清理

小樊
51
2025-09-26 09:43:39
栏目: 云计算

一、查看磁盘空间使用情况
在进行磁盘清理前,需先明确空间占用情况。常用命令如下:

  • df -h:查看各文件系统的磁盘空间使用情况(包括总大小、已用空间、可用空间及挂载点),-h参数以人类可读格式(GB/MB)显示。
  • df -i:查看磁盘inode使用情况(若inode耗尽,即使磁盘空间充足也无法创建新文件)。
  • du -sh /path/to/directory:统计指定目录的总大小(如du -sh /var/log查看日志目录大小);du -sh /path/to/dir | sort -rh | head -20:找出占用空间最大的前20个目录。

二、清理缓存文件
缓存文件会占用大量磁盘空间,定期清理可释放空间:

  • 清理YUM/DNF缓存:YUM是CentOS Stream 8的默认包管理器,DNF是其下一代替代工具,两者缓存均可清理。
    sudo yum clean all      # 清理YUM缓存(兼容CentOS Stream 8)
    sudo dnf clean all      # 清理DNF缓存(推荐,适用于CentOS 8及以上)
    
  • 清理临时文件/tmp目录用于存储临时文件,重启系统后会自动清空,但可手动清理:
    sudo rm -rf /tmp/*      # 删除/tmp目录下所有临时文件(谨慎操作,避免删除正在使用的文件)
    
  • 释放内存缓存:Linux系统会将闲置内存用于缓存(如文件缓存),可通过以下命令手动释放(不影响系统运行):
    sudo sync             # 将内存中的数据同步到磁盘
    sudo echo 3 > /proc/sys/vm/drop_caches  # 释放页缓存、目录项和inode缓存
    

三、清理日志文件
日志文件(如/var/log目录下的文件)会随时间增长占用大量空间,需定期管理:

  • 查看日志目录大小
    du -sh /var/log         # 统计/var/log目录总大小
    
  • 删除旧日志文件:使用find命令查找并删除超过一定时间(如30天)或大小的日志文件:
    find /var/log -type f -name "*.log" -mtime +30 -exec rm -f {} \;  # 删除30天前的.log文件
    find /var/log -type f -name "*.log" -size +50M -exec truncate -s 0 {} \;  # 清空超过50MB的.log文件(保留文件结构)
    
  • 使用logrotate管理日志:logrotate是Linux日志轮转工具,可自动压缩、删除旧日志。编辑配置文件/etc/logrotate.conf(全局配置)或/etc/logrotate.d/下的子配置(如/etc/logrotate.d/syslog),调整轮转周期(如weekly每周)、保留份数(如rotate 5保留5份)及压缩选项(如compress)。

四、删除不必要的文件和目录

  • 删除旧内核:旧内核会占用/boot分区空间,可使用package-cleanup工具删除(保留最新的2个内核):
    sudo package-cleanup --oldkernels --count=2  # 删除除最新2个内核外的所有旧内核
    
  • 删除孤立包:孤立包是软件卸载后残留的依赖包,可使用以下命令清理:
    sudo package-cleanup --quiet --leaves --exclude-bin | xargs sudo yum remove -y  # 删除无用的依赖包
    
  • 手动删除无用文件:删除不再需要的文件(如旧备份、下载的安装包等),例如:
    sudo rm -rf /home/user/old_backups/*  # 删除用户目录下的旧备份文件夹
    

五、使用工具辅助清理

  • bleachbit:图形化磁盘清理工具,可清理系统垃圾、临时文件、缓存、日志等。安装及使用步骤:
    sudo dnf install bleachbit  # 安装bleachbit
    bleachbit                # 启动图形化界面,选择清理项目(如“系统临时文件”“YUM缓存”)
    

六、扩展磁盘空间(可选)
若清理后仍空间不足,可考虑扩展磁盘:

  • LVM扩展(推荐,适用于动态调整空间):
    1. 扩展物理卷(PV):sudo pvresize /dev/sdXY/dev/sdXY为物理卷设备,如/dev/sda2)。
    2. 扩展卷组(VG):sudo vgextend vgName /dev/sdXYvgName为卷组名称,可通过vgdisplay查看)。
    3. 扩展逻辑卷(LV):sudo lvextend -L +10G /dev/vgName/lvName+10G表示增加10GB,可根据需求调整)。
    4. 调整文件系统:sudo xfs_growfs /dev/vgName/lvName(XFS文件系统)或sudo resize2fs /dev/vgName/lvName(ext4文件系统)。
  • 创建新分区并挂载
    1. 使用fdisk /dev/sdX创建新分区(/dev/sdX为磁盘设备,如/dev/sdb)。
    2. 格式化分区:sudo mkfs.ext4 /dev/sdX1/dev/sdX1为新分区)。
    3. 挂载分区:sudo mkdir /mnt/newdisk(创建挂载点),sudo mount /dev/sdX1 /mnt/newdisk(临时挂载)。
    4. 永久挂载:编辑/etc/fstab文件,添加/dev/sdX1 /mnt/newdisk ext4 defaults 0 0(重启后自动挂载)。

注意事项

  • 操作前备份重要数据(如/home/etc目录),避免误操作导致数据丢失。
  • 生产环境中建议使用LVM管理磁盘,便于动态调整空间。
  • 对于虚拟机环境,可通过virt-managervirsh命令扩展虚拟磁盘(需先扩展虚拟机磁盘文件,再扩展系统分区)。

0