我正在创建一个脚本,用于下载和安装一些程序并调整它们的设置,而无需整个过程中的交互。
到目前为止一切都很好,但现在我被困在virtualbox-ext-pack
:它停止整个过程并等待VirtualBox PUEL被接受或拒绝(类似于ttf-mscorefonts-installer
,steam
等)。
因为ttf-mscorefonts-installer
有一个在这个答案中找到解决方案使用单行命令,但由于我不熟悉debconf
(并且调查gkdebconf
也没有让我进一步了解)我不知道使用什么命令来安装virtualbox-ext-pack
无人值守。
答案1
谢谢此解决方案ttf-mscorefonts-installer
以及这个问题steam
我找到了正确的命令virtualbox-ext-pack
:
echo virtualbox-ext-pack virtualbox-ext-pack/license select true | sudo debconf-set-selections
答案2
由于 UUID 会随着版本的变化而变化(或者每当 PUEL 更新时),因此它可以被接受...
echo "y" | sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.2.0.vbox-extpack
答案3
在命令行中,您可以使用--accept-license
范围执行无人值守安装。
sudo VBoxManage extpack install <package> --accept-license=<uuid>
如何获取的UUID --accept-license
?
需要--accept-license
UUID,您必须手动接受许可证才能获得。
您必须先手动运行安装程序。对于 5.2.0 版本,
wget http://download.virtualbox.org/virtualbox/5.2.0/Oracle_VM_VirtualBox_Extension_Pack-5.2.0.vbox-extpack sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.2.0.vbox-extpack
安装程序将显示您必须接受的许可文本
VirtualBox Extension Pack Personal Use and Evaluation License (PUEL) License version 10, 20 July 2017 PLEASE READ THE FOLLOWING ORACLE VM VIRTUALBOX EXTENSION PACK PERSONAL : Do you agree to these license terms and conditions (y/n)? y
您接受后,安装程序将向您显示接受许可证的 UUID。
License accepted. For batch installaltion add --accept-license=b674970f720eb020ad18926a9268607089cc1703908696d24a04aa870f34c8e8 to the VBoxManage command line.
如何使用--accept-license
?
获得 UUID 后,您可以使用命令行执行无人值守安装。对于 5.2.0 版本,
sudo VBoxManage extpack install $HOME/installers/Oracle_VM_VirtualBox_Extension_Pack-5.2.0.vbox-extpack \
--accept-license=b674970f720eb020ad18926a9268607089cc1703908696d24a04aa870f34c8e8
答案4
要安装需要 EULA 接受的软件,可以按如下方式自动完成。我为 msodbcsql17 执行了此操作,请更改您的应用程序。
sudo ACCEPT_EULA=Y apt-get install msodbcsql17 -y