Регистрация% pre во время кикстарта – файл журнала не существует после загрузки

Я запускаю несколько систем EL6, и я хочу зарегистрировать действия, предпринятые в моем разделе %pre .

Я знаю, что я могу зарегистрировать раздел %post по подсказкам, предоставленным centos.org: советы и рекомендации для anaconda и kickstart с использованием одного из этих двух методов:

 %post --log=/root/my-post-log echo 'Hello, World!' 

Или:

 %post exec < /dev/tty3 > /dev/tty3 chvt 3 echo echo "################################" echo "# Running Post Configuration #" echo "################################" ( echo 'Hello, World!' ) 2>&1 | /usr/bin/tee /var/log/post_install.log chvt 1 

Однако я не могу заставить это работать с секцией %pre . Вот что я использую:

 %pre --log=/var/log/my-pre-log echo 'Hello, World!' 

Когда мне наконец разрешено использовать виртуальные консоли , файл журнала не будет найден нигде в системе.

Это отлично работает для секции %post потому что во время выполнения %post Anaconda переключается на новые диски, используя chroot/var/log/ фактически существующую в новой системе, и поэтому файл журнала будет существовать после перезагрузки.

Проблема с выполнением этого с %pre разделением %pre состоит в том, что единственными файловыми системами, доступными в то время, является файловая система с памятью. Если я напишу файл в /tmp/ , /root/pre_install.log или /var/log файловая система исчезнет, ​​как только я /root/pre_install.log машину.

Отладочная оболочка недоступна до середины установки , что затрудняет отладку.

One Solution collect form web for “Регистрация% pre во время кикстарта – файл журнала не существует после загрузки”

У меня была такая же потребность, как и вы, чтобы захватить %pre log для последующего анализа. Вы правы, к тому моменту, когда вы находитесь в %post Anaconda уже поместил вас в недавно созданную файловую систему, поэтому доступ к журналу %pre log невозможно. Вы можете запустить %post с помощью --nochroot , но IMO, которая делает пути в %post , ставит боль.

Мне удалось получить то, что я хотел, используя %include в разделе %post . Во-первых, запишите свой %pre выход:

 %pre --log /tmp/pre-install.log echo "Starting Kickstart Pre-Installation..." 

Затем %include %pre log во время %post , отправив его в файл с файлом bash здесь:

 %post --log /root/post-install.log cat >> /root/pre-install.log << "EOF" %include /tmp/pre-install.log EOF 

Я считаю, что это работает, потому что %pre раздел %pre сначала оценивается Anaconda, что позволяет вам создавать файлы, которые будут использоваться %include …, тогда Anaconda оценивает остальную часть файла, заменяя каждый %include на именованный файл. Я также записываю журнал Anaconda таким же образом, просто заменяет pre-install на anaconda в двух столбцах постсостояния.

  • RHEL: изменение разрешения экрана виртуальной консоли
  • Ядро паника, если пароль LUKS плох x раз
  • ssh localhost без пароля не работает на Fedora 14
  • Есть ли способ установить и удалить пакеты в одной команде yum?
  • RHEL reposync, интерфейс управления?
  • Как я могу сделать eth1 и всегда доступным для удаленного доступа, где eth0 будет использоваться для хоста с IPSec VPN?
  • Недопустимая точка входа в сценарий, требуется суффикс, подлежащий вызову
  • git 1.9 и yum groupinstall "Средства разработки"
  • Новая система SL6: нет имени хоста?
  • как создать соответствующий диск для виртуальной машины libvirt?
  • Где могут быть файлы разработки dsh (.h) для RHEL5?
  • Могу ли я автоматизировать сбор share cifs без сохранения моего пароля в открытом виде?
  • Linux и Unix - лучшая ОС в мире.