先降ubuntu系统版本 - 安装旧版本软件包 - 恢复ubuntu系统版本

当前版本gcc信息:

只有gcc-7.5.0,想安装低版本的gcc-4.8

biren@ubuntu:~$ cat /proc/version
Linux version 5.4.0-84-generic (buildd@lcy01-amd64-007) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #94~18.04.1-Ubuntu SMP Thu Aug 26 23:17:46 UTC 2021
biren@ubuntu:~$ ll /usr/bin/gcc*
lrwxrwxrwx 1 root root  5 5月  21  2019 /usr/bin/gcc -> gcc-7*
lrwxrwxrwx 1 root root 22 12月  4  2019 /usr/bin/gcc-7 -> x86_64-linux-gnu-gcc-7*
lrwxrwxrwx 1 root root  8 5月  21  2019 /usr/bin/gcc-ar -> gcc-ar-7*
lrwxrwxrwx 1 root root 25 12月  4  2019 /usr/bin/gcc-ar-7 -> x86_64-linux-gnu-gcc-ar-7*
lrwxrwxrwx 1 root root  8 5月  21  2019 /usr/bin/gcc-nm -> gcc-nm-7*
lrwxrwxrwx 1 root root 25 12月  4  2019 /usr/bin/gcc-nm-7 -> x86_64-linux-gnu-gcc-nm-7*
lrwxrwxrwx 1 root root 12 5月  21  2019 /usr/bin/gcc-ranlib -> gcc-ranlib-7*
lrwxrwxrwx 1 root root 29 12月  4  2019 /usr/bin/gcc-ranlib-7 -> x86_64-linux-gnu-gcc-ranlib-7*

如果直接安装则会出现找不到软件包的错误 :

biren@ubuntu:~$ sudo apt-get install gcc-4.8.5
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
E: 无法定位软件包 gcc-4.8.5
E: 无法按照 glob ‘gcc-4.8.5’ 找到任何软件包
E: 无法按照正则表达式 gcc-4.8.5 找到任何软件包

当前source.list配置:

当前版本代号: bionic

biren@ubuntu:~/filecmd/file-5.15$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.6 LTS
Release:    18.04
Codename:   bionic
biren@ubuntu:~/filecmd/file-5.15$ lsb_release -c
Codename:   bionic            代号bionic

source.list源配置:

deb http://mirrors.aliyun.com/ubuntu/ bionic  main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

修改源配置:

将source.list源配置中的版本代号改为xenial,即16.04版:

biren@ubuntu:~$ sudo gedit /etc/apt/sources.list

更改后:

deb http://mirrors.aliyun.com/ubuntu/ xenial  main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

更新源列表信息:

sudo apt-get update

biren@ubuntu:~$ sudo apt-get update
获取:1 http://mirrors.aliyun.com/ubuntu xenial InRelease [247 kB]
获取:2 http://mirrors.aliyun.com/ubuntu xenial-updates InRelease [99.8 kB]
获取:3 http://mirrors.aliyun.com/ubuntu xenial-security InRelease [99.8 kB]
......
获取:86 http://mirrors.aliyun.com/ubuntu xenial-backports/multiverse DEP-11 64x64 Icons [29 B]
已下载 49.5 MB,耗时 39秒 (1,270 kB/s)
正在读取软件包列表... 完成

安装旧版gcc-4.8.5:

sudo apt-get install gcc-4.8

biren@ubuntu:~$ sudo apt-get install gcc-4.8
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会同时安装下列软件:cpp-4.8 gcc-4.8-base libasan0 libcloog-isl4 libgcc-4.8-dev libisl15 libmpfr4
建议安装:gcc-4.8-locales gcc-4.8-multilib gcc-4.8-doc libgcc1-dbg libgomp1-dbglibitm1-dbg libatomic1-dbg libasan0-dbg libtsan0-dbg libquadmath0-dbg
下列【新】软件包将被安装:cpp-4.8 gcc-4.8 gcc-4.8-base libasan0 libcloog-isl4 libgcc-4.8-dev libisl15libmpfr4
升级了 0 个软件包,新安装了 8 个软件包,要卸载 0 个软件包,有 1 个软件包未被升级。
需要下载 12.2 MB 的归档。
解压缩后会消耗 39.0 MB 的额外空间。
您希望继续执行吗? [Y/n] y
...

查看结果:

多了gcc-4.8*

