Linux - exiba ou atualize as atualizações de segurança apenas usando o apt

9

existe uma maneira de listar ou instalar atualizações de segurança usando apenas o apt?

se eu listar atualizações com:

apt list --upgradable

também posso ver sem conhecer pacotes e bibliotecas quais atualizações são relevantes atualizações de segurança .

e, além disso, existe uma opção para aplicá-las apenas ignorando outras, então as atualizações não relevantes para segurança serão solicitadas novamente na próxima vez que eu executar apt upgrade ?

    
por nath 26.09.2017 / 02:22

2 respostas

7

apt não pode (ainda) fornecer as informações que você procura. O aptitude pode, embora um pouco confuso:

aptitude search '~U ~ODebian' -F "%p %O"|awk '/Debian-Security/ {print $1}'

Isso pesquisa todos os pacotes atualizáveis ( ~U ) dos repositórios oficiais da Debian ( ~ODebian ), e exibe o nome do pacote ( %p ) e “origin” ( %O ). O último realmente mostra o repositório label , que é “Debian-Security: 9 / stable” para os repositórios de segurança do Debian. Você acaba com uma lista de nomes de pacotes atualizáveis dos repositórios de segurança.

Existem várias maneiras de instalar apenas atualizações de segurança, mas nenhuma delas é ideal.

    A interface de texto do
  • aptitude permite que apenas atualizações de segurança sejam aplicadas, simplesmente rolando para o cabeçalho “Atualizações de segurança” (que deve ser o primeiro) e pressionando + .

  • Você pode alimentar a lista de pacotes extraídos acima para apt para instalar os upgrades:

    aptitude search '~U ~ODebian' -F "%p %O" |
    awk '/Debian-Security/ {print $1}' |
    xargs apt-get install --only-upgrade
    

    Isso tem o infeliz efeito colateral de limpar o marcador "instalado automaticamente" em pacotes atualizados.

  • Você pode usar unattended-upgrades , cuja ação padrão é aplicar apenas atualizações de segurança:

    unattended-upgrades -v
    

    Se você não quiser que as atualizações sejam instaladas automaticamente, será necessário desativar a tarefa diária do cronômetro de unattended-upgrades .

por 26.09.2017 / 09:47
3

Para exibir a atualização de segurança, você pode usar:

apt-get --just-print upgrade | grep -i security | awk '{print $2}' | awk '!seen[$0]++'

Para aplicar apenas as atualizações de segurança para 1 pacote:

apt-get install --only-upgrade pckg_name

Para aplicar somente as atualizações de segurança da lista:

list=$(apt-get --just-print upgrade | grep -i security | awk '{print $2}' | awk '!seen[$0]++')
apt-get install --only-upgrade $list
    
por 27.09.2017 / 11:37