Gentoo Logo

Reparar instalaciones rotas de Portage de forma manual

1.  Reparar Portage manualmente

Propósito

Esta sección tiene por fin ser una guía para actualizar o arreglar manualmente su instalación de Portage en casos en los que no pueda ejecutar emerge sys-apps/portage. Aunque no es un procedimiento difícil, debe hacerse con extremo cuidado. Por favor, siga los pasos listados con exactitud (pero aplique el, sentido común cuando sea necesario).

Obtener un tarball de Portage

Lo primero que debe hacer es obtener un tarball de una versión actualizada de Portage. En este documento usaremos portage-2.2.7 como ejemplo (ya que es la versión estable en el momento de edición de este documento), por favor, reemplácelo por la versión actual en el árbol Portage en la medida de lo posible.

Versión de Python Versión de Portage
<= Python 2.5 portage-2.1.6.tar.bz2
>= Python 2.6 portage-2.2.7.tar.bz2

Aviso: Si la versión de Python instalada y reportada por python -V es menor que la 2.6, entonces debe elegir una versión de Portage compatible con ésta. Si tiene por lo menos Python 2.6 entonces utilice portage-2.2.7.tar.bz2. Si tiene python 2.4 o 2.5 entonces utilice portage-2.1.6.tar.bz2.

Dependiendo de la razón exacta por la cual Portage haya dejado de funcionar, puede que aún sea posible usarlo para obtener el tarball, antes de nada trate de ejecutar emerge --fetchonly sys-apps/portage, solo si esto no funciona tendrá que obtener el tarball manualmente con:

Listado de Código 1.1: Obtener el tarball de Portage con wget

# wget -P /usr/portage/distfiles http://distfiles.gentoo.org/distfiles/portage-2.2.7.tar.bz2

Después de esto, el tarball debería estar disponible en /usr/portage/distfiles/portage-2.2.7.tar.bz2.

Reemplazar la versión instalada

El siguiente paso es desempaquetar el tarball en una localización temporal, usando /root/portage-recover como ejemplo, las órdenes a ejecutar serían:

Listado de Código 1.2: Desempaquetar el tarball de Portage

# cd /root
# mkdir portage-recover
# cd portage-recover
# tar xfj /usr/portage/distfiles/portage-2.2.7.tar.bz2

Una vez que haya hecho esto, es solo cuestión de reemplazar los archivos de Python y Bash de su sistema con los del tarball (en la mayoría de los casos). Para hacer eso, por favor, ejecute:

Listado de Código 1.3: Reemplazar los archivos instalados

# cd /root/portage-recover/portage-2.2.7
# rm -rf /usr/lib/portage/*
# cp -R pym bin /usr/lib/portage/

Si no está utilizando Gentoo en FreeBSD debería eliminar el guión envoltorio de sed, ya que éste no es necesario y se sabe que causa problemas con versiones antiguas de bash:

Listado de Código 1.4: Eliminar el guión envoltorio de sed

# rm -f /usr/lib/portage/bin/sed

Nota: Si accidentalmente desinstaló Portage o perdió /etc/make.globals por otras razones, debería también copiar cnf/make.globals de nuevo en /etc, de otra manera Portage se podría comportar de forma extraña.

Nota: Si la versión previa de Portage era menor que 2.1, debería ejecutar ahora emerge --metadata antes de continuar con el siguiente paso. Es necesario para convertir los metadatos de los ebuilds al nuevo formato usado a partir de Portage 2.1. Es correcto ejecutarlo incluso si no está seguro de la versión previa de Portage.

Ahora debería tener una instalación de Portage operativa de nuevo. Sin embargo, para asegurar la consistencia del sistema debería ejecutar emerge sys-apps/portage de inmediato.

Si recibe un mensaje de error como command not found al tratar de usar emerge, deberá recrear el enlace simbólico al mismo:

Listado de Código 1.5: Recrear el enlace simbólico a emerge

# ln -sf ../lib/portage/bin/emerge /usr/bin/emerge

Si estos pasos no funcionaron, es muy probable que no sea un problema de la instalación de Portage sino de otra cosa fuera del alcance de este documento. Por favor revise los Problemas comunes de portage y mire también en bugzilla por si el problema ya ha sido reportado.



Imprimir

Página actualizada 31 de mayo, 2007

Sumario: Este documento pretende ayudar a los usuarios a reparar manualmente una instalación rota de sys-apps/portage.

Marius Mauch

Sebastián Magrí
Traductor

José María Alonso
Traductor

Donate to support our development efforts.

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