Como ver a versão do pacote sem instalar?

38

Quero ver a versão de um pacote antes de instalá-lo. Como posso fazer isso?

Mesut Tasci
fonte

Respostas:

24

Pacotes conhecidos pelo seu sistema / offline

Você pode usar apt-cachepara consultar o cache do APT. Para mostrar as versões conhecidas pelo seu sistema, use apt-cache policy. Exemplo:

apt-cache policy iceweasel  
iceweasel:                        
  Installed: 10.0.4esr-3
  Candidate: 10.0.4esr-3
  Version table:
     12.0-7 0
          1 http://ftp.us.debian.org/debian/ experimental/main amd64 Packages
 *** 10.0.4esr-3 0
        500 http://ftp.us.debian.org/debian/ sid/main amd64 Packages
        100 /var/lib/dpkg/status
     10.0.4esr-2 0
        500 http://ftp.us.debian.org/debian/ testing/main amd64 Packages

Isso significa que a versão 12.0-7 do iceweasel está disponível no experimental e tem a prioridade 1, a versão 10.0.4esr-3 está instalada no sid e a prioridade 500 e a 10.0.4esr-2 está em teste.

Para uma descrição detalhada sobre o significado das prioridades, consulte apt_preferences (5)

Você também pode exibir uma breve descrição e algumas informações meta sobre o pacote com

apt-cache show package-name

Informações sobre todos os pacotes debian / online

Se você deseja obter informações sobre a versão de todos os pacotes debian disponíveis (basicamente o que http://packages.debian.org faz), você pode usar o rmadison (1) para consultar remotamente o banco de dados. O rmadison está no pacote devscripts que você deve instalar via apt-get install devscripts.

$ rmadison iceweasel
 iceweasel | 3.0.6-3             | lenny-security    | source, alpha, amd64, arm, armel, hppa, i386, ia64, mips, mipsel, powerpc, s390, sparc
 iceweasel | 3.0.6-3             | lenny             | source, alpha, amd64, arm, armel, hppa, i386, ia64, mips, mipsel, powerpc, s390, sparc
 iceweasel | 3.5.16-11~bpo50+1   | backports/lenny   | source, alpha, amd64, armel, i386, ia64, mips, mipsel, powerpc, s390, sparc
 iceweasel | 3.5.16-14           | squeeze           | source, amd64, armel, i386, ia64, kfreebsd-amd64, kfreebsd-i386, mips, mipsel, powerpc, s390, sparc
 iceweasel | 3.5.16-15           | squeeze-p-u       | source, amd64, armel, i386, ia64, kfreebsd-amd64, kfreebsd-i386, mips, mipsel, powerpc, s390, sparc
 iceweasel | 3.5.16-15           | squeeze-security  | source, amd64, armel, i386, ia64, kfreebsd-amd64, kfreebsd-i386, mips, mipsel, powerpc, s390, sparc
 iceweasel | 10.0.4esr-2~bpo60+1 | squeeze-backports | source, amd64, i386, kfreebsd-amd64, kfreebsd-i386, s390
 iceweasel | 10.0.4esr-2         | wheezy            | source, amd64, armel, armhf, i386, ia64, kfreebsd-amd64, kfreebsd-i386, mips, mipsel, powerpc, s390, s390x, sparc
 iceweasel | 10.0.4esr-3         | sid               | source, amd64, armel, armhf, hurd-i386, i386, ia64, kfreebsd-amd64, kfreebsd-i386, mips, mipsel, powerpc, s390, s390x, sparc
 iceweasel | 11.0-4              | experimental      | source, armel
 iceweasel | 12.0-3              | experimental      | source, mips
 iceweasel | 12.0-7              | experimental      | source, amd64, armhf, hurd-i386, i386, ia64, kfreebsd-amd64, kfreebsd-i386, powerpc, s390, s390x, sparc

A diferença entre o apt-cache e rmadisoné que o apt-cache mostra apenas as informações conhecidas pelo seu sistema (mas pode ser usado offline) enquanto rmadisonmostra todas as versões dos pacotes disponíveis

Ulrich Dangel
fonte
Por que você escolheu a política do apt-cache para ver as informações do pacote? Qual é a causa de sua escolha do apt-cache em vez do aptitude?
Mesut Tasci
1
@mesuutt aptitude showmostra apenas uma versão / a versão instalada. Mas como tenho vários repositórios no meu sources.list (testing, instable, experimental), quero saber qual versão está disponível em qual pacote. Você também pode dar uma olhada no apt-cache showque é basicamente como o aptitude show, mas mostrará as informações para várias versões.
Ulrich Dangel
Graças @ UlrichDangel.I não funcionou com a versão de pacote múltiplo e repositório more.Now Eu acho que a política apt-cache é mais útil se você trabalha com múltiplos repositórios :)
Mesut Tasci
O @UlrichDangel aptitudepode mostrar versões para vários repositórios desde o squeeze.
apressar
@mesuutt corrida é certo que você pode ver várias versões quer através aptitude show -v $PACKAGEou a resposta que ele postou
Ulrich Dangel
28

