d-i preseed/late_command string \
in-target mkdir -v -p -m 0440 "/etc/sudoers.d"; \
in-target echo "%vagrant ALL=(ALL) NOPASSWD: ALL" | tee -a /etc/sudoers.d/vagrant; \
in-target echo "Defaults:vagrant !requiretty" | tee -a /etc/sudoers.d/vagrant; \
in-target chmod 440 /etc/sudoers.d/vagrant;
在 /var/log/installer/syslog 中,我可以看到以下错误:
log-output: sh:
log-output: tee: not found
当我将"| tee -a"部分更改为">>",如下所示:
d-i preseed/late_command string \
in-target mkdir -v -p -m 0440 "/etc/sudoers.d"; \
in-target echo "%vagrant ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/vagrant; \
in-target echo "Defaults:vagrant !requiretty" >> /etc/sudoers.d/vagrant; \
in-target chmod 440 /etc/sudoers.d/vagrant;
它突然开始抱怨找不到目录,却没有提及mkdir这一行代码——所以它既没有创建目录,也没有找到它。
log-output: sh: can't create /etc/sudoers.d/vagrant: nonexistent directory
log-output: sh: can't create /etc/sudoers.d/vagrant: nonexistent directory
log-output: chmod:
log-output: cannot access '/etc/sudoers.d/vagrant'
log-output: : No such file or directory
我一直在github上研究其他脚本。另外,我还在preseed.cfg文件中添加了以下行:
d-i pkgsel/include string openssh-server coreutils wget sudo
我甚至尝试将coreutils作为目标命令安装,以确保tee可用。已经花了几天的时间,一次又一次地重建ubuntu,只发现syslog中出现相同的错误。如果有人能给予一些指导 - 这一定是一些简单的问题,但我没有看到...