如果你关注搜索到这篇文章,那么我可以合理怀疑你被apt-get的几个卸载命令有点搞晕了。
apt-get的卸载相关的命令有remove/purge/autoremove/clean/autoclean等。具体来说:
apt-get purge / apt-get –purge remove
删除已安装包(不保留配置文件)。
如软件包a,依赖软件包b,则执行该命令会删除a,而且不保留配置文件
apt-get autoremove (千万不要触碰apt-get autoremove,真坑)
删除为了满足依赖而安装的,但现在不再需要的软件包(包括已安装包),保留配置文件。
这里重点介绍一下autoremove:
apt-get autoremove的行为重点是卸载所有自动安装,举个栗子:C 依赖于 B, D 依赖于B, 且D没有被其他手动安装的包依赖。apt-get remove C 将删除C, 同时提示你用apt-get autoremove去清除B,D ;apt-get autoremove C 将删除B, C, D 。所以,这条命令最恐怖的是在不了解的情况下,你不知道他会把系统中的什么配置文件给删除(我的这次貌似把显卡驱动都卸载了),最好不要触碰这条命令,否则基本上系统就GG了,只能选择重新安装个心得linux系统了,记得安装之前要把所要用的资料备份好!!
切记切记!!!
apt-get remove
删除已安装的软件包(保留配置文件),不会删除依赖软件包,且保留配置文件。
apt-get autoclean
APT的底层包是dpkg, 而dpkg 安装Package时, 会将 *.deb 放在 /var/cache/apt/archives/中,apt-get autoclean 只会删除 /var/cache/apt/archives/ 已经过期的deb。
apt-get clean
使用 apt-get clean 会将 /var/cache/apt/archives/ 的 所有 deb 删掉,可以理解为 rm /var/cache/apt/archives/*.deb。
那么如何彻底卸载软件呢?
具体来说可以运行如下命令:
-
# 删除软件及其配置文件
-
apt-get --purge remove <package>
-
# 删除没用的依赖包
-
apt-get autoremove <package>
-
# 此时dpkg的列表中有“rc”状态的软件包,可以执行如下命令做最后清理:
-
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P