编译 Ubuntu 软件包

编译 Ubuntu 软件包

本文介绍了在 Ubuntu 22.04 系统上,如何下载并编译 iperf3,得到适用于 Ubuntu 的 .deb 安装包。

安装工具

首先需要安装 dpkg-dev 软件包:

1
apt install dpkg-dev

下载源代码

手动下载

打开 Ubuntu Packages 网站,搜索需要编译的软件包,注意选择自己的系统版本:

搜索软件包

搜索结果:

搜索结果

点击打开软件包详情页面:

软件包详情

在页面右侧的 Download Source Package 处下载源码:

  1. iperf3_3.9-1build1.dsc
  2. iperf3_3.9.orig.tar.gz
  3. iperf3_3.9-1build1.debian.tar.xz

假设下载完成后的目录结构如下:

1
2
3
4
.
├── iperf3_3.9-1build1.debian.tar.xz
├── iperf3_3.9-1build1.dsc
└── iperf3_3.9.orig.tar.gz

在当前目录运行解压命令:

1
dpkg-source -x iperf3_3.9-1build1.dsc

完成后应当得到以下目录结构:

1
2
3
4
5
.
├── iperf3-3.9/* # 忽略子文件
├── iperf3_3.9-1build1.debian.tar.xz
├── iperf3_3.9-1build1.dsc
└── iperf3_3.9.orig.tar.gz

其中 iperf3-3.9/ 为根据 iperf3_3.9-1build1.dsc 文件中的信息,解压得到的源码文件夹。

自动下载

手动下载的步太复杂了,可以直接使用命令来获取源码。

首先要确保 /etc/apt/source.list 中配置了 deb-src 的地址,例如以下配置中包含了 deb-src 开头的信息(以下配置为 Ubuntu 22.04 系统使用,其他版本请按需修改):

1
2
3
4
5
6
7
8
9
10
11
12
13
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse

注意:修改配置后需要运行 apt update 来更新索引。

准备完成后即可下载源代码:

1
apt source iperf3

即可在当前目录得到和手动下载一致的目录结构:

1
2
3
4
5
.
├── iperf3-3.9/* # 忽略子文件
├── iperf3_3.9-1build1.debian.tar.xz
├── iperf3_3.9-1build1.dsc
└── iperf3_3.9.orig.tar.gz

编译软件包

首先进入到源代码目录:

1
cd iperf3-3.9/

然后使用以下命令自动安装编译所需的工具:

1
apt build-dep iperf3

然后开始编译:

1
dpkg-build-package

编译完成后回到上级目录,并查看编译结果:

1
2
cd ..
ls *.deb

按需安装编译的 .deb 软件包即可。