我正在为 a ubuntu vagrant vm
, on a ubuntu host
, both构建配置脚本12.10 64bit
在安装以下软件包时:
sudo apt-get -y install php5-xsl graphviz php-pear unison
我收到警告:
dpkg-reconfigure: unable to re-open stdin: No file or directory
已尝试搜索,但结果可能会抛出所有其他可能的 apt-get 错误,无法找出如何抑制上述警告。安装工作正常,但上面的警告导致 vagrant up stdout 中出现错误行。
任何人都知道可能是什么原因或如何抑制警告
apt-get
在任何调用之前,通过将以下内容放入我的配置脚本中,我得到了错误消息:这使得
debconf
使用一个根本不需要交互式输入的前端,甚至阻止它尝试访问stdin
.答案是
perl:locale
按照这个设置的:这解决了问题,但确实增加了不必要的
vagrant up
配置时间。运行此命令:
看看你是否有这个文件。如果是这样,解决方案是注释掉防止在安装之前
DPkg
预先配置所有包的行。debconf
因此,将这些命令添加到您的配置文件中:
否则,如果您不关心此文件,只需将其删除:
这里有一些其他命令需要考虑,但我认为它们没有任何用处:
Bash 重定向适用于 stdout 和 stderr。
要重定向错误流,请使用以下命令:
要同时重定向 stdout(不是错误/警告的消息)和 stderr,请使用:
这是 bash 中可用的快捷方式:
或者:
下面,我们可以清楚的看到文件描述符1是stdout,2是stderr,3是stdin。
所以对于你所说的你想做的,你应该只需要我给出的第一个命令。