我正在编写一个脚本,使用 debootstrap(在 Ubuntu 16.04 服务器机器上)将 Ubuntu 16.04 服务器安装到 chroot jail 中。
在设置包期间keyboard-configuration
它会询问键盘类型:
Setting up keyboard-configuration (1.108ubuntu15) ...
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
Configuring keyboard-configuration
----------------------------------
The layout of keyboards varies per country, with some countries having multiple
common layouts. Please select the country of origin for the keyboard of this
computer.
1. Afghani 48. Irish
2. Albanian 49. Italian
...
28. English (UK) 75. Slovak
29. English (US) 76. Slovenian
...
45. Icelandic 92. Vietnamese
46. Indian 93. Wolof
47. Iraqi
Country of origin for the keyboard:
我想使这个自动化,这样它就不会询问,只需继续安装。
我怎样才能做到这一点?
答案1
从一个相似的StackOverflow 问题:
DEBIAN_FRONTEND=noninteractive
如果在运行 时设置了ENV 变量apt-get install keyboard-configuration
,则不会提示任何交互。因此您只需运行:
DEBIAN_FRONTEND=noninteractive apt-get install keyboard-configuration
答案2
这很容易自动化,您只需要为这个包设置适当的 debconf 配置。
首次安装debconf-utils
:
sudo apt install debconf-utils
如果你已经配置了该包,你可以使用以下命令读取 debconf 配置:
debconf-get-selections | grep keyboard-configuration
如果您尚未配置包或者想要更改您的选择,您可以这样做:
dpkg-reconfigure keyboard-configuration
将所选内容导出到文件
debconf-get-selections | grep keyboard-configuration > selections.conf
复制selections.conf
到目标机器并设置选择:
debconf-set-selections < selections.conf
当您安装或重新配置该包时,您的选择将被自动选择。
dpkg-reconfigure keyboard-configuration -f noninteractive
答案3
这个会像魔法一样起作用;在命令前添加这几行代码:
echo 'debconf debconf/frontend select Noninteractive' | sudo debconf-set-selections
sudo apt-get install -y -q
答案4
您可以使用xdotool
。启动脚本时输入& sleep <however long it takes to get to that point> && xdotool type <number you want to put> && xdotool key Return
。
我没有测试过,但它应该可行。
答案2:
运行命令,但将输出重定向到文件(> testfile
)。
打开另一个终端并运行
while true
do
if [ "$(tac testfile | grep -m 1 .)" = "Country of origin for the keyboard" ]
then
xdotool type <number you want to put> && xdotool key Return && break
fi
done
然后,单击返回第一个终端。
答案3:
我认为您需要做的就是将您想要的数字放在一个文件中,testfile
然后运行附加的命令< testfile
。