# Novedades en Portage 2.2

## Stolz

Pequeño resumen de algunas de las novedades incluidas en la nueva versión de Portage:

Colecciones de programas (package sets):

Las colecciones agrupan varios programas bajo un mismo nombre. Existirán varias colecciones predefinidas pero además el usuario podrá crear las suyas propias. Para hacer referencia a ellas solo hay que anteponer una "@" al nombre de la colección. De momento el uso de colecciones estará soportado solo como parámetro del comando 'emerge' pero en el futuro también serán aceptadas en los archivos de configuración. Como ejemplo que a todos nos suena , existen las colecciones "@system" y "@world", que aunque su significado es el casi el mismo  respecto a versiones anteriores de Portage, su comportamiento a cambiado en caso de ser usadas sin las opciones --update o --noreplace. Ahora "world" ya no incluye a "system". También existen las colecciones "all-installed" que incluye todos los programas instalados, "security" que incluye todos los programas con actualizaciones de seguridad pendientes y "preserved-rebuild" que incluye los programas a los que les hace falta alguna librería (vamos, los que necesitan un revdep-rebuild). Como excepción, las colecciones "@system" y "@world" podrán seguir siendo accedidas como hasta ahora, sin incluir la "@".

Filtros de licencias:

Es posible indicar qué licencias estamos dispuestos a aceptar o no, de forma global, sin tener que estar mirando a mano los programas que queremos instalar para ver si tienen un tipo de licencia que no queremos tener en el sistema.

Cálculo de dependencias de variables USE:

Ahora se calculan las dependencias de las variables USE antes de instalar, evitando así los mensajes de tipo "El programa 'A' necesita que el programa 'B' haya sido compilado con la USE='z' para funcionar, por favor, recompila 'B'".

Continuar a pesar de los fallos (--keep-going):

Si invocamos el comando 'emerge' con el parámetro --keep-going, en caso de que se produzca un error de compilación Portage continuará con la instalación/compilación del resto de programas pendientes siempre que no tengan como dependencia al paquete que ha fallado.

Instalación en paralelo:

Con el parámetro '--jobs N' de emerge podemos indicar el número de paquetes (N) que se compilarán simultáneamente. Si lo acompañamos de la opción '--load-average L', no se compilarán más paquetes en paralelo si la carga media del sistema supera L.

Instalar paquetes a partir de alguno de los ficheros que instalaron:

Por ejemplo, ejecutando 'emerge /ruta/a/un/fichero' se reinstalará el paquete que creó dicho fichero. Un uso útil podría ser 'emerge /lib/modules' para reinstalar todos los módulos del kernel instalados por paquetes externos.

Si conocéis más novedades ya sabéis, participar.

+info:

http://dev.gentoo.org/~genone/docs/portage-2.2-upgrade-doc

https://forums.gentoo.org/viewtopic-t-696939.html

http://sources.gentoo.org/viewcvs.py/portage/main/trunk/NEWS?view=markup

http://sources.gentoo.org/viewcvs.py/portage/main/trunk/RELEASE-NOTES?view=markup

----------

## i92guboj

Muchas gracias por el post. Seguro que a más de uno le resulta útil esta información.

Yo aún no he tenido el tiempo para investigar todo esto aunque conocía algunas de las novedades de verlas por aquí en los foros. Muchas de ellas van a ser realmente útiles.

----------

## chaim

Yo de las más útiles que veo es la de la licencia, aunque a mi no es que me importe mucho, y las compilaciones en paralelo también  :Smile: 

Muy buen post

----------

## Coghan

Otro de los cambios que he visto es la desaparición del comando rc-update, ahora todo se realiza con el comando rc-config.

 Mas información en man rc-config

----------

## Coghan

 *Stolz wrote:*   

> Ahora "world" ya no incluye a "system". 

 

La primera vez que actualizas @system este se agrega a @world, se queda en /var/lib/portage/world_sets.

----------

## achaw

Portage, sos cada dia mas grande, aunque te falta adelgazar unos kilitos. Muy buenas features --keep-going y --jobs me han cambiado la vida, las estaba esperando.

 *Coghan wrote:*   

> Otro de los cambios que he visto es la desaparición del comando rc-update, ahora todo se realiza con el comando rc-config.
> 
>  Mas información en man rc-config

 

Yo que recuerde hace rato que tengo tanto rc-config y rc-update coexistiendo, como sigue esto?

Saludos

----------

## ColdWind

 *Stolz wrote:*   

> 
> 
> Cálculo de dependencias de variables USE:
> 
> Ahora se calculan las dependencias de las variables USE antes de instalar, evitando así los mensajes de tipo "El programa 'A' necesita que el programa 'B' haya sido compilado con la USE='z' para funcionar, por favor, recompila 'B'".
> ...

 

Portage 2.2_pre* tiene esa capacidad, pero ningún ebuild la usa todavía. Todavía falta tiempo para que el cambio se empiece a notar. Lo digo para que nadie se extrañe al ver que el nuevo comportamiento no aparece por ninguna parte  :Wink: 

----------