Além de outras respostas, caso você tenha um arquivo de pacote .deb, você pode

$ dpkg-deb -I package.deb

para ver informações de controle (nome, descrição, versão, dependências ...) e estatísticas básicas como tamanho ou

$ dpkg-deb -f package.deb Version

para imprimir apenas a versão.

Exemplos:

  • informações completas (observe que as 4 primeiras linhas estão além das informações de controle típicas)

    me@here:~$ dpkg-deb -I in/sw/minutor_2.0_amd64.deb 
     new debian package, version 2.0.
     size 131594 bytes: control archive=682 bytes.
         534 bytes,    12 lines      control              
         386 bytes,     6 lines      md5sums              
     Package: minutor
     Version: 2.0
     Architecture: amd64
     Maintainer: Sean Kasun <REDACTED>
     Installed-Size: 340
     Depends: libc6 (>= 2.14), libgcc1 (>= 1:4.1.1), libqt5core5
    (>= 5.0.1+dfsg), libqt5gui5 (>= 5.0.1+dfsg), libqt5network5
    (>= 5.0.1+dfsg), libqt5widgets5 (>= 5.0.1+dfsg), libstdc++6
    (>= 4.1.1), zlib1g (>= 1:1.1.4)
     Section: utils
     Priority: extra
     Homepage: http://seancode.com/minutor/
     Description: Minecraft mapping tool
      Minutor lets you view and inspect your Minecraft worlds.
      It is designed for Minecraft 1.2 and later.
    me@here:~$
    
  • somente versão

    me@here:~$ dpkg-deb -f in/sw/minutor_2.0_amd64.deb Version
    2.0
    me@here:~$ 
    
Alois Mahdal
fonte
9

aptitudejá que o squeeze tem a capacidade de mostrar todas as versões disponíveis. Isso é muito útil caso você tenha repositórios para diferentes versões:

 $ aptitude versions aptitude
i   0.6.3-3.2+squeeze1        stable               700
p   0.6.7-1                   testing,unstable     650
pressa
fonte
Ah, isso parece ótimo. Há apenas uma queixa pequena / menor que eu descobri. As versões do aptitude parecem tratar o nome do pacote como um padrão, isso significa algo como aptitude versions gcclistar muitos outros pacotes além do pacote gcc.
Ulrich Dangel
Hum, isso é estranho. Ao meu lado aptitude versions, não trata o nome como padrão e aptitude versions gccmostra as versões apenas para o gccpacote e não mostra nada sobre gcc-4.1e outros. Pode ser que você descreva em testes ou até mesmo sid, infelizmente não tenho acesso a essas versões agora para confirmar isso.
apressar
3

Muitas informações sobre pacotes são encontradas em http://packages.debian.org/package-name, por exemplo http://packages.debian.org/iceweasel.

Mas também aptitudepode ajudar, tente

aptitude show package-name
sr_
fonte
3

Pessoalmente, considero apt-cache madisonútil, pois mostra de forma amigável ao analisador qual versão está disponível em cada versão:

apt-cache madison iceweasel | grep 'Packages$'
 iceweasel |     21.0-1 | http://ftp.fr.debian.org/debian/ rc-buggy/main amd64 Packages
 iceweasel | 17.0.6esr-1 | http://ftp.fr.debian.org/debian/ sid/main amd64 Packages
 iceweasel | 10.0.12esr-1+nmu1 | http://ftp.fr.debian.org/debian/ jessie/main amd64 Packages
 iceweasel | 10.0.12esr-1 | http://ftp.fr.debian.org/debian/ wheezy/main amd64 Packages
Guillaume Raffy
fonte