При запуске команд lxc-attach в сеансе возникают проблемы с форматированием на консоли

279
gstanden

Я использую тройник для записи вывода установочного скрипта в файл обычным способом. Все хорошо, за исключением случаев, когда команды lxc-attach выполняются в контейнере LXC Linux. Например (см. Прикрепленный скриншот) на правом экране вывод консоли при использовании команды «lxc-attach -n container - yum -y install», а на левом экране - «tail -f log» Tee'd войти. Как видно, журнал тройника получает правильное форматирование, но при использовании вывода команды консоли, выполняемых через lxc-attach, выводятся дополнительные разрывы строк или табуляции и т. Д. Любой способ использовать тройник или эквивалент тройника, так что журнал тройника и логи консоли оба отформатированы правильно? смотреть скриншот

0

1 ответ на вопрос

0
gstanden

Все регистрируемые действия, которые мне нужно записать, это команды sudo. В случае, если это кому-нибудь поможет, вот альтернативное решение, которое я нашел здесь и здесь и сейчас использую (я сам написал нижеприведенный код, основываясь на том, что я узнал об этой функции ведения журнала для sudo). Он очень прост в использовании и обеспечивает очень подробную регистрацию. Это удивительное решение, которое очень порадовало его, и с помощью sudoreplay вы фактически получаете «домашние сувенирные видео» из ваших установок, которыми вы можете поделиться со своими внуками на Рождество ...

И, когда сеанс установки закончен, вы можете просто удалить файл в /etc/sudoers.d, если хотите.

Я должен добавить, что в этом методе нет НИКАКИХ проблем, которые возникли при регистрации выходных данных команд внутри контейнеров LXC, таких как «lxc-attach» и т. Д. - конечно, это не так.

Наслаждайтесь!

if [ ! -d "$DistDir"/installs/logs ] then sudo mkdir -p "$DistDir"/installs/logs fi  if [ -f "$DistDir"/installs/logs/$USER.log ] then sudo mv "$DistDir"/installs/logs/$USER.log "$DistDir"/installs/logs/$USER.log.$LOGEXT fi  if [ ! -d /var/log/sudo-io ] then sudo mkdir -m 750 /var/log/sudo-io fi  if [ ! -f /etc/sudoers.d/orabuntu-lxc ] then sudo sh -c "echo 'Defaults logfile=\"/home/$USER/Downloads/orabuntu-lxc-master/installs/logs/$USER.log\"' >> /etc/sudoers.d/orabuntu-lxc" sudo sh -c "echo 'Defaults log_input,log_output' >> /etc/sudoers.d/orabuntu-lxc" sudo sh -c "echo 'Defaults iolog_dir=/var/log/sudo-io/%' >> /etc/sudoers.d/orabuntu-lxc" sudo chmod 0440 /etc/sudoers.d/orabuntu-lxc fi 

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