Como extrair dependências para o pacote / teste do teste

2

Tentando instalar uma versão mais nova do libav-tools do testing para minha instalação do debian-stable. Eu tenho testes na minha sources.list e minhas preferências se parecem com:

Package: *
Pin: release a=stable
Pin-Priority: 995

Package: *
Pin: release a=testing
Pin-Priority: 101

Se eu entendi o wiki corretamente, apt-get install pkg/testing instalará pkg de testing , mas não faça upgrades para satisfazer dependências, enquanto apt-get -t testing install pkg/testing deve. No entanto ...

Saída de apt-get -t testing install libav-tools :

Reading package lists... Done
Building dependency tree       
Reading state information... Done
libav-tools is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 12 not upgraded.

Saída de apt-get install libav-tools/testing :

Selected version '6:9.10-2' (Debian:testing [i386]) for 'libav-tools'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libav-tools : Depends: libavcodec54 (>= 6:9.1-1) but it is not going to be installed or
                        libavcodec-extra-54 (>= 6:9.10) but it is not going to be installed
              ... *truncated*
E: Unable to correct problems, you have held broken packages.

A saída de apt-get -t testing install libav-tools/testing é a mesma.

Portanto, parece que a opção -t , por conta própria, não está encontrando a versão mais recente do pacote, enquanto /testing está quebrando as deps. Alguém pode me dizer se isso é erro do usuário ou um bug?

    
por Dan Anderson 11.02.2014 / 14:33

1 resposta

1

Dan, mudando o número de prioridade de estável quando correndo estável é geralmente um grande não-não, afaik, e realmente não faz sentido. Os tipos típicos de números que você deseja usar para teste / instável são Pin Priority 50 e não deseja tocar nos números estáveis.

Eu olhei para a página do Wiki que você referenciou (você é realmente melhor ler man apt_preferences pelo menos para começar) e ninguém lá sugere aumentar os números de prioridade para estável. Ou, mais geralmente, o sistema em que você está executando.

Com esses valores, -t testing e /testing se comportarão conforme o esperado. Independentemente disso, -t testing não é uma ótima idéia em geral (a menos que você realmente saiba o que está fazendo).

Se você quiser uma análise mais detalhada do que está acontecendo; Eu acho que o que acontece com /testing é que a prioridade do (s) argumento (s) do pacote é temporariamente aumentada (nesse comando), provavelmente para 500. Para -t testing ele causa bump tudo no teste. No entanto, se você aumentou a prioridade de estável para além de 500, isso não funcionará como esperado. É possível analisá-lo com mais detalhes - provavelmente é possível perguntar quais pacotes de prioridades existem dentro do comando, mas não sei como fazer isso.

Execução de um teste rápido - o aumento estável de 995 (meu teste e instável permanecem em 50) suporta a análise acima. Com 995 -t testing slrn se recusa a fazer qualquer coisa. Com o valor normal de 500, ele tenta atualizar 232 pacotes.

Aqui está a saída do caso 995. O case 500 é muito detalhado para incluir aqui.

apt-get install -t unstable slrn
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 slrn : Depends: libc6 (>= 2.15) but 2.13-38+deb7u1 is to be installed
E: Unable to correct problems, you have held broken packages.
    
por 11.02.2014 / 17:23