当前位置: 首页 > article >正文

清理Linux/CentOS7根目录的思路

在使用Linux服务器过程中,经常会遇到磁盘空间不足的问题,好多应用默认安装在根目录下,记录一下如何找到问题所在,清理根目录(/)

1. 检查空间使用情况

1.1 查看分区占用:

df -h

输出:

Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G   33G  5.3G  86% /
/dev/vdb1       500G  274G  227G  55% /home

1.2 检查根目录占用:

sudo du -sh /* 2>/dev/null | sort -rh

du: disk usage,显示磁盘使用情况

-s: summary,只显示总计

-h: human-readable,以人类可读的格式显示(GB、MB等)

/*: 根目录下所有文件

sort -rh:

  • -r: reverse,降序排列
  • -h: human-readable,考虑单位进行排序

2>/dev/null 表示将错误输出(stderr)重定向到空设备,即忽略错误信息

  • 在运行命令过程中,某些进程已经结束,就会导致/proc部分文件不存在而报错,加了这个命令,可以让输出看起来清爽一点

输出:

21G     /var
12G     /usr
470M    /opt
179M    /boot
41M     /etc
4.9M    /root
904K    /run
312K    /dev
208K    /tmp
16K     /lost+found
4.0K    /srv
4.0K    /mnt
4.0K    /media
0       /sys
0       /sbin
0       /proc
0       /lib64
0       /lib
0       /bin

2. 重点目录分析与清理

根据输出的信息,可以看到/var/usr占用空间最大,需要重点关注一下

2.1 分析/var

首先查看/var下具体哪些目录占用较大

sudo du -sh /var/* | sort -rh

看到两个占用空间比较大的目录

(base) -bash-4.2$ sudo du -sh /var/* | sort -rh
18G     /var/lib
2.0G    /var/log

如果想继续看/var/lib里面是哪些内容,同理输入如下命令

# 查看详细内容
sudo du -sh /var/lib/* | sort -rh

docker占用最多:

(base) -bash-4.2$ sudo du -sh /var/lib/* | sort -rh
18G     /var/lib/docker

这时候就可以考虑移动docker的安装位置

/var/log常见的可以清理的内容:

# 清理旧的日志文件
sudo find /var/log -type f -name "*.gz" -delete
sudo find /var/log -type f -name "*.old" -delete

# 清理软件包缓存(如果是 CentOS/RHEL)
sudo yum clean all

# 清理临时文件
sudo rm -rf /var/tmp/*

# Docker相关(如果使用 Docker)
docker system prune -a  # 清理未使用的容器、镜像等

2.2 分析/usr

首先查看详细占用

sudo du -sh /usr/* | sort -rh

找到两个占用空间比较大的目录

(base) -bash-4.2$ sudo du -sh /usr/* | sort -rh
7.6G    /usr/local
1.6G    /usr/lib

/usr/local主要存放用户自己编译安装的软件,可以查看已经安装的软件:

sudo du -sh /usr/lib/* | sort -rh

可以从以下几个方向清理:

  • 检查并卸载不再使用的软件
  • 删除软件的源码包和编译临时文件
  • 保留必要的可执行文件和库文件

/usr/lib是系统文件目录,请谨慎清理


3. 安全建议

  1. 清理前先用 du 命令确认具体是哪些内容占用空间
  2. 不要随意删除不熟悉的系统文件
  3. 重要操作前最好先备份
  4. 每次清理后用 df -h 确认空间变化

http://www.kler.cn/a/420580.html

相关文章:

  • CTF-PWN: WEB_and_PWN [第一届“吾杯”网络安全技能大赛 Calculator] 赛后学习(不会)
  • 有趣的Docker
  • Windows系统搭建Docker
  • SpringBoot3.4.0和OpenFeign4.1.4不兼容
  • OD C卷 - 实现 【手机App防沉迷系统】
  • 【前端】理解 JavaScript 中 typeof 操作符的独特行为
  • Vue3 脚手架扩展
  • Proteus8.17下载安装教程
  • MySQL安装部署
  • IP划分(笔记)
  • 对于Oracle来说,土地管理是非核心域吗
  • 【机器学习】机器学习的基本分类-监督学习-逻辑回归-对数似然损失函数(Log-Likelihood Loss Function)
  • Apache-HertzBeat开源实时监控系统存在默认口令漏洞
  • mysql一个事务最少几次IO操作
  • ESP32开发板在micropython里直接用requests向web服务器发送请求:ESP32S3开发板通过fastapi中转成功连接星河大模型
  • 负载均衡指南:Nginx与HAProxy的配置与优化
  • mysql 查询所有的触发器
  • vmware linux centos7 网络配置
  • 大数据-238 离线数仓 - 广告业务 点击次数 ADS层、广告效果分析 ADS 层 需求分析与加载
  • 2024-11-29 学习人工智能的Day33 BP算法和神经网络小实验
  • Python字符串对齐的几种方法、Python填充与对齐、Python中英文对齐
  • 软件测试常问面试问题及项目流程相关概念
  • 深入实践:从零开始掌握GPT的应用开发
  • 错误信息 Uncaught (in promise) TypeError: extender is not a function
  • spark中将json数据转成dataset
  • Ubuntu 20.04 程序运行导致“段错误 (核心已转储)”的原因分析及解决方案 ubuntu