Renuncia de responsabilidad:
Este manual ha sido sustituido por una versión más reciente y no tendrá
soporte de aquí en adelante.
|
[ << ]
[ < ]
[ Inicio ]
[ > ]
[ >> ]
1. Introducción al sistema Portage
Contenido:
1.a. Bienvenido a Portage
Portage es probablemente la más importante innovación de Gentoo en la gestión
de software. Debido a su potente flexibilidad y una gran cantidad de
funcionalidades, es frecuentemente apreciado como la mejor herramienta de
gestión de software disponible para Linux.
Portage esta completamente escrito en
Python y
Bash y, por tanto,
totalmente a la vista de los usuarios al ser ambos lenguajes interpretados.
La mayoría de usuarios trabajarán con Portage a través de la herramienta
emerge. Este capítulo no pretende duplicar la información disponible
en la página de man sobre emerge. Para una completa información sobre
las opciones de emerge, por favor, consulte la página del manual:
Listado de Código 1.1: Leer la página del manual sobre emerge |
$ man emerge
|
1.b. El árbol Portage
Ebuilds
Cuando hablamos sobre paquetes, nos referimos normalmente a programas
software disponibles para los usuarios de Gentoo a través del árbol Portage.
El árbol Portage es una colección de ebuilds, archivos que contienen
toda la información que Portage necesita para mantener el software
(instalar, buscar, ...). Estos ebuilds residen por defecto en
/usr/portage.
Cuando se pida a Portage que ejecute alguna acción relacionada con los
programas, éste utilizará los ebuilds de su sistema como base. Por tanto, es
importante que actualice los ebuilds de su sistema para que Portage conozca el
nuevo software, actualizaciones de seguridad, etc.
Actualizando el árbol Portage
El árbol Portage se actualiza normalmente con rsync, una utilidad rápida de
transferencia de archivos incremental. La actualización es muy sencilla,
ya que la orden emerge proporciona una interfaz para rsync:
Listado de Código 2.1: Actualizar el árbol Portage |
# emerge --sync
|
Si no es capaz de realizar rsync debido a restricciones de cortafuegos puede
actualizar su árbol Portage a través de nuestras tres imágenes de Portage
generadas diariamente. La herramienta emerge-webrsync
automáticamente comprueba e instala la última en su sistema.
Listado de Código 2.2: Ejecutar emerge-webrsync |
# emerge-webrsync
|
Una ventaja adicional de utilizar emerge-webrsync es que
permite al administrador descargar únicamente instantáneas del árbol
portage que están firmadas con la clave GPG del equipo de ingeniería
de versiones de Gentoo. Se puede encontrar más información sobre esto
en la sección Características de
Portage en
Obteniendo instantáneas
validadas del árbol Portage.
1.c. Mantenimiento de Software
Buscar software
Para buscar software utilizando el árbol de Portage, puede emplear
las funcionalidades de búsquedas propias de emerge. Por defecto,
emerge --search devuelve el nombre de los paquetes cuyo nombre
coincide (tanto total como parcialmente) con el término de búsqueda
introducido.
Por ejemplo, para buscar todos los paquetes que tengan "pdf" en su nombre:
Listado de Código 3.1: Buscar paquetes cuyo nombre tenga pdf |
$ emerge --search pdf
|
Si quiere buscar también en las descripciones puede utilizar el
parámetro --searchdesc (o -S).
Listado de Código 3.2: Buscar paquetes relacionados con pdf |
$ emerge --searchdesc pdf
|
Cuando eche un vistazo al resultado, notará que le proporciona mucha
información. Los campos son etiquetados claramente con lo cual
no entraremos en explicar sus significados.
Listado de Código 3.3: Ejemplo de salida de emerge --search |
* net-print/cups-pdf
Latest version available: 1.5.2
Latest version installed: [ Not Installed ]
Size of downloaded files: 15 kB
Homepage: http://cip.physik.uni-wuerzburg.de/~vrbehr/cups-pdf/
Description: Provides a virtual printer for CUPS to produce PDF files.
License: GPL-2
|
Instalar Software
Una vez que haya encontrado el nombre del software que necesite, puede
fácilmente instalarlo con emerge: simplemente añada el nombre
del paquete. Por ejemplo, para instalar gnumeric:
Listado de Código 3.4: Instalar gnumeric |
# emerge gnumeric
|
Muchas aplicaciones dependen unas de otras, esto implica que cualquier intento
de instalar un cierto paquete de software podría derivar en la instalación de
varias dependencias. No se preocupe. Portage maneja también las dependencias.
Si quiere conocer qué instalará Portage cuando le pida que instale un
cierto paquete, añada el parámetro --pretend. Por ejemplo:
Listado de Código 3.5: Simular la instalación de gnumeric |
# emerge --pretend gnumeric
|
Cuando le pida a Portage que instale un paquete, descargará las fuentes
necesarias desde Internet (si fuera necesario) y las guardará por defecto
en /usr/portage/distfiles. Después, el paquete será
descomprimido, compilado e instalado. Si quiere que portage solamente
descargue las fuentes sin instalarlas, añada la opción --fetchonly a
la orden emerge:
Listado de Código 3.6: Descargar el código fuente de gnumeric |
# emerge --fetchonly gnumeric
|
Encontrar la documentación de un paquete instalado
Muchos paquetes vienen con su propia documentación. Algunas veces, el
parámetro USE doc determina si la documentación debe instalarse o no.
Puede comprobar la existencia del parámetro USE doc con la orden
emerge -vp <nombre paquete>.
Listado de Código 3.7: Comprobar la existencia de del parámetro USE doc |
# emerge -vp alsa-lib
[ebuild N ] media-libs/alsa-lib-1.0.14_rc1 -debug +doc 698 kB
|
La mejor manera de activar el parámetro USE doc es por paquete,
por medio de /etc/portage/package.use, de manera que solo
obtendrá la documentación para los paquetes que le
interesan. Activando este parámetro de manera global puede causar
problemas con dependencias circulares. Para más información, por favor
lea el capítulo acerca de los
Parámetros USE.
Una vez que el paquete está instalado, su documentación se encuentra
normalmente en un subdirectorio llamado igual que el paquete, bajo el
directorio /usr/share/doc. También puede obtener un listado
de todos los archivos instalados con la herramienta equery la
cual es parte del paquete
app-portage/gentoolkit.
Listado de Código 3.8: Localizar la documentación de un paquete |
# ls -l /usr/share/doc/alsa-lib-1.0.14_rc1
total 28
-rw-r--r-- 1 root root 669 May 17 21:54 ChangeLog.gz
-rw-r--r-- 1 root root 9373 May 17 21:54 COPYING.gz
drwxr-xr-x 2 root root 8560 May 17 21:54 html
-rw-r--r-- 1 root root 196 May 17 21:54 TODO.gz
# equery files alsa-lib | less
media-libs/alsa-lib-1.0.14_rc1
* Contents of media-libs/alsa-lib-1.0.14_rc1:
/usr
/usr/bin
/usr/bin/alsalisp
|
Desinstalando Software
Cuando quiera desinstalar un paquete software de su sistema, utilice
emerge --unmerge. Esto le indicará a Portage que desinstale
todos los archivos instalados por el paquete en su sistema excepto
los archivos de configuración de esa aplicación si la había modificado
después de la instalación. Esto le permite continuar trabajando con
los mismos archivos de configuración si alguna vez decide volver a
instalar la aplicación.
Sin embargo, hemos de tener algo muy en cuenta: Portage
no comprueba si el paquete que está intentando desinstalar es necesario
para algún otro. A pesar de esto, le avisará cuando quiera eliminar un paquete
importante que pueda romper su sistema si lo desinstala.
Listado de Código 3.9: Desinstalar gnumeric del sistema |
# emerge --unmerge gnumeric
|
Cuando desinstala un paquete de su sistema, las dependencias de ese paquete
que se instalaron automáticamente cuando instaló el software, permanecerán.
Para hacer que Portage localice todas las dependencias que puede ser
eliminadas actualmente, utilice la funcionalidad de emerge
--depclean. Hablaremos de esto un poco más adelante.
Actualizando su Sistema
Para mantener su sistema en perfecto estado (sin mencionar la instalación
de los últimas actualizaciones de seguridad) necesita actualizarlo
frecuentemente. Partiendo de que Portage solamente comprueba los ebuilds
en su árbol Portage, lo primero sería actualizar el propio árbol. Cuando
tenga el árbol Portage actualizado, puede actualizar su sistema con
emerge --update world. En el siguiente ejemplo, además hemos utilizado
el parámetro --ask que le indica a Portage que muestre la lista de
paquetes que quiere actualizar y pregunte si se quiere continuar:
Listado de Código 3.10: Actualizar su sistema |
# emerge --update --ask world
|
Portage buscará entonces las nuevas versiones de las aplicaciones que
explícitamente haya instalado (las listadas
en /var/lib/portage/world), sin embargo, no revisa
minuciosamente sus dependencias. Si desea actualizar también esas
dependencias, añada la opción --deep:
Listado de Código 3.11: Actualizar su sistema incluyendo las dependencias |
# emerge --update --deep world
|
Aunque esto no indica todos los paquetes: algunos paquetes de
su sistema son necesarios durante los procesos de compilación y
construcción de los paquetes, pero, una vez que los paquetes se han
instalado, estas dependencias ya no se necesitan. Portage denomina
a éstas dependencias de construcción (build dependencies).
Para incluirlas en un ciclo de actualización, añada
--with-bdeps=y:
Listado de Código 3.12: Actualizar su sistema completamente |
# emerge --update --deep --with-bdeps=y world
|
Ya que las actualizaciones de seguridad también afectan a paquetes
que no han sido explícitamente instalados en el sistema (pero que
son dependencias de otros programas), es recomendable ejecutar
la orden de arriba de vez en cuando.
Si ha cambiado últimamente alguno de sus
parámetros USE quizá quiera
añadir también --newuse. Portage comprobará si los cambios
requieren la instalación de nuevos paquetes o la recompilación de los
existentes:
Listado de Código 3.13: Realizar una actualización completa |
# emerge --update --deep --with-bdeps=y --newuse world
|
Meta-paquetes
Algunos paquetes del árbol Portage no tienen contenido real pero son
utilizados para instalar un conjunto de paquetes. Por ejemplo, el paquete
kde-meta instalará un entorno KDE completo en su sistema incluyendo
varios paquetes relacionados con KDE y también sus dependencias.
Si quiere desinstalar dicho paquete de su sistema, ejecutando emerge
--unmerge sobre el paquete no tendrá efecto total ya que las
dependencias permanecerán en su sistema.
Portage tiene la funcionalidad de eliminar las dependencias huérfanas, pero
la disponibilidad de software necesita que primero actualice completamente
su sistema, incluyendo los nuevos cambios que ha aplicado si actualizó
los parámetros USE. Después de esto, puede ejecutar emerge --depclean
para eliminar las dependencias huérfanas. Cuando haya terminado, necesitará
reconstruir las aplicaciones que estuvieran enlazadas dinámicamente a las que
acaban de ser eliminadas pero no son necesarias.
Todo esto se lleva a cabo a través de tres órdenes:
Listado de Código 3.14: Desinstalar dependencias huérfanas |
# emerge --update --deep --newuse world
# emerge --depclean
# revdep-rebuild
|
revdep-rebuild es parte del paquete gentoolkit; no olvide
instalarlo primero:
Listado de Código 3.15: Instalar el paquete gentoolkit |
# emerge gentoolkit
|
1.d. Licencias
A partir de la versión 2.1.7 de Portage, puede aceptar o rechazar la
instalación de software basada en esta licencia. Todos los paquetes del
árbol contienen una entrada LICENSE en sus ebuilds. Ejecutando
emerge --search nombredepaquete le mostrará la licencia del paquete.
Por defecto Portage permite todas las licencias, excepto Acuerdos Finales
de la Licencia de Usuario (End User License Agreements o EULAs) que
requieren la lectura y firma de un acuerdo de aceptación.
La variable que controla las licencias permitidas es ACCEPT_LICENSE,
la cual puede ser ajustada en /etc/portage/make.conf:
Listado de Código 4.1: ACCEPT_LICENSE por defecto en /etc/portage/make.conf |
ACCEPT_LICENSE="* -@EULA"
|
Con esta configuración, los paquetes que requieren interacción durante la
instalación para aprobar su EULA no serán instalados. Los paquetes
sin una EULA serán instalados.
Puede ajustar ACCEPT_LICENSE globalmente en
/etc/portage/make.conf, o puede especificarlo en de forma
que afecte a solo un paquete en
/etc/portage/package.license.
Por ejemplo, si quiere permitir la licencia truecrypt-2.7 para
app-crypt/truecrypt, añada lo siguiente a
/etc/portage/package.license:
Listado de Código 4.2: Especificando una licencia truecrypt en package.license |
app-crypt/truecrypt truecrypt-2.7
|
Esto permite la instalación de versiones de truecrypt que tengan la
licencia truecrypt-2.7, pero no versiones con la licencia
truecrypt-2.8.
Importante:
Las licencias se almacenan en /usr/portage/licenses, y
los grupos de licencias se guardan en
/usr/portage/profiles/license_groups. La primera entrada
de cada línea en letras MAYÚSCULAS, es el nombre del grupo de
licencias, y cada entrada detrás de ésta es una licencia individual.
|
Los grupos de licencias definidos en ACCEPT_LICENSE se prefijan
con un signo @. Se muestra un ejemplo de un sistema que globalmente
permite el grupo de licencias compatibles, así como otros grupos y
licencias individuales:
Listado de Código 4.3: ACCEPT_LICENSE en /etc/portage/make.conf |
ACCEPT_LICENSE="@GPL-COMPATIBLE @OSI-APPROVED @EULA atheros-hal BitstreamVera"
|
Si quiere solo software libre y documentación en su sistema, debería usar
la siguiente configuración:
Listado de Código 4.4: Usar únicamente licencias libres |
ACCEPT_LICENSE="-* @FREE"
|
En este caso, "free" está definido por la FSF y la OSI. Cualquier paquete
cuya licencia no se ajuste a estos requisitos no será instalado en su
sistema.
1.e. Cuando Portage se queja...
Sobre SLOTs, paquetes virtuales, ramas, arquitecturas y perfiles
Como mencionamos anteriormente, Portage es muy potente y soporta muchas
características de las que carecen otras herramientas de gestión de
software. Para comprender esto, explicaremos unos cuantos aspectos de
Portage sin profundizar demasiado en los detalles.
Con Portage, diferentes versiones de un mismo paquete pueden coexistir en
un sistema. Mientras otras distribuciones tienden a renombrar el paquete con
sus versiones (por ejemplo freetype and freetype2). Portage
usa una tecnología llamada SLOTs (ranuras). Un ebuild declara un
cierto SLOT para su versión. Ebuilds con diferentes SLOTs pueden coexistir
en el mismo sistema. Por ejemplo, el paquete freetype tiene ebuilds
con SLOT="1" y SLOT="2".
También existen paquetes que proporcionan la misma funcionalidad pero
están implementados de maneras distintas. Por ejemplo, metalogd,
sysklogd y syslog-ng son todos paquetes de registro del
sistema. Aplicaciones que necesitan la disponibilidad de un "registrador
del sistema" no pueden depender, por ejemplo, de metalogd, ya que
el resto de registradores del sistema son igualmente válidos. Portage
permite virtuals: cada paquete de registro del sistema se lista
como una dependencia "exclusiva" del servicio de registro en el paquete
virtual logger de la categoría virtual, de esta forma las
aplicaciones pueden depender del paquete virtual/logger. Cuando
se instala el paquete, se obtendrá el primer paquete de registro
mencionado, a menos que ya se haya instalado previamente un paquete que
ofrezca el servicio (en este caso, la dependencia virtual ya está
satisfecha).
Los programas en el árbol Portage puede residir en diferentes ramas. Por
defecto, su sistema solamente acepta paquetes que Gentoo considera estables. La
mayoría de los paquetes nuevos, cuando son aceptados, ingresan en la rama
inestable. Esto implica que necesitan hacerse más pruebas antes de marcarlo
como estable. Aunque puede ver los ebuilds de ese software en su árbol de
Portage, Portage no los actualizará hasta que sean marcados como estables.
Algunos programas solo están disponibles para unas pocas arquitecturas. O los
programas no funcionan en otras arquitecturas, o necesitan más pruebas, o el
desarrollador que añade el programa a Portage no es capaz de verificar si el
paquete funciona en diferentes arquitecturas.
Cada instalación de Gentoo adhiere un cierto perfil el cual contiene,
entre otra información, la lista de paquetes necesarios para que el sistema
funcione normalmente.
Paquetes bloqueados
Listado de Código 5.1: Aviso de Portage sobre paquetes bloqueados (con --pretend) |
[blocks B ] mail-mta/ssmtp (is blocking mail-mta/postfix-2.2.2-r1)
|
Listado de Código 5.2: Aviso de Portage sobre paquetes bloqueados (sin --pretend) |
!!! Error: the mail-mta/postfix package conflicts with another package.
!!! both can't be installed on the same system together.
!!! Please use 'emerge --pretend' to determine blockers.
|
Los Ebuilds contienen campos específicos que informan a Portage sobre sus
dependencias. Hay dos posibles dependencias: dependencias de compilación,
declaradas en DEPEND y dependencias en tiempo de ejecución,
declaradas en RDEPEND. Cuando una de estas dependencias
marca explícitamente un paquete o paquete virtual como no compatible,
se dispara un bloqueo.
Aunque las versiones recientes de Portage son lo suficientemente
inteligentes para resolver los bloqueos de menor importancia sin necesidad
de la intervención del usuario, ocasionalmente necesitará resolverlo a mano
como se explica abajo.
Para solucionar un bloqueo, puede elegir no instalar el paquete o desinstalar
primero el paquete conflictivo. En el ejemplo anterior, puedes optar por no
instalar postfix o eliminar primero ssmtp.
También puede ocurrir que vea los paquetes en conflicto con operadores
lógicos concretos, como por ejemplo
<media-video/mplayer-1.0_rc1-r2. En este caso, actualizar
a la versión más reciente del paquete bloqueante debería eliminar el
bloqueo.
También es posible que dos paquetes que aún no se han instalado se estén
bloqueando mutuamente. En este caso (poco frecuente), se debería investigar
por que necesitamos instalar ambos. En la mayoría de los casos se puede
realizar con uno solo de los paquetes. Si no, por favor envíe un informe de
error al sistema de seguimiento de errores
de Gentoo.
Paquetes enmascarados (masked)
Listado de Código 5.3: Aviso de Portage sobre paquetes enmascarados |
!!! all ebuilds that could satisfy "bootsplash" have been masked.
|
Listado de Código 5.4: Aviso de Portage sobre paquetes enmascarados - razón |
!!! possible candidates are:
- gnome-base/gnome-2.8.0_pre1 (masked by: ~x86 keyword)
- lm-sensors/lm-sensors-2.8.7 (masked by: -sparc keyword)
- sys-libs/glibc-2.3.4.20040808 (masked by: -* keyword)
- dev-util/cvsd-1.0.2 (masked by: missing keyword)
- games-fps/unreal-tournament-451 (masked by: package.mask)
- sys-libs/glibc-2.3.2-r11 (masked by: profile)
- net-im/skype-2.1.0.81 (masked by: skype-eula license(s))
|
Cuando quiera instalar un paquete que no está disponible para su sistema,
recibirá un error de enmascaramiento. Debería probar a instalar una
aplicación distinta que este disponible para su sistema o esperar hasta
que el paquete este disponible. Siempre hay una razón para que un paquete
esté enmascarado:
-
~arch keyword implica que la aplicación no esta probada lo
suficiente para ser parte de la rama estable. Espere unos cuantos días
o semanas y vuelva a intentarlo.
-
-arch keyword o -* keyword implica que la aplicación
no funciona en su arquitectura. Si cree que el paquete funcionará, cree
un bug en nuestro sitio web
bugzilla.
-
missing keyword indica que la aplicación aún no ha sido probada
para su arquitectura. Pida al correspondiente equipo de arquitectura que
pruebe el paquete o pruébelo por ellos e informe de su experiencia en
nuestro sitio web bugzilla.
-
package.mask implica que el paquete se ha encontrado corrupto,
inestable o peor y ha sido marcada deliberadamente para que no se use.
-
profile implica que el paquete no está disponible para su perfil.
La aplicación podría romper su sistema si la instala o no es compatible
con el perfil que está usando.
-
license significa que la licencia del paquete no es compatible
con su ajuste ACCEPT_LICENSE. Debe permitir explícitamente su
licencia o grupo de licencias ajustándolo en
/etc/portage/make.conf o en
/etc/portage/package.license. Consulte Licencias para aprender cómo se gestionan las
licencias.
Cambios necesarios en los ajustes USE
Listado de Código 5.5: Advertencia de Portage acerca de cambios requeridos en los ajustes USE |
The following USE changes are necessary to proceed:
#required by app-text/happypackage-2.0, required by happypackage (argument)
>=app-text/feelings-1.0.0 test
|
También puede que se muestre el siguiente mensaje de error, si no se ha
habilitado --autounmask:
Listado de Código 5.6: Error de Portage acerca de cambios requeridos en los ajustes USE |
emerge: there are no ebuilds built with USE flags to satisfy "app-text/feelings[test]".
!!! One of the following packages is required to complete your request:
- app-text/feelings-1.0.0 (Change USE: +test)
(dependency required by "app-text/happypackage-2.0" [ebuild])
(dependency required by "happypackage" [argument])
|
Esta advertencia y error suceden cuando se quiere instalar un paquete
que no solo depende de otro paquete, sino que requiere que ese paquete
se haya construido con un ajuste USE en particular (o un conjunto de
ajustes USE). En el ejemplo dado, el paquete app-text/feelings
necesita construirse con USE="test", sin embargo, este ajuste
USE no está habilitado en el sistema.
Para resolver esta situación, puede añadir el ajuste USE requerido a
sus ajustes globales en /etc/portage/make.conf, o
definirlo específicamente para el paquete en
/etc/portage/package.use.
Dependencias perdidas
Listado de Código 5.7: Aviso de Portage sobre dependencias perdidas |
emerge: there are no ebuilds to satisfy ">=sys-devel/gcc-3-4.2-r4".
!!! Problem with ebuild sys-devel/gcc-3.4.2-r2
!!! Possibly a DEPEND/*DEPEND problem.
|
La aplicación que está tratando instalar depende de otro paquete que no
esta disponible para su sistema. Por favor, compruebe bugzilla para ver si el problema
se conoce o no, en este caso informe de ello. A menos que este mezclando
ramas esto no debería ocurrir y lo consideraremos un error.
Nombre ambiguo del Ebuild
Listado de Código 5.8: Aviso de Portage sobre nombre ambiguos en ebuild |
[ Results for search key : listen ]
[ Applications found : 2 ]
* dev-tinyos/listen [ Masked ]
Latest version available: 1.1.15
Latest version installed: [ Not Installed ]
Size of files: 10,032 kB
Homepage: http://www.tinyos.net/
Description: Raw listen for TinyOS
License: BSD
* media-sound/listen [ Masked ]
Latest version available: 0.6.3
Latest version installed: [ Not Installed ]
Size of files: 859 kB
Homepage: http://www.listen-project.org
Description: A Music player and management for GNOME
License: GPL-2
!!! The short ebuild name "listen" is ambiguous. Please specify
!!! one of the above fully-qualified ebuild names instead.
|
La aplicación que quiere instalar tiene un nombre que corresponde con más de
un paquete. Necesita aportar también el nombre de la categoría. Portage le
informará de los posibles casos entre los que puede elegir.
Dependencias Circulares
Listado de Código 5.9: Aviso de Portage sobre dependencias circulares |
!!! Error: circular dependencies:
ebuild / net-print/cups-1.1.15-r2 depends on ebuild / app-text/ghostscript-7.05.3-r1
ebuild / app-text/ghostscript-7.05.3-r1 depends on ebuild / net-print/cups-1.1.15-r2
|
Dos (o más) paquetes que quiere instalar dependen uno de otro y, por tanto,
no pueden instalarse. Esto casi siempre se considera un error en el árbol
Portage. Por favor, vuelva a sincronizar después de un tiempo e inténtelo de
nuevo. También puede comprobar bugzilla para saber si se tiene
conocimiento sobre el tema o si no, en cuyo caso informe sobre ello.
Fallo en la descarga
Listado de Código 5.10: Aviso de Portage sobre un fallo en la descarga |
!!! Fetch failed for sys-libs/ncurses-5.4-r5, continuing...
!!! Some fetch errors were encountered. Please see above for details.
|
Portage no es capaz de descargar las fuentes para una aplicación específica y
tratará de continuar instalando el resto de aplicaciones (si es posible). Este
fallo puede deberse a que un servidor réplica no esta bien sincronizado o a que
el ebuild apunta a una localización incorrecta. El servidor donde residen las
fuentes podría estar caído por alguna razón.
Pruebe después de una hora y vea si el problema persiste.
Protección del Perfil de Sistema
Listado de Código 5.11: Aviso de Portage sobre un paquete protegido por perfil |
!!! Trying to unmerge package(s) in system profile. 'sys-apps/portage'
!!! This could be damaging to your system.
|
Está intentando eliminar un paquete que es parte del fundamental de su sistema.
Éste se haya en su perfil y es necesario, por tanto, no debería ser eliminado
del sistema.
Errores en la verificación del digest
A veces, al intentar hacer emerge a un paquete, éste fallará, con el
siguiente mensaje:
Listado de Código 5.12: Falla en la suma de control |
>>> checking ebuild checksums
|
Esta es una señal que hay algún problema con el árbol Portage -- muchas
veces esto es porque un desarrollador ha cometido una equivocación al
ingresar un paquete en el árbol.
Cuando falla la verificación del digest, no intente
recalcularlo. El ejecutar ebuild foo manifest no va a resolver el
problema; seguramente ¡lo empeorará!
En lugar de esto, espere una o dos hora que el árbol estabilice. Es probable
que el error haya sido detectado enseguida, pero podrá tomar algún tiempo
para que propague la corrección al árbol Portage. Mientras espera,
revise Bugzilla a ver si
alguien ha reportado el problema, si no, siga adelante y archive un
"bug" reportando el paquete roto.
Una vez que compruebe que el error ha sido reparado, tal vez quiera
re-sincronizar para recoger la suma de control reparada.
Importante:
¡Esto no implica que vaya re-sincronizar su árbol Portage
múltiples veces! Tal como se establece en la directriz de rsync (al
ejecutar emerge --sync), los usuarios que sincronicen con
demasiada frecuencia ¡serán bloqueados! De hecho, es mejor esperar a su
próxima sincronización programada para no sobrecargar los servidores
rsync.
|
[ << ]
[ < ]
[ Inicio ]
[ > ]
[ >> ]
El contenido de este documento, a no ser que se especifique
expresamente, está registrado bajo los términos de la licencia
CC-BY-SA-2.5. Se aplican las
Pautas de
Utilización del logotipo y nombre de Gentoo.
|