¿Cómo instalar un solo paquete desde Debian sid?

8

Tome ibus-sunpinyin, por ejemplo, que no existía en la liberación por compresión. No voy a cambiar todo el sistema a la rama sid, por lo tanto, quiero descargar el paquete único del repositorio sid e instalarlo 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
Xiè Jìléi
fuente
Para descargar un solo paquete: puede apt-get download ...(para apt-get 0.8.11+), o aptitude download .... Sin embargo, tampoco he podido hacerlo sudo dpkg -i ibus-sunpinyin-x.x.x.debdebido a las dependencias sid.
Xiè Jìléi

Respuestas:

1

También puede intentar descargar los paquetes fuente desde el repositorio sid y compilarlos en su sistema squeeze. Puede tener problemas si hay muchas dependencias o si el paquete depende de una versión de una biblioteca que no está disponible en Squeeze.

Si esto funciona, entonces no necesita mantener otra distribución en una carpeta separada, como lo haría con el enfoque de arranque.

Neil
fuente
1
apt-pinning es la forma correcta de hacer esto, TBH. jaqque.sbih.org/kplug/apt-pinning.html
Rob
9

Lo que REALMENTE desea es aprender acerca de apt-pinning. http://jaqque.sbih.org/kplug/apt-pinning.html

Robar
fuente
Necesita esto si el paquete que desea no tiene backport. De lo contrario, apostaría que los backports generalmente funcionan mejor.
d -_- b
1
Si. Los backports son una apuesta mucho más segura. La fijación de aptos no siempre funcionará y, a veces, se moverá mucho más de lo que desea (¡nadie querrá ayudar si saca libc6 de sid!)
Rob
4

Este paquete está disponible en Debian Backports , lo que hará su vida mucho más fácil. Estos son generalmente paquetes extraídos de pruebas o inestables (sid), y "respaldados" a la versión estable actual.

Agregue esta línea a su sources.list

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

entonces corre:

apt-get update && apt-get -t squeeze-backports install ibus-sunpinyin
Chad Feller
fuente
0

Una forma de evitar esto es usar cdebootstrappara instalar un sistema sid básico, luego usar chrootpara ejecutar el programa que necesita dentro del nuevo sistema.

cdebootstrapinstala un nuevo sistema debian de cualquier distribución que desee en un directorio. Luego, le chrootpermite ejecutar programas en esa otra distribución sin reiniciar ni nada.

También puede usar mount --bindpara permitir que el sistema chroot acceda a su carpeta de inicio, / proc, etc.

Desde el sistema chroot, apt-get se instalará desde el repositorio sid.

Para obtener una explicación más detallada, consulte https://wiki.ubuntu.com/DebootstrapChroot .

Neil
fuente