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
本文详细介绍了在Ubuntu系统中安装dpkg-dev的方法,并设置了软件源的URL,通过具体实例展示了如何下载ls命令的源码,包括查找命令位置、确定所在包、下载源码等步骤。

被折叠的 条评论
为什么被折叠?



