如何获取linux 命令源码

下面以查看ls这个命令的源代码为例:

1.输入 which ls

liuwei@liuwei:~/test$ which ls
/bin/ls

2.输入sudo dpkg -S /bin/ls
liuwei@liuwei:~/test$ sudo dpkg -S /bin/ls
coreutils: /bin/ls

3.输入sudo apt-get source coreutils
liuwei@liuwei:~/test$ sudo apt-get source coreutils
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
需要下载 12.3 MB 的源代码包。
获取:1 http://debian.ustc.edu.cn/ubuntu/ trusty/main coreutils 8.21-1ubuntu5 (dsc) [1,335 B]
获取:2 http://debian.ustc.edu.cn/ubuntu/ trusty/main coreutils 8.21-1ubuntu5 (tar) [12.3 MB]
获取:3 http://debian.ustc.edu.cn/ubuntu/ trusty/main coreutils 8.21-1ubuntu5 (diff) [30.6 kB]
下载 12.3 MB,耗时 56秒 (218 kB/s)                                             
gpgv: 于 2014年03月24日 星期一 15时03分17秒 CST 创建的签名,使用 DSA,钥匙号 C6CEA0C9
gpgv: 无法检查签名:找不到公钥
dpkg-source: 警告: 对 ./coreutils_8.21-1ubuntu5.dsc 校验签名失败
dpkg-source: info: extracting coreutils in coreutils-8.21
dpkg-source: info: unpacking coreutils_8.21.orig.tar.gz
dpkg-source: info: applying coreutils_8.21-1ubuntu5.diff.gz

此时可能会发生如上所述的找不到公钥的情况,解决方法如下:

先sudo apt-get udpate

liuwei@liuwei:~/test$ sudo apt-get update

再输入 gpg --keyserver subkeys.pgp.net --recv C6CEA0C9,其中C6CEA0C9为上述钥匙号

liuwei@liuwei:~/test$ gpg --keyserver subkeys.pgp.net --recv C6CEA0C9
gpg: 下载密钥‘C6CEA0C9’,从 hkp 服务器 subkeys.pgp.net
gpg: 公钥服务器超时
gpg: 从公钥服务器接收失败:公钥服务器错误

此时可能会出现从公钥服务器接收失败:公钥服务器错误的提示,解决方法如下

输入sudo apt-get update

liuwei@liuwei:~/test$ sudo apt-get update

再gpg --keyserver subkeys.pgp.net --recv C6CEA0C9

liuwei@liuwei:~/test$ gpg --keyserver subkeys.pgp.net --recv C6CEA0C9
gpg: 下载密钥‘C6CEA0C9’,从 hkp 服务器 subkeys.pgp.net
gpg: 密钥 C6CEA0C9:公钥“Adam Conrad <adconrad@0c3.net>”已导入
gpg: 没有找到任何绝对信任的密钥
gpg: 合计被处理的数量:1
gpg:               已导入:1

再gpg --export --armor C6CEA0C9 | sudo apt-key add -

liuwei@liuwei:~/test$ gpg --export --armor C6CEA0C9 | sudo apt-key add -
OK

此时再 ls,会发现多出了如下文件 :

liuwei@liuwei:~/test$ ls
coreutils-8.21                   coreutils_8.21-1ubuntu5.dsc
coreutils_8.21-1ubuntu5.diff.gz  coreutils_8.21.orig.tar.gz

在coreutils-8.21中就可以查看源码了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值