apt ser notificado quando uma versão do pacote estiver disponível

3

Para pouquíssimos pacotes que gostaria de saber depois de um apt-get update se uma nova versão estiver disponível, já existe alguma opção para fazer isso?

Estou pensando em usar apt.conf e Post-Invoke , mas ainda não fiz nada.

    
por Alex 05.09.2015 / 16:48

3 respostas

4

Você pode usar apt-show-versions (no pacote com o mesmo nome); executando

apt-show-versions -u

listará todos os pacotes instalados em seu sistema para os quais uma versão mais nova está disponível (usando o banco de dados apt , então você precisa executar apt-get update como mencionou).

Você pode listar pacotes como argumentos para apt-show-versions para limitar a lista apenas a esses pacotes; assim, executando

apt-show-versions -u ${YOUR_WATCHED_PACKAGES}

após apt-get update mostrar as informações que você procura. Você poderia automatizar isso usando Post-Invoke como mencionou.

    
por 05.09.2015 / 23:36
0

Uma maneira simples seria executar:

apt-get -s --only-upgrade install package1 package2 ...

Você poderia colocar isso em um script que cria a lista de pacotes a partir de um arquivo, executa apt-get update e, em seguida, o comando acima.

    
por 05.09.2015 / 23:25
0

Então, eu acabei com a coisa abaixo, por enquanto, parece que funcionaria, seria legal se -u suportasse mais pacotes, vendo muitos deles se tornarem lentos.

/etc/apt/watch um arquivo de texto com um nome de pacote para linha (# comentários suportados)

/usr/local/bin/apt-watch.sh :

#!/bin/sh

test -f /etc/apt/watch || exit 0

apt-show-versions -u $(grep -v ^# /etc/apt/watch) >/tmp/apt.watch
if [ $(cat /tmp/apt.watch | wc -l) -gt 0 ] ; then
    cat /tmp/apt.watch | mail root -s '[apt watch] upgrades available'
fi

/etc/apt/apt.conf.d/99-apt-watch :

# check upgrades avaiable for watched packages
APT::Update::Post-Invoke { "[ ! -x /usr/local/bin/apt-watch.sh ] || /usr/local/bin/apt-watch.sh || true"; };
    
por 06.09.2015 / 12:59

Tags