Como obter uma lista de todas as atualizações de segurança pendentes?


13

Preciso listar (sem contar ou instalar) todas as atualizações de segurança pendentes em um sistema Ubuntu 14.04. Eu li o post Como criar uma lista apenas de atualizações de segurança com o apt-get? e sua resposta aceita ( apt-show-versions | grep upgradeable | grep security) realmente me dá uma lista.

No entanto, esse comando lista 62 atualizações de segurança pendentes. /usr/lib/update-notifier/apt-checkme diz que tenho 75 atualizações de segurança pendentes, mas não parece haver uma maneira de listá-las. Como posso conciliar esses dois números? Um dos dois comandos está fazendo algo diferente do que eu quero?

Respostas:


7

Se você está procurando fazer isso rapidamente uma vez, em vez de criar um repositório separado e criar scripts para alguma automação e tudo isso. Ótimo se você não deveria estar fazendo alterações ao auditar um sistema ou o que seja.

Esses dois comandos cuspirão na lista. Canalize para wc -l para ver quantos estão por trás. ;-)

grep security /etc/apt/sources.list > /tmp/security.list
sudo apt-get upgrade -oDir::Etc::Sourcelist=/tmp/security.list -oDir::Etc::SourceParts=/some/valid/dir/false -s

Ainda é válido para distros mais antigos ou se você tiver atualizações de repositório desativadas, mas a segurança está ativada:

sudo apt-get upgrade -s| grep ^Inst |grep Security 

por que você escreve " Ainda válido para distros mais antigos ou se você possui atualizações de repositório desativadas, mas com segurança ativada "? se a solução canalizada não funcionar, talvez adicione a opção -V( -verbose-versions)?
myrdd

@myrdd Porque o primeiro usa recursos que não estavam disponíveis em distros que estavam fora de moda em 2016. Pode não ser mais uma coisa.
flickerfly

então a última solução deve sempre funcionar, não?
myrdd

1
@myrdd Desde que o formato da saída não seja alterado em uma versão mais recente. O primeiro é melhor porque não depende do formato da saída.
Flickerfly

2

Isso funcionou para mim:

sudo unattended-upgrade --dry-run -d 2> /dev/null | awk '/Checking/ { print $2 }'

2
Mostra todas as atualizações disponíveis, mas não se limita a atualizações de segurança, se não me engano. Ainda é útil.
DELF

2
sudo apt-get -s --no-download dist-upgrade -V | grep "^Inst.*security.*$" | cut -d " " -f 2

Com alguma ajuda desta pergunta


2
+---------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|                            Command                            |                                                                               Purpose                                                                               |
+---------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| apt list --upgradable                                         | List all updates available                                                                                                                                          |
| apt list --upgradable | grep "\-security"                     | List all updates that are security.                                                                                                                                 |
| apt list --upgradable 2>/dev/null | grep "\-security" | wc -l | Count number of security updates available. and redirects the stderr like "WARNING: apt does not have a stable CLI interface. Use with caution in scripts." to null |
+---------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+

0
sudo apt list --upgradable |grep "/$(lsb_release -cs)-security"

Isso lista todas as atualizações disponíveis que vêm através do repositório de segurança.


1
O apt é para uso interativo. Você recebe um aviso quando usado em um script. Use em apt-getvez disso.
Bernard

0

deve haver uma maneira de solicitar quantos pacotes são atualizáveis ​​e quantas atualizações de segurança agora , mas se você optar por pedir uma vez por dia, poderá simplesmente ler o arquivo / var / lib / update-notifier / updates-available , que parece ser atualizado diariamente pelo script /etc/cron.daily/update-notifier-common, que pertence ao pacote update-notifier-common

Exemplo:

$ sudo cat /var/lib/update-notifier/updates-available

355 packages can be updated.
1 update is a security update.

Testado em:

  • Ubuntu 14.04 LTS
  • Ubuntu 16.04 LTS
  • Ubuntu 18.04 LTS

Saudações,

/Anjo

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.