Como obter a última data de atualização do kernel no AIX & Solaris

1

Eu quero obter a última data de atualização do kernel no AIX & Solaris.

Para Linux, o comando é:

rpm -qa --last | grep kernel-'uname -r' | sed 's/^k.*\s\s//'

Para este comando, recebo a saída:

Wed 29 Nov 2017 03:26:48 PM EST

Eu preciso da mesma substituição para o AIX & Solaris também.

Estou tentando executar este comando para o AIX, mas não é a saída apropriada sofisticada de que preciso:

lslpp -ha bos.adt.base | grep COMPLETE | sed 's/^k.*\s\s//'
Return Code: 0,                   6.1.1.0   COMMIT       COMPLETE     09/16/14     13:49:31    
                  6.1.1.0   APPLY        COMPLETE     09/16/14     13:49:31    
                 6.1.8.16   COMMIT       COMPLETE     09/16/14     13:59:18    
                 6.1.8.16   APPLY        COMPLETE     09/16/14     13:55:32    
                 6.1.9.30   COMMIT       COMPLETE     07/02/15     16:36:49    
                 6.1.9.30   APPLY        COMPLETE     07/02/15     16:33:22    
                 6.1.9.45   COMMIT       COMPLETE     09/04/15     15:45:19    
                 6.1.9.45   APPLY        COMPLETE     09/04/15     15:45:09    
                6.1.9.101   APPLY        COMPLETE     09/14/17     16:44:44    
                  6.1.1.0   COMMIT       COMPLETE     09/16/14     13:49:36    
                  6.1.1.0   APPLY        COMPLETE     09/16/14     13:49:36    
                 6.1.8.16   COMMIT       COMPLETE     09/16/14     13:59:18    
                 6.1.8.16   APPLY        COMPLETE     09/16/14     13:55:32    
                 6.1.9.30   COMMIT       COMPLETE     07/02/15     16:36:49    
                 6.1.9.30   APPLY        COMPLETE     07/02/15     16:33:23    
                 6.1.9.45   COMMIT       COMPLETE     09/04/15     15:45:19    
                 6.1.9.45   APPLY        COMPLETE     09/04/15     15:45:10    
                6.1.9.101   APPLY        COMPLETE     09/14/17     16:44:45     

Ou então, preciso apenas da última linha da saída acima.

    
por Rudraprasad Pradhan 07.03.2018 / 10:51

3 respostas

2

Para a parte AIX, em vez de codificar permanentemente o bos.adt.base fileset e, em vez de pedir all , as atualizações - apply e commits -, em vez disso, apenas os commits, eu pergunte pelo histórico do conjunto de arquivos que possui o link simbólico / unix (que aponta para o kernel):

lslpp -q -c -h -Or $(lslpp -q -c -w /unix | cut -d: -f2) | tail -1 | cut -d: -f7-8

Em pedaços, isso é:

  • -q - não imprime cabeçalhos de coluna
  • -c - imprime a saída delimitada por dois pontos (mais fácil de analisar)
  • -h - histórico do conjunto de arquivos
  • -w - qual conjunto de arquivos possui o arquivo fornecido
  • -Ou - só precisa de um conjunto; r oot ou u sr funciona aqui

De dentro para fora, obtemos o nome do conjunto de arquivos de lslpp ... -w e, em seguida, pedimos o histórico desse conjunto de arquivos; isso é canalizado para tail para obter a última linha (considerada a mais recente) e, em seguida, para cut para extrair os campos de data e hora.

Para a parte Solaris, talvez o patch aplicado mais recentemente ao kernel seja suficiente?

nawk -F: '/^PATCH_INFO/ { sub(" From", ""); print $2":"$3":"$4; }' \
  /var/sadm/pkg/SUNWckr/pkginfo | 
    sort -k6n | tail -1
    
por 07.03.2018 / 16:08
1

No Solaris, você verá o patch do kernel instalado executando: uname -v | awk -F_ '{print $2}'

Se você, então, executar: ls -lat /var/sadm/patch |grep <patch>

Você verá o timestamp de quando foi instalado. Também haverá registros nesse diretório se você quiser mais informações.

    
por 08.03.2018 / 04:16
0

Você pode obter a última linha de qualquer saída, colocando-a em tail -1 . Tente isto:

lslpp -ha bos.adt.base | sed -n '/COMPLETE/ s/^k.*\s\s//p' | tail -1

Eu também dobrei o comando grep no comando sed - ele não estava fazendo nada que sed não possa fazer sozinho.

OBSERVAÇÃO: Não estou familiarizado com o comando AIX lslpp , portanto, suponho que seja a ferramenta certa para usar neste trabalho e que você tenha usado as opções mais apropriadas com ele. Talvez valha a pena ler a man page para ver se há maneiras melhores de usá-la para conseguir o que você quer.

    
por 07.03.2018 / 13:14