Бродячий пепел: sudo: не найден

При запуске моего бродячего ящика с небольшим 15 МБ изображением Busybox я впервые получаю сообщение об ошибке во время фазы

Mounting shared folders...

Кажется, Бродяга пытается что-то с sudo, что не установлено. Я получаю эту ошибку:

The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

mkdir -p /vagrant

Stdout from the command:



Stderr from the command:

ash: sudo: not found

Пока это работает, я могу войти в систему как root с паролем vagrant, но я думаю, что это не идеально?

Это мои настройки: https://github.com/rubo77/ffnord-example/blob/pyddhcpd/Vagrantfile

  config.ssh.username = 'root'
  config.ssh.password = 'vagrant'
  config.ssh.insert_key = 'true'
  config.ssh.shell = 'ash'
  (0..9).each do |i|
        config.vm.define "gc-node0#{i}" do |node|
        end
  end

1 ответ

По умолчанию vagrant делит / синхронизирует каталог /vagrant (guest) с каталогом текущего проекта, содержащим Vagrantfile (хост), больше каталогов может быть разделено с помощью config.vm.synced_folderЯ не знаю, если по умолчанию /vagrant можно отключить

Если вы не используете функцию общих каталогов, то отсутствует sudo не проблема

Если ваша файловая система доступна для записи, вы можете создать /vagrant каталог один раз, так что дальше up Бродяга не должен пытаться sudo mkdir снова;

но при условии, что вы используете VirtualBox (я не знаю о поведении / архитектуре других эмуляторов), вы столкнетесь с другой проблемой, для общих каталогов требуются модули ядра vboxsf а также vboxguest (из гостевых дополнений VirtualBox) для сборки (против запущенных исходных кодов ядра) и загрузки (insmod), а также команду mount.vboxsf быть построенным и установленным в /sbinКроме того, ваш busybox требует включенной опции помощников по монтированию, потому что бродячее использование mount -t vboxsf и не mount.vboxsf непосредственно, когда vagrant пытается смонтировать общие каталоги, и эти требования не соответствуют, существует много времени до сбоя с ошибкой (минута / две или более).

Обратите внимание, что busybox (текущая стабильная) поддержка sudo, просто отключено по умолчанию.

Если вы сами собираете buildroot из исходников, я могу сказать, что общая функция работает (мне удалось получить образ с busybox для работы, как ожидается vagrant), если вы используете какое-то предварительно собранное ядро ​​/busybox... может быть проблемой, вы должны найти соответствующие двоичные файлы для vboxsf, vboxguest, mount.vboxsf и если опция mount helpers отключена в вашем busybox, вам нужно найти обходной путь (возможно, изменение vagrant для использования mount.vboxsf).

Другие вопросы по тегам