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

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

  • nscd использует 100% процессор
  • Что означает eno в имени сетевого интерфейса «eno16777736» для CentOS 7 или RHEL 7?
  • redhat vs debian / ubuntu системная архитектура (& not deb vs rpm)?
  • Как создавать политики SELinux на основе журналов?
  • 7za с паролем не работает при извлечении
  • Как увеличить лимит открытых файлов для всех процессов?
  • Разрешения, изменяющиеся на несколько файлов в каталоге / etc /
  • Разрешение Chown на
  • 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 в двух столбцах постсостояния.

    Interesting Posts

    UNIX: нужно заменить последнюю строку на файле, а также удалить лишнюю пустую строку в конце

    fail2ban log parsing слишком медленный на малины Pi – варианты?

    Кросс-дистрибуция / упаковка ОС

    Какой сигнал отправляется, когда вы закрываете терминал bash для запущенных программ

    SSH + Sudo + Ожидайте в сценарии Bash: Запустите команду с sudo на удаленной машине

    Как заставить get-iplayer получать контролируемое качество без огромного размера?

    Почему «df -h» отображается вне используемого пространства синхронизации?

    найти и конвейер grep ничего не возвращает

    Как дождаться выполнения параллельных процессов и сшить выходы?

    udev: неправильная символическая ссылка создается во время загрузки

    Использование GPU для каждого процесса на машине Linux (CUDA)

    Выполнение команд оболочки в Python

    VMWare Workstation Общие папки на ядре Arch / Linux 4.x все еще не работают?

    Использование шаблона в пути к каталогу

    Защита от кражи конфигурации на Debian

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