Gentoo Logo

Reparando Instalaciones Rotas de Portage Manualmente

1.  Reparando 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 correr emerge sys-apps/portage. Aunque no es un procedimiento difícil, aún debe hacerse con extremo cuidado, por favor siga los pasos listados con exactitud (pero aplique sentido común cuando sea necesario).

Obteniendo 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.1.10.44 como ejemplo (ya que es la versión estable al momento de edición del documento), por favor reemplácelo con una versión presente 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.1.10.44.tar.bz2

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

Dependiendo de la razón exacta por la cual Portage haya dejado de trabajar, 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: Obteniendo el tarball de Portage con wget

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

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

Reemplazando la versión instalada

El próximo 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: Desempaquetando el tarball de Portage

# cd /root
# mkdir portage-recover
# cd portage-recover
# tar xfj /usr/portage/distfiles/portage-2.1.10.44.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: Reemplazando los archivos instalados

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

Si no está usando 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: Eliminando 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 manera 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 la metadata de los ebuilds al nuevo formato usado a partir de Portage 2.1. Está bien ejecutarlo incluso si no estás 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 correr 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: Recreando 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 la Lista de Problemas Comunes (en inglés) y mire también en bugzilla si el problema 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-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.