Gentoolkit
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 |
$ equery --quiet list gcc #
sys-devel/gcc-4.3.2-r3
$ equery --quiet list sys-devel/gcc #
sys-devel/gcc-4.3.2-r3
$ equery --quiet list '>=sys-devel/gcc-4' #
sys-devel/gcc-4.3.2-r3
$ equery check zilla
!!! No package found matching zilla
$ 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
$ 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)
$ 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 |
$ 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 |
# euse -E 3dfx
/etc/portage/make.conf was modified, a backup copy has been placed at /etc/portage/make.conf.euse_backup
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"
# euse -D 3dfx
/etc/portage/make.conf was modified, a backup copy has been placed at /etc/portage/make.conf.euse_backup
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.
|