清理系统的脚本

我想要一个清理系统的脚本。
1. 清理未使用的依赖项。 2. 清理apt-cache。 3. 清理残留配置文件。 4. 删除损坏的软件包。 5. 只保留软件包的最新版本并删除其他版本,特别是Linux内核。
请在脚本中添加您认为必要的所有内容。请指导我。 Ubuntu 12.04,内核版本为3.2.xxxx,我不确定具体是哪个版本。

Synaptic在清理系统垃圾方面做得很好。将部分设置为“状态”,如果有垃圾,其中一个选项将是自动清理。您还可以在“本地或过时”部分中摆脱旧内核,但我建议您保留当前版本之前的一个。此外,如果您有任何残留配置文件,将出现一个选项。根据我的经验,这是安全的,并且如果您不确定,它还提供了取消选项。 - Christopher
这个帖子中有一些工具和命令:http://ubuntuforums.org/showthread.php?t=140920。 - Mmmh mmh
2个回答

在你最喜欢的编辑器中
#!/bin/bash
apt-get autoremove
apt-get clean
aptitude purge ~c
aptitude -f
dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs apt-get -y purge

请确保您以 root 用户身份运行,并已安装 aptitude。将此文件保存为任何名称。然而,我不建议删除旧版本,因为有时它们包含遗留项。最后一行仅处理 linux-kernel(参见最后一句的原因)。即便如此,我建议备份多个内核,以防一个出现问题。


考虑清理旧的内核版本,这是我经常使用的东西:
#/bin/bash

#keep the most recent 4 kernels and remove the rest.
sudo apt-get purge $( dpkg --list | grep -P -o "linux-image-\d\S+"| head -n-4 )
sudo apt-get autoremove
sudo apt-get clean
sudo update-grub

1第一行可能不会达到您的要求,请确保不要删除您安装所使用的内核(使用 uname -r 进行检查)。 - Mmmh mmh