# [HOWTO] Utilidades gentoo (colaboración)

## psm1984

Después de leer el post Cómo saber a qué ebuild pertenece un archivo he pensado en crear este post para tener una colección de todas las utilidades que hay en gentoo para estos usos. Así que todas las que conozcais, ir posteandolas  :Wink: .

+Listar todos los paquetes instalados en el sistema

-equery app-portage/gentoolkit

```

equery list

...

[I--] [  ] x11-wm/metacity-2.10.0 (0)

[I--] [  ] x11-wm/fvwm-2.5.12 (0)

*Y por categorias:

equery list  x11-themes/

*O por nombre:

equery list  nuvola

```

-qpkg anticuado app-portage/gentoolkit

```

qpkg -I

*Con un patrón:

qpkg -I evolu

gnome-extra/evolution-data-server *

gnome-extra/evolution-webcal *

mail-client/evolution *

```

+Conocer que paquete instaló un archivo determinado

-equery app-portage/gentoolkit

```

equery b emerge

[ Searching for file(s) emerge in *... ]

sys-apps/portage-2.0.51.19 (/usr/bin/emerge -> ../lib/portage/bin/emerge)

sys-apps/portage-2.0.51.19 (/usr/lib/portage/bin/emerge)

```

-etcat anticuado  app-portage/gentoolkit

```

etcat -b /usr/bin/emerge

Searching for /usr/bin/emerge in * ...

app-portage/emerge-delta-webrsync-3.3

sys-apps/portage-2.0.51.19

```

-qfile app-portage/portage-utils

```

qfile emerge

sys-apps/portage (/usr/bin/emerge)

```

-qpkg anticuado app-portage/gentoolkit

```

qpkg -f /usr/bin/emerge

sys-apps/portage *

```

+Ficheros de un paquete

-equery app-portage/gentoolkit

```

equery f portage

```

-etcat anticuado app-portage/gentoolkit

```

etcat -f portage

```

-qlist app-portage/portage-utils

```

qlist portage

```

+Comprobar el estado de un paquete

-equery app-portage/gentoolkit

```

equery k grep

[ Checking sys-apps/grep-2.5.1-r8 ]

 * 25 out of 25 files good

```

-qcheck app-portage/portage-utils

```

qcheck grep

Checking sys-apps/grep-2.5.1-r8 ...

  * 25 out of 25 files are good

qcheck x11-base

Checking x11-base/opengl-update-3.0.0 ...

  * 3 out of 3 files are good

Checking x11-base/xorg-server-0.99.1-r6 ...

  * 217 out of 217 files are good

```

+Busqueda rápida de ebuilds

-eix app-portage/eix

```

eix portage #Búsqueda por el nombre

eix -S portage #Búsqueda por el nombre y la descripción

*La velocidad la consigue mediante el uso de una BD, para actualizar se usa update-eix, y tarda menos de 10 seg.

```

-esearch anticuado app-portage/esearch

```

esearch paquete #Buscar por nombre 

esearch -S paquete #Buscar en la descripción 

eupdatedb #Actualizar la BBDD de esearch

```

+Variables use de un programa 

-equery app-portage/gentoolkit

```

equery uses mplayer

```

+Qué programas depende de una variable use 

-equery app-portage/gentoolkit

```

equery hasuse X

```

-quse app-portage/portage-utils

```

quse X

```

+Tiempo que tardó en instalarse un paquete

-genlop app-portage/genlop

```

genlop -t gnome

 * gnome-base/gnome

     Wed Feb  9 10:51:16 2005 >>> gnome-base/gnome-2.10_beta1

       merge time: 8 seconds.

     Wed Feb  9 11:09:51 2005 >>> gnome-base/gnome-2.10_beta1

       merge time: 8 seconds.

     Thu Mar 10 22:15:08 2005 >>> gnome-base/gnome-2.10_pre0

       merge time: 14 seconds.

     Thu Jun  9 15:50:21 2005 >>> gnome-base/gnome-2.10

       merge time: 12 seconds.

```

+Tiempo que lleva la compilación actual

-genlop app-portage/genlop

```

genlop -c

 * net-libs/gecko-sdk-1.7.5

       current merge time: 39 minutes and 7 seconds.

       ETA: unknown.

 * dev-lang/perl-5.8.6-r5

       current merge time: 17 minutes and 16 seconds.

       ETA: 6 days, 6 hours, 15 minutes and 29 seconds.

```

+Estimar el tiempo de compilación

-genlop app-portage/genlop

```

* Tiempo en actualizar todo el sistema:

emerge -pe world | genlop -p

* Tiempo en recompilar kde:

emerge -p `qpkg -I kde-base -nc | xargs` | genlop -p

* Limitar los logs de tiempo validos a 30 dias:

emerge -pe world | genlop -p --date 30 days ago

```

+Crear un paquete binario de uno ya instalado

-quickpkg sys-apps/portage

```

quickpkg xorg-x11

 * Building package for xorg-x11-6.8.99.13 ...                            [ ok ]

 * Packages now in /usr/portage/packages:

 * xorg-x11-6.8.99.13: 57M

```

+Saltar la instalación de un paquete que ha fallado

-emerge sys-apps/portage

```

emerge --resume --skipfirst

```

Last edited by psm1984 on Tue Sep 06, 2005 6:30 pm; edited 7 times in total

----------

## gringo

buena idea  :Very Happy: 

Mas scripts :

- scripts experimentales gentoo

http://gentooexperimental.org/script/repo/list

- scripts para tener un compilador y sistema sanotes  :Wink: 

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

saluetes

----------

## Franco Gotusso

Gracias  :Very Happy: 

----------

## zorth

hola.

