这是一个后续问题如何安装 gcc-7 或 clang 4.0?。
按照其中的答案,我可以通过以下方式安装 gcc-7.2:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install -y gcc-7
但是,安装后,gcc
/g++
命令仍然默认为5.4.0
gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.5) 5.4.0 20160609
是否可以/安全地将其gcc-7
作为默认值并完全删除旧的 gcc-5.x 文件?
请注意,与上述重复不同,我正在寻找移除/替换gcc-5.x 而不是设置符号链接。
答案1
经过多次尝试和错误后,我似乎可以回答我自己的问题不是可以安全地删除/替换旧的 gcc (gcc-5),因为它将破坏很多依赖关系,甚至消灭整个工具链。
例如,当尝试删除/替换 gcc-5 时,如评论中所述
运行 update-alternatives 将 gcc-7 设置为默认 gcc 版本并输入 sudo dpkg -r gcc-5
这会产生一个错误:
dpkg: dependency problems prevent removal of gcc-5:
g++-5 depends on gcc-5 (= 5.4.1-2ubuntu1~16.04).
g++ depends on gcc-5 (>= 5.3.1-3~).
gcc depends on gcc-5 (>= 5.3.1-3~).
gfortran-5 depends on gcc-5 (= 5.4.1-2ubuntu1~16.04).
将这些依赖项添加到项目列表中时sudo dpkg -r
,需要删除越来越多的软件包。例如
...
r-base-dev depends on g++.
build-essential depends on g++ (>= 4:5.2).
我还没有尝试找到将被删除的最大软件包集,如下所述如何卸载 .deb 包?。但很显然到那时 Ubuntu 中大多数有用的软件包都将消失。