如何从源代码更新所有 Debian 软件包?

如何从源代码更新所有 Debian 软件包?

为了从源代码构建包,有apt-get source --compile pkg-name.但为了让它工作,必须apt-get build-dep pkg-name事先运行,下载二进制包。

是否有可能达到这样的程度:所有更新的包都是预先从源代码编译的?

答案1

这是可能的,但是非常困难。如果您确实想从源代码重建所有内容,那么您最终将陷入必须打破的依赖循环。但如果您想坚持下去,apt-get build-dep您应该查看每个源包的内部,并重建和debian/control中列出的所有包,而不是使用。理想情况下,您还应该重建所有“基本”包和所有依赖的包(包不需要声明它们对这些包的依赖关系)。Build-DependsBuild-Depends-Indepbuild-essential

其他人已经在这方面进行了研究(并且仍然如此);您可以阅读有关引导 Debian 的持续努力Debian 维基

作为金发姑娘指出尽管这相当浪费时间。事实上 Debian 中有人正在努力做到这一点完全地确保二进制包可重现是没有意义的,IE您可以通过在自己的计算机上重建来获得与存档中相同的二进制文件,从而证明所声明的源代码确实是用于构建二进制文件的;因此,除非您想更改源代码或构建配置,否则在您自己的计算机上从源代码重建是没有意义的。您可以在以下位置阅读有关这项工作的信息:Debian 维基以及;超过 80% 的档案已经可以复制。

如果您想将此作为学习练习,那么布当宁的建议很好:看看从零开始的Linux反而。您还可以查看更面向源代码的发行版(例如,从本地源代码编译),例如Gentoo Linux

相关内容