我正在制作我的第一个预置文件,为了避免每次更改后都要重新刻录 DVD,我将其托管在网络服务器上并使用preseed/url=...
为了加载预置,我从 edubuntu 12.04 LTS DVD 启动虚拟机,选择 Install Edubuntu 选项,按下F6
,然后将 替换file=...
为auto url=...
根据我的网络服务器上的日志,预置文件是安装程序正在下载,但……据我所知,它没有被使用。例如,即使语言d-i debian-installer/locale string en_US
就在预置的顶部,系统也会提示我选择一种语言。我也试过这个“100%自动化”预先播种,结果相同。
因此,显然安装程序在检索我的预置和实际使用其内容之间出现了问题,而我不知道如何进一步排除故障。
如果我Ctrl+Alt+F2
在安装程序启动时执行此操作,我可以看到发生了许多事情,包括几个可能意味着什么也可能不意味着什么的“身份验证失败”消息,但如果以任何方式保存该输出,让我对其进行有意义的检查,我还没有找到它。
我确信我不是第一个遇到这个问题的人,但是当我在这里或在 Ubuntu 论坛上搜索“预置故障排除”时,我没有找到太多信息,所以也许这是一个很好的开始。任何建议都将不胜感激!
答案1
找到解决方案。
简短版本:Live ISO 使用与“备用”ISO(di)不同的安装程序(Ubiquity),它忽略了许多标准di预置关键字。
我见过一些文档建议使用 alt ISO 作为自定义安装程序,但没有解释原因,或者说明如果想要自定义一个可以安装的实时环境该怎么做。
我对从实时环境安装会默认撤消对某些配置文件的更改这一事实感到困惑,这让我得出结论,我对安装的控制力比实际的要差。它实际上非常简单,只是与 di 安装非常非常不同。
我发现的关于此问题的最佳文档实际上并不在互联网上,如果你安装了该软件包,它就在你的系统上ubiquity
。只需执行以下操作:
zcat /usr/share/doc/ubiquity/README.gz | less
然后你就出发了。
你也可以在网上找到一些源代码存储库。
答案2
您也可以debconf-get-selections
从debconf-utils
包中使用。
创建预置文件后,您可以使用 进行测试debconf-set-selections -c preseed-file
。除非您真的搞砸了某件事,否则它实际上不会以失败代码退出,但它会对不完整的答案发出警告。
从 Ubuntu 示例预置:
### Preseeding other packages
# Depending on what software you choose to install, or if things go wrong
# during the installation process, it's possible that other questions may
# be asked. You can preseed those too, of course. To get a list of every
# possible question that could be asked during an install, do an
# installation, and then run these commands:
# debconf-get-selections --installer > file
# debconf-get-selections >> file