apt-cache show
mostra várias versões do pacote
# apt-cache show libc6:i386
Package: libc6
Version: 2.17-97
Architecture: i386
...
Package: libc6
Status: install ok installed
Version: 2.17-7
Architecture: i386
Multi-Arch: same
...
Package: libc6
Version: 2.13-38
Architecture: i386
...
# apt-get show libc6:amd64
Package: libc6
Version: 2.17-97
Architecture: amd64
...
Package: libc6
Version: 2.13-38
Architecture: amd64
...
Mas como mapear uma versão de pacote para liberar codinome como estável/teste/instável?
[Nota do problema XY] - o que tento fazer e o que acontece:
Tentando inicializar meu i386 debian para também executar binários AMD64 (mantendo i386 como arco primário),
- Como primeiro passo para experimentar o novo mundo AMD64, tentei executar um programa,
- Não foi possível encontrar libssl.so.1.0.0,
- Tentei instalar libssl1.0.0:amd64,
- foi interrompido pela incompatibilidade da libgcc1,
- tentei instalar libgcc1:amd64, obtive erros sobre incompatibilidade,
- atualizou o sistema para pacotes mais recentes (como
apt-get upgrade
mostra zeros), - Pacotes relacionados à libgcc i386 atualizados à força, instalando com versões explícitas especificadas (
apt-get install libstdc++6=4.8.2-1 gcc-4.8-base=4.8.2-1 libgcc1=1:4.8.2-1 libgfortran3=4.8.2-1 libquadmath0=4.8.2-1 libgcc-4.8-dev=4.8.2-1 libgomp1=4.8.2-1 libitm1=4.8.2-1 libatomic1=4.8.2-1 libasan0=4.8.2-1 libstdc++-4.8-dev=4.8.2-1
) - tentei instalar libgcc1:amd64, obtive menos erros em comparação com antes, mas ainda parei pela ausência de libc6:amd64,
- tentei instalar libc6:amd64, fui interrompido por enormes incompatibilidades,
- descobri (de acordo com
apt-cache info
) que para "minha" versão i386 da libc6 não há atualmente nenhuma versão amd64 correspondente disponível. - Confundido com várias versões: que ainda é do "squeeze" (muito antigo), que é do "sid" (disponível apenas para instalação manual, não para atualização). Por que não existe "minha" versão de uma biblioteca, embora eu tenha atualizado completamente?
[/XY nota do problema]
AtualizarTestado apt-cache policy
:
# apt-cache policy libc6:i386
libc6:
Installed: 2.17-7
Candidate: 2.17-7
Version table:
2.17-97 0
10 http://ftp.de.debian.org/debian/ sid/main i386 Packages
10 http://ftp.mgts.by/debian/ testing/main i386 Packages
*** 2.17-7 0
100 /var/lib/dpkg/status
2.13-38 0
900 http://ftp.mgts.by/debian/ wheezy/main i386 Packages
Parece que minha libc6 é algo intermediário.
Responder1
Como obter o codinome (“wheezy” ou “sid”) de uma versão do pacote?
Como o Debian é uma versão contínua, os pacotes não têm sid
ou wheezy
estão anexados em lugar nenhum, a única maneira de saber de onde você instalou o pacote é usando apt-cache policy package
.
Sobre o problema da libc6:
Se você deseja "atualizar" de 32 para 64 bits, então não é possível, ou é mais provável que você quebre o sistema.
O libc6
pacote é o senhor mãe de todas as dependências. É aquele que finalmente dirá se o seu sistema é de 64 ou 32 bits, e alterá-lo não é fácil. O velhoguia para migrarnão funcionará mais, pois existe uma beleza chamada Multiarch.Há outro guiamasé muito perigosopara ser testado em produção (também conhecido como seu PC doméstico) e você provavelmente terminará com um sistema que não inicializa (comece a chorar se for o seu único) com a única solução de reinstalação. Então, você quer um sistema de 64 bits no núcleo e já tem um de 32 bits instalado? Soluções:
- Use uma VM
- Use um LXC
- Reinstale
- Tente atravessá-lo
- Chore e reinstale
Essas são suas únicas soluções.
Responder2
Você já tentou com apt-cache madison?
eclipxe@localhost:~# apt-cache madison iceweasel
iceweasel | 25.0-1 | http://ftp.debian.org/debian/ experimental/main amd64 Packages
iceweasel | 24.1.0esr-1 | http://ftp.debian.org/debian/ unstable/main amd64 Packages
iceweasel | 17.0.9esr-1~deb7u1 | http://ftp.debian.org/debian/ testing/main amd64 Packages
eclipxe@localhost:~# apt-cache madison iceweasel | awk '{print $1,$6}'
iceweasel experimental/main
iceweasel unstable/main
iceweasel testing/main
(Estou executando testes debian com instável [Pin: 200] e experimental [Pin: 1])
Além disso, ao instalar pacotes de uma versão superior, tente usar --target-release:
apt-get install -t unstable iceweasel