Debian系统回收主要涵盖磁盘空间、内存资源及软件包管理等方向,以下是具体步骤:
首先通过以下命令明确磁盘空间占用情况,定位大文件或目录:
df -h:查看各文件系统磁盘使用率(易读格式);
lsblk:显示块设备(如磁盘、分区)信息;
ncdu /:安装ncdu工具(sudo apt install ncdu)后,以交互式界面查看根目录及各子目录的空间占用,快速定位大文件。
APT缓存会占用大量磁盘空间,可通过以下命令清理:
sudo apt clean:删除/var/cache/apt/archives/目录下所有已下载的软件包(.deb文件);
sudo apt autoclean:仅删除不再可用的软件包(即无法通过软件源重新下载的旧包)。
sudo apt remove 软件名;sudo apt purge 软件名;sudo apt autoremove --purge -y。临时文件(如/tmp、/var/tmp目录下的文件)通常无需保留,可通过以下命令删除:
sudo rm -rf /tmp/*:清空/tmp目录(重启后该目录会自动重建);
sudo rm -rf /var/tmp/*:清空/var/tmp目录。
日志文件(如/var/log目录下的.log文件)会随时间增长占用大量空间,可通过以下方式清理:
sudo rm /var/log/*.log(谨慎操作,避免删除正在使用的日志);journalctl清理系统日志:sudo journalctl --vacuum-time=7d(删除7天前的日志)、sudo journalctl --vacuum-size=50M(将日志大小限制为50MB);logrotate自动轮转日志(编辑/etc/logrotate.conf调整保留策略)。系统升级后会保留旧内核,可通过以下步骤删除:
apt list --installed | grep linux-image;uname -r查看):sudo apt remove --purge linux-image-<version> linux-headers-<version>;sudo update-grub。使用find命令查找占用空间超过1GB的文件:
sudo find / -type f -size +1G -exec ls -lh {} \;(-type f表示文件,-size +1G表示大于1GB,-exec ls -lh {} \;表示列出文件详情),确认后手动删除无用文件。
孤立软件包是软件卸载后残留的无用库文件,可通过以下命令查找并删除:
sudo apt install deborphan(安装deborphan工具);
sudo deborphan | xargs sudo apt purge -y(删除所有孤立软件包)。
通过以下命令了解内存占用状态:
free -h:以易读格式显示总内存、已用内存、空闲内存、缓存等信息;
top:实时显示进程内存占用(按Shift+M按内存占用排序),识别占用高的进程。
Linux内核会自动将未使用的内存用作缓存(提高系统性能),但可手动清理以释放内存:
sudo sync:同步未写入磁盘的数据(避免数据丢失);
echo 3 | sudo tee /proc/sys/vm/drop_caches:清理页缓存、目录项缓存和inode缓存(echo 1清理页缓存,echo 2清理目录项和inode缓存,echo 3清理所有缓存)。
通过修改vm.swappiness参数控制内核将内存数据交换到Swap空间的倾向(值越小,越倾向于使用物理内存):
sudo sysctl vm.swappiness=10(临时设置,重启后失效);
编辑/etc/sysctl.conf文件,添加vm.swappiness=10(永久生效),然后运行sudo sysctl -p使配置生效。
通过以下命令停止不需要的服务(如SSH):
sudo systemctl stop ssh(停止服务);
sudo systemctl disable ssh(禁用开机自启),释放内存资源。
sudo apt autoremove --purge -y:自动删除不再需要的依赖包(如软件卸载后遗留的库文件),并彻底清除其配置文件。
使用aptitude查找过时的软件包(需安装aptitude:sudo apt install aptitude):
aptitude search ?obsolete:列出所有过时的软件包;
sudo apt purge 软件名:删除过时的软件包。