Умер emerge =(

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

Аватара пользователя
proDOOMman
Сообщения: 284

Умер emerge =(

Сообщение proDOOMman »

После перехода на новое ядро я долго пытался помирить ath5k и madwifi, в итоге они повздорили и намертво повесили машину. После хардресета на корневом разделе было обнаружено пару ошибок и понеслась...
Привычная команда emerge выдала:

Код: Выделить всё

Traceback (most recent call last):
  File "/usr/bin/emerge", line 18, in <module>
    retval = _emerge.emerge_main()
  File "/usr/lib/portage/pym/_emerge/__init__.py", line 13258, in emerge_main
    settings, trees, mtimedb = load_emerge_config()
  File "/usr/lib/portage/pym/_emerge/__init__.py", line 13086, in load_emerge_config
    settings = root_trees["vartree"].settings
  File "/usr/lib/portage/pym/portage/util.py", line 1080, in __getitem__
    return value_callable(*pargs, **kwargs)
  File "/usr/lib/portage/pym/portage/util.py", line 1064, in __call__
    self._value = self._callable(*self._pargs, **self._kwargs)
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 1328, in __init__
    settings=settings, vartree=self)
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 512, in __init__
    os.path.join(self.root, PRIVATE_PATH, "preserved_libs_registry"))
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 54, in __init__
    self.load()
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 60, in load
    self._data = cPickle.load(open(self._filename, "r"))
cPickle.UnpicklingError: invalid load key, 'W'.

Попытался поставить бинарный пакет portage, распаковав его вручную в /, не помогло. Опытным путем установил, что также глючат eix-sync, equery, ebuild, revdep-rebuild... Все в итоге жалуются на cPickle.UnpicklingError: invalid load key, 'W'
Это вообще лечится без переустановки генты?
Ubuntu LL x86 on Acer Extensa 5635G
Спасибо сказали:
Аватара пользователя
Палач
Сообщения: 624
Статус: ASUS Eee 1000HE
ОС: Gentoo ~x86 / Simply 5.0

Re: Умер emerge =(

Сообщение Палач »

хм... всегда перед экспериментами бакапы делаю.
Попробуйте stage3 распаковать, а потом emerge -e system
Спасибо сказали:
Аватара пользователя
BuriK666
Сообщения: 95
ОС: GNU/Linux Gentoo

Re: Умер emerge =(

Сообщение BuriK666 »

возьми stage3 распакуй куда-нибудь (например /tmp/stage3)
затем
mount -o bind / /tmp/stage3/mnt
mkdir /tmp/stage3/usr/portage
mount -o bind /usr/portage /tmp/stage3/usr/portage
chroot /tmp/stage3/
ROOT="/mnt" emerge -e system
Linux for you.
Спасибо сказали:
Аватара пользователя
proDOOMman
Сообщения: 284

Re: Умер emerge =(

Сообщение proDOOMman »

BuriK666 писал(а):
27.09.2008 12:43
возьми stage3 распакуй куда-нибудь (например /tmp/stage3)
затем
mount -o bind / /tmp/stage3/mnt
mkdir /tmp/stage3/usr/portage
mount -o bind /usr/portage /tmp/stage3/usr/portage
chroot /tmp/stage3/
ROOT="/mnt" emerge -e system

Спасибо! Прямо сейчас буду пробовать.
З.Ы.: а ведь была такая идея...
Ubuntu LL x86 on Acer Extensa 5635G
Спасибо сказали:
Аватара пользователя
Maximus_V
Сообщения: 432
ОС: Gentoo, FreeBSD

Re: Умер emerge =(

Сообщение Maximus_V »

proDOOMman писал(а):
27.09.2008 12:00
Попытался поставить бинарный пакет portage, распаковав его вручную в /, не помогло.

А зачем портежи в корень распаковывать? Их вроде в каталог /usr/portage надо бы кидать
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5492
ОС: Gentoo

Re: Умер emerge =(

Сообщение /dev/random »

Maximus_V писал(а):
27.09.2008 20:32
proDOOMman писал(а):
27.09.2008 12:00
Попытался поставить бинарный пакет portage, распаковав его вручную в /, не помогло.

А зачем портежи в корень распаковывать? Их вроде в каталог /usr/portage надо бы кидать

Речь не о дереве, а о sys-apps/portage
Спасибо сказали:
Аватара пользователя
proDOOMman
Сообщения: 284

Re: Умер emerge =(

Сообщение proDOOMman »

Еще раз спасибо. Emerge снова вернулся к жизни. Правда осталась одна проблема: он потерял свою память, т.е. не известно какие программы были установлены, а какие нет. Можно ли восстановить эти данные из логов?
Как вариант можно переустановить весь мир, но от этой идеи у меня мурашки по коже бегают. Да и мир был не свежий, много качать придётся, а инет у нас дорогой =(
Ubuntu LL x86 on Acer Extensa 5635G
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Умер emerge =(

Сообщение serzh-z »

proDOOMman писал(а):
29.09.2008 14:15
Можно ли восстановить эти данные из логов?
Нет.

Информация о установленных пакетах хранится в /var/db/pkg или где-то рядом, в зависимости от настроек.
Спасибо сказали: