提供如下gcc版本
# provides
# lucid
/usr/bin/gcc-3.3
/usr/bin/g++-3.3
/usr/bin/gcc-3.4
/usr/bin/g++-3.4
/usr/bin/gcc-4.0
/usr/bin/g++-4.0
/usr/bin/gcc-4.1
/usr/bin/g++-4.1
/usr/bin/gcc-4.2
/usr/bin/g++-4.2
# precise
/usr/bin/gcc-3.3
/usr/bin/g++-3.3
/usr/bin/gcc-4.5
/usr/bin/g++-4.5
# trusty
/usr/bin/gcc-3.3
/usr/bin/g++-3.3
/usr/bin/gcc-4.5
/usr/bin/g++-4.5
安装
# get old gcc, compiler tools only ...
sudo add-apt-repository ppa:h-rayflood/gcc-lower
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install gcc-N.N
sudo apt-get install g++-N.N
- update:当执行apt-get update时,update重点更新的是来自软件源的软件包的索引记录(即index files)
- upgrade: 当执行apt-get upgrade时,upgrade是根据update更新的索引记录来下载并更新软件包,在以下几种情况,某个待升级的软件包不会被升级。
- 新软件包和系统的某个软件包有冲突
- 新软件包有新的依赖,但系统不满足依赖
- 安装新软件包时,要求先移除旧的软件包
- dist-upgrade: 当执行apt-get dist-upgrade时,除了拥有upgrade的全部功能外,dist-upgrade会比upgrade更智能地处理需要更新的软件包的依赖关系
- 可以智能处理新软件包的依赖
- 智能冲突解决系统
- 安装新软件包时,可以移除旧软件包,但不是所有软件都可以
- full-upgrade:在执行full-upgrade 之前也要先执行update ,升级整个系统,必要时可以移除旧软件包