1、首先通过 yum 查找命令所属的 rpm 包,从下面的命令看出,ls 命令 由 coreutils-8.30-8.el8.x86_64
提供。
$yum provides ls
coreutils-8.30-8.el8.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo : @System
Matched from:
Filename : /usr/bin/ls
Provide : /bin/ls
2、下载 srpm 包
$yumdownloader --source coreutils-8.30-8.el8.x86_64
$ls
coreutils-8.30-8.el8.src.rpm
3、解压 srpm,生成源代码包,源代码位置在~/rpmbuild/SOURCES
,coreutils-8.30.tar.xz
就是源码包
$rpm -i coreutils-8.30-8.el8.src.rpm
$ls ~/rpmbuild/SOURCES/
...
coreutils-8.30.tar.xz
...
4、可通过 rpmbuild 编译
$ cd ~/rpmbuild/SPECS
$ rpmbuild -ba coreutils.spec
参考
- https://wiki.centos.org/HowTos/RebuildSRPM
- http://vault.centos.org/ 这个网站也有源码
- http://www.rpmfind.net/linux/RPM/ 源码安装包
- https://pkgs.org/ 源码安装包