创建一个'图形'基于Linux的操作系统包的命令行安装

时间:2016-05-29 14:49:24

标签: linux command-line debian package

虽然我对使用Linux相对较新,但我想了解更多有关如何部署程序包的信息。我试过寻找这个,但没有运气。我见过无数的软件包,并安装了使用相同外观图形的脚本。命令行安装,供用户选择包的选项。以Debian网络安装为例。 [1]

由于我有很多需要学习的内容,我只想总结一下如何做到这一点,以及任何人对开发人员如何做到的资源。

提前致谢。

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

1 个答案:

答案 0 :(得分:0)

好的,现在,我相信,我理解你所追求的。我仍然坚持认为软件包的交互式配置是特定于发行版,并且不应该是软件包配置的主要形式。

最好以默认工作配置发货,然后记录用户如何更改配置文件(通常在/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。然而,由于我从未尝试过,所以我不能说太多。