1.首先确认一下配置文件里是有包含 src 相关的源的
$ cat /etc/apt/sources.list |grep -v "^#" | grep "deb-src"
deb-src http://cn.archive.ubuntu.com/ubuntu/ precise main restricted
deb-src http://cn.archive.ubuntu.com/ubuntu/ precise universe
deb-src http://cn.archive.ubuntu.com/ubuntu/ precise multiverse
2.获取源代码
$ apt-get source pkg_name
3.参考
这里写了一个简单的脚本用于自动获取对应的命令的源文件。
#!/bin/sh
match_line=$(dpkg -S "$1" | grep ":" | head -1)
if [ $? != 0 ]; then
echo "no pkg found!"
exit 1
fi
match_pkg=$(echo $match_line | sed -e 's/:.*//')
echo "start to get source of $match_pkg ..."
apt-get source $match_pkg
使用说明:
$ sh /tmp/test.sh /usr/bin/msgfmt
sh /tmp/test.sh /usr/bin/msgfmt
start to get source of gettext ...
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
需要下载 15.2 MB 的源代码包。
获取:1 http://cn.archive.ubuntu.com/ubuntu/ precise/main gettext 0.18.1.1-5ubuntu3 (dsc) [1,342 B]
获取:2 http://cn.archive.ubuntu.com/ubuntu/ precise/main gettext 0.18.1.1-5ubuntu3 (tar) [15.1 MB]