经过各种 linux 初学者的实验后,我的 Kubuntu 系统一直告诉我有一些不再需要的未使用的包,应该将其删除。这对我来说是个好主意。
这就是“apt-get -s autoremove”建议删除的内容:
freeglut3 fs-uae fs-uae-launcher gir1.2-gtksource-3.0 hwdata ipython kmymoney-common libalkimia4 libexosip2-11 libglee0d1 libgnome-desktop-2-17 libgtksourceview-3.0-1 libgtksourceview-3.0-common
libgwengui-cpp0 libgwengui-qt4-0 liblinphone5 libmediastreamer-base3 libofx6 libosip2-11 libosp5 libpanel-applet0 libportmidi0 libpyside1.2 libsdl-image1.2 libsdl-mixer1.2 libsdl-ttf2.0-0
libsensors-applet-plugin0 libshiboken1.2 libsmpeg0 linux-headers-3.19.0-15 linux-headers-3.19.0-15-generic linux-image-3.19.0-15-generic linux-image-extra-3.19.0-15-generic meld python-dulwich
python-fastimport python-numpy python-opengl python-pexpect python-pygame python-pyside python-pyside.phonon python-pyside.qtcore python-pyside.qtdeclarative python-pyside.qtgui python-pyside.qthelp
python-pyside.qtnetwork python-pyside.qtopengl python-pyside.qtscript python-pyside.qtsql python-pyside.qtsvg python-pyside.qttest python-pyside.qtuitools python-pyside.qtwebkit python-pyside.qtxml
python-simplegeneric python-svn
对于其中的大多数,我不知道我是在什么环境下安装它们的。但至少这些软件包中的一个绝对不是未使用的:模拟器“fs-uae”是我手动安装的,我打算继续使用它。
为什么 apt-get 建议删除“fs-uae”包?有没有办法通过破坏任何东西而不删除我需要的东西来清理?
您可能已经知道,在 Linux 中,软件包可能会指定“依赖项”,即必须安装其他软件包才能使该软件包实际工作。这些依赖项是递归解析的,也就是说你的包依赖项的依赖项也会被安装。这样元包可能存在,将安装整套软件。常见的例子是
libreoffice
(办公套件)或kde-full
整个 KDE 桌面。当 apt(Debian 包管理器)安装某些包时,它会将所有依赖项标记为自动安装。通过这种方式,它可以区分用户明确请求的包和仅作为依赖项引入的包(用户很可能根本不关心)。
apt-get autoremove
查找标记为自动安装但任何手动安装的软件包不再需要的软件包。这些通常是旧版本的库(当库的版本在包名称中以允许不同版本共存时,例如libavcodec54
和libavcodec56
)或从存储库中删除的包,但有时一些有用的应用程序作为依赖项被引入然后被删除。特别是当您首先告诉 apt 安装推荐或建议的包,但随后将其配置为不将这些包作为依赖项引入时,尤其会发生这种情况。要从考虑删除的包列表中删除包,请将该包标记为手动安装。您可以使用
apt-mark
:或 aptitude(以下命令是等效的,只使用一个):
最后,要了解安装这些特定包时的一些上下文,您可以尝试在
/var/log/apt/history.log
文件中搜索它们的名称。这些日志每月轮换一次(压缩并放在单独的文件中);要获得完整的存档,您可以运行(不会保留顺序):