Como identificar se existem atualização do kernel no Slackware?

1. Como identificar se existem atualização do kernel no Slackware?

Morpheus
Minions

(usa Nenhuma)

Enviado em 22/07/2021 - 11:39h


slackpkg update gpg && slackpkg update


kernel-generic
kernel-headers
kernel-huge
kernel-modules
kernel-source

A ideia seria filtra a saída do "slackpkg update" para os pacotes do kernel e joga no notify-send, mostrando somente os pacotes do kernel.

Ex:

notify-send --icon=dialog-information -t 10000 "Existe atualização para o seu kernel....

$pacotes
"



  


2. Re: Como identificar se existem atualização do kernel no Slackware?

Patrick Ernandes
patrickernandes

(usa Gentoo)

Enviado em 22/07/2021 - 15:24h

Olha se esse script te ajuda:

#!/bin/sh
#
# Script para verificar se existe novas atualizaçoes do kernel no "Slackware64-current".
# Por Patrick Ernandes, [email protected]
#

FILE="/tmp/ChangeLog.txt"

CMD=$(ls -1 /var/lib/pkgtools/packages/kernel* | wc -l)
if [ ${CMD} = 5 ]; then
HUGE=$(ls -1 /var/lib/pkgtools/packages/kernel-huge* | awk -F '-' '{print $3}')
GENERIC=$(ls -1 /var/lib/pkgtools/packages/kernel-generic* | awk -F '-' '{print $3}')
MODULES=$(ls -1 /var/lib/pkgtools/packages/kernel-modules* | awk -F '-' '{print $3}')
HEADERS=$(ls -1 /var/lib/pkgtools/packages/kernel-headers* | awk -F '-' '{print $3}')
FIRMWARE=$(ls -1 /var/lib/pkgtools/packages/kernel-firmware* | awk -F '-' '{print $3}')

echo "iniciando processo de verificação.."; echo
wget --quiet -c -P /tmp/ http://ftp.slackware-brasil.com.br/slackware64-current/ChangeLog.txt

if [ -f "${FILE}" ]; then
huge=$(grep 'kernel-huge' ${FILE} | head -1 | awk -F '-' '{print $3}')
generic=$(grep 'kernel-generic' ${FILE} | head -1 | awk -F '-' '{print $3}')
modules=$(grep 'kernel-modules' ${FILE} | head -1 | awk -F '-' '{print $3}')
headers=$(grep 'kernel-headers' ${FILE} | head -1 | awk -F '-' '{print $3}')
firmware=$(grep 'kernel-firmware' ${FILE} | head -1 | awk -F '-' '{print $3}')

if [ ${HUGE} != ${huge} ]; then
echo "kernel HUGE precisa ser atualizado!"

if [ ${GENERIC} != ${generic} ]; then
echo "kernel GENERIC precisar ser atualizado!"
fi
if [ ${MODULES} != ${modules} ]; then
echo "kernel MODULES precisa ser atualizado!"
fi
if [ ${HEADERS} != ${headers} ]; then
echo "kernel HEADERS precisa ser atualizado!"
fi
fi

if [ ${FIRMWARE} != ${firmware} ]; then
echo "kernel FIRMWARE precisa ser atualizado!"
fi
echo
else
echo "error - arquivo changelog '${FILE}' não encontrado!"; echo
exit 1
fi
else
echo "error - favor verificar se os pacotes kernel-huge, kernel-generic, kernel-firmware, kernel-modules e kernel-headers estão instalados!"; echo
exit 1
fi



3. Re: Como identificar se existem atualização do kernel no Slackware?

Morpheus
Minions

(usa Nenhuma)

Enviado em 22/07/2021 - 21:09h

patrickernandes escreveu:

Olha se esse script te ajuda:

#!/bin/sh
#
# Script para verificar se existe novas atualizaçoes do kernel no "Slackware64-current".
# Por Patrick Ernandes, [email protected]
#

FILE="/tmp/ChangeLog.txt"

CMD=$(ls -1 /var/lib/pkgtools/packages/kernel* | wc -l)
if [ ${CMD} = 5 ]; then
HUGE=$(ls -1 /var/lib/pkgtools/packages/kernel-huge* | awk -F '-' '{print $3}')
GENERIC=$(ls -1 /var/lib/pkgtools/packages/kernel-generic* | awk -F '-' '{print $3}')
MODULES=$(ls -1 /var/lib/pkgtools/packages/kernel-modules* | awk -F '-' '{print $3}')
HEADERS=$(ls -1 /var/lib/pkgtools/packages/kernel-headers* | awk -F '-' '{print $3}')
FIRMWARE=$(ls -1 /var/lib/pkgtools/packages/kernel-firmware* | awk -F '-' '{print $3}')

echo "iniciando processo de verificação.."; echo
wget --quiet -c -P /tmp/ http://ftp.slackware-brasil.com.br/slackware64-current/ChangeLog.txt

if [ -f "${FILE}" ]; then
huge=$(grep 'kernel-huge' ${FILE} | head -1 | awk -F '-' '{print $3}')
generic=$(grep 'kernel-generic' ${FILE} | head -1 | awk -F '-' '{print $3}')
modules=$(grep 'kernel-modules' ${FILE} | head -1 | awk -F '-' '{print $3}')
headers=$(grep 'kernel-headers' ${FILE} | head -1 | awk -F '-' '{print $3}')
firmware=$(grep 'kernel-firmware' ${FILE} | head -1 | awk -F '-' '{print $3}')

if [ ${HUGE} != ${huge} ]; then
echo "kernel HUGE precisa ser atualizado!"

