Shiba87 38610 Denunciar post Publicado Noviembre 4, 2012 En ocasiones ocurre que, por una razón u otra nos vemos utilizando ramas diferentes para el mismo Debian o repositorios externos para ciertos paquetes y no es nada fácil a la hora de mantenerlos actualizados o mantener a raya los problemas de dependencias.Para estos casos existe lo que se conoce como AptPreferences o también Apt-pinning.Mediante un proceso de configuración bastante sencillo podemos utilizar, instalar y mantener actualizados paquetes de diferentes repositorios sin preocuparnos por dependencias ni por tener que actualizar cada paquete manualmente.El archivo donde configuraremos el Pinning es /etc/apt/preferences, que en condiciones normales lo encontraremos vacío.La estructura para definir los paquetes que queremos instalar de cada rama es siempre la misma: Package:Pin:Pin-Priority: Package: = Aquí indicaremos la lista de paquetes a instalar.Ejemplos: Package: =iceweasel* Con esto indicamos que el paquete que queremos instalar es iceweasel. Notar que he añadido un comodín al final *, de esta manera indico que cualquier paquete cuyo nombre empiece por "iceweasel" debe ser considerado, de esta manera no sólo será considerado iceweasel, sino iceweasel-l10n-es-es, iceweasel-l10n-de ... Package: = * En esta ocasión he usado únicamente el comodín *, por lo que le estaría pidiendo cualquier paquete de repositorios (Esto viene bien si lo combinamos luego con la prioridad)Pin: = Aquí indicamos la rama, versión o repositorio desde el que queremos instalar los paquetesEjemplos: Pin: release a= testing con release a= podemos indicar la rama de los repositorios que queremos utilizar Pin: release n= wheezy con release n= podemos indicar el nombre de la versión de Debian que queremos utilizar Pin: version = X.Y* Con esto estamos indicando que queremos una versión concreta X.Y del paquete/s indicado/s Pin: version = 2.8* Pin: version = 10.2* Pin-Priority: aquí indicamos la prioridad que tendrán esos paquetes que hemos indicado a la hora de actualizarlosLa prioridad se define de la siguiente manera Prioridad > 1000: Se fuerza la instalación de paquetes, aunque estén en versiones inferiores a las de otros repositorios o a las ya instaladas. 990 << Prioridad <= 1000: Se instalará el paquete salvo que la versión ya instalada sea más reciente, aunque dicho paquete no provenga de la rama principal. 500 << Prioridad <= 990: Se instalará el paquete siempre que la versión instalada sea más antigua y no exista una versión más reciente en la rama principal. 100 << Prioridad <= 550: Se instalará el paquete siempre que la versión instalada sea más antigua y no exista una versión más reciente en cualquiera de los repositorios incluidos en el sources.list 0 << Prioridad <= 100: Ese paquete sólo se instala si no hay ninguna versión ya instalada del mismo Prioridad << 0: Ese paquete no será instalado bajo ninguna circunstancia Los rangos son bastante amplios para que, en caso de colocar distintos repositorios dentro del mismo rango, podamos establecer mayor o menor prioridad entre ellos. En estos casos, el número más alto indicará mayor prioridad y viceversa.Ejemplos: Pin-Priority: 900 Es inferior a 990 y superior a 500, por lo que estamos en el caso 2º, Se instalará el paquete salvo que la versión ya instalada sea más reciente. Pin-Priority: 700 Volvemos a estar en el caso 2º, pero el número es inferior a 900, por lo que Se instalará el paquete salvo que la versión ya instalada sea más reciente, pero el repo marcado como 900 tendrá mayor prioridad. Pin-Priority: -10 La prioridad es negativa, por lo que estamos evitando la instalación/actualización de este paquete, pase lo que pase. Nota recordemos que estamos indicando una rama/repositorio concreto con el Pin:, por lo que la prioridad afecta sólo al repositorio con el que estamos trabajando. Si el paquete "bloqueado" existe en otro repositorio, no estará bloqueado, sólo en este.Apt.confEste archivo no suele ser necesario modificarlo, pero en algunos casos sí es necesario/recomendable.El apt-conf nos permite, entre otras cosas definir cuál será la rama principal de nuestros repositorios y aunque normalmente estará en blanco, su apariencia será más o menos así: APT::Default-Release “testing”;APT::Cache-Limit 30000000;Apt::Get::Purge;APT::Clean-Installed;APT::Get::Fix-Broken;APT::Get::Fix-Missing;APT::Get::Show-Upgraded “true”; Como podemos ver, con el APT::Default-Release definiremos la rama pricipal de nuestro sistemaCon el APT::Cache-Limit podemos limitar el caché que vamos a utilizar en el proceso de actualización de lista de paquetes. No debería ser necesario tocar este valor, pero en el caso de que, por haber añadido muchos repositorios nos encontremos con un error de "cache insuficiente", sólo tenemos que aumentar un poco este valor.Puntualización La explicación se ha centrado en Debian por el uso que hace esta distribución de las diferentes ramas de desarrollo y el juego que da la combinación de las mismas, pero como han de suponer, el Apt_Pinning también puede ser configurado en todas las distribuciones basadas en Debian, como Linux Mint, LMDE o Trisquel.En el caso de las derivadas habrá que tener en cuanta cada caso y cómo administran sus repositorios, versiones, ramas y demás, pero básicamente hablaríamos del mismo procedimiento para cualquier derivada de Debian. 14 txemens, dark_dago, artiza y 11 otros ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios
southside54 499 Denunciar post Publicado Enero 26, 2013 Muy bueno, pero tengo una duda: por ejemplo para iceweasel, que lo acabo de instalar por este método, qué diferencia hay con "apt-get -t experimental"?? 5 Rafa, portaro, Shiba87 y 2 otros ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios
Shiba87 38610 Denunciar post Publicado Enero 28, 2013 El /etc/apt/preferences, como su nombre indica, te permite establecer tus preferencias a la hora de descargar paquetes . Todo depende de la configuración que elijas, como dice arriba, según el valor asignado puedes ir desde no instalar nunca un paquete hasta forzar su instalación a toda costa, que el pquete provenga de un repositorio y no de otro, etc. En el caso concreto de Iceweasel, Aunque el equipo de Mozilla Debian forkea todas las versiones de Firefox, a las ramas más estables unicamente suelen llegar las versiones con soporte extendido (ESR) y no las intermedias. Éstas aparecen en la rama "experimental". El sistema por defecto utilizará siempre las ramas más estables a la hora de instalar paquetes, por lo que al hacer un "aptitude install iceweasel", aunque tengas la rama experimental en repositorios, el paquete que se va a instalar es el de alguna de las ramas inferiores, stable, Testing o la que estés usando. Para instalar paquetes de otras ramas se puede recurrir a la opción -t, en este caso "aptitude install -t experimental iceweasel", con eso indicaríamos al sistema la rama/repositorio concreta de la que queremos que instale el paquete. Para instalar un paquete individual o sólo una vez, esta opción es sencilla, pero sabemos que iceweasel se va a estar actualizando al menos 1 vez cada 6 semanas, por lo que en lugar de instalarlo especificando manualmente la ramas, establecemos en las preferencias que todo lo relacionado con iceweasel lo instale siempre desde experimental, sin tener en cuenta las versiones presentes en otras ramas, porque en este caso concreto lo que buscamos es centrarnos en la versión más alta, no en las versiones ESR que son las que el sistema instalaría/actualizaría por defecto. Por decirlo de una manera más sencilla, es una forma de automatizar el proceso. 6 Rafa, pacoeloyo, limón y 3 otros ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios
southside54 499 Denunciar post Publicado Mayo 23, 2013 (editado) Una duda que tengo, más que nada para curarme en salud, esta sería una buen configuración para añadir unstable al sources.list? Package: *Pin: release a=unstablePin-Priority: 50 Edito: bueno, de paso también pregunto, si es aconsejable añadir unstable, o si es mejor descargar los deb que necesite desde debian, por si puede traer problemas a la larga Gracias de antemano, un saludo Editado Mayo 23, 2013 por southside54 4 pacoeloyo, limón, portaro y 1 otro ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios
Shiba87 38610 Denunciar post Publicado Mayo 23, 2013 Depende del efecto que quieras conseguir. Las prioridades entre 100 y 0 indican que el paquete NO será instalado si ya existe otra versión del mismo instalada desde otro repositorio/rama. Sería válido para paquetes sin instalar y una única vez. El inconveniente que puede haber es que, como no hay ningún paquete indicado (*) afectará a todos por igual. Si es para algo concreto, que deba mantenerse actualizado desde testing sería más productivo indicar los paquetes más relevantes de esa aplicación y ponerle una prioridad entre 990 y 100 y, al mismo tiempo, poner una prioridad ligeramente inferior para todos los demás paquetes de la rama principal 5 artiza, portaro, southside54 y 2 otros ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios
Fransis 3451 Denunciar post Publicado Junio 2, 2013 entiendo bien la idea, y yo me he montando lo mio en mi cabeza, pero no se como lo tendria que hacer. por lo que leo, esto me serviria para mantener el kernel actualizado? osea, con testing andamos 3.0.2. podria configurarlo para que me actualizase los paquetes de kernel_image....etc de la rama unstable por ejemplo? salu2 y gracias PD: acabo de instalar debian 7 con kde, y estoy supercontento, en otro portatil tengo problemas para que me coja la NAT broadcom 5 kakahuete, southside54, limón y 2 otros ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios
Shiba87 38610 Denunciar post Publicado Junio 2, 2013 En testing está el 3.2, camino de entrar el 3.9 desde unstable. el 3.0 tiene ya su tiempo :lol: Y sí, podrías fijar que se actualizara cualquier paquete desde la rama que quieras 5 kakahuete, limón, pacoeloyo y 2 otros ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios
Butz_san 3379 Denunciar post Publicado Junio 2, 2013 Usa experimental o sid (no te va a doler xDDD) , en experimental está KDE 4.10.002 5 pacoeloyo, southside54, kakahuete y 2 otros ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios
Fransis 3451 Denunciar post Publicado Junio 3, 2013 me interesa actualizar el kernel a la version mas reciente, y por que no... en megaia tengo kde 4.10 y me va de miedo igual que la 4.8 que trae debian. por lo que tambien me gustaria actualizar KDE. he utilizado las siguientes lineas dentro de "apt/preferences" con resultado negativo: ackage:=kernel* Pin:=release a=experimental Pin-Priority:900 Package:=KDE* Pin:=release a=experimental Pin-Priority:900 cuando hago "aptitude update" me dicen lo siguiente: W: No se entiende el pin tipo =release W: No se entiende el pin tipo =release entiendo que la lineas "Pin:=release a=experimental" no es experimental lo que tengo que poner. ayuda porfavor? y tambien decirme si es una locura o no lo que estoy haciendo, no me quiero cargar debian. 4 pacoeloyo, limón, portaro y 1 otro ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios
Shiba87 38610 Denunciar post Publicado Junio 3, 2013 En "Package" va la lista de paquetes. Una entrada para cada paquete individual con prioridades iguales es una locura (Aparte de tener un "=" de más) Los paquetes kernel* y KDE* no existen en repositorios, así que no podrá encontrarlos. Si apuntas a la rama experimental en /etc/apt/preferences, ten en cuenta de meterlos también en tu sources.list Package: linux-image-3* kde* libkde* phonon* libkio* libkpart* libkpty* Pin: release a=experimental Pin-Priority: 900 Así con todos los paquetes involucrados. Locura, dependerá de lo que hagas a partir de aquí 6 southside54, Fransis, limón y 3 otros ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios
Fransis 3451 Denunciar post Publicado Junio 3, 2013 En "Package" va la lista de paquetes. Una entrada para cada paquete individual con prioridades iguales es una locura (Aparte de tener un "=" de más) Los paquetes kernel* y KDE* no existen en repositorios, así que no podrá encontrarlos. Si apuntas a la rama experimental en /etc/apt/preferences, ten en cuenta de meterlos también en tu sources.list Package: linux-image-3* kde* libkde* phonon* libkio* libkpart* libkpty* Pin: release a=experimental Pin-Priority: 900 Así con todos los paquetes involucrados. Locura, dependerá de lo que hagas a partir de aquí en el source.list tengo que meter tambien la rama experimental? y cuando dices que lo de la locura dependera de lo que haga apartir de ahora....??? me da un poco de miedo, yo solo quiero tener sobretodo el kernel actualizado, ya que tengo un dichoso portatil sandybrige con tecnologia optimus de nvidia...y la tengo que tener desactivada para que no consuma...y siempre me gusta tener el kernel lo mas actualizado posible. antes compilaba, gracias a tu magnifico tutorial. pero siempre me dejo algo fuera, o tengo algun error nuevo y desconocido que solo a mi me pasa...jajaja pero si me dices que es una locura, prefiero volver a intentar compilar el kernel por mi mismo. un saludo y gracias 4 pacoeloyo, portaro, southside54 y 1 otro ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios
Shiba87 38610 Denunciar post Publicado Junio 3, 2013 (editado) Hay 50000 paquetes y 5 ramas distintas, será locura o no en función de las combinaciones que pretendas a hacer, que a priori no las sé, por eso no puedo decir si sí o si no. Para instalar el último linux estable, ahora mismo habría que pillarlo desde unstable: echo 'deb http://ftp.fr.debian.org/debian/ unstable main contrib non-free' >> /etc/apt/sources.list.d/unstable.list aptitude update aptitude install -t unstable linux-image-3.9-1-amd64 o aptitude install linux-image-3.9-1-686-pae Que debería entrar en nada a testing, pero mientras tanto el apt-pinning: Package: * Pin: release a=testing Pin-Priority: 750 Package: linux-*-3.9* Pin: release a=unstable Pin-Priority: 900 Editado Junio 4, 2013 por Shiba87 ups 8 kakahuete, phobosdbm, Fransis y 5 otros ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios
southside54 499 Denunciar post Publicado Agosto 6, 2013 (editado) Buenas, de nuevo por este hilo xD Ahora mismo estoy en debian estable (por lo menos hasta que termine de entrar gnome 3.8 en testing), y si he entendido bien lo de las prioridades, con esta configuración obtendría actualizaciones automáticas desde wheezy-backports? Package: * Pin: release n=wheezy-backports Pin-Priority: 995 También tengo la duda si debería poner "Pin: release n=wheezy-backports" o "Pin: release a=wheezy-backports" Un saludo Editado Agosto 6, 2013 por southside54 2 portaro y kakahuete ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios
Shiba87 38610 Denunciar post Publicado Agosto 6, 2013 Pues..... he tenido que mirarlo Sería con "a" Package: * Pin: release a=wheezy-backports Pin-Priority: 995 3 portaro, kakahuete y southside54 ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios
Fransis 3451 Denunciar post Publicado Julio 31, 2014 Bueno, ultimamente estoy probando diferentes distros debian, desde la testing, solydX, etc... buscando la manera de correr cinnamon correctamente al igual que linux mint, todo esto es xq LMDE esta algo estancado y con un futuro incierto, y mint no me gusta al estar basado en ubuntu, debatiendo si la proxima version la basaran en debian estable o seguiran con testing. os invito a todos a pasar por el foro de LMDE y votar. yo he votado por la rama testing, pero todo apunta a que pasaran a estable y basaran LMDE en una distro "best stable"!!! xD bueno, me lio, el caso es que ultimamente estoy jugando mucho con los repositorios, con apt pinning, buscando mi combinacion perfecta para instalar cinnamon sin empezar a romper el sistema, y como siempre acabo por estos foros. queria compartir tambien paginas que me han servido de guia y referencia, para entender un poco mas apt-pinning y sus preferencias. 1º: en primer lugar, un tema que creo que todos deberiamos de leer, antes de ponernos a mezclar repositorios http://www.esdebian.org/wiki/sistemas-mixtos 2ºestructura y explicacion de como funcionan los repositorios y las ramas de debian: http://www.esdebian.org/wiki/introduccion-repositorios-debian no es gran cosa, pero los proximas dias si tengo que volver a instalar y empezar de nuevo, ya tengo toda la informacion aqui, y no tengo que buscar por mas sitios. un saludo PD: actualmente tengo debian testing, con repos SID, y cinnamon instalado y funcionando...aun no me lo creo...a ver cuanto tiempo tarda en romperse...xD 5 Rohlling, granjero, portaro y 2 otros ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios
Fransis 3451 Denunciar post Publicado Julio 31, 2014 por cierto, como veis esto: mi source.list #TESTING deb http://ftp.es.debian.org/debian/ testing main contrib non-free deb-src http://ftp.es.debian.org/debian/ testing main contrib non-free ## Actualizaciones de seguridad deb http://security.debian.org/ testing/updates main contrib non-free deb-src http://security.debian.org/ testing/updates main contrib non-free #SID deb http://ftp.es.debian.org/debian/ sid main contrib non-free deb-src http://ftp.es.debian.org/debian/ sid main contrib non-free mis preferencias de apt-pinning Package: * Pin: release a=testing Pin-Priority: 850 Package: * Pin: release n=sid Pin-Priority: 800 obviamente como podeis ver, o es mi intencion. quiero que prevalezca testing, y no quiero pasar mas alla del testing. sid solo lo he usado para instalar cinnamon y todo lo que este tuvo que actualizar para instalar cinnamon. este debian con esta configuracion lo acabo de poner en el ordenador del trabajo, y tambien en casa. ni que decir, que en el trabjao lo que necesito es estabilidad. de momento cinnamon marcha correcto, quiero seguir recibiendo actualizaciones de testing y no de sid que me puedan petar. es correcto? recomendais alguna otra configuracion? 2 Rohlling y portaro ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios
Shiba87 38610 Denunciar post Publicado Julio 31, 2014 A mí los mirrors españoles me dan grima :lol: De resto... sea como sea sigue siendo peliagudo, así que será lo que tenga que ser 3 Rohlling, portaro y Fransis ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios
Fransis 3451 Denunciar post Publicado Julio 31, 2014 A mí los mirrors españoles me dan grima :lol: De resto... sea como sea sigue siendo peliagudo, así que será lo que tenga que ser Ya, por eso tengo mint tal cual, para trabajar. Pero es que estoy tan acostumbrado a cinnamon que no se usar otro entorno. Y hay ciertos programas del trabajo que necesito que solo están para debían y he probado diferente distros pero ninguna con cinmamon e intentarlo instalar es una pesadilla...Tendré que desistir y usar Mint original 2 portaro y Rohlling ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios
Shiba87 38610 Denunciar post Publicado Julio 31, 2014 El mayor problema es que últimamente cinnamon está sufriendo muchos cambios y al ritmo que se mueve Debian les es imposible seguirlos (Si cinnarch no pudo...), no hacen más que entrar y salir continuamente versiones a sid, no llegan a bajar a Testing En el momento que se estabilice será más sencillo, pero mientras... toca ir a la aventura como un pingüino valiente 3 Rohlling, portaro y pacoeloyo ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios
uzanto 1961 Denunciar post Publicado Septiembre 30, 2016 (editado) No me aclaro con el Apt-Pinning, a ver yo tengo estos repositorios instalados: deb http://ftp.es.debian.org/debian/ testing contrib non-free main deb http://security.debian.org/debian-security/ testing/updates non-free contrib main # Numix deb http://ppa.launchpad.net/numix/ppa/ubuntu/ yakkety main # Kali linux deb http://http.kali.org/kali/ kali-rolling main contrib non-free El caso es que los de Kali solo los quiero para ciertos programas y que use las veriones de testing por defecto también me gustaría tener las últimas versiones de firefox y no la ESR, he dejado el /etc/apt/apt.conf así: APT::Default-Release testing; Y el archivo /etc/apt/preferences de esta forma: Package:firefox* Pin:release a=unstable Pin-Priority:990 ¿Por qué no funciona? EDITADO No se como he llegado a esto, pero ahora tengo un bonito Kali Linux/Debian aunque no me falló nada, solo actualizó unas cuantas cosas a Kali... Editado Septiembre 30, 2016 por mijailbellum 3 portaro, Rohlling y pacoeloyo ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios
Shiba87 38610 Denunciar post Publicado Octubre 1, 2016 (editado) Tienes que tener en cuenta que la rama/repositorio esté especificado, de lo contrario no lo va a tener en cuenta.En tu sources.list no hay nada que apunte a unstable, no tienes la lista de paquetes de esa rama y, por tanto, no lo tiene en cuenta y pasa a la siguiente opción, que es Testing. # Testingdeb http://ftp.es.debian.org/debian/ testing contrib non-free main # Unstabledeb http://ftp.es.debian.org/debian/ unstable contrib non-free maindeb http://security.debian.org/debian-security/ testing/updates non-free contrib main# Numixdeb http://ppa.launchpad.net/numix/ppa/ubuntu/ yakkety main# Kali linuxdeb http://http.kali.org/kali/ kali-rolling main contrib non-free Y las prioridades bien claras Package:=*Pin: release a=testingPin-Priority:700 Package:=firefox*Pin: release a=unstablePin-Priority:900 Con Kali no he entendido si hay que instalarlos preferentemente o no, así que me curaré en salud Package:=*Pin: release a=kali-rollingPin-Priority:500 Así tendrías testing por defecto, para cualquier paquete, unstable con mayor prioridad sólo para paquetes de firefox y Kali con la mínima prioridad, para paquetes de los que no existan versiones nuevas en los demás repositorios Editado Octubre 1, 2016 por Shiba87 dedazo 3 uzanto, Rohlling y pacoeloyo ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios
uzanto 1961 Denunciar post Publicado Octubre 1, 2016 Era exactamente eso lo que quería @@Shiba87, me di cuenta después de lo de añadir unstable a los repositorios, pero aun así no iba, no estaba entendiendo bien el funcionamiento de las prioridades, muchas gracias. PD: Tuve que quitar el primer signo = antes de release, me parece que se te coló. 3 Rohlling, pacoeloyo y Shiba87 ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios
Shiba87 38610 Denunciar post Publicado Octubre 1, 2016 Sí. Es que si no meto el dedazo no soy yo 2 Rohlling y uzanto ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios
uzanto 1961 Denunciar post Publicado Octubre 18, 2016 Por cierto con la liada de Kali, ahora mi sistema se cree que es Kali Roling y no veo la forma de decirle que es Debian Testing, he modificado los archivos /etc/issue /etc/debian_version y /etc/lsb-release especificando esto, pero en los detalles de la configuración me sigue diciendo que estoy en kali... ¿Quién determina la distribución del sistema? 2 pacoeloyo y Rohlling ha reaccionado a esto Citar Compartir este post Enlace al post Compartir en otros sitios