biren@ubuntu:~$ ll /usr/bin/gcc*
lrwxrwxrwx 1 root root      5 5月  21  2019 /usr/bin/gcc -> gcc-7*
-rwxr-xr-x 1 root root 776344 1月  26  2016 /usr/bin/gcc-4.8*
lrwxrwxrwx 1 root root     22 12月  4  2019 /usr/bin/gcc-7 -> x86_64-linux-gnu-gcc-7*
lrwxrwxrwx 1 root root      8 5月  21  2019 /usr/bin/gcc-ar -> gcc-ar-7*
-rwxr-xr-x 1 root root  27032 1月  26  2016 /usr/bin/gcc-ar-4.8*
lrwxrwxrwx 1 root root     25 12月  4  2019 /usr/bin/gcc-ar-7 -> x86_64-linux-gnu-gcc-ar-7*
lrwxrwxrwx 1 root root      8 5月  21  2019 /usr/bin/gcc-nm -> gcc-nm-7*
-rwxr-xr-x 1 root root  27032 1月  26  2016 /usr/bin/gcc-nm-4.8*
lrwxrwxrwx 1 root root     25 12月  4  2019 /usr/bin/gcc-nm-7 -> x86_64-linux-gnu-gcc-nm-7*
lrwxrwxrwx 1 root root     12 5月  21  2019 /usr/bin/gcc-ranlib -> gcc-ranlib-7*
-rwxr-xr-x 1 root root  27032 1月  26  2016 /usr/bin/gcc-ranlib-4.8*
lrwxrwxrwx 1 root root     29 12月  4  2019 /usr/bin/gcc-ranlib-7 -> x86_64-linux-gnu-gcc-ranlib-7*

将source.list源配置恢复原来的bionic
更新源信息列表 sudo apt-get update

软件包管理命令update-alternatives:

之后便可以用linux中的软件包管理命令update-alternatives进行配置
注册:

update-alternatives --install  /usr/bin/gcc gcc  /usr/bin/gcc-7  400
update-alternatives --install  /usr/bin/gcc gcc  /usr/bin/gcc-4.8  300

后面数字越大,优先级越高。

biren@ubuntu:~$ sudo update-alternatives --display gcc
gcc - 自动模式最佳链接版本为 /usr/bin/gcc-7链接目前指向 /usr/bin/gcc-7链接 gcc 指向 /usr/bin/gcc
/usr/bin/gcc-4.8 - 优先级 300
/usr/bin/gcc-7 - 优先级 400biren@ubuntu:~$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.5.0-3ubuntu1~18.04' --with-
......
Thread model: posix
gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)

模式修改:

biren@ubuntu:~$ sudo update-alternatives --config gcc
有 2 个候选项可用于替换 gcc (提供 /usr/bin/gcc)。选择       路径            优先级  状态
------------------------------------------------------------
* 0            /usr/bin/gcc-7     400       自动模式1            /usr/bin/gcc-4.8   300       手动模式2            /usr/bin/gcc-7     400       手动模式要维持当前值[*]请按<回车键>,或者键入选择的编号:1
update-alternatives: 使用 /usr/bin/gcc-4.8 来在手动模式中提供 /usr/bin/gcc (gcc)
biren@ubuntu:~$ sudo update-alternatives --display gcc
gcc - 手动模式最佳链接版本为 /usr/bin/gcc-7链接目前指向 /usr/bin/gcc-4.8链接 gcc 指向 /usr/bin/gcc
/usr/bin/gcc-4.8 - 优先级 300
/usr/bin/gcc-7 - 优先级 400

当前版本已经改为gcc-4.8了:

biren@ubuntu:~$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
Target: x86_64-linux-gnu
......
Thread model: posix
gcc version 4.8.5 (Ubuntu 4.8.5-4ubuntu2)

模式改为“自动”命令:update-alternatives --auto gcc,即优先使用优先级高的。
其实update-alternatives管理的是软链接,它也可以用来指定整个目录。

删除版本管理:

update-alternatives --remove gcc /usr/bin/gcc-7

或全删除:
update-alternatives --remove-all gcc

