一、Ubuntu 根目录一键清理脚本(直接复制使用)

该脚本会安全清理日志、缓存和冗余依赖,不会删除个人数据,执行前确保已通过  sudo -i  切换到 root 用户(避免权限不足)。

bash
  
#!/bin/bash
echo "=== 开始清理 Ubuntu 根目录空间 ==="

# 1. 刷新文件系统缓存,显示真实占用
echo "1. 刷新空间统计..."
sudo sync && sudo echo 3 > /proc/sys/vm/drop_caches

# 2. 清理系统日志(保留30天内文件,删除旧日志)
echo -e "\n2. 清理旧系统日志..."
sudo find /var/log -type f -mtime +30 -delete
# 清空当前过大的核心日志(避免占用)
sudo > /var/log/messages 2>/dev/null
sudo > /var/log/syslog 2>/dev/null
sudo > /var/log/auth.log 2>/dev/null

# 3. 清理 APT 缓存(安装包残留)
echo -e "\n3. 清理 APT 缓存..."
sudo apt clean
# 清理无用依赖包(已卸载软件的残留依赖)
sudo apt autoremove -y

# 4. 清理用户缓存(浏览器、应用缓存等)
echo -e "\n4. 清理用户缓存..."
# 清理当前用户缓存
rm -rf ~/.cache/*
# 清理所有用户缓存(若有多个用户)
sudo rm -rf /home/*/.cache/* 2>/dev/null

# 5. 清理临时文件(/tmp 目录)
echo -e "\n5. 清理临时文件..."
sudo rm -rf /tmp/* 2>/dev/null

# 6. 显示清理后根目录占用
echo -e "\n=== 清理完成!当前根目录占用情况 ==="
df -h /

 

脚本使用步骤:

1. 打开 Terminal(若 VNC 卡顿,优先用 SSH 登录),执行  sudo -i  切换到 root 用户;
2. 执行  nano clean_root.sh  创建脚本文件,将上述代码复制粘贴进去;
3. 按  Ctrl+O  保存,按  Enter  确认,再按  Ctrl+X  退出编辑;
4. 执行  bash clean_root.sh  运行脚本,等待清理完成即可。

二、检查根目录是否为 LVM 分区(2条命令搞定)

LVM 分区支持在线扩容,操作简单;非 LVM 分区扩容复杂且有风险,需先确认类型。

1. 执行以下命令,查看根目录(/)对应的分区:

bash
  
df -h /

 

  • 输出示例: /dev/mapper/ubuntu--vg-ubuntu--lv 98G 92G 1.1G 99% / 
  • 关键看「Filesystem」列:若包含  mapper  或  vg (卷组)、 lv (逻辑卷),则为 LVM 分区;若为  dev/sda1  这类简单路径,则为非 LVM 分区。
    2. 进一步验证 LVM 状态,执行:

    bash

    lvdisplay

 

  • 若输出包含「LV Path」(如  /dev/ubuntu-vg/ubuntu-lv )且与第一步的「Filesystem」匹配,则确认是 LVM 分区;若提示「No volume groups found」,则为非 LVM 分区。

需要我继续帮你 生成 LVM 根目录的扩容脚本(若已确认是 LVM 分区),或指导 非 LVM 分区的安全扩容步骤 吗?

标签: none

添加新评论