在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
相关推荐
johnny2334 小时前
运维管理面板:AcePanel、OpenOcta、DeepSentry
运维
青梅橘子皮5 小时前
Linux---基本指令
linux·运维·服务器
REDcker5 小时前
Linux信号机制详解 POSIX语义与内核要点 sigaction与备用栈实践
linux·运维·php
cui_ruicheng6 小时前
Linux进程间通信(三):System V IPC与共享内存
linux·运维·服务器
蚰蜒螟6 小时前
深入 Linux 内核同步机制:从 futex 到 spinlock 的完整旅程
linux·windows·microsoft
运维全栈笔记6 小时前
Linux安装配置Tomcat保姆级教程:从部署到性能调优
linux·服务器·中间件·tomcat·apache·web
dllmayday7 小时前
Linux 上用终端连接 WiFi
linux·服务器·windows
ACP广源盛139246256738 小时前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑
峥无9 小时前
Linux系统编程基石:静态库·动态库·ELF文件·进程地址空间全景图
linux·运维·服务器
用户2367829801689 小时前
从 chmod 755 说起:Unix 文件权限到底是怎么算的?
linux