Gostaria de poder listar todas as NOTÍCIAS dos pacotes que foram atualizados desde a última vez que executei o script/comando. Isso provavelmente seria executado em uma tarefa cron uma vez por semana para fornecer um resumo de qualquer informação de atualização.
O apt-listchanges
comando se parece com o que eu quero, mas não consigo fazer com que ele se comporte exatamente como descrevi. O comando que tentei executar é:
apt-listchanges -f text -a --which=news --save_seen=/var/lib/apt/listchanges.db /var/cache/apt/archives/*.deb
Parece querer que os pacotes reais sejam listados, em vez de apenas verificar todos eles por padrão, então dei tudo no cache, não tenho certeza se essa é a melhor maneira de fazer isso.
Mas, o maior problema, é que por padrão ele só mostra as mudanças entre as versões instaladas atualmente, portanto não mostra nenhuma mudança. Portanto, adicionei a opção -a para exibir todas as alterações e, em seguida, adicionei a opção save_seen, que afirma que interromperá a exibição das alterações que foram mostradas anteriormente. Mas, cada vez que executo o comando, ele exibe todas as alterações todas as vezes.
Existe uma maneira de ajustar o comando para funcionar conforme o esperado? Ou talvez alguma outra solução, como usar um gancho apt para anexar o NEWS para cada pacote atualizado a um arquivo, então meu script pode simplesmente ler o arquivo e excluir o conteúdo sempre que for executado.
Posso pensar em duas abordagens que não envolvem
apt-listchanges
muitos ajustes.apt-listchanges
Ambos contam com o gancho padrão emapt
; verifique se/etc/apt/apt.conf.d/20listchanges
existe em seu sistema. Isso funciona muito bem porqueapt-listchanges
é executado com a lista de pacotes queapt
estão prestes a atualizar e, portanto, pode comparar as versões atuais instaladas com essas. (apt-listchanges
' design torna difícil executar após o fato; você pode usar a--since
opção, mas precisa acompanhar os valores apropriados.)A primeira abordagem é configurar
apt-listchanges
para enviar um e-mail com as alterações. Isso requer uma configuração de e-mail funcional no sistema, o que pode não ser conveniente para você; mas acho muito prático. Na[apt]
seção de/etc/apt/listchanges.conf
, definafrontend=mail
, eemail_address
conforme apropriado; em seguida,apt-listchanges
será executado sempre que forapt
executado e enviará um e-mail contendo as notícias (e/ou changelogs, dependendo dawhich
configuração).A segunda, que eu realmente não tentei, é configurar
apt-listchanges
para simplesmente despejar entradas de notícias e/ou changelogs em sua saída padrão e redirecioná-lo para um arquivo de log que você pode ler sempre que for conveniente. Na[apt]
seção de/etc/apt/listchanges.conf
, definafrontend=text
; em/etc/apt/apt.conf.d/20listchanges
, adicione um redirecionamento anexado ao seu arquivo de destino.