[Share Experiences] 【deepin 20.2.2】使用 apt-build 从 deepin 仓库源码构建安装软件包
Tofloor
poster avatar
SamLukeYes
deepin
2021-07-28 03:53
Author

最近在研究怎么在 deepin 上使用 makedeb 的时候,误打误撞发现了一个叫 apt-build 的从源码编译并安装 .deb 包的工具,在此分享给大家。

 

通常在 deepin 上安装软件的时候,可以直接从软件仓库中方便地获取二进制软件包。但有的时候,你可能会希望对软件包进行定制或重新打包,包括但不限于以下情况:

1、你想给某个软件包打个补丁。这时就需要先获取源码,打上补丁,然后编译安装。

2、deepin 的一个共享库更新了,但依赖这个库的软件没有及时重新构建。如果受影响的软件是开源的,重新编译打包通常能解决问题。

3、你不满足于 deepin 提供的二进制包的性能,希望增加一些优化参数并自行编译。

 

如果你有上述需求,但对 Debian 系的打包方式不太了解,或者希望能简化复现或定制源自仓库的软件包的过程,那么你很可能需要像 apt-build 这样的获取源码编译安装一条龙服务

 

deepin 的软件仓库中已经收录了 apt-build,因此可以直接用下列命令安装:

sudo apt install apt-build

安装过程中会让你设置本地仓库和编译选项,如果不确定的话直接按回车选择默认的就好了。后续还可以在 /etc/apt/apt-build.conf 中修改配置。

 

安装完成后,确保在 /etc/apt/source.list 中启用了源码仓库(去掉 deb-src 前的 #),就可以用 apt-build 安装软件了。使用方法和 apt-get 差不多,例如从源码构建安装 aria2:

sudo apt-build install aria2

 

如果需要打补丁,只需要在命令结尾加上 --patch=(补丁文件绝对路径) 就可以了。例如,给 aria2 打上加速补丁(假设你把这个补丁保存为 ~/aria2-fast.patch):

sudo apt-build install aria2 --patch=$HOME/aria2-fast.patch

 

更多使用方法,可以用 man apt-build 查看。目前我也是刚刚接触 apt-build,还有很多操作没尝试过。如果有什么问题或者新的发现,欢迎在楼下交流

Reply Favorite View the author
All Replies
神末shenmo
Moderator
Spark-App
2021-07-28 17:20
#1

那是不是vlc就可以解决了?!

我试试

Reply View the author
SamLukeYes
deepin
2021-07-28 17:55
#2
神末shenmo

那是不是vlc就可以解决了?!

我试试

vlc 现在 deepin 主仓库的版本直接就能用了。倒是我在尝试用 apt-build 编译 vlc 的时候出现了奇怪的权限错误

Reply View the author