千家信息网

CentOS系统怎么获取命令的源代码

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,小编给大家分享一下CentOS系统怎么获取命令的源代码,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!以32位CentOS6
千家信息网最后更新 2025年02月02日CentOS系统怎么获取命令的源代码

小编给大家分享一下CentOS系统怎么获取命令的源代码,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

以32位CentOS6.6下,获取ls命令的源代码为例,可以使用如下的方法下载源代码:

1)配置源代码的源

在CentOS中,源的配置文件为:/etc/yum.repos.d/CentOS-Base.repo,修改该文件需要root权限。

打开该文件,查看该文件的内容,在本人的机子上,该文件的内容如下:

# CentOS-Base.repo  #  # The mirror system uses the connecting IP address of the client and the  # update status of each mirror to pick mirrors that are updated to and  # geographically close to the client.  You should use this for CentOS updates  # unless you are manually picking other mirrors.  #  # If the mirrorlist= does not work for you, as a fall back you can try the   # remarked out baseurl= line instead.  #  #    [base]  name=CentOS-$releasever - Base  mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os  #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/  gpgcheck=1  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6    #released updates   [updates]  name=CentOS-$releasever - Updates  mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates  #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/  gpgcheck=1  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6    #additional packages that may be useful  [extras]  name=CentOS-$releasever - Extras  mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras  #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/  gpgcheck=1  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6    #additional packages that extend functionality of existing packages  [centosplus]  name=CentOS-$releasever - Plus  mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus  #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/  gpgcheck=1  enabled=0  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6    #contrib - packages by Centos Users  [contrib]  name=CentOS-$releasever - Contrib  mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib  #baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/  gpgcheck=1  enabled=0  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

该文件中有两个变量:releasever和basearch,分别表示release版本和分支,如本人的机子上,这两个值分别为6和i386。注意,releasever并不会细分为次级版本,即不会是6.6之类的。

从该文件的内容可以知道,该文件共有5个节,也就是说本人的机子的软件来源有5处,分别为base、updates、extras、centosplus和contrib。所以只需要为如下的5处软件源指定其源代码的源即可。在文件的末尾加上如下的内容:

[base-src]  name=CentOS-$releasever - Base src  baseurl=http://vault.centos.org/6.6/os/Source/  gpgcheck=1  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6    [updates-src]  name=CentOS-$releasever - Updates src-centos  baseurl=http://vault.centos.org/6.6/updates/Source/  gpgcheck=1  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6    [extras-src]  name=CentOS-$releasever -  Extras src-centos  baseurl=http://vault.centos.org/6.6/extras/Source/  gpgcheck=1  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6    [centosplus-src]  name=CentOS-$releasever - Plus src-centos  baseurl=http://vault.centos.org/6.6/centosplus/Source/  gpgcheck=1  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6    [contrib-src]  name=CentOS-$releasever - Contrib src-centos  baseurl=http://vault.centos.org/6.6/contrib/Soruce/  gpgcheck=1  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

由于不同的版本设置会有所不同,所以其设置会有所不同,方法可总结为如下:

(1)gpgkey与该文件中已有的节的gpgkey相同

(2)为了确认文件的存在和情况,可以打开网站http://vault.centos.org/查看具体的情况,再根据具体的情况来填写

(3)设置baseurl时需要根据自己的系统的版本来设置,如本人的机子为CentOS-6.6,则在设置时,相关的参数就设置为6.6,即http://vault.centos.org/后接的子路径为6.6。

该文件的作用是为yum其及相关工作的下载提供一个源,如在使用yumdownloader(下面会讲到)下载源代码时,会发生如下动作:

(1)下载$baseurl/repodata/repomd.xml文件,若该repomd.xml文件比系统中的新,更新系统中的相应的repomd.xml

(2)下载$baseurl/SPackages/中的相应的源代码rpm包。

2)使用which命令查看ls命令的位置,如下:

which ls

# 输出:/bin/ls

3)使用rpm命令查询ls命令所属的包,如下:

rpm -qf /bin/ls

# 输出:coreutils-8.4-37.el6.i686

4)yumdownloader是一个从RPM源下载RPM的程序,可以使用yumdownloader命令安装源代码,如下:

yumdownloader --source coreutils-8.4-37.el6.i686

注:

(1)若yumdownloader命令没有安装,则可以使用此命令安装:yum install yum-utils。

(2)下载的文件在当前目录下,可以使用参数--destdir指定下载到哪一个目录。

5)使用yumdownloader下载到的是一个安装包文件rpm,可以使用如下的命令查询rpm中的tar文件:

rpm -qpl coreutils-8.4-37.el6.src.rpm | grep tar

# 输出:coreutils-8.4.tar.xz

6)使用rpm2cpio命令将rpm包文件转换成cpio归档文件,再使用cpio命令,从cpio归档文件复制提取出一个归档文件,出如下:

rpm2cpio coreutils-8.4-37.el6.src.rpm | cpio -idv coreutils-8.4.tar.xz

# 输出:

# coreutils-8.4.tar.xz

# 9561 blocks

cpio的man解释为:cpio copies files into an archive

-i:与--extract等同,提取之意

-d:与--make-directories等同,当有需要时创建一个加载目录

-v:列出文件的处理过程

7)使用tar命令对coreutils-8.4.tar.xz压缩包进行解压缩,如下:

tar -xvf ./coreutils-8.4.tar.xz

至此,命令的源代码获取完成。

以上是"CentOS系统怎么获取命令的源代码"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

文件 命令 源代码 内容 系统 机子 版本 输出 不同 情况 目录 篇文章 两个 参数 方法 有所不同 软件 别为 查询 配置 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 创新软件开发创造辉煌 东莞启程网络技术 手机php服务器安卓版 放心的重庆联通服务器托管云空间 全栈网络安全专家微职位百度云 实况服务器进不去 车站服务器图片 网络安全知识小论文 服务器内存一直在工作中 数据库应用的特点是 marco web服务器 什么是计算机网络技术学 学校网络安全维护记录内容 svn服务器数据备份 更换电脑数据库 长宁区新时代软件开发加工厂 南京苏德软件开发有限公司网站 电脑服务器如何校正时间 数据库事务知识点总结 查询和删除数据库的函数是 关于web服务器系统的描述中 幼儿园大班网络安全教育教案 计算机网络技术高职就业前景 真三国无双ol服务器 山西曙光服务器虚拟化优化 软件开发季度总结报告 主题黑科技安卓软件开发 备案腾讯云阿里云 多个服务器 iphone13无法连接服务器怎么回事 西安飞凡网络技术有限公司
0