虽然我对使用Linux相对较新,但我想了解更多有关如何部署程序包的信息。我试过寻找这个,但没有运气。我见过无数的软件包,并安装了使用相同外观图形的脚本。命令行安装,供用户选择包的选项。以Debian网络安装为例。 [1]
由于我有很多需要学习的内容,我只想总结一下如何做到这一点,以及任何人对开发人员如何做到的资源。
提前致谢。
[1] http://doudoulinux.org/blog/public/screenshots/install/install-selected-tasks.png
答案 0 :(得分:0)
好的,现在,我相信,我理解你所追求的。我仍然坚持认为软件包的交互式配置是特定于发行版,并且不应该是软件包配置的主要形式。
最好以默认工作配置发货,然后记录用户如何更改配置文件(通常在/etc
中)以重新配置包。提供多个默认配置(示例包:wpa_supplicant
附带了几个网络配置示例,默认情况下全部禁用)并允许用户通过取消注释行进行选择通常很有用。
获取配置包的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的发行版有这么多可配置的包,其他发行版经常使用包依赖来安装不同配置的包。例如:
.rpm
包)没有debconf
等工具(据我所知),他们使用不同的(冲突的)包名来安装不同配置的包。有趣的是,基于RPM和Arch的发行版通常都会发送po-debconf
,这是一个适用于该发行版的debconf
。然而,由于我从未尝试过,所以我不能说太多。