首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动安装后缀

问自动安装后缀
EN

Unix & Linux用户
提问于 2018-11-06 11:37:54
回答 1查看 856关注 0票数 1

我一直试图通过计算机引导上的启动脚本,以非交互的方式自动安装postfix。

经过一些研究后,我发现了一些建议,我可以尝试使用所需的配置在示例计算机上手动安装它,然后通过以下方法获得有关启动脚本运行的配置的正确答案。

代码语言:javascript
复制
debconf-utils package command debconf-get-selections | grep postfix >preseed.cfg

问题在于一种配置,即邮件名,这是因为我的实例机器是由gcp云主机以非预定的方式生成的,在我最初将第一个配置选择传递为:

代码语言:javascript
复制
debconf-set-selections <<< 'postfix postfix/main_mail_type string "Local only" 

现在的问题是,如何才能保留默认值呢?(如果这是一个有人参与的安装,只需单击“确定”即可完成)

EN

回答 1

Unix & Linux用户

发布于 2018-11-07 19:09:57

谢谢你,克莎拉南达!我想我现在知道窃听器在哪里了。在这个bug出现之前,我确实尝试使用一些expect脚本并在其中生成bash下标,作为一种通过现成的expect-发送问题和答案对系列间接安装postifiX的方法。后来,我决定改变这个计划,完全删除expect脚本,转而使用DEBIAN_FRONTEND="noninteractive" with debconf-set-selections command。现在,正如我从这个站点上的一些帖子中了解到的,问题显然是由于在主启动脚本中调用这个bash下标的修改后的残留物(您可能知道postfix安装应该以根权限运行),因为它每次运行时都会在调用这个下标时抛出异常。在复习了这里的一些文章之后,我发现我可以通过修改下标代码来解决这个问题,引入一些代码如下所示

代码语言:javascript
复制
UID=$(ID -U)
if [xUID != x0]
then 
printf -v cmd_str '%q'"$0" "$@" 
exec su -c "$cmd_str"
fi
#the rest of the script code
#continues hereunder

在我对下标做了修改之后,删除了它的声明,激活了chmod,通过注释删除了它的#!/bin/bash行,并在程序上将它的功能部分包含到主启动脚本中--现在脚本按其应该运行的方式运行。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/480095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档