我已成功安装 BLFS 8.4,现在我想安装包管理器以使我的系统保持最新状态。我想知道是否可能以及如何实现。
答案1
我部分同意 Sai Maanas 音乐的另一个答案,但不同意“没有人成功过”,至少有 14 个包管理程序或方法显然似乎有效。有些确实需要早期集成,因此 LFS 书中很早就提到了包管理。
对于一般包管理 RPM、Deb 和 arch PKGBUILD(也许还有更多),链接中还有更多提示https://www.linuxfromscratch.org/hints/downloads/files/地点。存在许多其他项目,并且经常被一些用户成功使用。其中之一是https://github.com/KeithDHedger/LFSPkg/
您可能面临的最大问题是已经安装的文件的存在以及未来的包管理器不知道它们的存在。https://www.linuxfromscratch.org/hints/downloads/files/dpkg.txt正如已经暗示的那样,还包括一种通过使用所述“包”预加载数据库(它只是一个文本文件)来使管理器了解这些包的方法。对于其他包类型,您可能需要研究它们如何存储这些详细信息并相应地更改其数据库。简单的 rpm/dep 安装有效,卸载或更新也可能有效。
然而,依赖关系解析和提示是另一个野兽,我读过并看到人们使用 Arch Linux pacman 及其 AUR PKGBUILD 系统取得了成功。但是,如果您不想破坏您的系统或在其更新/升级生命周期中慢慢将其变成 Arch,您可能不想复制他们的镜像。让一个或多个包管理器工作绝对不是不可能的,有些人甚至为他们的个人网络制作了编译服务器和镜像系统。我希望https://www.linuxfromscratch.org/hints/downloads/files/rpm.txt获取 rpm 包并查看https://github.com/benvd/lfs-pacman给你足够的灵感来尝试和测试这些。也许不适用于您的日常驾驶员,虚拟机或临时系统可能是最好的
答案2
截至目前,您可以将现有的包管理器(如 apt)集成到 LFS 构建中,但它非常不可靠,因为您可能很快就会陷入依赖地狱,并且设置包管理器是一个非常漫长的过程,而且没有人拥有曾经成功地将包管理器集成到 LFS 系统中。您拥有的唯一其他解决方案是创建自己的包管理器,这完全是一个全新的复杂水平。有一个提示解释了如何安装 dpkg 和 apt 到 LFShttp://www.linuxfromscratch.org/hints/downloads/files/dpkg.txt
答案3
虽然我同意这可能超出了核心 LFS 书甚至可能超出 BLFS 的范围,但 Linux 标准库将 rpm 格式指定为“标准”包管理样式。