Gentoo Logo

Gentoolkit

Contenido:

1.  Introducción

¿Qué es Gentoolkit?

Gentoo es una distribución única y presenta algunas complejidades que simplemente no existen en otras distribuciones. A medida que desarrolladores y colaboradores de Gentoo descubrían algunas de estas complejidades, escribieron herramientas para ayudar a usuarios y administradores a trabajar entre ellas. Muchas de estas herramientas han sido escritas para el proyecto Gentoo y se incluyen en el paquete app-portage/gentoolkit.

Nota: En la actualidad existen dos versiones de gentoolkit: app-portage/gentoolkit y app-portage/gentoolkit-dev. Mientras que el primero contiene guiones de administración, el último contiene guiones específicos para reforzar el desarrollo en Gentoo. Si es desarrollador, puede incluir sus guiones en gentoolkit-dev poniéndose en contacto con el responsable del mantenimiento de Gentoolkit. Este documento únicamente habla de gentoolkit.

Gentoolkit contiene un gran grupo de herramientas útiles para ayudar a administrar los paquetes y seguirle la pista a lo que ocurre en su sistema. La mayoría de usuarios --particularmente aquellos que a menudo actualizan sus sistemas-- se beneficiarán de tener gentoolkit instalado.

Instalación

Como en cualquier paquete de Gentoo, la instalación es solo un simple emerge.

Listado de Código 1.1: Obtener gentoolkit

# emerge gentoolkit

Nota: Muchas de las herramientas en gentoolkit revelan información importante sobre el sistema o requieren permisos de usuario root. Por esa razón, algunos de los programas solo pueden ser ejecutados (o solo funcionan correctamente) si se ejecutan con un usuario con privilegios de root.

Encontrar documentación

Cualquier documentación que un programa pudiera tener (exceptuando las páginas man) se encuentra en /usr/share/doc/gentoolkit-[versión]/[nombre-del-programa]/.

2.  equery

Introducción

equery es una herramienta que muestra información de útil sobre los paquetes de su sistema. La herramienta equery está basada en un sistema de módulos. Cada módulo tiene un nombre corto. Por ejemplo, equery l gcc es lo mismo que equery list gcc. La orden equery --help muestra las opciones globales y lista todos los módulos disponibles y sus nombres cortos. La orden equery --help module mostrará la pantalla de ayuda para un módulo en particular. Por último, man equery ofrece una explicación detallada de todos los módulos y opciones disponibles a la vez que ofrece ejemplos útiles.

Debajo se muestra una lista de características que funcionan en la mayoría de los módulos.

Listado de Código 2.1: Ejemplos de entradas aceptables

(Muchos de los módulos necesitan un argumento que sea un paquete. La orden equery acepta todas las entradas del tipo emerge):
$ equery --quiet list gcc                  # paquete
sys-devel/gcc-4.3.2-r3
$ equery --quiet list sys-devel/gcc        # categoría/paquete
sys-devel/gcc-4.3.2-r3
$ equery --quiet list '>=sys-devel/gcc-4'  # sintaxis átomo
sys-devel/gcc-4.3.2-r3

(Al igual que emerge, equery no comprende los nombres parciales de paquetes):
$ equery check zilla
!!! No package found matching zilla
(Al contrario que emerge, equery puede aceptar expansiones de nombres de ficheros al igual que el intérprete de comandos en el nombre de la categoría y/o el paquete):
$ equery check '*zilla*'
 * Checking www-client/mozilla-firefox-3.0.14 ...
    90 out of 90 files passed
