在古老的 OS 上运行一个干净的新的环境

由于某些课程的原因,需要在一个 CentOS 7 上跑一些编译和运行代码。看到这么古老的软件,我心想不行,肯定要找新一些的软件来用。首先想到的是 tmux ,于是按照网上的脚本 很快装了一个 tmux 2.8 版本,果然好了很多。但是常用的很多软件依然是个问题。试了一下最近比较新的 code-server ,因为ABI问题跑不起来。

于是开始想玩骚操作。首先想到的是 Gentoo Prefix ,不过既然是别人的机器,还是算了。又找了 fakeroot 配合 alpine rootfs 的方案,但编译不过,估计是内核版本问题。又试了一下 fakechroot ,但它需要配合 fakeroot 使用,这就凉了。

然后又找了一些替代方案。一是 uchroot ,但由于 CMake 版本太老也编译不过。最后发现了 PRoot ,直接提供 prebuilt 然后很容易就可以跑起来:

$ ./proot -b /proc -b /dev -r $CHROOT /bin/busybox sh

于是就进到了 alpine 的 rootfs 中,下载地址。进去以后发现没有编辑器,于是出来把 apk 的源改了,加了 resolv.conf ,就成功地安装了很多很新的软件了。

comments powered by Disqus