Регистрация% 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 машину.

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

  • Ошибка подключения к удаленному рабочему столу, подключение к ошибкам
  • systemD Loaded vs. Enabled
  • Исследование Active MemInfo
  • Каков синтаксис файлов /etc/yum.repos.d/*.repo официальных репозиториев RHEL?
  • Плагин Java не работает с FireFox 24.3.0 на Red Hat Enterprise Linux 5.10
  • Какова цель UUID для сетевых адаптеров?
  • Привилегии файлов
  • linux + написать синтаксис в visudo
  • 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 в двух столбцах постсостояния.

    Linux и Unix - лучшая ОС в мире.