Debian - Como ser notificado quando pacotes para “dist-upgrade” estão disponíveis?

1

Eu automatizei apt-get update && apt-get upgrade usando o pacote unattended-upgrades junto com anacron . Faz sentido que unattended-upgrades não execute apt-get dist-upgrade , pois existe o risco de quebrar coisas.

No entanto, gostaria pelo menos de saber que existem pacotes disponíveis para dist-upgrade (por exemplo, mail to root). Eu não quero verificar isso manualmente novamente.

Como posso fazer isso?

    
por Alex 07.04.2016 / 12:29

1 resposta

1

Supondo que seu sistema seja sempre atualizado automaticamente com apt-get upgrade , esse script executado por um cronjob pode ser feito:

#!/bin/bash

# Optional run this command first if not using automatic upgrades
# sudo apt-get update && sudo apt-get upgrade -y

pkglist=$(apt-get -su --assume-no dist-upgrade)
pending=$(echo "$pkglist" | grep -oE "[0-9]+ upgraded, [0-9]+ newly installed, [0-9]+ to remove and [0-9]+ not upgraded\.")
upgraded=$(echo "$pending" | grep -oE "[0-9]+ upgraded" | cut -d' ' -f1)
installed=$(echo "$pending" | grep -oE "[0-9]+ newly installed" | cut -d' ' -f1)
removed=$(echo "$pending" | grep -oE "[0-9]+ to remove" | cut -d' ' -f1)
count=$(( $upgraded + $installed + $removed ))
if [ "$count" -ne "0" ]; then
  echo "$count pending packages to upgrade/install/remove, sending email"
  echo "$pkglist" | mail -s "dist-upgrade: $count pending packages" [email protected]
fi

O script verifica os pacotes pendentes com o seguinte comando

apt-get -su --assume-no dist-upgrade

Opções:

  • -s , realiza uma simulação
  • -u , imprima uma lista de pacotes atualizados
  • -assum-no , "no" automático para todos os prompts

Se houver algum pacote pendente a ser atualizado, recém-instalado ou a ser removido, o script enviará um email para [email protected] com a lista de pacotes e imprimirá uma mensagem.

Possible alternative: apticron

This package will send daily emails if there are any pending packages. It should also solve your problem, as it also informs about packages that have been kept back.

    
por 07.04.2016 / 16:42