Неправильный вход после установки nfs-utils

Неправильный вход после установки nfs-utils

Я пытаюсь установить nfs-utils (и, следовательно, все его зависимости) в виртуальной машине RHEL6.5 KVM без сохранения состояния. Виртуальная машина настроена на root только для чтения через файл /etc/sysconfig/readonly-root, магию Linux, которую я не реализовал, и опцию «Только для чтения» в графическом интерфейсе настроек виртуальной машины. Установка выполняется с помощью virt-customize -a image.img --run install_script.sh. Скрипт использует here-document для создания файла .repo (который отправляется в хранилище CentOS для 6.5), затем я использую его yum install -y nfs-utilsдля выполнения фактической установки. Я выбрал этот подход, потому что он кажется проще, чище и менее подвержен ошибкам, чем загрузка виртуальной машины в режиме чтения/записи, установка, очистка и затем выключение. Кроме того, я не могу понять, как заставить ее загрузиться в режиме чтения/записи.

Вывод показал virt-customize, что пакеты были успешно установлены. Единственной ошибкой было удаление .repo из-за опечатки.

После этой установки я загрузил VM и попытался войти как обычно. Мои попытки теперь отклоняются, потому что Login incorrect.

Я проверил, virt-catчтобы убедиться, что оболочка входа для пользователя установлена ​​правильно, а зашифрованный пароль выглядит /etc/shadowтак же, как и оригинал.

Мой первоначальный подход заключался в создании образа ISO, содержащего все зависимости и nfs-utils, и присоединении его к виртуальной машине, а также в том, чтобы скрипт управлял установкой. Тогда возникла та же проблема. Я сузил источник проблемы до установки одного из пакетов NFS: либо nfs-utilsили nfs-utils-lib(один из двух, я не помню), и rpcbindпакета. Когда один из этих пакетов установлен, а затем загружается виртуальная машина, вход в систему прерывается. Я предполагаю, что это та же проблема, которая возникает сейчас.

Образ, который я использую для виртуальной машины, cpсоздан на основе исходного образа виртуальной машины, поскольку это тест, позволяющий выяснить, как правильно выполнить установку.

Да, я ввожу пароль правильно. Я пытался изменить пароль пользователя (через libguestfsинструменты), но все равно не могу войти, поэтому я не уверен, не удалось ли изменить пароль (код возврата команд указывает на успех) или проблема осталась прежней.

Вопрос:

  1. Можно ли отладить и исправить проблему со входом? Если да, то как?
  2. Как правильно выполнить установку, чтобы не засорялся вход? Очевидно, что этот способ не работает.

решение1

Основной проблемой здесь был SELinux. Существует множество способов установки ПО в VM, но они сводятся к тому, что VM загружается или не загружается. Последнее все портит, и именно так я и устанавливал в посте.

Насколько я могу судить, когда виртуальная машина выключена и программное обеспечение установлено, например, с помощью команды в вопросе, SELinux понимает, что что-то изменилось, и не знает, что произошло, когда виртуальная машина загружается после установки, и блокирует все. Разрешение SELinux переименовывать решает проблему, но сломало много других вещей для меня. Фактически нет способа написать сценарий установки, когда система находится в автономном режиме, потому что вы, вероятно, столкнетесь с этим. Обратите внимание, что эта проблема может быть связана только с виртуальными машинами RHEL6.5 и их версией SELinux (мы привязаны к версии RHEL6.5).

Правильный способ установки для такой виртуальной машины — загрузить ее в режиме чтения/записи и выполнить установку либо с помощью монтирования ISO с необходимыми RPM, либо с помощью менеджера пакетов. Во время загрузки SELinux будет знать об установке, и все будет хорошо и замечательно.

Связанный контент