# ¿filtro por consola para no emerger ciertos paquetes?

## papu

usando por ejemplo:

 *Quote:*   

> sudo emerge -av -j4 $(eix --only-names media-plugins/gst-plugins-g*)
> 
> These are the packages that would be merged, in order:
> 
> Calculating dependencies                                 ... done!
> ...

 

¿alguien sabria como aprovechando sudo emerge -av -j4 $(eix --only-names media-plugins/gst-plugins) discriminar por ejemplo dos paquetes del resto?

saludos, ad1

----------

## gerezm

No se lo que quieres hacer pero si te refieres filtrar búsquedas puedes usar Patrones Regulares

Algunos ejemplos: 

emerge  --search    '%@media-plugins/gst-plugins-.*'

emerge  --search    '%@media-plugins/gst-plugins-(vorbis|ogg|oss|gnomefs|libpng|jpeg)'

en "man emerge" explica un poco como debe utilizarse y acerca de las Expresiones hay muchos ejemplos/tutoriales por ahi. Son muy utiles !

----------

## gringo

 *Quote:*   

> ¿alguie sabe como en una sola instrucción, discriminar estos dos paquetes para evitar emergerlos? 

 

o bien los añades al package.mask o le pasas --exclude a emerge.

 *man emerge wrote:*   

> --exclude ATOMS
> 
>     A space separated list of package names or slot atoms. Emerge won't install any ebuild or binary package that matches any of the given package atoms.
> 
> 

 

saluetes

----------

## papu

 *gerezm wrote:*   

> No se lo que quieres hacer pero si te refieres filtrar búsquedas puedes usar Patrones Regulares
> 
> Algunos ejemplos: 
> 
> emerge  --search    '%@media-plugins/gst-plugins-.*'
> ...

 

si lo que quieria decir es ponerlo todo en una sola línea , para intergrarlo en mi instrucción que he puesto como ejemplo, sin duda habrá muchas formas de hacerlo y más en gentoo, estoy practicando hasta encontrar algunos filtros de busqueda de este estilo para poder usarlos de forma cotidiana y por eso pregunto pq la gente siempre formas nuevas y originales de hacer las cosas  :Smile:  y de esta forma me facilita mucho ir al punto en concreto y aprenderlo.

saludos, ad1

----------

## papu

 *gringo wrote:*   

>  *Quote:*   ¿alguie sabe como en una sola instrucción, discriminar estos dos paquetes para evitar emergerlos?  
> 
> o bien los añades al package.mask o le pasas --exclude a emerge.
> 
>  *man emerge wrote:*   --exclude ATOMS
> ...

 

si parece eso serviria pero segun pone ahí se puede poner una lista separados por espacios, yo he puesto me excluya dos  pero a mi solo me filtra el primero, he buscado más información sobre esa opción pero no encontrado nada más que lo que pone en el man emerge que es lo mismo que has escrito tu.

 *Quote:*   

> sudo emerge -av -j4 --exclude gst-plugins-gio gst-plugins-gconf  $(eix --only-names media-plugins/gst-plugins-g*)
> 
> These are the packages that would be merged, in order:
> 
> Calculating dependencies                                 ... done!
> ...

 

parece ser que he de poner --exclude por cada paquete a excluir, me parece extraño ya que además de no ser lo que pone en el man no podria pasarle datos de salida de otra insturcción. 

ej:   siguiendo con el mismo caso, pues para filtrar los paquetes que ya tengo instalados

sudo emerge -av -j4  $(eix --only-names media-plugins/gst-plugins-g*) --exclude $(eix -I --only-names media-plugins/gst-plugins-g*)

¿porque --exclude no detecta una lista de atoms como que dice en el man?

saludos ad1

----------

## gringo

 *Quote:*   

> ¿porque --exclude no detecta una lista de atoms como que dice en el man? 

 

ni idea, si no funciona como dice la man abre un bug

saluetes

----------

## Stolz

Puedes indicar --exclude más de una vez

Por ejemplo:

emerge -u world --exclude=sys-kernel/gentoo-sources --exclude=x11-drivers/nvidia-drivers

----------

## papu

 *Stolz wrote:*   

> Puedes indicar --exclude más de una vez
> 
> Por ejemplo:
> 
> emerge -u world --exclude=sys-kernel/gentoo-sources --exclude=x11-drivers/nvidia-drivers

 

si ya vi eso , el tema es que el man dice otra cosa y si he de poner cada vez --exclude no puedo usar esa opción para automatizar la exclusión de multiples paquetes como ha explico aquí

 *papu wrote:*   

> parece ser que he de poner --exclude por cada paquete a excluir, me parece extraño ya que además de no ser lo que pone en el man no podria pasarle datos de salida de otra insturcción.
> 
> 

 

EJEMPLO:

asi instalaría todo incluso los que ya tengo,

```
sudo emerge -av -j4 $(eix --only-names media-plugins/gst-plugins)
```

con esta otra me tendría que filtrar todos los ya instalados y solo instalar los que no tengo,

```
sudo emerge -av -j4 $(eix --only-names media-plugins/gst-plugins) --exclude $(eix -I --only-names media-plugins/gst-plugins)
```

 pero debido a que --exclude no acepta atoms de la forma que comenta el MAN, solo me filtra el primero , entonces sera algun bug¿no?, yo publicaria en el post de bugs pero con mi espantoso ingles escrito no se si me entendrían  :Very Happy: 

saludos, ad1

----------

## Stolz

Lo he probado y si usas --exclude="paquete paquete" sí funciona.

En tu caso

```
emerge -av -j4 `eix --only-names media-plugins/gst-plugins` --exclude="`eix -I --only-names media-plugins/gst-plugins`"
```

De todas formas el comando emerge ya incluye una opción específica para ello

 *Quote:*   

> --noreplace (-n)
> 
>               Skips the packages specified on the command-line that have already been installed. 

 

Con lo que esto debería de servir

```
emerge -anv -j4 `eix --only-names media-plugins/gst-plugins`
```

Saludozzzzzz

----------

## papu

 *Stolz wrote:*   

> Lo he probado y si usas --exclude="paquete paquete" sí funciona.
> 
> En tu caso
> 
> ```
> ...

 

aja bien ahora si va, lo que no entiendo es porque con emerge no hace falta poner "" y en cambio con --exclude si.

si --noreplace ya hace eso he utlilizado --exclude para mostrar graficamente mi problematica, --noreplace  crei detectaba sólo los paquetes del world pero veo que no.

`` hace la misma funcion que $() ¿no?

saludos, ad1

----------

