linux源代码获取
Ubuntu获取
# which ls
/bin/ls
# dpkg -S /bin/ls
coreutils: /bin/ls
# apt-get source coreutils
CentOS获取
# rpm -qf /bin/ls
coreutils-8.4-9.el6.x86_64
# yumdownloader --source coreutils-8.4-9.el6.x86_64 //验证未通过
Red Hat获取
法一:yumdownloader下载
# yumdownloader gcc-c++.x86_64
法二:使用yum插件yum-downloadonly
# yum -y install yum-downloadonly
# yum -y install --downloadonly --downloaddir=/tmp/ ls
RPM提取文件
# ls
amanda-backup_server-3.3.7-1.rhel7.x86_64.rpm
# rpm -qpl amanda-backup_server-3.3.7-1.rhel7.x86_64.rpm
...
# rpm2cpio amanda-backup_server-3.3.7-1.rhel7.x86_64.rpm | cpio -t
./var/amanda
# rpm2cpio amanda-backup_server-3.3.7-1.rhel7.x86_64.rpm | cpio -idv
18783 blocks
rpm 参数:
-qf 查找指定文件属于哪个RPM软件包
-q 查询已安装的软件信息
-p 查询/校验一个软件包文件
-l 列出软件包中的文件
rpm2cpio 参数:
-t或--list 将输入的内容呈现出来
-i或--extract 执行copy-in模式,还原备份档
-d或--make-directories 如有需要cpio会自行建立目录
-v或--verbose 详细显示指令的执行过程