我正在编写一个应用程序,该应用程序应允许用户在需要时安装一些其他软件包。我想创建一个自定义 GUI,用于收集软件包 debconf 问题以及来自我的应用程序的一些其他问题。然后我将使用 aptd 或其他程序安装该软件包,软件包安装脚本提出的任何问题都将通过我的自定义 GUI 中的字段进行回答。
我如何实现这个目标?
答案1
看起来包debconf-set-selections
中的命令debconf-utils
适合这个。
格式很简单:debconf-set-selections [filename]
如果没有提供文件名,那么它会从 stdin 获取输入。答案行本身的格式也很简单:< packagename> < question_name> < datatype> < value>
。
因此,如果您想mysql-server
使用预定的密码进行安装,那么您需要创建一个像这样的文件(mysql-prefs.seed)
mysql-server-5.5 mysql-server/root_password password my_root_password
mysql-server-5.5 mysql-server/root_password_again password my_root_password
然后通过运行将这些答案插入到 debconf 数据库中debconf-set-selections mysql-prefs.seed
。最后,您只需正常安装软件包即可:sudo apt-get install mysql-server -yq
MySQL root 用户的密码现在将是“my_root_password”。
我不知道这是否是最好的这种方法确实有效,而且相当简单。