¿Cómo instalar algunos paquetes de Debian "inestable" en una computadora que ejecuta Debian "estable"?

14

En una computadora que ejecuta Debian "estable", cuando intento instalar un paquete que está en la lista inestable del sitio web de Debian usando el aptitude install <package>/unstablecomando, obtengo un resultado similar a este:

Couldn't find any package whose name or description matched "<package>"
Couldn't find any package whose name or description matched "<package>"
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.

¿Qué puedo hacer para poder instalar paquetes "inestables"? (Pensé en agregar el repositorio a sources.list, pero no quiero que todo comience a instalarse desde "inestable").

Entonces: ¿cómo puedo instalar paquetes inestables (con el uso /stableal final del nombre del paquete)?

Abbafei
fuente
Consulte unix.stackexchange.com/q/112157/4671 para obtener una respuesta detallada a esta pregunta.
Faheem Mitha
1
Versión corta: no. Versión más larga: no hagas esto . Use backports si es necesario, pero no mezcle estable / inestable.
Shadur
Creo que esto se llama "FrankenDebian": "Debian Stable no debe combinarse con otras versiones. Si está intentando instalar un software que no está disponible en la versión actual de Debian Stable, no es una buena idea agregar repositorios para otras versiones de Debian. Es posible que los problemas no ocurran de inmediato, pero la próxima vez que instale actualizaciones ". De No rompas Debian .
malan

Respuestas:

29

Es necesario que haya unstableenumerado en su sources.list. De lo contrario, apt simplemente no encontrará el paquete.

Para evitar que los unstablepaquetes sean arrastrados, tiene dos formas.

  • La manera fácil es agregar una Default-Releasecláusula a /etc/apt/apt.conf(o a un archivo debajo /etc/apt/apt.conf.d/, por ejemplo /etc/apt/apt.conf.d/my-default-release).

    APT::Default-Release "stable";
    
  • La forma difícil es usar las preferencias APT . En /etc/apt/preferences:

    Package: *
    Pin: release o=Debian,a=unstable
    Pin-Priority: 10
    

Tenga en cuenta que durante la mayor parte de la vida útil de una versión de Debian, no es práctico instalar la mayoría de los paquetes inestables en un sistema estable, ya que extraerán muchas bibliotecas de inestable y terminará con un sistema inestable. Si desea ejecutar inestable, le ahorrará problemas solo apuntar a inestable (o prueba). Es mejor apegarse a un solo lanzamiento, o probar con el inestable ocasional si te sientes atrevido. Y, por supuesto, en un sistema de producción, mantente estable.

Si está ejecutando estable pero necesita una versión más nueva de una aplicación, primero mire si hay un backport para ellas. De lo contrario, si desea instalar un paquete desde inestable pero no tiene que extraer sus dependencias, intente obtener la fuente de inestable y recompilar.

apt-get source foo=1.42
apt-get build-dep foo  # pulls the dependencies of foo in stable but that's often good enough
dpkg-source -x foo_1.42.dsc
cd foo-1.4210126#10126
dpkg-buildpackage -rfakeroot -us -uc -b -nc
dpkg -i ../foo_1.42_$(arch).deb
Gilles 'SO- deja de ser malvado'
fuente
2
+1 por mencionar backports, pero realmente deberías señalar más enfáticamente que mezclar estable / inestable es realmente peligroso y si no sabes lo que estás haciendo no deberías hacer esto en un sistema de producción .
Shadur