Como você vê quais pacotes estão disponíveis para atualização


74

Usuário do FreeBSD ingressando em suas fileiras. Me pediram para cuidar de um servidor Ubuntu executando o 10.04 LTS.

Vejo /usr/lib/update-notifier/update-motd-updates-availableque há várias atualizações no servidor, mas não vejo uma maneira de saber quais serão atualizadas.

Alguém seria capaz de me indicar a direção certa, para que eu possa ver quais pacotes serão atualizados quando eu executar apt-get upgrade?

ATUALIZAR:

Não posso responder minha própria pergunta no momento, então jogue isso aqui por enquanto:

Juntamente com o apt-get upgrade --dry-runsugerido abaixo, /usr/lib/update-notifier/apt-check -plistará todos os pacotes que possuem atualizações disponíveis.


Bem-vindo às fileiras, use e abuse do site se precisar de mais ajuda;) Se você encontrar uma resposta que satisfaça sua pergunta, marque-a com a caixa de seleção verde ao lado.
Bruno Pereira

11
Agora você deve responder à sua própria pergunta, pois possui um representante suficiente para remover novas restrições de usuário .
jokerdino

parece que é necessário 100rep ou uma espera de 8 horas para responder à sua própria pergunta.
precisa saber é o seguinte

Em 2016, a resposta dada por @doru é imediata. askubuntu.com/a/788049/560610
jeremysawesome

Respostas:


63

Você pode instalar aptitudese ainda não estiver instalado. É uma ótima ferramenta para gerenciar pacotes em uma configuração sem cabeça.

insira a descrição da imagem aqui

Caso contrário, se você quiser apenas ver o que acontecerá quando executar algo, use o --dry-runargumento e ele não fará nada de verdade, apenas lhe dirá o que faria :

Na página de manual apt-get

-s, --simulate, --just-print, --dry-run, --recon, --no-act
          No action; perform a simulation of events that would occur but do
          not actually change the system. Configuration Item:
          APT::Get::Simulate.

          Simulate prints out a series of lines each one representing a dpkg
          operation, Configure (Conf), Remove (Remv), Unpack (Inst). Square
          brackets indicate broken packages with and empty set of square
          brackets meaning breaks that are of no consequence (rare).

Adicione a opção ao comando desta maneira

apt upgrade --dry-run

5
Eu desfigurei sua resposta, espero que você não se importe.
Bruno Pereira

2
Curiosamente, apt-get upgrade --dry-runnão é necessário sudo, o que o torna perfeito para uma exibição automatizada das atualizações de pacotes necessárias.
precisa saber é o seguinte

ainda mais interessante é que, no meu Ubuntu 14.04 LTS, o "apt-get -s update" não aceita "-s" ... nem "--dry-run", "--no-act" ... por que seria isso?
MBardos

@mBardos Você substituiu o apt-getno seu caminho por um script "auxiliar"? Verifique which apt-getpara ter certeza que é/usr/bin/apt-get
Oli

martonb @ martonb-ubu: ~ / work / qt $ qual apt-get / usr / bin / apt-get Isso funciona para você no Ubuntu 14.04 LTS? martonb @ martonb-ubu: ~ / work / qt $ apt-get -s update E: A opção de linha de comando 's' [de -s] não é conhecida.
MBardos

68

A partir de agora (Ubuntu 16.04) você pode usar apt listcom a --upgradablebandeira;

sudo apt update
apt list --upgradable

e você obterá uma lista com todos os pacotes atualizáveis.


11
Excelente! Isso é exatamente o que eu queria ver :)
jeremysawesome

apté um comando desconhecido em 12.04
confiq 11/07/16

11
@confiq "O APT 1.0 foi lançado em 1 de abril de 2014" , portanto, é possível não ser atualizado no seu sistema. Tente ver qual versão aptvocê instalou em execução sudo apt-cache policy apt.
doru

que explica ...
confiq

10

Outra alternativa seria usar aptitudecom um termo de pesquisa :

aptitude search '~U'

(Observe o 'U' maiúsculo)

Isso significa: "procure por todos os pacotes que estão instalados e podem ser atualizados". Referência: manual do usuário do aptitude

Por padrão, aptitude searchmostra para cada pacote seu nome, descrição e alguns sinalizadores, mas você também pode adaptar a saída às suas necessidades. Por exemplo, para listar apenas os nomes dos pacotes, o comando seria:

aptitude search -F '%p' --disable-columns '~U'

( --disable-columnsevita preenchimento de espaços em branco no final das linhas)


8

O comando abaixo mostra a lista de pacotes instalados que possuem uma atualização disponível nos repositórios.

dpkg --get-selections | xargs apt-cache policy {} | grep -1 Installed | sed -r 's/(:|Installed: |Candidate: )//' | uniq -u | tac | sed '/--/I,+1 d' | tac | sed '$d' | sed -n 1~2p

11
Isso é um pouco de mágica na linha de comando!
Teemu Leisti

11
Bom, mas @ sierrasdetandil de e respostas dos @doru fazer exatamente o mesmo de uma maneira bem concisa ...
Giuseppe
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.