问题标签 [debconf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
debian - 如何从维护者脚本优雅地退出 deb 安装?
我正在构建一个 deb,它使用 debconf 来询问用户是否真的想要安装它(简单的布尔模板)。什么是优雅退出安装的最佳方式,以便稍后用户可以apt-get install pkg-name
看到新的配置菜单?
我目前的解决方案是检查preinst
脚本中的值,如下所示:
有exit 1
必要apt-get
避免继续并认为已安装软件包,并且 db_purge 允许用户使用干净的 debconf db 重新安装。但是,它会引发一个令人讨厌的错误:
有没有更好的方法来处理从 deb 维护者脚本中退出安装?
mysql - 无法从外部 bash 脚本正确设置 MySQL 密码
我有两个脚本——主要的一个做一些不同的事情并调用第二个脚本,第二个脚本安装 MySQL。
从我的主脚本中,我执行以下操作:
setup-mysql.sh
看起来像这样:
对我来说,这看起来应该可以工作,但是,当 bash 执行这一行时:
它说密码错误。当我尝试手动登录时,它不起作用。当我跳过密码字段 ( mysql -u root
) 时,它会起作用。所以根本没有设置密码。
另外,当我做echo $1
in时setup-mysql.sh
,它会正确显示MPASS
包含的内容。
为什么没有debconf-set-selections
为我的 MySQL 安装正确设置密码。我在这里真的很困惑。
debian - debian/config 不产生任何东西
我正在尝试制作一个 debian 软件包向用户提问
我正在使用 debuild 来构建包
我在 debian 目录中有一个配置和一个模板文件
配置文件:
模板文件:
我把#Source debconf 库。. /usr/share/debconf/confmodule # 从 debconf 获取配置 db_get packagename/question1 ANSWER1=$RET
在我的 postinst 脚本中
当我执行时:
根本没有任何回应,就像一个好的、正确的 unix 语句一样沉默。
我知道模板没问题,因为如果我写错了它会抱怨。例如删除空格,会产生:“在 debian/templates 的第 1 节中,‘Asi es’附近的模板解析错误”
如果我进行 debuild,我会得到一个包,并使用 dpkg-i 安装包,但没有答案。
我可以做些什么来向用户提出问题?
debian - dpkg-deb --build :当我使用 db_input 时,debconf 失败
我正在尝试使用dpkg-deb --build
命令构建一个包。
当我尝试使用 db_input 时,它失败了:
我的预安装文件是:
模板文件:
我还注意到安装没有进入配置文件,因为没有显示 echo:
我无法找出问题所在。
谢谢。
debian - 为什么我的 debian/config 脚本在安装过程中没有被调用?
我想在我的 debian 包中使用 debconf 来获取一些用户输入。我有一个 debian/config 文件:
和一个 debian/templates 文件:
当我自己调用配置脚本时,它只是在做我想做的事情(显示debconf
问题),但是当我用它构建包dpkg-buildpackage -us -uc
然后安装它时,dpkg -i packagename
没有显示问题。我检查了配置和模板文件是否在 control.tar.gz 中并且它们在那里。如果这很重要,我会使用 raspbian。为什么我的控制脚本在安装过程中没有被调用?
ansible - 有没有办法解决这个“debconf-show”路径问题?
我正在尝试使用 ansible 为 MYSQL DB 设置 root 密码。然而,我正在使用 debconf,它错误地告诉我:
我的 yaml 文件包含:
我正在使用centos7。有人有想法吗?
automation - 在 linux/debian 上进行非交互式 Steam 安装(如何自动接受 EULA?)
我正在尝试以非交互方式使用 apt 安装 steam,但我不知道如何在安装过程中自动接受 EULA。
使用此处的答案作为指导,我预先设置了所需的 debconf 参数:
我通过手动安装蒸汽 a=first 并检查它们来确认这些是正确的参数sudo debconf-show steam
但是当我去安装时,得到错误:“安装终止:Steam 许可协议被拒绝。”
我怎样才能让它工作?
mysql - debconf:DbDriver“密码”警告:无法打开 /var/cache/debconf/passwords.dat:权限被拒绝
我在构建 docker 映像时得到了这个。
我得到的错误与 debconf 一致,而不与 sudo 一致。在这个特定的图像中,我试图从头开始安装 mysql-server,并且我将 root 密码作为构建参数。
bash - Rundeck debconf-set-selection:
我正在使用 Rundeck 3.2.6-20200427 并设置了安装包的作业。
因为 rundeck 运行非交互式,所以我需要预设一些安装包的参数(在我的例子中是 iptables-persistent)。
在安装软件包之前,我运行该命令(现在只有这个参数,如果我能正常工作,我将使用更多参数):
不幸的是,如果我运行 rundeck-command,我会收到该错误
我绝对确定没有其他任务或正在运行 dpkg 相关进程。
如果我尝试直接运行该命令,它可以正常工作。所以我不明白,为什么它不能与 rundeck 一起使用。
我在尝试安装软件包(Ubuntu Server 20.04)的新安装主机上进行了尝试。
这是我的工作定义:https ://pastebin.com/YSu545tX