Como obtenho o pin fix para instalar o mínimo necessário da distribuição instável?

2

Eu já passei por esse processo de fixação do APT algumas vezes e ainda não consigo fazer o que eu quero.

Atualmente, estou executando o Ubuntu Karmic. Eu não tenho nenhum conjunto de versão padrão, por isso, o Karmic é o padrão de prioridade 500. Eu adicionei o Ubuntu Lucid às minhas fontes e no conjunto de arquivos de preferências é prioridade para 400.

Agora, digamos que eu queira instalar o Firefox-3.5 mais recente do Lucid, até onde eu sei, eu tenho duas opções.

1: sudo apt-get instala o firefox-3.5 / lucid

Isso só irá extrair dependências do Karmic e geralmente falhará porque algum pacote de suporte não tem uma versão suficientemente alta no Karmic.

2: sudo apt-get instala o firefox-3.5 -t lucid

Isto irá puxar todas as dependências necessárias do Lucid, mesmo aquelas que poderiam ter sido atendidas pelo Karmic.

O que eu quero é uma terceira opção que use o Karmic onde ele puder e use apenas o Lucid onde ele precisar.

Agora, é claro, isso pode ser feito manualmente aplicando a opção 1 recursivamente a cada dependência não atendida, mas isso fica muito tedioso.

Existe alguma maneira que eu possa manipular as prioridades e opções para conseguir o que eu quero?

    
por Gordon Wrigley 25.11.2009 / 05:28

2 respostas

2

E a resposta é ... Aptidão.

A configuração conforme indicado na pergunta está bem. Mas onde "apt-get instalar firefox-3.5 / lucid" reclama de dependências não satisfeitas "aptitude install firefox-3.5 / lucid" reclama e então se oferece para corrigir o problema e em cada exemplo eu tentei a correção é exatamente o comportamento que eu estou procurando por.

Hugin no meu sistema atual é um bom exemplo:

'O apt-get install hugin -t lucid' quer instalar 27 pacotes, todos do Lucid, a maioria deles bibliotecas.

"apt-get install hugin / lucid" reclama que o hugin tem dependências não atendidas

"aptitude install hugin / lucid" oferece para instalar 3 pacotes da Lucid e tudo mais da Karmic

$ aptitude install hugin/lucid
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Initializing package states... Done
The following packages are BROKEN:
  hugin 
The following NEW packages will be installed:
  autopano-sift{a} binfmt-support{a} cli-common{a} enblend{a} enfuse{a} 
  freeglut3{a} libboost-thread1.38.0{a} libgdiplus{a} libglade2.0-cil{a} 
  libglib2.0-cil{a} libgtk2.0-cil{a} libimage-exiftool-perl{a} 
  libmono-cairo2.0-cil{a} libmono-corlib2.0-cil{a} 
  libmono-i18n-west2.0-cil{a} libmono-security2.0-cil{a} 
  libmono-sharpzip2.84-cil{a} libmono-system2.0-cil{a} libpano13-1{a} 
  libplot2c2{a} mono-2.0-gac{a} mono-gac{a} mono-runtime{a} 
0 packages upgraded, 24 newly installed, 0 to remove and 0 not upgraded.
Need to get 11.6MB of archives. After unpacking 37.1MB will be used.
The following packages have unmet dependencies:
  hugin: Depends: hugin-tools (= 2009.2.0+dfsg-2ubuntu1) but it is not installable
The following actions will resolve these dependencies:

Install the following packages:
hugin-data [2009.2.0+dfsg-2ubuntu1 (lucid)]
hugin-tools [2009.2.0+dfsg-2ubuntu1 (lucid)]
libpano13-bin [2.9.14-2 (karmic, lucid)]

Score is -17

Accept this solution? [Y/n/q/?]
    
por 14.12.2009 / 12:15