解决在CentOS 8编译glibc-static
最近想要学习制作rootfs的方法,需要编译静态busybox,但是在我的CentOS 8服务器的yum源中死活找不到libm.a静态链接库,本文介绍博主的解决方案。
参考这篇文章,当你找不到想要的包的时候,直接上这个网站https://centos.pkgs.org去搜你想要的包,并使用:
wget xxx
命令将binary
文件下载下来。本次我们下载glibc-static
,因为libm.a
是位于glibc-static
包里的
我们在创建一个文件夹rpms
,并把包放到这里
mkdir -p rpms && cd rpms
wget http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/glibc-static-2.28-164.el8.x86_64.rpm
rpm -ivh glibc-devel-2.28-164.el8.x86_64.rpm
更新于2022/9/5:上述链接已不可用,亲测可用链接在这里
OK,现在会遇到报错:
[deadpool@localhost rpms]$ rpm -ivh glibc-static-2.28-164.el8.x86_64.rpm
警告:glibc-static-2.28-164.el8.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID c21ad6ea: NOKEY
错误:依赖检测失败:
libxcrypt-static(x86-64) >= 4.0.0 被 glibc-static-2.28-164.el8.x86_64 需要
在上面的网站中,我们可以看到Requires一栏,这里便可以容易地找到依赖包,按照相同的方法下载即可
下载完后,同时安装两个rpm
包即可,即sudo rpm -ivh glibc-static-2.28-164.el8.x86_64.rpm libxcrypt-static-4.1.1-6.el8.x86_64.rpm
。注意:一定要同时安装,仅安装单个包是不行的,会出现相互依赖……
[deadpool@localhost rpms]$ ls
glibc-static-2.28-164.el8.x86_64.rpm libxcrypt-static-4.1.1-6.el8.x86_64.rpm
[deadpool@localhost rpms]$ sudo rpm -ivh glibc-static-2.28-164.el8.x86_64.rpm libxcrypt-static-4.1.1-6.el8.x86_64.rpm
警告:glibc-static-2.28-164.el8.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID c21ad6ea: NOKEY
Verifying... ################################# [100%]
准备中... ################################# [100%]
正在升级/安装...
1:libxcrypt-static-4.1.1-6.el8 ################################# [ 50%]
2:glibc-static-2.28-164.el8 ################################# [100%]
好了,可以着手开始制作根文件系统了,后面完成后博主会录一期视频来讲解Linux可视化调试环境的搭建,尽情期待~🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