Como verifico apenas atualizações de segurança na linha de comando?


16

Existe uma maneira de verificar rapidamente a disponibilidade de atualizações de segurança na linha de comando?

No meu sistema 12.04, a execução apt-get updatebusca 20 MB de dados sobre pacotes disponíveis toda vez que eu o executo, atingindo muitos repositórios ao longo do caminho. Então eu posso usar qualquer um dos métodos descritos aqui para realmente executar a atualização.

Minha pergunta é sobre detectar a disponibilidade de atualizações de segurança (ou seja, não executar a atualização real usando o apt-get / aptitude / etc): existe uma verificação rápida que pode ser feita na linha de comando que fornece uma resposta sim-não? pergunta "existem atualizações de segurança disponíveis?". Eu gostaria de executar isso antes de executar a apt-get updateatualização longa + real.

Suponho que não precise baixar 20 MB de dados para saber a resposta para isso todos os dias.



Você quer dizer os apt-get update20MB de metadados do pacote?
Jeremy Kerr

@ JeremyKerr: sim, isso acontece se você estiver no servidor principal (archive / us.archive) porque as listas de pacotes são atualizadas a cada meia hora ... há um ou dois longos tópicos sobre ele na AU de internacional / baixa velocidade usuários que estão muito decepcionados com isso.
Ish

@izx: interessante, acabei de executar um teste apt-get updateusando um espelho australiano (estou em .au); o total baixado foi de 1,3 MB.
Jeremy Kerr

Respostas:


11

Minha pergunta é apenas sobre a detecção da disponibilidade de atualizações de segurança

Sim, é possível com a ressalva de que o normal apt-get updatefará uma atualização completa na próxima execução (20 MB significa que está fazendo isso de qualquer maneira).

  • sudo sh -c 'grep precise-security /etc/apt/sources.list > /etc/apt/secsrc.list

  • E se você executar o seguinte, verá se existem atualizações de segurança disponíveis ( exemplo de saída ):

    sudo sh -c 'apt-get -o Dir :: Etc :: sourcelist = "secsrc.list" \
    -o Dir :: Etc :: sourceparts = "-" update && \
    apt-get --assume-no upgrade '
    
  • Isso diz apt-getpara usar temporariamente a lista de fontes especiais de segurança e, em seguida upgrade, é executado , respondendo automaticamente não.

  • Se houver, execute corretamente apt-get update(o que fará uma atualização completa) e atualize.

  • Você pode criar um script bash acima com uma simples verificação de código grep / exit no final, se não quiser analisar a saída do apt-get :)


é exatamente isso que eu estava procurando, muito obrigado! :) Uma pergunta rápida: meu arquivo /etc/apt/secsrc.list não faz referência ao repositório 'partners' (apenas para 'main restringido', 'universo' e ' multiverse '), ainda serei notificado das atualizações de segurança dos pacotes nesse repositório?
Laramichaels

@laramichaels, o repositório de parceiros contém apenas quinze pacotes , e esses são basicamente binários proprietários envolvidos em um .deb. Atualizações incrementais de "segurança" não são liberadas para elas, e imagino que mesmo atualizações regulares não sejam frequentes (pense no Adobe Reader). Eu tinha acabado de adicionar o repositório real ( deb http://archive.canonical.com/ubuntu precise partner) para secsrc.listdado o tamanho minúsculo (5 kb) do arquivo de atualização parceiro.
Ish

@laramichaels, também adicionei uma resposta mais detalhada à sua pergunta anterior sobre o aspecto das atualizações de segurança do parceiro. A resposta aceita foi IMO incorreta; portanto, dê uma olhada quando tiver um momento livre e aceite o meu, se achar que é melhor.
Ish

11
Para que serve esse bit? -o Dir::Etc::sourceparts="-"
ChocoDeveloper 4/12/12

2

Pode não ser exatamente o que a pergunta está fazendo, mas se você já executou apt update, poderá ver quais atualizações de segurança estão disponíveis usando:

sudo apt list --upgradable | grep -e "-security"

o que lhe dará algo como:

libssl1.0.0/xenial-updates,xenial-security 1.0.2g-1ubuntu4.9 i386 [upgradable from: 1.0.2g-1ubuntu4.8]
openssl/xenial-updates,xenial-security 1.0.2g-1ubuntu4.9 i386 [upgradable from: 1.0.2g-1ubuntu4.8]
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.