升级后保留“卸载”软件包

ygo*_*goe 1 upgrade package-management dpkg

我已将 Ubuntu 14.04 服务器升级到 16.04(LTS 升级)。现在,输出中有两页带有“deinstall”状态的包dpkg。这是否意味着仍然安装了软件包?这是否也意味着我现在可以运行新旧版本的软件,即 PHP 5.5 和 7.0,或 MySQL 5.6 和 5.7?升级过程后是否需要清理,或者一段时间后会自动发生?如果旧包在同一路径中,清除旧包是否也会删除新版本的配置文件?

sudo do-release-upgrade
...
dpkg --get-selections |grep deinstall
Run Code Online (Sandbox Code Playgroud)

Lis*_*iso 5

默认情况下,apt-get remove命令不会清除与包相关的任何内容。这最终意味着配置文件的日志散布在没有相应包的地方。

因此,您必须删除软件包和配置文件。目前有两种方法可以做到这一点:

要删除单个包,请使用以下命令。

sudo apt-get --purge remove <package_name>
Run Code Online (Sandbox Code Playgroud)

要删除所有处于卸载状态的软件包,请使用以下命令。

sudo dpkg --purge `dpkg --get-selections | grep deinstall | cut -f1`
Run Code Online (Sandbox Code Playgroud)

如果要检查将要删除哪些已卸载的软件包,请运行以下命令:

dpkg --get-selections | grep deinstall | cut -f1
Run Code Online (Sandbox Code Playgroud)