Como instalar um único pacote do Debian sid?

Como instalar um único pacote do Debian sid?

Veja o ibus-sunpinyin, por exemplo, que não existia na versão squeeze. Não vou mudar todo o sistema para o branch sid, então 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

Responder1

Você também pode tentar baixar os pacotes fonte do repositório sid e construí-los em seu sistema squeeze. Você poderá 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 inicializada.

Responder2

O que você REALMENTE quer é aprender sobre o apt-pinning.http://jaqque.sbih.org/kplug/apt-pinning.html

Responder3

Uma maneira fácil de fazer isso é definir preferências para que o sistema use a stablemaioria dos pacotes, mas volte para testingou unstablepara pacotes ausentes.

Aqui estão as etapas:

  1. Adicione isto a /etc/apt/sources.list:

    deb http://deb.debian.org/debian buster main
    deb http://deb.debian.org/debian testing main non-free contrib
    deb http://deb.debian.org/debian unstable main non-free contrib
    
  2. Escreva isto para /etc/apt/preferences(ou crie o arquivo)

    Package: *
    Pin: release a=stable
    Pin-Priority: 700
    
    Package: *
    Pin: release a=testing
    Pin-Priority: 650
    
    Package: *
    Pin: release a=unstable
    Pin-Priority: 600
    
  3. Correrapt-get update

  4. Instale o pacote que você deseja (por exemplo apt-get install ibus-sunpinyin)

PS: Você pode forçar a instalação de uminstávelpacote comapt-get install <package>/unstable

Responder4

Uma maneira de contornar isso é cdebootstrapinstalar um sistema SID básico e, em seguida, usar chrootpara executar o programa necessário no novo sistema.

cdebootstrapinstala um novo sistema Debian de qualquer distribuição que você desejar em um diretório. Então, chrootpermite executar programas nessa outra distribuição sem reiniciar nem nada.

Você também pode usar mount --bindpara permitir que o sistema com chroot acesse sua pasta pessoal, /proc, etc.

De dentro do sistema chroot, o apt-get será instalado a partir do repositório sid.

Para uma explicação mais detalhada, consultehttps://wiki.ubuntu.com/DebootstrapChroot.

informação relacionada