在Ubuntu新版本安装gcc4.8等老版本环境

在开发需要用gcc-4.8 g++-4.8的开发包,不过新版本的ubuntu,gcc等版本已经是14+,在Ubuntu 18.04+官方源已经彻底移除,强行安装也可能污染宿主机。

于是考虑用docker安装,用Ubuntu 16.04 + gcc-4.8是稳定选择。

由于复用、或者放到 CI/CD,使用Dockerfile如下:

复制代码
FROM ccr.ccs.tencentyun.com/library/ubuntu:16.04

RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list \
 && sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list \
 && apt update \
 && apt install -y gcc-4.8 g++-4.8 \
 && rm -rf /var/lib/apt/lists/*

RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100 \
 && update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 100

CMD ["/bin/bash"]

如果你想让它像虚拟机一样一直存在:

复制代码
docker run -dit  --name gcc48  ubuntu-gcc48  tail -f /dev/null

如果需要映射目录到宿主机,使用如下:

复制代码
docker run -dit \
  --name gcc48 \
  -v /home/devops/gcc48:/workspace \
  ubuntu-gcc48 \
  tail -f /dev/null

进入容器:

复制代码
docker exec -it gcc48 /bin/bash
相关推荐
小Tomkk13 分钟前
数据库 变更和版本控制管理工具 --Bytebase 安装部署(linux 安装篇)
linux·运维·数据库·ci/cd·bytebase
赌博羊13 分钟前
ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32‘ not found
linux·运维·gnu
木卫二号Coding15 分钟前
第七十九篇-E5-2680V4+V100-32G+llama-cpp编译运行+Qwen3-Next-80B
linux·llama
getapi24 分钟前
Ubuntu 22.04 服务器的系统架构是否为 amd64 x86_64
linux·服务器·ubuntu
消失的旧时光-194341 分钟前
Linux 入门核心命令清单(工程版)
linux·运维·服务器
艾莉丝努力练剑1 小时前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法
小天源1 小时前
Cacti在Debian/Ubuntu中安装及其使用
运维·ubuntu·debian·cacti
Trouvaille ~1 小时前
【Linux】TCP Socket编程实战(一):API详解与单连接Echo Server
linux·运维·服务器·网络·c++·tcp/ip·socket
芷栀夏1 小时前
深度解析 CANN 异构计算架构:基于 ACL API 的算子调用实战
运维·人工智能·开源·cann
全栈工程师修炼指南2 小时前
Nginx | stream 四层反向代理:SSL、PREREAD 阶段模块指令浅析与实践
运维·网络·网络协议·nginx·ssl