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

11

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 os pacotes e bibliotecas, quais atualizações são atualizações de segurança relevantes .

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

nath
fonte
1
então você tem duas perguntas: 1.imprimir atualizações de segurança, 2. atualizar apenas pacotes selecionados, bem sei que existem 6 links em sources.list e dois deles são links de repositório relacionados à segurança, é possível ver quais pacotes atualizáveis ​​seriam baixados de cada ligação pelo seguinte comando: sudo apt upgrade --no-atualizar --assume-há --print-uris
Brian SP2
1
mas sobre a segunda questão, aparentemente, você pode escolher um único pacote a ser atualizado pelo seguinte comando apt upgrade --upgrade somente <nome do pacote> sudo , mas isso não funciona para mim, desculpe
Brian SP2

Respostas:

7

aptainda não pode fornecer as informações que você procura. aptitudeembora, embora de maneira um tanto confusa:

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

Ele pesquisa todos os ~Upacotes atualizáveis ​​( ) dos repositórios oficiais do Debian ( ~ODebian) e exibe o nome do pacote ( %p) e a "origem" ( %O). Este último realmente mostra o rótulo do repositório , que é “Debian-Security: 9 / stable” para os repositórios de segurança Debian 9. Você termina 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, nenhuma delas ideal.

  • aptitudeA interface de texto da aplicação permite que apenas as atualizações de segurança sejam aplicadas, simplesmente rolando até o cabeçalho "Atualizações de segurança" (que deve ser a primeira) e pressionando +.

  • Você pode alimentar a lista de pacotes extraídos acima aptpara instalar as atualizações:

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

    Isso tem o efeito colateral infeliz de limpar o marcador “instalado automaticamente” nos 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 deseja que as atualizações sejam instaladas automaticamente, precisará desativar unattended-upgradeso trabalho diário de cron.

Stephen Kitt
fonte
A TUI do Aptitude parece não apresentar mais atualizações de segurança separadamente - a partir de um ano atrás, 16.04 e atualmente 18.04. Alguém mais viu isso?
Greg Sino
@Greg ainda faz para mim (no Debian 10), e não vejo nenhuma mudança no Ubuntu que possa afetar isso. Talvez as atualizações de segurança sejam aplicadas automaticamente antes que você possa vê-las aptitude, por exemplo , por unattended-upgrades...
Stephen Kitt
Não, minhas atualizações autônomas são limitadas a apenas thunderbird, sshd e firefox. O que é estranho é que a pesquisa de aptidão '~ U' encontra bastante. Eu posso ver ainda trabalhando no aptitude 0.7.4; aptitude 0.8.10 é o que o Ubuntu 18.04 vem com. Que versão você tem?
Greg Sino
@ Greg Eu tenho 0.8.11, e mostra atualizações de segurança em sua própria seção . A tela é configurável, o que pode ser o problema aqui - quando você pressiona G, que mecanismo de agrupamento de pacotes é mostrado? O padrão é task,status,section(subdirs,passthrough),section(topdir).
Stephen Kitt
O mesmo mecanismo de agrupamento aqui. E eu tinha ~ / .aptitude para ter certeza de que não era algo pateta que eu definiria.
Greg Sino
5

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 apenas 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
GAD3R
fonte