Я пытаюсь настроить containerd для кубернетов через механизм автоматической установки Ubuntu (для Ubuntu 20.04).
Некоторые команды при использовании в ] late-commands
, похоже, не работают без очевидной причины. (Exit> 0 без описательного вывода). Фрагмент сбоя из late-commands
выглядит так:
late-commands:
- printf 'overlay\nbr_netfilter\n' > /target/etc/modules-load.d/containerd.conf
- curtin in-target --target=/target -- /usr/sbin/modprobe overlay
- curtin in-target --target=/target -- /usr/sbin/modprobe br_netfilter
Ошибка установщика показывает, что Вызов modprobe
завершается 1.
Я перезапускаю виртуальную машину, вхожу в систему как ubuntu
и становлюсь root
. В это время я могу запустить modprobe оверлей
успешно (выход 0). Я также не вижу / var / crash / 16238 ...
(см. выше), поскольку он не существует на цели (я предполагаю, что это) существует в среде установщика.) / var / log / installer
тоже не содержит ничего полезного.
Учитывая вышеизложенное, что именно может привести к сбою modprobe
как late-command
? По-видимому, не имеет отношения к этому, я также попытался выполнить вызов chage -d 0
, который также завершился ошибкой с нулевым сообщением об ошибке.Есть ли какое-то объяснение того, почему некоторые команды могут не существовать или не работать должным образом в целевой среде на этом этапе?
Редактировать 1: относительно сбоя usermod, я предполагаю, поскольку этот ответ намекает на то, что пользователь ubuntu не создан на этом этапе процесса установки.
Редактировать 2: Я добавил error-command
, который кажется полезным для отладки:
error-commands:
- /usr/bin/tail -n 250 /var/log/syslog
Теперь это показывает оверлей модуля, не найденный в / lib / modules / ...
: