“É necessário reiniciar o sistema”… por quê? Como posso obter o que acionou esta notificação para também mostrar detalhes?

21

De vez em quando, irei SSH em uma caixa com upgrades autônomos e serei recebido com "** reinicialização do sistema necessária ***" sem informações adicionais.

Meu arquivo '/var/run/reboot-required.pkgs' contém:

linux-image-3.13.0-61-generic
linux-base
linux-base
linux-base

Eu não me importo de reiniciar, mas eu não gosto de reiniciar sem ter detalhes de por que eu deveria reiniciar em primeiro lugar. Acima, vejo dois pacotes acionando a mensagem, mas não há explicação além disso.

Existe uma maneira de obter detalhes adicionais sobre o motivo da reinicialização para também aparecer no login SSH?

Idealmente, eu gostaria de incluir um arquivo que contenha algo legível como: "O pacote xyz foi atualizado em [data / hora]. Ele precisou modificar os arquivos a, b e c, mas não conseguiu porque o sistema bloqueado / bloquearia a ação. Durante a próxima reinicialização, os arquivos a, b e c serão substituídos. " Mas algo que não é totalmente legível a humanos provavelmente também está bem.

    
por E. Diaz 13.08.2015 / 20:51

2 respostas

24

Editar: Outro, provavelmente relevante ou útil artigo .

Como você já descobriu, pode encontrar os pacotes que exigem reinicialização em /var/run/reboot-required.pkgs

Agora, basta procurar no changelog do pacote para encontrar as informações que você está procurando.

  • Se você já estiver na máquina, poderá encontrar os changelogs em /usr/share/doc/${package_name} (exemplo: zless /usr/share/doc/linux-image-3.13.0-61-generic/changelog.Debian.gz ).
  • O Debian fornece algumas ferramentas como apt-listchanges para tornar isso mais conveniente ( 1 , 2 , < href="https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_safeguarding_for_package_problems" title="Referência Debian: Protegendo os problemas de pacote"> 3 ).
  • Outra maneira de fazer isso seria usar packages.ubuntu.com .

    No seu caso:

por LiveWireBT 09.09.2015 / 11:08
1

O arquivo finalmente chamado é /usr/lib/update-notifier/update-motd-reboot-required (é chamado por /etc/update-motd.d/98-reboot-required ).

Dentro da declaração if condicional de um desses arquivos, basta adicionar isto:

    echo "Packages causing reboot:"
    cat /var/run/reboot-required.pkgs

Então, por exemplo, o arquivo /usr/lib/update-notifier/update-motd-reboot-required seria parecido com isto:

#!/bin/sh -e
#
# helper for update-motd

if [ -f /var/run/reboot-required ]; then
        cat /var/run/reboot-required
        echo "Packages causing reboot:"
        cat /var/run/reboot-required.pkgs
fi
    
por Berto 01.06.2017 / 14:51

Tags