例如:ls的源码
1.which ls
显示ls在/bin/ls
2.dpkg -S /bin/ls
显示coreutils: /bin/ls
3。sudo apt-get source -d "coreutils"
就可以下载ls的源码了。ls的源码在/coreutils-6.10/coreutils-6.10/src里面,这里源码放在你当前目录下。
二下载系统内核源码。
1.查看当前系统原码版本
gavin@ubuntu:/usr/src$ apt-cache search linux-source
linux-source - Linux kernel source with Ubuntu patches
linux-source-2.6.35 - Linux kernel source for version 2.6.35 with Ubuntu patches
2.下载源码
gavin@ubuntu:/usr/src$ sudo apt-get install linux-source-2.6.35
3下载完成后,在/usr/src目录中,可以看到压缩包
gavin@ubuntu:/usr/src$ ls
linux-headers-2.6.35-22 linux-source-2.6.35
linux-headers-2.6.35-22-generic linux-source-2.6.35.tar.bz2
在编译之前记得安装sudo apt-get install libncurses5-dev libncurses5 build-essential
如何获取ubuntu源码包里面的源码?
1、在获取源码包之前,确保在软件源配置文件/etc/apt/sources.list中添加了deb-src项
2、使用如下命令获取xxx源码包的详细信息:
sudo apt-cache showsrc xxx 这用来查询当前镜像站点中是否有该源码包。
3、源码包中通常包含3个文件,分别以dsc,orig.tar.gz和diff.gz为后缀名。
sudo apt-get source xxx 命令来获取源码包,它会将源码包下载到用户当前目录
并在命令执行过程中,调用dpkg-source命令,根据dsc文件中的信息,将源码包解压到同名目录中,应用程序的源代码就在这里面。
sudo apt-get source xxx
要强调的是,在下载源码包前,必须确保安装了dpkg-dev(执行”apt-get install dpkg-dev”来安装),
否则,只会下载源码包的3个文件,但不会解压缩源码包。当然你也可以自己用dpkg-source命令去解压缩源码包。
4、在编译源码包前,需要安装具有依赖关系的相关软件包。使用”apt-get build-dep”命令可以主动获取并安装所有相关的软件包。
sudo apt-get build-dep xxx
5、现在可以来编译源码包了,首先进入源码所在目录,使用dpkg-buildpackage命令来编译源码包,它会将生成的Deb软件包放置在上层目录中。
cd xxx
sudo dpkg-buildpackage
这样就会编译生成xxx_i386.deb
6、安装软件包。使用”dpkg –i”命令来安装生成的Deb软件包。
sudo dpkg -i xxx_i386.deb
转载地址:http://liuqiong1988128.blog.163.com/blog/static/1922495062013918113433653/