旧发行版

某些场景需要使用旧版本的 Linux ,有时不太好找。

笔者最近在做一个 agent 程序,以二进制程序分发,需要在尽量老的 Linux 系统上编译。老系统不太好找了,只能自己建虚拟机。花了些时间找 镜像 、以及解 决软件源 问题,谨记以防不时之需。

注解

发布二进制代码, libc 兼容性是一个比较棘手的问题。如果版本不兼容,编译出来的程序便不能执行。

Linux__libc向下 兼容的,也就是说在老系统编译的程序在新系统一定是可以运行的!因此,为了提供程序的适用范围,需要在比较老的系统进行编译。

Ubuntu

旧版本 Ubuntu 发行版可以在官网上找到: Ubuntu旧发行版列表 。截止本文撰稿时,还可以找到并下载 Ubuntu 4.10 (这是十几年前的发行版了)。

从列表找到所需版本并下载镜像,最后 Linux系统安装 。安装系统时,注意 不要安装额外软件包 !因为默认的源配置很可能已经失效,而导致安装会失败。

Ubuntu 将就版本软件源维护在 old-releases.ubuntu.com ,以供下载。如果发现 apt 源失效,将源配置调整到 old-releases.ubuntu.com 即可。

登录进新装系统后,编辑 /etc/apt/sources.list 配置文件,将所有软件源域名替换成 old-releases.ubuntu.com

  1. $ sudo sed -i -re 's/([a-z]{2}\.)?archive.ubuntu.com|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list

修改完毕后,运行 apt 命令更新配置:

  1. $ sudo apt-get update

下一步

订阅更新,获取更多学习资料,请关注我们的 微信公众号

../_images/wechat-mp-qrcode.png小菜学编程

微信打赏