安装旧版本gcc的简便方法,软件包管理命令update

您所在的位置:网站首页 安装GCC无法获取 安装旧版本gcc的简便方法,软件包管理命令update

安装旧版本gcc的简便方法,软件包管理命令update

2024-07-16 07:34| 来源: 网络整理| 查看: 265

先降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-dbg libitm1-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 libisl15 libmpfr4 升级了 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 - 优先级 400 biren@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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3