Change YUM repo for 32-bit CentOS
毕设需要应用 32 位的 CentOS,但是网上基本上没有关于 32 位的 yum 源的配置,使用官方默认源也已经 404 了。经过调研后发现了可以使用的方法,记录如下。
Environment:CentOS i686 7.6.1810
1. Procedure
和 Ubuntu 的 old-releases
类似,大部分 CentOS 不再维护的版本都会有留一个 centos-vault
源(包含了所有的 CentOS 版本的源)。同时在国内清华源也有 centos-vault
的镜像,可以使用。
经过测试,CentOS 上的 $releasever
默认是大版本号,而对应的目录下已经没有相应的 repomd.xml
文件了。但在具体的版本号目录下仍然有,故需要将 yum 源文件中的 $releasever
替换为相应的 7.6.1810
参考清华源提供的方式,我这里提供了对 32 位 CentOS 7.6 的官方镜像替换的脚本:
$ sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/altarch|g' \
-e 's|altarch/\$releasever|altarch/7.6.1810|g' \
-i.bak \
/etc/yum.repos.d/CentOS-Base.repo
2. Others
这里额外记录对内核模块编译环境的安装。
CentOS 默认没有装内核的一些头文件,可以通过以下脚本快速安装:
$ UNAME=$(uname -r)
$ yum install gcc kernel-devel-${UNAME%.*}
$ rm /lib/modules/${UNAME}/build # (if nesessary)
$ ln -s /usr/src/kernels/${UNAME} /lib/modules/${UNAME}/build
3. References
CentOS 镜像使用帮助 - 清华大学开源软件镜像站
CentOS 7 Base.repo - DISI
make: *** /lib/modules/3.10.0-693.el7.x86_64/build: 没有那个文件或目录 - 嘿 lemon