$ equery check www-c*/*
 * Checking www-client/links-2.2 ...
   30 out of 30 files passed
 * Checking www-client/mozilla-firefox-3.0.14 ...
   90 out of 90 files passed

(La mayoría de los módulos equery admiten entradas múltiples):
$ equery hasuse sse sse2
 * Searching for USE flag sse ...
[IP-] [  ] media-libs/flac-1.2.1-r3 (0)
[IP-] [  ] media-libs/speex-1.2_beta3_p2 (0)

 * Searching for USE flag sse2 ...
[IP-] [  ] dev-libs/openssl-0.9.8k (0)
[IP-] [  ] x11-libs/pixman-0.16.0 (0)

(Algunos de los módulos también permiten expresiones regulares completas):
$ equery -q list --portage-tree --full-regex '[kr]?flickr.*'
dev-dotnet/flickrnet-bin-2.2
dev-ruby/flickr-1.0.2-r1
dev-ruby/flickr-1.0.2-r2
dev-ruby/rflickr-20060201
media-gfx/kflickr-0.6
[...]

Nota: El soporte de expansión de nombres de fichero (globbing) reemplaza algunas de las antiguas opciones en equery. Por ejemplo, para actuar sobre todos los paquetes de un determinado conjunto, utilice '*'. Para actuar en todos los paquetes de una categoría, utilice 'nombre-de-categoría/*'.

Aviso: No olvide entrecomillar la entrada cuando use caracteres especiales del intérprete de comandos como asteriscos o símbolos mayor que o menor que.

La siguientes secciones de este documento ofrecen una pequeña introducción a los diferentes módulos de equery.

Averiguar el paquete del que proviene un fichero con "belongs" (b)

Listado de Código 2.2: Buscar el que paquete que instaló un determinado fichero

$ equery belongs -e /usr/bin/glxgears
 * Searching for /usr/bin/glxgears ...
 x11-apps/mesa-progs-7.5.1 (/usr/bin/glxgears)

El módulo belongs puede buscar ficheros que concuerdan con una expresión regular usando la opción -f. La opción -e detiene la búsqueda después de encontrar una coincidencia. Debido a que ningún fichero de su sistema puede pertenecer a más de un paquete, esto es una optimización segura.

Mostrando las entradas del ChangeLog con "changes" (c)

El módulo changes le permite mostrar las entradas del ChangeLog de la versión o rango de versiones de un paquete. Imagine que después de un emerge --sync se da cuenta de que you se va a actualizar Portage y quiere comprobar lo que ha cambiado:

Listado de Código 2.3: Mostrando las entradas del ChangeLog en Gentoo

(Muestra la última entrada de la versión instalable):
$ equery changes portage
*portage-2.1.6.13 (03 May 2009)

  03 May 2009; Zac Medico <zmedico@gentoo.org> +portage-2.1.6.13.ebuild:
  2.1.6.13 bump. This fixes bug #268398 (document econf automatic die)
  and bug #267104 (handle insufficient space interaction with userfetch).
  Bug #268228 tracks all bugs fixed since 2.1.6.11.

Comprobar la integridad de los paquetes con "check" (k)

A veces es útil comprobar la integridad de un paquete. equery puede verificar sumas MD5 así como marcas de tiempo para indicar cuándo un paquete pudo haber sido corrompido, reemplazado o borrado.

Listado de Código 2.4: Comprobar la integridad de un paquete

$ equery check gentoolkit
 * Checking app-portage/gentoolkit-0.3.0_rc7 ...
   71 out of 71 files passed

Listar todos los paquetes que dependen de cierto paquete X con "depends" (d)

¿Alguna vez se ha preguntado porqué cierto paquete se ha instalado en su sistema?. La orden equery le puede mostrar qué paquetes muestran ese paquete como dependencia usando el módulo depends. Se pueden incluir dependencias indirectas con la opción -D.

Listado de Código 2.5: Mostrar paquetes que dependen de pygtk

$ equery depends pygtk
 * Searching for pygtk ...
app-admin/pessulus-2.24.0 (>=dev-python/pygtk-2.6.0)
app-editors/gedit-2.24.3 (python ? >=dev-python/pygtk-2.12)
dev-libs/libgweather-2.24.3 (python ? >=dev-python/pygtk-2)
dev-python/gnome-python-base-2.22.3 (>=dev-python/pygtk-2.10.3)
dev-python/gnome-python-desktop-base-2.24.1 (>=dev-python/pygtk-2.10.3)
[...]

Obtener gráficos de dependencias con "degraph" (g)

El módulo depgraph es el opuesto de depends. Se le pasa un paquete y encontrará los paquetes de los que éste depende (no de los que dependen de él). Cuando encuentra una dependencia, se buscará recursivamente todas las dependencias de ese nuevo paquete. Se puede controlar lo profundo que debe ser el árbol usando la opción --depth.

Listado de Código 2.6: Mostrar el gráfico de dependencias para mozilla-firefox

$ equery depgraph mozilla-firefox
 * Searching for mozilla-firefox ...
 * dependency graph for www-client/mozilla-firefox-2.0.0.19:
`-- www-client/mozilla-firefox-2.0.0.19
 `-- virtual/jre-1.6.0 (virtual/jre) [java]
  `-- virtual/jdk-1.6.0 (virtual/jdk-1.6.0*)
  `-- dev-java/icedtea6-bin (unable to resolve: package masked or removed)
   `-- dev-java/sun-jdk-1.6.0.15
    `-- dev-java/java-sdk-docs-1.6.0.10 [doc]
     `-- app-arch/unzip-6.0-r1
      `-- app-arch/bzip2-1.0.5-r1 [bzip2]
    `-- sys-libs/glibc-2.9_p20081201-r2
     `-- sys-devel/gettext-0.17 [nls]
      `-- virtual/libiconv-0 (virtual/libiconv)
[...]

Observe como jre es una dependencia directa y jdk es una dependencia indirecta si el ajuste USE java está habilitado.

Listar los ficheros instalados por un paquete con "files" (f)

La orden equery puede listar todos los ficheros instalados por un ebuild con el módulo files. Pruebe con --tree para obtener un directorio con una disposición fácil de leer. Utilice --filter para buscar únicamente un tipo de fichero. Por ejemplo, para encontrar el lugar donde se instalaron los ejecutables, utilice --filter=cmd, y para encontrar rápidamente la localización de un fichero, pruebe con --filter=conf.

Listado de Código 2.7: Listar los ficheros isntalados en formato árbol

$ equery files --tree gentoolkit
 * Searching for gentoolkit ...
 * Contents of app-portage/gentoolkit-0.3.0_rc7:
 /etc
   > /eclean
      + distfiles.exclude
      + packages.exclude
   > /env.d
      + 99gentoolkit-env
   > /revdep-rebuild
      + 99revdep-rebuild
 /usr
   > /bin
      + eclean
      + eclean-dist -> eclean
      + eclean-pkg -> eclean
      + epkginfo
      + equery
      + eread
      + euse
      + glsa-check
      + revdep-rebuild
   > /lib
      > /python2.6
         > /site-packages
            > /gentoolkit
            + gentoolkit-0.3.0_rc7-py2.6.egg-info
               + __init__.py
               > /equery
                  + __init__.py
                  + belongs.py
                  + changes.py
                  + check.py
                  + depends.py
                  + depgraph.py
                  + files.py

[...]

Buscar paquetes que tiene un determinado ajuste USE con hasuse (h)

Puede utilizar hasuse para buscar los paquetes que tienen un determinado ajuste USE. El módulo hasuse no le indicará si el ajuste USE está habilitado, únicamente si el ebuild lo muestra como opción. Mire la sección EXAMPLES de hasuse en la página del manual de equery para ver más formas de obtener esta información.

Listado de Código 2.8: Buscar paquetes instalados que utilizan los ajustes USE qt3 o qt4

$ equery hasuse qt3 qt4
 * Searching for USE flag qt3 ...
[IP-] [  ] app-crypt/pinentry-0.7.5 (0)
[IP-] [  ] net-dns/avahi-0.6.24-r2 (0)
[IP-] [  ] net-wireless/wpa_supplicant-0.6.9 (0)

 * Searching for USE flag qt4 ...
[IP-] [  ] net-dns/avahi-0.6.24-r2 (0)
[IP-] [  ] net-wireless/wpa_supplicant-0.6.9 (0)

Listar paquetes con list (l)

El módulo list es simple aunque poderoso. Permite listar los paquetes que están instalados en el árbol Portage o en un overlay.

Listado de Código 2.9: Listar paquetes instalados con list

$ equery list '*'
 * Searching for * ...
[IP-] [  ] app-admin/eselect-1.2.3 (0)
[IP-] [  ] app-admin/eselect-ctags-1.10 (0)
[IP-] [  ] app-admin/eselect-esd-20060719 (0)
[IP-] [  ] app-admin/eselect-fontconfig-1.0 (0)
[IP-] [  ] app-admin/eselect-opengl-1.0.8-r1 (0)
[IP-] [  ] app-admin/eselect-python-20090824 (0)
[IP-] [  ] app-admin/eselect-ruby-20081227 (0)
[IP-] [  ] app-admin/eselect-vi-1.1.5 (0)
[IP-] [  ] app-admin/perl-cleaner-1.05 (0)
[IP-] [  ] app-admin/pessulus-2.24.0 (0)
[IP-] [  ] app-admin/python-updater-0.7 (0)
[IP-] [  ] app-admin/sudo-1.7.2_p1 (0)
[...]

La consulta estándar buscará paquetes instalados con el nombre dado. Pasando un '*' se mostrarán todos los paquetes en el conjunto. En el campo más a la izquierda, podemos ver que los paquetes mostrados tienen están Instalados desde el árbol Portage. No están enmascarados (El segundo campo está en blanco, y fueron instalados en la ranura (slot) por defecto (0).

Ahora, utilizaremos opciones locales para buscar paquetes en el árbol Portage y en los overlays.

Listado de Código 2.10: Usar opciones locales con list

$ equery list -po vim
 * Searching for vim ...
[-P-] [  ] app-editors/vim-7.0.235 (0)
[-P-] [ ~] app-editors/vim-7.0.243 (0)
[-P-] [  ] app-editors/vim-7.1.123 (0)
[-P-] [ ~] app-editors/vim-7.1.330 (0)
[-P-] [  ] app-editors/vim-7.2 (0)
[-P-] [ ~] app-editors/vim-7.2.108 (0)
[IP-] [  ] app-editors/vim-7.2.182 (0)
[-P-] [ ~] app-editors/vim-7.2.238 (0)
[-P-] [ ~] app-editors/vim-7.2.264 (0)

En este ejemplo se puede ver la versión que está instalada y que no hay versiones disponibles en el overlay. Se puede también observar qué versiones están enmascaradas por palabra clave comprobando el ~ en el segundo campo.

Mostrando los metadatos del paquete con "meta" (m)

Cada paquete del árbol Portage ofrece algún tipo de metadato sobre su mantenedor, herd, etc. Más información en Gentoo Metadata. La cantidad de información de utilidad dependerá de lo que decidan ofrecer los mantenedores del paquete. Sin opciones, meta devuelve información básica de utilidad.

Listado de Código 2.11: Obtener metadatos del paquete con meta

$ equery meta gnucash
 * app-office/gnucash [gentoo]
 Herd:        gnome-office (gnome-office@gentoo.org)
 Maintainer:  tove@gentoo.org (Torsten Veller)
 Upstream:    None specified
 Location:    /usr/portage/app-office/gnucash
 Keywords:    2.2.9-r1:0: alpha amd64 ppc sparc x86
 Keywords:    2.2.9-r2:0:
 Keywords:    2.3.8:0:
 Keywords:    2.3.10:0: ~alpha ~amd64 ~ppc ~sparc ~x86

Cuando el mantenedor ofrece información extra, ésta puede ser de gran utilidad:

Listado de Código 2.12: Obtener descripciones largas de los paquetes con meta

$ equery meta --description emacs
 * app-editors/emacs
  GNU Emacs is an extensible, customizable text editor - and more. At its core
  is an interpreter for Emacs Lisp, a dialect of the Lisp programming language
  with extensions to support text editing. The features of GNU Emacs include:
   * Content-sensitive editing modes, including syntax coloring, for a wide
     variety of file types including plain text, source code, and HTML.
   * Complete built-in documentation, including a tutorial for new users.
   * Support for many languages and their scripts, including all the European
     "Latin" scripts, Russian, Greek, Japanese, Chinese, Korean, Thai,
     Vietnamese, Lao, Ethiopian, and some Indian scripts.
   * Highly customizable, using Emacs Lisp code or a graphical customization
     interface.
   * A large number of extensions that add other functionality, including a
     project planner, mail and news reader, debugger interface, calendar, and
     more. Many of these extensions are distributed with GNU Emacs; others are
     available separately.

Conocer el tamaño de los paquetes con "size" (s)

¿Alguna vez ha tenido la curiosidad de averiguar cuánto espacio ocupa un paquete concreto?. Debido a que un paquete puede tener sus archivos repartidos en más de un directorio, puede que el habitual du -hc no le proporcione una cifra correcta. No se preocupe, ¡equery viene al rescate!

Listado de Código 2.13: Mostrar el tamaño del paquete

$ equery size openoffice-bin
 * app-office/openoffice-bin-3.1.1
         Total files : 4624
         Total size  : 361.38 MiB

Como puede ver, size muestra el espacio total utilizado en unidades legibles por un humano así como el número total de ficheros que tiene el paquete. Para obtener el tamaño total en bytes, utilice --bytes.

Listar los ajustes USE para cada paquete con "uses" (u)

El módulo de equery uses puede proporcionar información sobre los ajustes USE que están disponibles para un paquete en particular, y cuáles de esos ajustes están habilitados actualmente.

Listado de Código 2.14: Mostrar ajustes USE habilitados y deshabilitados

$ equery uses gst-plugins-meta
 * Searching for gst-plugins-meta ...
 * Searching for gst-plugins-meta ...
[ Legend : U - flag is set in make.conf       ]
[        : I - package is installed with flag ]
[ Colors : set, unset                         ]
 * Found these USE flags for media-plugins/gst-plugins-meta-0.10-r2:
 U I
 + + X      : Adds support for X11
 - - a52    : Enables support for decoding ATSC A/52 streams used in DVD
 + + alsa   : Adds support for media-libs/alsa-lib (Advanced Linux Sound
              Architecture)
 - - dvb    : Adds support for DVB (Digital Video Broadcasting)
 + + dvd    : Adds support for DVDs
 + + esd    : Adds support for media-sound/esound (Enlightened Sound Daemon)
 + + ffmpeg : Enable ffmpeg-based audio/video codec support
 + + flac   : Adds support for FLAC: Free Lossless Audio Codec
 - - mad    : Adds support for mad (high-quality mp3 decoder library and cli
              frontend)
 + + mpeg   : Adds libmpeg3 support to various packages
 - - mythtv : Support for retrieval from media-tv/mythtv backend
 + + ogg    : Adds support for the Ogg container format (commonly used by
              Vorbis, Theora and flac)
 - - oss    : Adds support for OSS (Open Sound System)
 + + theora : Adds support for the Theora Video Compression Codec
 + + vorbis : Adds support for the OggVorbis audio codec
 - - xv     : Adds in optional support for the Xvideo extension (an X API for
              video playback)

Aquí, algunos ajustes USE están habilitados en el plugin del meta-paquete de gstreamer, sin embargo, se puede comprobar que hay otros ajustes USE disponibles. Para más información sobre los ajustes USE, por favor, consulte la sección Parámetros USE del Manual Gentoo.

Buscar la ruta del ebuild con "which" (w)

El módulo which es un guión simple para ayudarle a encontrar rápidamente la ruta de un ebuild. Si se le pasa un nombre de paquete sin especificar la versión, which devolverá la ruta a la versión del ebuild más reciente que pueda ser instalada. En otras palabras, el ebuild que Portage usaría si escribiera emerge package en la línea de comandos. Pásele un paquete con una versión específica para obtener la ruta a ese ebuild.

Listado de Código 2.15: Mostrar la ruta del ebuild instalable más reciente

$ equery which gnome
/usr/portage/gnome-base/gnome/gnome-2.26.3.ebuild

Finalmente, si ninguna de las características de equery mencionadas arriba le es de utilidad, intente usar which para buscar manualmente un ebuild con programas como cat, less o grep:

Listado de Código 2.16: Otras formas útiles de usar which

$ grep HOMEPAGE $(equery which gentoolkit)
HOMEPAGE="http://www.gentoo.org/proj/en/portage/tools/index.xml"

Aviso: Recuerde que equery actualmente cambia el formato de la salida si se envía a través de una tubería. El formato enviado a la tubería está pensado para que sea más fácil analizarlo usando herramientas. Puede desactivar esta característica añadiendo la opción --no-pipe. Si va a escribir guiones que utilizan equery, debe recordar esto.

3.  euse

Introducción

euse es una herramienta para ver, activar y desactivar los parámetros USE en varios lugares. Para más información acerca de los parámetros USE, por favor consulte el documento Parámetros USE. Por favor, use euse -h para ver la ayuda completa y todas las opciones.

Ver, activar y desactivar los parámetros USE

La orden euse -a lee y muestra los actuales parámetros USE activos.

Nota: Hay 5 "columnas" que euse utiliza para mostrar si un parámetro está activo/inactivo y donde se ha activado cada uno de ellos. Las columnas están como sigue: +/-, activado en el Entorno, activado en make.Conf, activado en make.Defaults y activado en make.Globals. La salida se asemeja a [+ECDG].

Listado de Código 3.1: Mostrar todos los parámetros USE activos

# euse -a
X                   [+ CD ]
aalib               [+    ]
acpi                [+ C  ]
alsa                [+ C  ]
apache2             [+ C  ]
apm                 [+  D ]
avi                 [+  D ]
berkdb              [+  D ]
bitmap-fonts        [+  D ]
bonobo              [+    ]
cdr                 [+ C  ]
crypt               [+ CD ]
cscope              [+ C  ]
cups                [+ CD ]
curl                [+    ]
emboss              [+  D ]
encode              [+  D ]
esd                 [+    ]
fam                 [+    ]
fbcon               [+ C  ]
firefox             [+ C  ]
font-server         [+  D ]
foomaticdb          [+  D ]
fortran             [+  D ]
gd                  [+ C  ]
gdbm                [+  D ]
gif                 [+ CD ]
gimpprint           [+ C  ]
gnome               [+ CD ]
gphoto2             [+    ]
gpm                 [+ CD ]
gstreamer           [+ C  ]
gtk                 [+  D ]
gtkhtml             [+ C  ]
guile               [+    ]
imagemagick         [+    ]
imlib               [+ CD ]
innodb              [+    ]
ipv6                [+  D ]
javascript          [+ C  ]
jpeg                [+ CD ]
kde                 [+  D ]
ldap                [+    ]
libg++              [+ CD ]
libwww              [+ CD ]
mad                 [+ CD ]
mbox                [+ C  ]
md5sum              [+ C  ]
mikmod              [+ CD ]
mmx                 [+ C  ]
motif               [+ CD ]
mp3                 [+    ]
mpeg                [+ CD ]
mpeg4               [+ C  ]
mysql               [+ C  ]
ncurses             [+ CD ]
nls                 [+  D ]
nvidia              [+ C  ]
odbc                [+    ]
offensive           [+    ]
ogg                 [+ CD ]
opengl              [+ CD ]
oss                 [+  D ]
pam                 [+ CD ]
pdflib              [+ CD ]
perl                [+ CD ]
png                 [+ CD ]
python              [+ CD ]
qt                  [+  D ]
quicktime           [+ CD ]
readline            [+ CD ]
ruby                [+    ]
sdl                 [+ CD ]
slang               [+  D ]
spell               [+ CD ]
sse                 [+ C  ]
ssl                 [+ CD ]
svga                [+ CD ]
tcltk               [+ C  ]
tcpd                [+  D ]
tiff                [+ C  ]
truetype            [+ CD ]
usb                 [+ C  ]
vanilla             [+ C  ]
x86                 [+ C  ]
xml                 [+    ]
xosd                [+ C  ]
xv                  [+ CD ]
xvid                [+ C  ]
zlib                [+ CD ]

Del mismo modo, puede usar la orden euse -a -g para ver solo los parámetros USE globales activados. La orden euse -a -l hace lo mismo para los parámetros USE locales activados. -g & -l son subopciones de euse y requieren de una opción anterior a ellos (como -a) para funcionar correctamente.

Listado de Código 3.2: Mostrar los parámetros USE locales activados

# euse -a -l
bitmap-fonts        [+  D ]
font-server         [+  D ]
fortran             [+  D ]
gimpprint           [+ C  ]
md5sum              [+ C  ]
mpeg4               [+ C  ]
nvidia              [+ C  ]
offensive           [+    ]
truetype            [+ CD ]

También podemos usar euse para activar o desactivar parámetros use. Lar órdenes empleadas para ello son euse -E flagname (habilita un parámetro) y euse -D flagname (inhabilita un parámetro).

Aviso: No utilice las órdenes euse -E y euse -D por ellas mismas (sin un parámetro). Sino activará/desactivará TODOS los parámetros USE en /etc/portage/make.conf. Aunque se mantenga una copia de seguridad en /etc/portage/make.conf.euse_backup, por favor tenga cuidado a la hora de usar euse -E o euse -D.

Listado de Código 3.3: Activar y desactivar parámetros USE

(Habilitar un parámetro USE)
#  euse -E 3dfx
/etc/portage/make.conf was modified, a backup copy has been placed at /etc/portage/make.conf.euse_backup

(/etc/portage/make.conf después de ejecutar la orden)
USE="alsa acpi apache2 -arts cups cdr crypt cscope -doc fbcon \
     firefox gd gif gimpprint gnome gpm gstreamer gtkhtml imlib \
     innodb -java javascript jpeg libg++ libwww mad mbox md5sum \
     mikmod mmx motif mpeg mpeg4 mysql ncurses nvidia \
     ogg odbc offensive opengl pam pdflib perl png python \
     quicktime readline sdl spell sse ssl svga tcltk tiff truetype usb \
     vanilla X xosd xv xvid x86 zlib 3dfx"

(Inhabilitar un parámetro USE)
#  euse -D 3dfx
/etc/portage/make.conf was modified, a backup copy has been placed at /etc/portage/make.conf.euse_backup

(/etc/portage/make.conf después de ejecutar la orden)
USE="alsa acpi apache2 -arts cups cdr crypt cscope -doc fbcon \
     firefox gd gif gimpprint gnome gpm gstreamer gtkhtml imlib \
     innodb -java javascript jpeg libg++ libwww mad mbox md5sum \
     mikmod mmx motif mpeg mpeg4 mysql ncurses nvidia \
     ogg odbc offensive opengl pam pdflib perl png python \
     quicktime readline sdl spell sse ssl svga tcltk tiff truetype usb \
     vanilla X xosd xv xvid x86 zlib -3dfx"

Nota: euse no borra físicamente el parámetro de make.conf. Solo le antepone el signo - (menos) para desactivarlo. Puede que tenga que limpiar manualmente su make.conf para deshacerse de parámetros que no quiera.

4.  Otras herramientas

revdep-rebuild

Esta herramienta es el reconstructor de dependencias inversas de Gentoo. Realizará una búsqueda de todos los ebuilds instalados que no funcionen a causa de alguna actualización de un paquete del cual dependan. Puede hacer un emerge de esos paquetes por usted pero puede ocurrir que un paquete determinado ya no funcione con las actuales dependencias instaladas, en cuyo caso, debe actualizar el paquete que no funciona a una versión más reciente. revdep-rebuild le pasará parámetros a emerge que te permiten hacer uso de --pretend para ver qué paquetes se van a emerger de nuevo antes de proceder.

Listado de Código 4.1: Ejecutar revdep-rebuild en modo pretend

# revdep-rebuild -p

 * Checking reverse dependencies
 * Packages containing binaries and libraries broken by a package update
 * will be emerged.

 * Collecting system binaries and libraries
 * Generated new 1_files.rr
 * Collecting complete LD_LIBRARY_PATH
 * Generated new 2_ldpath.rr
 * Checking dynamic linking consistency
[ 48% ]  *   broken /usr/lib/gstreamer-0.10/libgsttaglib.la (requires /usr/lib/libtag.la)
[ 64% ]  *   broken /usr/lib/libgdkglext-x11-1.0.la (requires /usr/lib/libGLU.la)
[ 67% ]  *   broken /usr/lib/libgtkglext-x11-1.0.la (requires /usr/lib/libGLU.la)
[ 85% ]  *   broken /usr/lib/python2.6/site-packages/gtk-2.0/gtk/gdkgl/_gdkgl.la (requires /usr/lib/libGLU.la)
 *   broken /usr/lib/python2.6/site-packages/gtk-2.0/gtk/gtkgl/_gtkgl.la (requires /usr/lib/libGLU.la)
[ 97% ]  *   broken /usr/qt/3/lib/libqt-mt.la (requires -lpng)
[ 100% ]
 * Generated new 3_broken.rr
 * Assigning files to packages
 *   /usr/lib/gstreamer-0.10/libgsttaglib.la -> media-plugins/gst-plugins-taglib
 *   /usr/lib/libgdkglext-x11-1.0.la -> x11-libs/gtkglext
 *   /usr/lib/libgtkglext-x11-1.0.la -> x11-libs/gtkglext
 *   /usr/lib/python2.6/site-packages/gtk-2.0/gtk/gdkgl/_gdkgl.la -> dev-python/pygtkglext
 *   /usr/lib/python2.6/site-packages/gtk-2.0/gtk/gtkgl/_gtkgl.la -> dev-python/pygtkglext
 *   /usr/qt/3/lib/libqt-mt.la -> x11-libs/qt
 * Generated new 4_raw.rr and 4_owners.rr
 * Cleaning list of packages to rebuild
 * Generated new 4_pkgs.rr
 * Assigning packages to ebuilds
 * Generated new 4_ebuilds.rr
 * Evaluating package order
 * Generated new 5_order.rr
 * All prepared. Starting rebuild
emerge --oneshot --pretend  dev-python/pygtkglext:0
media-plugins/gst-plugins-taglib:0.10
x11-libs/gtkglext:0
x11-libs/qt:3

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] media-plugins/gst-plugins-taglib-0.10.17
[ebuild   R   ] x11-libs/gtkglext-1.2.0
[ebuild   R   ] x11-libs/qt-3.3.8b-r2
[ebuild   R   ] dev-python/pygtkglext-1.1.0
 * Now you can remove -p (or --pretend) from arguments and re-run revdep-rebuild.

Si necesita reconstruir algunos paquetes, puede ejecutar revdep-rebuild sin el parámetro -p y los paquetes listados serán emergidos de nuevo.

glsa-check

glsa-check es principalmente una herramienta de verificación que le sigue la pista a los diversos GLSAs (Advertencia de Seguridad de Gentoo Linux, Gentoo Linux Security Advisory en inglés) y que acabará por integrarse en emerge y equery.

eread

eread es una sencilla herramienta para visualizar ficheros elog creados por Portage a partir de la versión >=portage-2.1. Puede habilitar la grabación de ficheros elog definiendo un par de variables en /etc/portage/make.conf:

Listado de Código 4.2: Habilitar elog en /etc/portage/make.conf

PORTAGE_ELOG_CLASSES="log"
PORTAGE_ELOG_SYSTEM="save"

Nota: Éste es solo uno de los modos de grabar mensajes elog. Para obtener más información de cómo funciona el sistema elog de Portage, por favor consulte su correspondiente página en el Manual Gentoo.

Una vez haya configurado elog del modo deseado, simplemente ejecute eread para ver sus ficheros de registro.

Listado de Código 4.3: Utilizar eread

$ eread

This is a list of portage log items. Choose a number to view that file or type q to quit.

1) app-portage:gentoolkit-0.2.4_pre2:20070320-000256.log
2) app-portage:gentoolkit-0.2.4_pre2:20070320-000258.log
3) app-portage:gentoolkit-0.2.4_pre2:20070320-000319.log
4) app-portage:gentoolkit-0.2.3:20070320-000408.log
Choice?

Seleccione un número y el fichero se mostrará mediante el programa de paginación especificado en la variable de entorno PAGER. Si ésta no está definida, se utilizará less.

Una vez mostrado el elemento elog, se le preguntará si desea eliminar el fichero.

eclean

eclean es una herramienta para eliminar ficheros fuente y paquetes antiguos de su sistema.

Cuando se construyen e instalan los paquetes, los ficheros fuente se descargan y conservan en DISTDIR, normalmente en el directorio /usr/portage/distfiles. Esto puede acumular varios gigabytes de material a lo largo del tiempo si no se limpia periodicamente. Puede ejecutar eclean-dist para limpiar únicamente los ficheros fuente de DISTDIR.

Puede crear archivos de los paquetes instalados usando quickpg o FEATURES="buildpkg". Estos paquetes archivados se guardan en PKGDIR, normalmente en el directorio /usr/portage/packages. Cuando no se necesitan más, o si son antiguos, puede ejecutar eclean-pkg para eliminarlos de PKGDIR. Es una buena práctica asegurarse de que se conservan únicamente las últimas versiones de los paquetes binarios que se tengan instalados en el sistema.

Para más información sobre eclean y los consejos sobre el mantenimiento de un sistema libre de código obsoleto, por favor, lea man eclean.



Imprimir

Página actualizada 30 de noviembre, 2012

Sumario: Gentoolkit es un conjunto de herramientas que facilitan la administración de un sistema Gentoo. Este documento cubre lo básico de algunas de las herramientas presentes en gentoolkit.

Matt Butcher
Autor

John P. Davis
Editor

Erwin
Editor

Shyam Mani
Editor

Xavier Neys
Editor

Karl Trygve
Editor

José Luis Rivero
Editor

Joshua Saddler
Editor

Douglas Anderson
Editor

Enrique Barbeito García
Traductor

José María Alonso
Traductor

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.