我使用了某个软件(Asterisk),它在其源代码树中包含一个漂亮的小脚本,可以自动从您的发行版存储库(当然包括 Ubuntu)下载和安装它需要的所有软件包。这些先决条件之一(libvpb1)需要一条信息(默认国家电话前缀),因此脚本变得不那么自动:
将此库安装在不运行电话功能的系统中是无害的,因此您可以自己测试它。
我的问题是:我如何预先以非交互方式提供答案,以便 apt-get install (或者,更确切地说,dpkg -i)抓住它并使用它,就好像它是在那个 ncurses 屏幕上输入的一样?
一个通用的解决方案会更好,比如,我怎么知道是否有任何包需要这样的信息,以及如何从脚本中设置它?
@user535733 在评论中链接的问题有答案;我将尝试在这里概括该过程。
首先,以交互方式安装包并提供您需要的值;
其次,运行这个:
下次您必须安装该软件包时,只需将其输出提供给
debconf-get-selections
预先:在 Ubuntu 20.04
debconf-get-selections
中,在debconf-utils
包中。