Como instalar um único pacote do Debian sid?

8

Tome o ibus-sunpinyin, por exemplo, que não existe no squeeze. Eu não vou mudar todo o sistema para o ramo sid, então, eu quero baixar o pacote único do repositório sid e instalá-lo como:

# Add the sid repository
sudo mv /tmp/sid.list /etc/apt/sources.list.d/

# Error: can't install because version conflicts of libc6:
#     sudo apt-get install ibus-sunpinyin

# This is ok but it will upgrade a lot of mess from sid branch:
#     sudo apt-get upgrade ibus-sunpinyin

# So, instead of apt-get install/upgrade, let me download & install the single package.
# However, this errored again because of version conflicts of libc6:
#      apt-get install --download-only ibus-sunpinyin

## THEN, WHAT CAN I DO? ##

# Remove the sid repository.
sudo mv /etc/apt/sources.list.d/sid.list /tmp

# Install the single package.
sudo dpkg -i ./ibus-sunpinyin-x.x.x.deb
    
por Xiè Jìléi 23.08.2011 / 03:20

4 respostas

1

Você também pode tentar baixar os pacotes fonte do repositório sid e compilá-los no seu sistema squeeze. Você pode ter problemas se houver muitas dependências ou se o pacote depender de uma versão de uma biblioteca que não esteja disponível no squeeze.

Se isso funcionar, você não precisará manter outra distribuição em uma pasta separada, como faria com a abordagem bootstrap.

    
por 23.08.2011 / 06:25
7

O que você realmente quer é aprender sobre o apt-pinning. link

    
por 14.09.2011 / 18:45
4

Este pacote está disponível em Backports da Debian , o que tornará sua vida muito mais fácil. Geralmente são pacotes extraídos de testing ou unstable (sid) e "backported" para a versão estável atual.

Adicione esta linha ao seu sources.list

deb http://backports.debian.org/debian-backports squeeze-backports main

execute:

apt-get update && apt-get -t squeeze-backports install ibus-sunpinyin
    
por 23.08.2011 / 06:39
0

Uma maneira de contornar isso é usar cdebootstrap para instalar um sistema sid básico e, em seguida, usar chroot para executar o programa que você precisa dentro do novo sistema.

cdebootstrap instala um novo sistema debian de qualquer distribuição que você queira em um diretório. Então, chroot permite que você execute programas nessa outra distribuição sem reiniciar ou qualquer coisa.

Você também pode usar mount --bind para permitir que o sistema chrooted acesse sua pasta pessoal, / proc, etc.

Dentro do sistema chrooted, o apt-get será instalado a partir do repositório sid.

Para uma explicação mais detalhada, consulte o link .

    
por 23.08.2011 / 06:22