是否有与 BSD Ports 系统相当的 Ubuntu?我意识到 Linux 和 Ubuntu 文化倾向于从二进制文件安装新软件,但在 BSD 和 Mac OS XI 中使用过 BSD 端口后,我发现它非常简单和优雅,并且按需从源代码编译的想法非常强大,所有依赖项都为您解决。
答案1
大多数 Linux 发行版(包括 Ubuntu)都以二进制文件形式分发软件包。除非您有非常特殊的需求,否则从源代码构建被高估了。
在我看来,如果你想从源代码编译,你最好使用低频频谱分析仪或者Gentoo。
当然,您也可以通过从源代码构建来实现相同的效果。您应尽可能避免在 apt 之外安装软件包。
这里是一个很好的概述,解释了为什么(fedora wiki)。
因此,在 ubuntu 上,您需要从 ubuntu 存储库下载源代码,进行必要的修改,构建软件包,然后使用 apt (dpkg) 安装。这样做的支持很差,与 LFS 和 Gentoo 一样,您需要阅读一些资料。
文档有点散乱。
启用源存储库
您需要启用源存储库才能下载源代码。
看Ubuntu wiki 存储库了解详情。
apt-build
apt-build 将从源代码构建,这可能是在 Ubuntu 或 Debian(或 Mint...)上实现您想要的最佳方式。
sudo apt-get install apt-build auto-apt
配置您的选项
dpkg-reconfigure apt-build
您可能想要使用 -jx,其中 x = CPU 数量 +1
为了防止你编译的包/库被覆盖,请将这些选项放入/etc/apt/preferences
Package: *
Pin: release o=apt-build
Pin-Priority: 990
建造
apt-build install <package>
apt-get
apt-get 将下载源代码并安装依赖项(二进制文件)
# build-deb installs the dependencies (binary)
sudo apt-get build-dep <package>
apt-get source <package>
然后您可以使用任意数量的工具进行构建和打包。
看:
编译内核的页面有更多详细信息和替代选项(fakeroot,
这应该可以帮助你开始了 ;)