在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
相关推荐
星恒随风44 分钟前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
少司府1 小时前
嵌入式入门篇(二):初识STM32F103ZET6
linux·python·stm32·单片机·嵌入式硬件·mcu·嵌入式软件
无足鸟ICT2 小时前
【RHCA+】IO调度算法
linux·服务器
打工仔折腾 AI2 小时前
Changedetection.io 网页变动监控:Docker 部署、通知配置与公网暴露实践
运维·人工智能·后端·python·docker·容器·性能优化
wacsii2 小时前
【Linux进程(四)】命令行参数与环境变量
linux·服务器
无奈笑天下2 小时前
银河麒麟上lsblk命令教程详解
linux·运维·服务器·数据库
fengkai45452 小时前
Prometheus+K8s弹性伸缩综合项目
运维·kubernetes·k8s·prometheus·hpa·vpa
科研邪修法3 小时前
培训PDF保护配置:把需求转换成可验收权限
linux·服务器·网络
Felven4 小时前
中科驭数100G网卡RDMA性能测试
linux·rdma·中科驭数·100g网卡
分布式存储与RustFS4 小时前
镜像仓库的层别只堆本地盘:用 RustFS 给 Harbor 当 S3 后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准