1、首先安装dpkg-dev:
apt-get install dpkg-dev
2、设置资源的URL
进入 sudo vim /etc/apt/sources.list ,然后加入以下URL:
deb-src http://archive.ubuntu.com/ubuntu trusty main restricted #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty restricted main universe multiverse #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-updates restricted main universe multiverse #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse #Added by software-properties
deb-src http://security.ubuntu.com/ubuntu trusty-security restricted main universe multiverse #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-proposed restricted main universe multiverse #Added by software-properties
并执行命令:apt-get update
不然会报错:ubuntu apt-get (You must put some ‘source’ URIs in your sources.list)
E: You must put some ‘source’ URIs in your sources.list
3、下载相应的源码,这里以ls为例
注意:最好在root下,运行下面命令
(一)查找ls命令的位置 , 执行:which ls
运行结果:/bin/ls
(二) 查找命令所在的包,执行:dpkg -S /bin/ls
运行结果:coreutils: /bin/ls
(三) 下载源码,执行:apt-get source coreutils
(四)下载完成后,当前目录下面可以看到四个文件,其中coreutils-8.21是源码的目录,相应的源码在它里面 。
可能出现的错误:
W: Download is performed unsandboxed as root as file 'coreutils_8.21.orig.tar.gz' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
root@morun:/home/# ls
情况一:当前目录已经生成了三个文件,还差一个源码目录
这时可以通过手动解压源码包,产生源码目录
执行:dpkg-source -x coreutils_8.21-1ubuntu5.4.dsc (你的xxx.dsc)
可能出现的错误
W: Download is performed unsandboxed as root as file 'coreutils_8.21.orig.tar.gz' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
root@morun:/home/hukejian# ls
情况二:当前目录没有生成任何文件
方法:
一、执行:sudo chown _apt /var/lib/update-notifier/package-data-downloads/partial/
二、然后再执行一遍:apt-get source coreutils