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?

Camilo Martin
fonte
Veja também stackoverflow.com/questions/18885820/…
rogerdpack 9/15

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).

lornix
fonte
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.

Anil
fonte
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:

Ciro Santilli adicionou uma nova foto
fonte
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.

ShankarG
fonte
+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