gpt4 book ai didi

linux - 为基于 Linux 的操作系统包创建 'graphical' 命令行安装

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:24:32 25 4
gpt4 key购买 nike

虽然我对使用 Linux 比较陌生,但我想了解更多有关部署包的工作原理的信息。我试过寻找这个但没有运气。我见过无数的软件包和安装脚本,它们使用外观相同的“图形”命令行安装,供用户选择软件包的选项。以 Debian 网络安装为例。 [1]

因为我有很多东西要学,所以我只想总结一下这是如何实现的,以及任何人拥有的关于开发人员如何做到这一点的任何资源。

提前致谢。

[1] http://doudoulinux.org/blog/public/screenshots/install/install-selected-tasks.png

最佳答案

好的,现在,我相信,我明白你在追求什么。我仍然坚持认为包的交互式配置是特定于发行版的,不应成为包配置的主要形式。

最好以默认工作配置发布,然后记录用户如何更改配置文件(通常在 /etc 中)以重新配置包。提供几个默认配置通常很有用(示例包:wpa_supplicant 附带了几个网络配置示例,默认情况下全部禁用)并允许用户通过取消注释行进行选择。


Debian

debian 配置包的具体方法是 debconf,它的配置是一个简单的 shell 脚本(或 perl 脚本,或任何其他可以通过 STDIN/STDOUT) 和模板文件进行对话的东西。模板文件将在 aptitude/apt-get 界面中提供选项,如您问题中的屏幕截图所示。

值得一读debian guidelines on package configuration了解哪种配置太多了。

而且他们还有一个 thorough tutorial .既然你说你没有包装经验我也推荐阅读the introduction to packaging ,它会告诉你文件应该放在哪里。此外,dbhelper 是一个很棒的工具,可以将文件放置在包目录中的正确位置。


在其他发行版上

每个发行版都有自己的向包添加配置的方法。 Debian 以其 debconf 着称,因为它是功能最丰富的软件包配置工具之一(连同 dpkg-reconfigure)。

分发包中的软件开发人员通常与打包软件的开发人员不同。开发人员留下的配置选项通常比包中的更全面(例如包含或排除某些库)。

事实上,您最熟悉 debian 发行版(这是基于您的问题标签的假设),这可能会让您对包配置产生误导。只有基于 debian 的发行版有这么多可配置的包,其他发行版经常使用包依赖来安装不同配置的包。例如:

  • 基于 RedHat 的发行版(.rpm 包)没有诸如 debconf 之类的工具(据我所知),它们使用不同的(冲突的)包名称来安装不同配置的包。
  • 基于 Arch Linux 的发行版强制执行用户配置。本质上,arch 强制用户通过进入他们的配置文件并更改配置来配置他们的包(如果你想学习,这是一件非常好的事情)。

有趣的是,基于 RPM 和 Arch 的发行版都经常发布 po-debconf,这是为该发行版改编的 debconf。然而,我不能说太多,因为我从未尝试过。

关于linux - 为基于 Linux 的操作系统包创建 'graphical' 命令行安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37511294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com