if [ ${GENERIC} != ${generic} ]; then
echo "kernel GENERIC precisar ser atualizado!"
fi
if [ ${MODULES} != ${modules} ]; then
echo "kernel MODULES precisa ser atualizado!"
fi
if [ ${HEADERS} != ${headers} ]; then
echo "kernel HEADERS precisa ser atualizado!"
fi
fi

if [ ${FIRMWARE} != ${firmware} ]; then
echo "kernel FIRMWARE precisa ser atualizado!"
fi
echo
else
echo "error - arquivo changelog '${FILE}' não encontrado!"; echo
exit 1
fi
else
echo "error - favor verificar se os pacotes kernel-huge, kernel-generic, kernel-firmware, kernel-modules e kernel-headers estão instalados!"; echo
exit 1
fi


Obrigado em responde ao tópico.

Nem todo mundo usa o current . Temos de identifica essa variante ai.

O problema principal seria no kernel-huge e kernel-generic, quando atualiza gerando o famoso "Kernel Panic" , após reboot no generic . Acho que os outros pacotes do kernel não tem problema quando atualiza.


Por que usou essa parte para identifica os números dos arquivos na pasta:

ls -1 /var/lib/pkgtools/packages/kernel* | wc -l

$ ls /var/lib/pkgtools/packages/
ls: não é possível acessar '/var/lib/pkgtools/packages/': Arquivo ou diretório não encontrado



Na parte de verifica a versão do site com a versão instalada do kernel não bateu

site => 4.4.14
instalada => 4.4.276


# slackpkg file-search kernel-generic

Looking for kernel-generic in package list. Please wait... DONE

The list below shows the packages that contains "kernel-generic" file.

[ installed ] - kernel-generic-4.4.276-x86_64-1

You can search specific packages using "slackpkg search package".


cat /tmp/ChangeLog.txt | grep kernel-generic | head -n1 | cut -d"/" -f2 | awk -F ':' '{print $1}'
kernel-generic-4.4.14-x86_64-1.txz




4. Re: Como identificar se existem atualização do kernel no Slackware?

Patrick Ernandes
patrickernandes

(usa Gentoo)

Enviado em 22/07/2021 - 21:26h

Bom, isso está funcionando muito bem no current.
Eu prefiro monitorar todos os pacotes referente ao kernel.
Mas você pode ajustar para versão do seu slack e modificar os pacotes que queira monitorar.

att,




5. Re: Como identificar se existem atualização do kernel no Slackware?

Morpheus
Minions

(usa Nenhuma)

Enviado em 22/07/2021 - 21:48h


patrickernandes escreveu:

Bom, isso está funcionando muito bem no current.
Sabe algo para a versão estável (stable) do Slackware? Para bate a versão.


Eu prefiro monitorar todos os pacotes referente ao kernel.

Já teve caso de "kernel panic" com os outros pacotes do kernel?

Mais fica como extra... :)


Mas você pode ajustar para versão do seu slack e modificar os pacotes que queira monitorar.

O único problema esta na verificação da versão.






Resumo:

# slackpkg info kernel-generic

PACKAGE NAME: kernel-generic-4.4.276-x86_64-1.txz
PACKAGE LOCATION: ./patches/packages/linux-4.4.276
PACKAGE SIZE (compressed): 4772 K
PACKAGE SIZE (uncompressed): 7220 K
PACKAGE DESCRIPTION:
kernel-generic: kernel-generic (a general purpose SMP Linux kernel)
kernel-generic:
kernel-generic: This is a Linux kernel with built-in support for most disk
kernel-generic: controllers. To use filesystems, or to load support for a SCSI or
kernel-generic: other controller, then you'll need to load one or more kernel
kernel-generic: modules using an initial ramdisk, or initrd. For more information
kernel-generic: about creating an initrd, see the README.initrd file in the /boot
kernel-generic: directory.
kernel-generic:
kernel-generic: SMP is "Symmetric multiprocessing", or multiple CPU/core support.
kernel-generic:

PACKAGE NAME: kernel-generic-4.4.14-x86_64-1.txz
PACKAGE LOCATION: ./slackware64/a
PACKAGE SIZE (compressed): 4692 K
PACKAGE SIZE (uncompressed): 7100 K
PACKAGE DESCRIPTION:
kernel-generic: kernel-generic (a general purpose SMP Linux kernel)
kernel-generic:
kernel-generic: This is a Linux kernel with built-in support for most disk
kernel-generic: controllers. To use filesystems, or to load support for a SCSI or
kernel-generic: other controller, then you'll need to load one or more kernel
kernel-generic: modules using an initial ramdisk, or initrd. For more information
kernel-generic: about creating an initrd, see the README.initrd file in the /boot
kernel-generic: directory.
kernel-generic:
kernel-generic: SMP is "Symmetric multiprocessing", or multiple CPU/core support.
kernel-generic:



# slackpkg search kernel-generic-4.4.14-x86_64

Looking for kernel-generic-4.4.14-x86_64 in package list. Please wait... DONE

The list below shows all packages with name matching "kernel-generic-4\.4\.14-x86_64".

[ upgrade ] - kernel-generic-4.4.276-x86_64-1 --> kernel-generic-4.4.14-x86_64-1

You can search specific files using "slackpkg file-search file".




# slackpkg search kernel-generic-*

Looking for kernel-generic-* in package list. Please wait... DONE

The list below shows all packages with name matching "kernel-generic-*".

[ installed ] - kernel-generic-4.4.276-x86_64-1

You can search specific files using "slackpkg file-search file".


Por isso, que não bate essa %$P&&%&$%[email protected]#$%@ :P