Como descobrir quais versões de um pacote posso instalar no APT


63

Usando o APT, você pode instalar uma versão específica de um pacote usando:

apt-get install package=1.0

Mas você não pode fazer

apt-get install package=1.*

Então, como posso descobrir quais versões estão disponíveis packageem um repositório específico ou em todos os repositórios no meu /etc/apt/sources.list?


Respostas:


90

Assim como um adendo

apt-cache madison <<package name>>

listará as versões disponíveis de todas as suas fontes.

apt-cache madison vim
   vim | 2:7.3.547-1 | http://debian.mirrors.tds.net/debian/ unstable/main amd64 Packages
   vim | 2:7.3.429-2 | http://debian.mirrors.tds.net/debian/ testing/main amd64 Packages
   vim | 2:7.3.429-2 | http://http.us.debian.org/debian/ testing/main amd64 Packages
   vim | 2:7.3.429-2 | http://debian.mirrors.tds.net/debian/ testing/main Sources
   vim | 2:7.3.547-1 | http://debian.mirrors.tds.net/debian/ unstable/main Sources

madisoné um apt-cachesubcomando, man apt-cachediz:

O comando madison do apt-cache tenta imitar o formato de saída e um subconjunto da funcionalidade da ferramenta de gerenciamento de arquivos Debian, madison. Ele exibe as versões disponíveis de um pacote em um formato tabular. Ao contrário do madison original, ele só pode exibir informações para a arquitetura para a qual o APT recuperou listas de pacotes (APT :: Architecture).


3
Madison? Esse é um parâmetro para o apt-cache ou um nome de pacote? Eu não estou usando uma distro apt-get mais (mas +1 apenas no caso)
Camilo Martin

5
parâmetro. Não se sinta mal, foi uma daquelas descobertas casuais para mim também. Há uma página da web (app?) No site Debian que mostra as mesmas informações, que eu suponho que foram as primeiras, e alguém a codificou para o apt-cache. Bastante útil.
Lornix 17/06

Uau, bastante útil mesmo. Vou mudar a aceitação para isso, porque é exatamente o que eu queria (na época) e vem embutido sem cumprimentá-lo.
Camilo Martin

11
Isso não funciona para todos os pacotes.
Cerin

11
@nuoritoveri As fontes Sources são repositórios que contêm o código fonte dos vários programas e pacotes. O código fonte pode ser baixado usando o apt-get source XYZZYcomando para baixar a fonte do pacote XYZZY . Veja a página de manual apt-get ( ) para mais detalhes. man apt-get
Lornix #

25

O apt-cache show <Package>mostra as descrições dos pacotes de todas as versões que sua instalação debian pode instalar (isto é, da lista de pacotes em cache disponíveis nos repositórios listados em sources.list). Então eu acho que você poderia tentar algo como (por exemplo):

# apt-cache show package | grep Version
Version 1.0
Version 0.9-2squeeze1

O apt-cache showdaria muito mais informações do que apenas versões.


Obrigado, vai experimentar. É possível fazer o downgrade?
Camilo Martin

Parece funcionar, eu só quero saber se isso listaria pacotes cujas versões são inferiores às que eu tenho atualmente.
Camilo Martin

5
você pode usar a política apt-cache se apenas a versão lhe interessar.
Rémi

@ Rémi Obrigado! Esse comando resolveu minha próxima dúvida, como saber de onde virá um pacote. Eu estava mesmo à procura já :)
Camilo Martin

12
apt-cache policy gdb

Saída de amostra:

gdb:
  Installed: 7.7.1-0ubuntu5~14.04.2
  Candidate: 7.7.1-0ubuntu5~14.04.2
  Version table:
 *** 7.7.1-0ubuntu5~14.04.2 0
        500 http://fr.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     7.7-0ubuntu3 0
        500 http://fr.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
        500 http://archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

Portanto, vemos que existem duas versões do GDB disponíveis:

  • 7.7.1-0ubuntu5~14.04.2
  • 7.7-0ubuntu3

Significado da saída:


11
Obrigado, isso parece mais detalhado do que apt-cache madison(mas mais difícil de analisar).
Camilo Martin

2

Um comando que se destina especificamente a isso é o apt-show-versões . Você geralmente precisa instalá-lo, mas pode executar o apt-show-versions -a e ele mostra o número da versão, a distribuição (por exemplo, testing, stable, instable, backports, etc.) onde isso pode ser encontrado e, finalmente, informar se a versão que você instalou está atualizada ou não.

Ele não fornece tanta informação quanto o apt-cache, mas fornece praticamente o que você precisa, pois você pode instalar a partir do repositório correto (usando o aptitude / apt-get -t) ou simplesmente instalar usando o número de versão correto em o formulário que você anotou.


+1, mas ao testá-lo na caixa da minha namorada com um exemplo arbitrário, ele perde uma das versões apt-cacheescolhidas: i.imgur.com/15be7.png
Camilo Martin

Isso é interessante, parece ter pulado o mais antigo. Talvez suas preferências do apt estejam definidas para preferir testes?
precisa saber é o seguinte

Eu não sei? Onde eu procuraria verificar se prefere o teste?
Camilo Martin

Verifique o arquivo / etc / apt / preferences
ShankarG
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.