支持从源代码编译的发行版


21

很久以前,我曾经在FreeBSD的ports系统上使用过,后来用Gentoo进行了移植,以便通过从源代码进行编译来安装应用程序。我这样做是为了直接针对我的系统。

是否有其他支持这种配置的发行版?我似乎记得Slackware有类似的东西。


从这个问题尚不清楚,这个问题是关于从源代码编译整个系统,还是编译单个软件包。另外,通过发行版,您是指基于Linux的操作系统,所有免费的类似Unix的操作系统,还是其他产品?如果您的问题仅限于免费的类unix发行版,那么按照定义,它们都可以通过从源代码进行编译来安装软件包,但相对来说很少(Gentoo和相对晦涩的亲戚,例如基于Linux操作系统的Sourcemage)以及某些BSD(在编译整个系统时,我并不那么熟悉。
Faheem Mitha

所有Linux发行版都允许您编译内容,也可以构建自己的二进制程序包并进行安装。从本质上讲,这就是分发打包者创建分发的新版本所要做的。
vonbrand

Answers:



8

有一些发行版既支持二进制软件包也支持编译软件包-理论上,Gentoo支持此发行版,但是我认为二进制软件包并不太多。尽管我没有任何经验,但是Arch还支持通过Arch Build System(ABS)进行二进制软件包之外的源代码构建


为Arch +1(尽管您可以链接到Arch的首页,甚至可能是AUR)
xenoterracide 2010年

Gentoo是我最喜欢的发行版+1
Chris Huang-Leaver

我会给更多的链接,但是我想我必须拥有超过<x> rep(无论如何都超过100)才能添加1个以上的链接,就像StackOverflow那样。我发现这里不是这种情况,因此添加了链接!
BR 2010年

3

Gentoo是您最好的选择,将其用于您的需求有什么问题?


1
我只是一个发行极客,喜欢安装和尝试所有不同的东西。Gentoo一直是我的最爱,但是有了妻子,孩子和一家公司,我花在照顾好gentoo安装上的时间大大减少了。


3

大多数Linux发行版都支持从源代码构建软件包。您只需要从分发存储库安装必要的开发包,以及要构建的包的任何特定要求。如果您想尽可能地从头构建系统,那么Scratch的Linux是该模型,但是您负有跟踪安全更新,补丁等的更大责任。Arch Linux是我选择的发行版,因为它允许您从来源,并提供更新和修补程序等的来源。在解决安装和配置问题时,Arch确实具有良好的用户支持和大量文档。


2

许多基于RPM的发行版都有源RPM软件包。Debian和Ubuntu也有源deb。您是在寻找其他主要是从源代码构建的发行版,还是只是具有可用源软件包的发行版。如果是后者,答案是“很多”。


2

我想到了一些我个人使用过的东西:LFS(很明显),SourceMage以及有人用LNX-BBC makefile制作了一个文件,但现在找不到了。但是我认为Debian足够好,可以根据需要自己编译软件包。

您还应该检查DistroWatch基于源的发行版给出的列表:



2

ALTLinux上,要付出很多努力来维护软件包的准确规范文件,并且在软件包存储库的当前状态下可以精确地复制构建软件包。定期检查存储库中的每个软件包(称为Sisyphus)当前是否可重建 - 重建测试状态报告即每个软件包的上次重建测试的日志

为了确保软件包构建的准确可重复性,使用了特殊的工具来将构建系统与主机系统隔离:哈希器和周围的构建基础结构工具(例如,使用齿轮构建软件包)。

因此,尽管ALTLinux并非专门致力于通过构建来安装系统,但可以肯定的是,他从存储库中获取的软件包可以在其主机系统上轻松重建,而不会出现规范未正式跟踪的其他问题。

ALTLinux致力于成为自定义软件包存储库和发行版的来源,通过ALTLinux构建系统和相关工具的设计,可以轻松地对其进行自定义和独立于ALTLinux并安全地进行重建(即,与主机系统隔离)。因此,如果您想制作自己的定制发行版,则ALTLinux Sisyphus可以成为该发行版的基础,这对他来说很容易在他的工作中使用:制作自己的发行版(俄语)


如果有人感兴趣的话,这是有关ALTLinux的girar-builder(构建基础结构)进行的回购一致性检查的更多详细信息(尽管这本身并不直接与构建本身有关,而是与所生成软件包的一致回购有关) :stackoverflow.com/questions/1316716/…
imz –伊万·扎哈拉里舍夫(Ivan Zakharyaschev)2011年

1

我已经在Open SU​​SE中编译了Squid,因此发行版支持它。


1

是的,没错,Slackware使用构建脚本来编译软件包。http://slackbuild.org/中有很多可用的方法。也有用于新脚本的模板,并且您可以随时提交脚本。


1

我不完全了解您的意思,但请看一下tinycore。整个图像创作的价格可以由来源决定。


1

最近提出了一个非常类似的问题。

我对这个问题的回答是:如何构建所有Debian

从理论上讲,所有发行版都可以从源代码构建。每个发行版的细节可能略有不同,但是我列出的方法是一个可靠的起点。


0

它一定是Linux,还是其他Unix可以吗?

可以使用它们的build.sh系统从源代码构建完整的NetBSD 系统。您构建的系统甚至不必是NetBSD,我已经在Linux或OS X上完成过。该构建可以生成安装.iso,因此您无需使用引导加载程序即可获得新的OS。运行。

构建并安装基本系统后,您可以使用NetBSD的pkgsrc软件包管理器轻松地从源代码安装其他软件包。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.