apuntando al cuadernillo de notas  :Razz:   :Razz: 

saludos.

----------

## ertomas

Buen trabajo compañero!!!.

Excelente la gran recopilacion de utilidades. Me vendrá perfecto como ayuda. Apuntado al cuaderno.

Saludos...  :Wink: 

----------

## quelcom

Muy buen documento  :Wink: 

Aunque esté algo deprecated yo añadiría a esearch (muchos lo usabamos hasta que eix apareció).

 +Busqueda rápida de ebuilds 

-esearch  anticuado   app-portage/esearch 

```

esearch paquete #Buscar por nombre

esearch -S paquete #Buscar en la descripción

eupdatedb #Actualizar la BBDD de esearch

```

Saludos

----------

## psm1984

 *quelcom wrote:*   

> yo añadiría a esearch

 

Lo he añadido para los nostálgicos  :Laughing: , porque para actualizar la base de datos se tira un buen rato, mientras que eix es casi instantaneo.

----------

## Stolz

etcat tambien está "deprecated" y creo que la van a quitar en breve, asi es que mejro no acostumbrase a usarlo.

Eix lo llevo usando un tiempo y es una maravilla  :Smile: 

Mas cosas:

Saber todos los programas instalados:

```
# qpkg -I 
```

Saber todos los programas instalados con un cierto patron en el nombre: 

```
# qpkg -I patron
```

Ampliando lo dicho de genlop:

Calcular cuanto tardará algo en compilarse basandose en los logs, por ejemplo, cuanto tardariamos en recompilar nuestro sistema por completo:

```
# emerge -pe world | genlop -p
```

O cuanto tardariamos en recompilar kde:

```
# emerge -p `qpkg -I kde-base -nc | xargs` | genlop -p
```

Como muchas veces compilamos un mismo programa varas veces, podemos forzar a genlop a que solo tenga en cuenta los logs de una cierta edad, por ejemplo un mes

```
# emerge -pe world | genlop -p --date 30 days ago
```

Para un monton mas de utilidades ver:

https://forums.gentoo.org/viewtopic.php?t=67849

Saludozzzzz

----------

## LinuxBlues

 *Stolz wrote:*   

> etcat tambien está "deprecated" y creo que la van a quitar en breve, asi es que mejro no acostumbrase a usarlo.

 

qpkg idem de idem, está tb "deprecated" y no se mantiene más...

----------

## alexlm78

Genial, me parece simplemente genial.

----------

## psm1984

Pues ya he añadido los últimos Stolz, el qpkg estará deprecated, pero para mostrar la lista de paquetes instalados es bastante más rápido que la alternativa en equery  :Wink: .

----------

## quelcom

Ya que estamos jugando con genlop adjunto un script a modo de curiosidad. El perl script en cuestión calcula el tiempo total de compilación sobre la maquina, o dicho de otra forma, suma los tiempos de todos los emerges realizados. 

Creo que funciona bien, aunque no garantizo nada  :Embarassed:   :

```

#!/usr/bin/perl

# Simple script que calcula el tiempo total de

# compilacion respaldandose sobre genlop

# Josep Mª Roca (quelcom en gmail punto com)

# Distribuido bajo la GNU General Public License v2

$hores = $minuts = $segons = 0;

open (EMER, "genlop -tln|grep time:|");

while ($dades = <EMER>) {

   if ($dades =~ /(\d*) hour/) {

      $hores = $hores + $1;

   }

   if ($dades =~ /(\d*) minute/) {

      $minuts = $minuts + $1;

   }

   if ($dades =~ /(\d*) second/) {

      $segons = $segons + $1;

   }

}

close EMER;

while ($segons >= 60)   {

   $segons = $segons - 60;

   $minuts = $minuts + 1;

   }

while ($minuts >= 60)   {

   $minuts = $minuts - 60;

   $hores = $hores + 1;

   }

print "Tiempo total de compilacion: $hores horas, $minuts minutos, $segons segundos\n";

exit 0

```

No hace falta decir que necesitais tener instalados perl y genlop.

En mi máquina el resultado es:

```

Tiempo total de compilacion: 47 horas, 53 minutos, 17 segundos

```

Sobre una instalación de octubre del 2004. Es realmente poco ya que no he compilado KDE ni gnome  :Razz:  (quizás lo más tocho que he compilado sea Xorg y Firefox).

Para que despues nos digan los Debianitas que nos pasamos el dia compilando  :Laughing: 

Saludos

----------

## pacho2

¿qué ventaja tiene eix frente a esearch? Lo digo porque yo uso esearch  :Wink: 

Saludos y gracias

----------

## Stolz

 *pacho2 wrote:*   

> ¿qué ventaja tiene eix frente a esearch? Lo digo porque yo uso esearch 
> 
> Saludos y gracias

 

- eix está hecho en cpp y si no recuerdo mal esearch estaba hecho en Python, por lo que supuestamente deberia de ser mas rapido eix a la hora de hacer busquedas.

- esearch lleva mucho tiempo parado (al menos la ultima vez que lo use llevaba casi un año sin sacar versiones).

- la velocidad de creacion de indices de eix es superior a la de esearch.

Mas info, en el post https://forums.gentoo.org/viewtopic-t-278819.html

Saludozzzzzz

----------

## kalcetoh

Sabéis si van a incluir alguna herramienta como eix por defecto en portage, no estaría mal, porque por lo que tarda en hacer un emerge sync, 10 segundos de más se notaría poco, y comparado con lo que tarda en buscar con emerge -s. Aunque creo que la política de gentoo es hacer todo en python, por la portabilidad.  :Rolling Eyes: 

----------

## pacho2

Gracias

Saludos

----------

