Перенаправить вывод на / dev / tty1 за пределы chroot jail?

Я не мог точно понять, как это сказать в моем поиске; если бы кто-нибудь мог сказать мне, как это называется, и указать мне ресурс, я был бы очень признателен.

TL; DR: Для установки CentOS я хочу, чтобы пользователи могли смотреть сообщение % Раздел файла кикстарта работает на физическом экране, поэтому его можно отслеживать. Человек нажимает клавишу ввода на клавиатуре, чтобы начать установку, и тот же человек будет наблюдать за процессом установки на мониторе перед ним. Я хочу, чтобы они увидели, что он делает.

Я понимаю структуру так:

  • Установка CentOS читает файл кикстарта.

  • Раздел% pre кикстарта запускается в "корневом" контексте Если бы кто-нибудь мог сказать мне, как это называется, и указать мне ресурс, я был бы очень признателен.

    TL; DR: Для установки CentOS я хочу, чтобы пользователи могли смотреть сообщение % Раздел файла кикстарта работает на физическом экране, поэтому его можно отслеживать. Человек нажимает клавишу ввода на клавиатуре, чтобы начать установку, и тот же человек будет наблюдать за процессом установки на мониторе перед ним. Я хочу, чтобы они увидели, что он делает.

    Я понимаю структуру так:

    • Установка CentOS читает файл кикстарта.

    • Раздел% pre кикстарта запускается в "корневом" контексте если бы кто-нибудь мог сказать мне, как это называется, и указать мне ресурс, я был бы очень признателен.

      TL; DR: Для установки CentOS я хочу, чтобы пользователи могли смотреть сообщение % Раздел файла кикстарта работает на физическом экране, поэтому его можно отслеживать. Человек нажимает клавишу ввода на клавиатуре, чтобы начать установку, и тот же человек будет наблюдать за процессом установки на мониторе перед ним. Я хочу, чтобы они увидели, что он делает.

      Я понимаю структуру так:

      • Установка CentOS читает файл кикстарта.

      • Раздел% pre кикстарта запускается в "корневом" контексте Я хочу, чтобы пользователи могли наблюдать, как раздел % post файла кикстарта работает на физическом экране, чтобы его можно было отслеживать. Человек нажимает клавишу ввода на клавиатуре, чтобы начать установку, и тот же человек будет наблюдать за процессом установки на мониторе перед ним. Я хочу, чтобы они увидели, что он делает.

        Я понимаю структуру так:

        • Установка CentOS читает файл кикстарта.

        • Раздел% pre кикстарта запускается в "корневом" контексте Я хочу, чтобы пользователи могли наблюдать, как раздел % post файла кикстарта работает на физическом экране, чтобы его можно было отслеживать. Человек нажимает клавишу ввода на клавиатуре, чтобы начать установку, и тот же человек будет наблюдать за процессом установки на мониторе перед ним. Я хочу, чтобы они увидели, что он делает.

          Я понимаю структуру так:

          • Установка CentOS читает файл кикстарта.

          • Раздел% pre кикстарта запускается в "корневом" контексте живое изображение установщика.

          • Раздел% post запускается в "корневом" контексте установки system , что позволяет мне выполнять такие действия, как «yum -y update» и т. д., чтобы влияют на установленную систему.

          Я знаю, что в обычной среде я могу перенаправить вывод команды на терминал с помощью:

          cat "file.txt" > /dev/tty3
          

          Проблема в том, что эта команда перенаправляет вывод на версию / dev для chroot jail / tty3 , который не отображается на экране установки. Я хочу, чтобы он выводился непосредственно на экран "родительской" установки, поэтому, если он каким-то образом распознает родительский каталог, это будет что-то вроде

          cat "file.txt" > ../../../dev/tty3
          

          или что-то в этом роде.

          Кто-нибудь может помочь?

0
задан 27 April 2017 в 22:17
1 ответ

Оказывается, я на самом деле просто придурок. Перенаправление терминала в% post работает нормально; хотя я не понимаю почему.

Вот соответствующий раздел моего кикстарта; проблема заключалась в том, что я перенаправлял вывод каждой команды с помощью «>>» и забыл, что он не отображается на экране; для этого вам нужно использовать "| tee -a". Я был настолько увлечен логикой перенаправления терминала, что пропустил очевидную ошибку.

Следующее работает в файле кикстарта CentOS 7.3 для выполнения того, что я хотел:

%post --interpreter /bin/bash --log=/root/post_section.log
#Take note of our current tty
c=`tty`
#Set the file descriptors of our shell to the input and output of
#tty 6
exec < /dev/tty6 > /dev/tty6
#Change the visible terminal to terminal 6
chvt 6
#Clear the screen on TTY6
clear

#Do DevOps shit
yum -y install python epel-release python-pip git
echo ""
echo "Cloning deploy_devops..."
cd /root
git clone http://<REMOVED>devops.git
cd deploy-devops
echo "Kicking off deploy_devops.py..."
time python devops.py
echo "All done."

#Change the visible terminal back to #1
chvt 1
#Put our file descriptors back to the original terminal
exec < $c > $c
%end
0
ответ дан 5 December 2019 в 08:17

Теги

Похожие вопросы