Instalando versões particulares quando repo tem versões mais recentes?

11

Vamos ter um meta-pacote que depende dos seguintes pacotes

Depends: A (=2),
 B (=2),
 C (=2)

Observe o '=' - Eu quero instalar essas versões específicas, não as mais recentes.

Além disso:

B depende de A (> = 1)

C depende de B (> = 1) e A (> = 1)

Se as versões mais recentes de A, B, C no repositório forem 2, isso funciona.

Desde que eu coloquei a versão 3 do A e a versão 3 do B no repositório sudo apt-get install o my-meta-package se recusa a terminar com as seguintes informações:

The following packages have unmet dependencies:
  my-meta-package: Depends: B (= 2) but 3 is to be installed
                   Depends: A (= 2) but 3 is to be installed

Se eu instalar manualmente as versões 2 de A e B, o meta-pacote será instalado corretamente, o que sugere strongmente que não há dependência oculta em A3 ou B3. Esta não é uma solução para o problema, já que o metapacote é instalado automaticamente em muitas máquinas.

PERGUNTA: O que fazer para fazer o sudo apt-get instalar as versões de instalação do my-meta-package 2,2,2?

Além disso, existe uma maneira de obter uma informação estendida que realmente cria a necessidade da versão 3 de A e da versão 3 de B?

    
por tymtam 21.06.2012 / 11:33

2 respostas

8

Você precisa selecionar as versões específicas para instalar e instalá-las todas ao mesmo tempo em que instala o meta-pacote.

sudo apt-get install meta-package package1=2 package2=2 package3=2

Assim como a resposta do int_ua diz, você pode descobrir dependências reversas com isso:

apt-cache rdepends package

Se você quiser saber mais informações sobre qualquer um desses pacotes ( versões disponíveis, dependências e muito mais ), use este:

apt-cache show package

Depois que você terminar de instalá-los e quiser mantê-los nessas versões enquanto estiver fazendo upgrades de sistema, será necessário usar apt-pinning como sugerido por belacqua .

Fixação de APT

% bl0ck_qu0te%     
por Sepero 09.08.2012 / 21:06
1

Você pode tentar instalar dependências primeiro com

sudo apt-get install package=2 em que 2 é a versão

Você pode descobrir quais pacotes dependem do pacote com

apt-cache rdepends package

    
por int_ua 21.06.2012 / 12:16