我正在尝试编写一个包(steamcmd)的自动化脚本。
案例图是脚本的用户已被预先告知他/她已同意的 EULA。
好了,现在这些是一些已经可以使用的软件包:
- ubuntu 限制附加功能
- 核心字体:https://askubuntu.com/a/25614/307184
- 和 Oracle Java JDK:https://ubuntuforums.org/showthread.php?t=953779&page=2&s=afccde556ea4e48a02e45fd073789c31
没有人费心解释他们是如何找出每个独立语法的,但我想最终弄清楚这个问题,以便任何使用这个 ask ubuntu 问题的人都可以自动安装包 N。
据我所知,语法应该是这样的:
echo PACKAGENAME PACKAGENAMEorUSERSPACE/accepted-PACKAGENAME-EULAPART select true | sudo debconf-set-selections
sudo apt install PACKAGENAME
尽管到目前为止我还不能让它与许多变体一起工作:
echo steamcmd steamcmd/accepted-steamcmd-eula select true | sudo debconf-set-selections
答案1
事实证明,使用 GUI 安装应用程序一次将允许您使用它来debconf-show
确定“自动接受”的正确语法,例如:
sudo debconf-show ttf-mscorefonts-installer
msttcorefonts/dldir:
msttcorefonts/error-mscorefonts-eula:
* msttcorefonts/accepted-mscorefonts-eula: true
* msttcorefonts/present-mscorefonts-eula:
msttcorefonts/dlurl:
msttcorefonts/baddldir:
或者
sudo debconf-show steam
* steam/question: I AGREE
* steam/license:
* steam/purge:
星号表示已修改的条目,
其中有一些已修改的条目没有任何价值。
对于这些,您必须输入:
echo steam steam/license note '' | sudo debconf-set-selections
对于您想要的值:
echo steam steam/question select "I AGREE" | sudo debconf-set-selections
或者
echo msttcorefonts msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections
取决于值的类型。
一旦你完全满足了预期。
sudo apt install thing-with-eula-normally
应该可以顺利地完成脚本的中间部分而无需停止它。