安装旧版本gcc的简便方法,软件包管理命令update-alternatives使用相关推荐

  1. 20220413安装旧版本的百度网盘的方法

    20220413安装旧版本的百度网盘的方法 您的电脑已安装版本更高的百度网盘客户端, 如需降级安装,请先卸载当前版本. 新电脑装最新的百度网盘之后,感觉不适应,降级的时候出现这个问题了! 人不如旧,衣 ...

  2. 【ipad+向日葵远程控制】解决ipad上在向日葵中无法使用上下左右键、Tab键(解决方法是:在ipad上安装旧版本向日葵11.2.2,配合使用的是罗技K380键盘)

    目录 参考链接 需要用到的3个工具(都是在Windows电脑上操作的) 开始配置 1. iTunes登录自己的账号 2. 安装旧版本 2.1 iTunes中打开向日葵APP的页面,然后把 iTunes ...

  3. 如何给未越狱的ios下载历史版本的app?未越狱IOS系统安装历史版本软件的方法,iPhone未越狱的手机如何安装旧版本APP?

    如何给未越狱的ios下载历史版本的app?未越狱IOS系统安装历史版本软件的方法,iPhone未越狱的手机如何安装旧版本APP? IOS由于系统机制问题不支持版本回退 某些更新可能导致闪退 卡顿等未知 ...

  4. Linux 安装指定版本GCC方法

    第一步:安装默认版本gcc 首先我们需要安装一个gcc,我们使用yum命令来进行安装. $ yum install gcc $ yum install gcc-c++ 这两个命令步骤还是很快的.之后我 ...

  5. 如何安装旧版本的 R 包

    由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中链接. 我们在安装 R 包的时候,经常会发现某个最新的包与当前 R 的版本不兼容. > inst ...

  6. 【Linux基础】CentOS 7环境下安装高版本GCC (gcc/g++ 9.3)

    CentOS 7升级GCC 正文开始@Assassin 目录: CentOS 7升级GCC 基本执行步骤: 1. 切换用户: 2. 安装centos-release-scl: 3. 安装devtool ...

  7. 苹果4s手机装 java微信_苹果4s版本过低不能下载微信怎么安装旧版本的

    苹果4s版本过低不能下载微信怎么安装旧版本的以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 没越狱的话就只能连接itun ...

  8. CentOS 7 安装MuPDF(安装高版本gcc(11.2.1),安装opengl)

    CentOS 7 安装MuPDF(安装高版本gcc(11.2.1),安装opengl) MuPDF源码地址MuPDF 1.安装总结 #gcc $sudo yum -y install centos-r ...

  9. Apple store安装旧版本的软件

    Apple store安装旧版本的软件 算了,真的没有折腾的必要,tmd

  10. Mac中pycharm安装低版本tensorflow1.8的方法

    Mac中pycharm安装低版本tensorflow1.8的方法 出现过的一些问题 解决的办法 注意的问题: 出现过的一些问题 这里我先对我自己安装过程中出现的问题进行一个总结: 用python3.8 ...

最新文章

  1. 如何复制一个目录里面的所有目录和文件
  2. R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(配置数据点抖动显示jitter)实战
  3. 并发编程之——读锁源码分析(解释关于锁降级的争议)
  4. PMP中关于配置管理系统和配置管理项
  5. Linux下的inode记录
  6. MySQL数据库:索引的实现原理
  7. Kubernetes 在知名互联网公司的(dotnet)落地实践
  8. 前后端敏感数据加密方案及实现_01
  9. generating phar.php,Generating
  10. python根据文件名打标签_使用python将图片按标签分入不同文件夹的方法
  11. Python中FileIO
  12. VMWARE 构建局域网 + VMWARE SQL Server 服务器搭建
  13. Code Review 与 结对编程
  14. leetcode59题:滑动窗口的最大值(用双端队列实现)
  15. linux crontab 详解
  16. matlab生猪的出售时机,数学模型程序代码-Matlab-姜启源-第三章-简单的优化模型.doc...
  17. Markdown表情关键字大全
  18. 我国城市区块链发展水平如何?这个指数告诉你|链塔智库
  19. ELK日志分析平台(二)----logstash数据采集
  20. 用xlwings直接调用excel打开xlsx文件

热门文章

  1. Mac下Jmeter基本使用
  2. CAD2020软件安装教程【搬运】
  3. 如何写H5/web前端工程简历中的项目经验
  4. zxr10交换机配置手册vlan_中兴ZXR10交换机配置
  5. web 打开pdf文件
  6. python入门经典书书籍-新手Python入门经典书籍推荐
  7. 海康门禁-开,关,常开,常关,授权,清权
  8. iOS 性能优化知识梳理
  9. 如何使用Mediawiki搭建个人wiki系统、以及wiki的部分基本操作和设置
  10. 27亿美元的NASA「毅力号」成功登陆火星!还带了一架1%大气密度也能飞的无人机...