![Tee causa problemas de formatação no console ao executar comandos lxc-attach na sessão](https://rvso.com/image/1552778/Tee%20causa%20problemas%20de%20formata%C3%A7%C3%A3o%20no%20console%20ao%20executar%20comandos%20lxc-attach%20na%20sess%C3%A3o.png)
Eu uso tee para capturar a saída de um script de instalação em um arquivo da maneira usual. Tudo está bem, exceto quando há comandos lxc-attach em execução em um contêiner LXC Linux. Por exemplo (veja a captura de tela em anexo) na tela direita está a saída do console ao usar tee dos comandos "lxc-attach -n container -- yum -y install" e na tela esquerda está o "tail -f log" do tee'd log. Como pode ver, o tee log obtém a formatação correta, mas ao usar tee a saída do console dos comandos executados via lxc-attach obtém quebras de linha extras ou guias etc. Qualquer maneira de usar tee ou um tee equivalente para que tanto o tee log quanto o log do console estão formatados corretamente? veja a captura de tela
Responder1
Toda a atividade registrada que preciso capturar são comandos sudo. Caso ajude alguém, aqui está a solução alternativa que encontreiaquieaquie agora estou usando (eu mesmo escrevi o código abaixo com base no que aprendi sobre esse recurso de registro para sudo). É muito fácil de usar e fornece registros altamente detalhados. É uma solução incrível, muito feliz com isso e com o sudoreplay você realmente recebe "vídeos caseiros de lembrança" de suas instalações que você pode compartilhar com seus netos na época do Natal...
E, quando a sessão de instalação terminar, você pode opcionalmente desinstalar o arquivo em /etc/sudoers.d se preferir.
Devo acrescentar que este método não tem NENHUM dos problemas que tee teve ao registrar a saída de comandos dentro dos contêineres LXC, como "lxc-attach" etc - é claro que não teria.
Aproveitar!
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/%{user}' >> /etc/sudoers.d/orabuntu-lxc"
sudo chmod 0440 /etc/sudoers.d/orabuntu-lxc
fi