我跑博客的这台机器已经用了好多年了,上面搭建了一大堆东西,现在它的硬盘几乎天天都会报警,储存空间一旦不足将会影响到所有服务的正常运行,所以清理迫在眉睫。
根据网上搜索到的一些方法,加上询问ChatGPT,我总结了以下这些方法,可以说是相当的有用,至少不会再天天报警了。
apt-get clean
这条指令会清理/var/cache/apt/archives/
目录下的软件包缓存文件。这些文件是下载的deb软件包文件,安装更新后就不再需要了。通过清理这些缓存文件,可以腾出相当可观的磁盘空间。
日志
日志文件通常记录系统活动和事件,如果没有设置自动清理,随着时间的推移,这些文件就会变得很大。可以使用以下命令清理旧的日志文件:
find /var/log -type f -name "*.log" -exec truncate -s 0 {} \;
这条命令会清空所有以.log
结尾的文件,这样可以保留日志文件但将其内容清空。不推荐直接删除,有的软件在日志文件被删除后不会自动创建,甚至运行报错。
清理旧的内核版本
# 查看当前正在运行的内核版本
uname -r
# 列出已安装的内核版本
dpkg --list | grep linux-image
# 删除旧的内核版本(替换 x.x.x.x 为实际版本号)
sudo apt-get purge linux-image-x.x.x.x
在更新内核时,旧的内核版本可能会被保留,占据一定的存储空间。可以使用这个命令来查看已安装的内核版本并删除旧的版本。小心,不要删除正在使用的当前内核版本,否则可能导致系统无法启动!
ncdu
如果上面的一些方法都不管用,那么可以试试这个软件。
Ncdu 是一个带有 ncurses 接口的磁盘使用分析器。 它旨在在您没有完整图形设置可用的远程服务器上查找空间占用,但即使在常规桌面系统上它也是一个有用的工具。 Ncdu 的目标是快速、简单和易于使用,并且应该能够在安装了 ncurses 的任何最小的类 POSIX 环境中运行。——来自官方网站
可以从你的软件仓库安装ncdu。例如,在Ubuntu/Debian上:
apt-get install ncdu
安装完成后,可以通过在终端中输入ncdu
启动ncdu。
ncdu会显示磁盘使用情况的可视化界面,你可以使用键盘上的箭头键和回车键来导航和查看目录结构。
$ ncdu
ncdu 1.16 ~ Use the arrow keys to navigate, press ? for help
--- /home/tux -----------------------------------------------
22.1 GiB [##################] /.var
19.0 GiB [############### ] /Iso
10.0 GiB [######## ] /.local
7.9 GiB [###### ] /.cache
3.8 GiB [### ] /Downloads
3.6 GiB [## ] /.mail
2.9 GiB [## ] /Code
2.8 GiB [## ] /Documents
2.3 GiB [# ] /Videos
[...]
以下是一些常用的键:
上箭头
和下箭头
:在目录列表中上下移动左箭头
和右箭头
:展开或折叠目录Enter
:进入选定的目录d
:删除选定的文件或目录r
:刷新当前目录的信息n
:按文件名进行排序(再按为切换升降序)s
:按文件大小进行排序(默认,再按为切换升降序)q
:退出
你可以使用--exclude
选项排除任意文件和目录,并在后面加上一个匹配模式。
$ ncdu --exclude ".var"
19.0 GiB [##################] /Iso
10.0 GiB [######### ] /.local
7.9 GiB [####### ] /.cache
3.8 GiB [### ] /Downloads
[...]
Comments NOTHING