ubuntu下载源码的方法

本文详细介绍了如何在Ubuntu系统中获取内核源码,并提供了从源码到编译成系统的完整流程,包括下载、解压、编译等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

例如: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/

### 配置 Ubuntu 的 `sources.list` 以下载源码包 在 Ubuntu 系统中,若需通过 `apt source` 命令获取软件包的源代码,必须确保 `/etc/apt/sources.list` 文件中包含指向源代码仓库的 `deb-src` 类型条目。每个 `deb` 源都应有对应的 `deb-src` 条目,以便 APT 工具能够定位并下载相应的源码[^3]。 #### 添加 `deb-src` 条目 打开 `/etc/apt/sources.list` 文件进行编辑: ```bash sudo nano /etc/apt/sources.list ``` 对于每一个以 `deb` 开头的行,复制该行并在开头将 `deb` 替换为 `deb-src`。例如,将以下原始条目: ``` deb http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse ``` 修改为新增的源码仓库条目: ``` deb-src http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse ``` 如果系统使用的是国内镜像源(如阿里云),则同样为其添加对应的 `deb-src` 行。例如针对 Ubuntu 18.04(Bionic)版本: ``` deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted deb-src http://mirrors.aliyun.com/ubuntu/ bionic universe deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates universe deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security universe ``` 完成编辑后保存文件并退出编辑器。 #### 更新 APT 缓存 配置完成后执行以下命令更新 APT 软件包索引: ```bash sudo apt update ``` 此时即可使用如下命令下载指定软件包的源码: ```bash apt source <package-name> ``` #### 注意事项 - 在添加 `deb-src` 条目时,请确保其与原有 `deb` 行中的发行版名称(如 `focal`、`bionic`)和组件(如 `main`、`universe`)保持一致。 - 如果启用了第三方 PPA 或非官方源,请检查这些源是否提供 `deb-src` 地址,并根据需要手动添加[^2]。 - 修改 `sources.list` 后若出现异常,可通过备份文件恢复原状,如: ```bash sudo cp /etc/apt/sources.list.bak /etc/apt/sources.list ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值