我可以删除旧的 gcc 版本吗?

我可以删除旧的 gcc 版本吗?

使用多年来不断升级的 Ubuntu 19.10(从 16.04 开始)。我刚刚发现我gcc安装了多个版本,想知道为什么(我不在设备上开发/编译 C/C++)。当执行

dpkg -l | grep gcc

gcc-5得到了gcc-9(+ 一些库和-base)。当使用模拟清除时

apt-get -s purge gcc-5

(对于所有其他数字也是如此)gcc-9似乎只有实际重要的依赖项(对于我来说,Virtual Box,我使用它)。其他仅使其他libcpp软件包过时。

为什么它们还在那里,而我却没有手动安装?或者当它们成为过时的依赖项时没有被删除(甚至没有deborphan -a列出它们)?我已经这样做了apt-get autoremove --purge

我可以删除旧版本而不丢失重要的软件包/功能吗?

答案1

结果rmadison gcc显示 gcc 9 是 Ubuntu 19.10 中的默认 gcc。

$麦迪逊海湾合作委员会
 gcc | 4:4.6.3-1ubuntu5 | 精确 | amd64、armel、armhf、i386、powerpc
 gcc | 4:4.8.2-1ubuntu6 | 可信任 | amd64、arm64、armhf、i386、powerpc、ppc64el
 gcc | 4:5.3.1-1ubuntu1 | xenial | amd64、arm64、armhf、i386、powerpc、ppc64el、s390x
 gcc | 4:7.3.0-3ubuntu2 | bionic | amd64、arm64、armhf、i386、ppc64el、s390x
 gcc | 4:7.4.0-1ubuntu2.3 | bionic-security | amd64、arm64、armhf、i386、ppc64el、s390x
 gcc | 4:7.4.0-1ubuntu2.3 | bionic-updates | amd64、arm64、armhf、i386、ppc64el、s390x
 gcc | 4:8.3.0-1ubuntu3 | disco | amd64、arm64、armhf、i386、ppc64el、s390x
 gcc | 4:9.2.1-3.1ubuntu1 | eoan | amd64、arm64、armhf、i386、ppc64el、s390x
 gcc | 4:9.2.1-3.1ubuntu1 | 焦点 | amd64、arm64、armhf、i386、ppc64el、s390x

您可以安全地卸载所有其他版本的 gcc,因为您检查过没有其他已安装的软件包具有其他版本的 gcc 作为依赖项。

除了可能安装了需要非默认版本的 gcc 作为依赖项的软件包之外,一些开发人员还安装了多个版本的 gcc,因为他们正在开发的不同程序以不同版本的 gcc 作为其 GNU C 编译器。

相关内容