Solución 1:
Mucha gente parece tener miedo de mezclar estable con testing, pero, francamente, testing es bastante estable por derecho propio y, con las preferencias adecuadas y la verificación de soluciones, puede evitar la "desviación de estabilidad" que pone a sus paquetes principales en el camino inestable.
"¿Las pruebas son bastante estables?" , usted pregunta. Sí. Para que un paquete migre de inestable a testing, debe tener cero errores abiertos durante 10 días consecutivos. Lo más probable es que, especialmente para los paquetes más populares, alguien envíe un informe de error para una versión inestable si algo está mal.
Incluso si no desea mezclar los entornos, es bueno tener la opción allí en caso de que se encuentre con algo que requiera una versión más nueva que la estable.
Esto es lo que recomiendo para configurar esto:
Primero, crea los siguientes archivos en /etc/apt/preferences.d
:
stable.pref
:
# 500 <= P < 990: causes a version to be installed unless there is a
# version available belonging to the target release or the installed
# version is more recent
Package: *
Pin: release a=stable
Pin-Priority: 900
testing.pref
:
# 100 <= P < 500: causes a version to be installed unless there is a
# version available belonging to some other distribution or the installed
# version is more recent
Package: *
Pin: release a=testing
Pin-Priority: 400
unstable.pref
:
# 0 < P < 100: causes a version to be installed only if there is no
# installed version of the package
Package: *
Pin: release a=unstable
Pin-Priority: 50
experimental.pref
:
# 0 < P < 100: causes a version to be installed only if there is no
# installed version of the package
Package: *
Pin: release a=experimental
Pin-Priority: 1
(No tenga miedo de las cosas inestables/experimentales aquí. Las prioridades son lo suficientemente bajas como para que nunca instale automáticamente nada de eso. Incluso la rama de prueba se comportará, ya que solo instalará los paquetes que desea que sea en pruebas.)
Ahora, creando un conjunto coincidente para /etc/apt/sources.list.d
:
stable.list
:copia de tu /etc/apt/sources.list
original . Cambie el nombre del archivo antiguo a algo como sources.list.orig
.
testing.list
:Igual que stable.list
, excepto con testing
.
unstable.list
:Igual que stable.list
, excepto con unstable
y elimine las listas de seguridad.
experimental.list
:Igual que unstable.list
, excepto con experimental
.
También puede agregar un oldstable
en sources.lists.d
y preferences.d
(use una prioridad de 1), aunque este apodo tenderá a caducar y desaparecer antes del próximo ciclo estable. En casos como ese, puedes usar http://archive.debian.org/debian/
y "codificar" la versión de Debian (etch, lenny, etc.).
Para instalar la versión de prueba de un paquete, simplemente use aptitude install lib-foobar-package/testing
, o simplemente ingrese a la GUI de aptitude y seleccione la versión dentro de los detalles del paquete (presione enter en el paquete que está viendo).
Si recibe quejas sobre conflictos de paquetes, busque primero las soluciones. En la mayoría de los casos, el primero será "no instalar esta versión". Aprenda a utilizar las opciones de resolución de aceptación/rechazo por paquete. Por ejemplo, si está instalando foobar-package/testing y la primera solución es "no instalar foobar-package/testing", marque esa opción como rechazada y las otras soluciones nunca volverán a tomar ese camino. En casos como estos, probablemente tendrá que instalar algunos otros paquetes de prueba.
Si se está poniendo demasiado peludo (como si estuviera tratando de actualizar libc o el kernel o algún otro sistema central enorme), entonces puede rechazar esas rutas de actualización o simplemente retirarse de la actualización inicial por completo. Recuerda que solo actualizará las cosas a testing/unstable si lo permites.
EDITAR:se corrigieron algunos pines de prioridad y se actualizó la lista.
Solución 2:
En /etc/apt/apt.conf.d
agregue el siguiente archivo
99defaultrelease
:
APT::Default-Release "stable";
en /etc/apt/sources.list.d
- agregar direcciones URL para pruebas/fuentes inestables
stable.list
:
deb http://ftp.de.debian.org/debian/ stable main contrib non-free
deb-src http://ftp.de.debian.org/debian/ stable main contrib non-free
deb http://security.debian.org/ stable/updates main contrib non-free
testing.list
:
deb http://ftp.de.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.de.debian.org/debian/ testing main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free
correr
apt-get update
y luego instala lo que necesitas con
apt-get -t testing install something
Tenga mucho cuidado si instala cosas que tienen muchas dependencias. Preferiblemente no hagas esto en producción.
También puedes probar suerte en backports o repositorios similares.
Solución 3:
apt_preferences
Defina el nivel predeterminado al que el sistema debe 'actualizarse de forma segura' en el archivo /etc/apt/preferences:
hombre apt_preferences
Hay muchas cosas que puedes hacer con apt_preferences, pero en aras de la simplicidad...
Necesitaba instalar un solo paquete (autoMysqlBackup) que solo estaba disponible en Testing. La solución fue agregar lo siguiente a /etc/apt/preferences:
Explanation: Uninstall or do not install any Debian-originated
Explanation: package versions other than those in the stable distro
Package: *
Pin: release a=stable
Pin-Priority: 900
Package: *
Pin: release o=Debian
Pin-Priority: -10
Con varios repositorios agregados a /etc/apt/sources.list, aptitude ahora solo se actualizará a su versión especificada, aunque se enumeren los repositorios de versiones posteriores (en este caso, 'estable').
deb http://mirror.aarnet.edu.au/debian/ lenny main
deb-src http://mirror.aarnet.edu.au/debian/ lenny main
deb http://mirror.aarnet.edu.au/debian/ squeeze main
deb-src http://mirror.aarnet.edu.au/debian/ squeeze main
Entonces, para instalar ese paquete, todo lo que tiene que hacer es:
$ aptitude install -t testing packageName
Solución 4:
Por lo que vale, el consejo general que siempre he visto es "No mezcle estable con nada". La mayoría de los tutoriales de sistemas mixtos son para mezclar pruebas e inestables.
El razonamiento parece ser que si mezcla estable con testing, los paquetes muy básicos (como libc6) requerirán actualizaciones (para instalar el software de testing), y una vez que estos paquetes básicos pasen a testing, todo el sistema puede derivar de esa manera.
Aquí hay dos alternativas:
- Usar versiones anteriores.
- Instale una línea fuente de prueba e intente compilar la última versión que desee a partir de la fuente.
Solución 5:
La documentación de Debian es extensa sobre el tema y recomiendo encarecidamente profundizar, ya que realmente revelará la belleza del sistema Debian.
Eche un vistazo a Cómo mantener un sistema mixto, le explicará todo lo que necesita saber.