在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
相关推荐
..Dauntless..3 小时前
【Linux】权限问题——拥有者、所属组和其他用户的协调
linux·运维·服务器
平行云4 小时前
实时云渲染信创架构解析:从GPU池化到全栈适配的技术演进
linux·unity·docker·ue5·webgl·数字孪生·实时云渲染
handler014 小时前
【Linux】信号:内核的“敲门声”
linux·运维·服务器·c++·c·信号·signal
T1mzhou4 小时前
ARM64 Linux 6.10内核启动流程6-psci.c和ATF/U-Boot 的电源接口
linux·服务器·c语言
lucybean014 小时前
食品加工行业污水处理曝气装置采购避坑与合规筛选指南
运维
harmony&4 小时前
DevOps进阶:SonarQube 代码审计与 Harbor 镜像仓库实战
运维·devops
Neighbor_OldY4 小时前
CSRF跨站请求伪造攻击检测与应急处置实战:伪造请求识别与防护落地
运维·安全·web安全
生活爱好者!5 小时前
NAS能批量做短视频?docker部署MoneyPrinterTurbo
运维·docker·容器
ch3nyuyu5 小时前
驱动第三阶段
linux
考虑考虑5 小时前
Redis8.8新特性
运维·redis·后端