Como verificar quando a atualização do yum foi executada pela última vez


11

Existe uma maneira canônica de descobrir a última vez que yum updatefoi executada em um sistema?

Nossa configuração é que temos servidores de armazenamento temporário que executam atualizações automáticas e, desde que não caiam, atualizaremos manualmente nossos servidores de produção cerca de uma vez por mês (exceto atualizações críticas). (Eu digo manualmente, o ideal é acionar manualmente uma atualização em todos eles, mas isso é outro problema).

Mas você fica ocupado, as tarefas caem etc. Então, eu quero configurar uma verificação de nagios que começará a nos incomodar se a deixarmos por muito tempo.

Pesquisando na web não me levou muito longe. Analisando o sistema, a melhor coisa que encontrei até agora seria algo como:

grep Updated /var/log/yum.log | tail -1 | cut -d' ' -f 1-2

o que me dá algo como o Mar 12que posso converter em uma data. Existem algumas pequenas complicações sobre se a data é este ano ou no ano passado, e eu também precisaria verificar /var/log/yum.log.1caso verifique imediatamente após um logrotate. Mas isso são apenas detalhes de script.

Obviamente, isso pode ser "enganado" por uma atualização para um único pacote, em vez de uma atualização geral.

Então, existe uma maneira mais canônica de ver quando yum updatefoi executada?

Edit: Agora eu escrevi um plugin Nagios NRPE que usa a ideia apresentada na pergunta. Você pode obtê-lo em https://github.com/aptivate/check_yum_last_update

Respostas:


19

A opção yum history permite ao usuário visualizar o que aconteceu em transações passadas. Para torná-lo mais simples, você pode grep Update from yum history

# yum  history
Loaded plugins: fastestmirror, refresh-packagekit
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
    41 | root <root>              | 2012-04-27 20:17 | Install        |   19   
    40 | root <root>              | 2011-11-20 10:09 | Install        |   10   
    39 | root <root>              | 2011-11-20 08:14 | Install        |    1 E<
    38 | root <root>              | 2011-11-19 15:46 | Update         |    1 

1
Qual versão do yum você está usando - não parece ter o historycomando disponível. (Ainda estamos usando o CentOS 5). Na verdade, apenas tentei e o CentOS 6 possui. Mas não é universal o suficiente para nossos propósitos - mas parece útil para outros.
11303 Hamish Downer

1
Sim, isso está no centos 6.x com a versão 3.2.29 do yum. Obrigado
Chakri

1
Observe que, se houve uma combinação de Instalação e Atualização, a coluna Ação diz I, Utornando o grep um pouco mais complicado. Isso pode acontecer se um pacote atualizado depender de um novo pacote, fazendo com que o novo pacote seja instalado.
Hamish Downer

Como algumas vezes as atualizações acontecem durante a instalação de outra coisa, se você também quiser vê-las, pode passar a saída pelo grep assim: yum history | grep 'U', que captura todas as execuções que envolvem uma atualização.
JJC

2

Acho que a única maneira de ter certeza absoluta é executando psacct.

Isso permitirá que você execute lastcomm yum. Se você analisar isso, saberá quem o executou e quando.


1

Suponho que você esteja apontando um conjunto de servidores 'Dev' para um repositório Dev yum?

Você pode fazer a atualização automática em um script cron / puppet / chef, que, com sucesso, grava em um arquivo. (digamos /etc/yum_last)

Em seguida, você pode usar yum check-updateperiodicamente no cron / other nos servidores Dev para ver se há atualizações disponíveis. Se este comando indicar que> 0 número de atualizações está disponível, você comparará a data atual com o registro de data e hora do arquivo que você criou na última atualização automática yum.

Se essa diferença de data aumentar em dias, você poderá receber o alerta do Nagios.

Você também pode consultar o Pulp, se ele atender às suas necessidades.


0

O comando a seguir lista os pacotes RPM instalados ou atualizados recentemente:

rpm -qa --last  | head

Pode incluir pacotes instalados fora do YUM também. Este comando também pode ser executado sem privilégios de root.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.