Forums » Calculate Linux Desktop KDE »
Восстановление emerge
Added by Илья Еремеев over 16 years ago
Calculate CLD 10.0
Выполнил emerge portage, потом попытался запустить emerge и получил вот что:
calculate bin # emerge
Traceback (most recent call last):
File "/usr/bin/emerge", line 40, in <module>
retval = _emerge.emerge_main()
File "/usr/lib/portage/pym/_emerge/__init__.py", line 15464, in emerge_main
portdb = trees[settings["ROOT"]]["porttree"].dbapi
File "/usr/lib/portage/pym/portage/util.py", line 1117, in __getitem__
result = lazy_item.func(*pargs, **kwargs)
File "/usr/lib/portage/pym/portage/dbapi/porttree.py", line 1121, in __init__
settings["PORTDIR"], mysettings=settings)
File "/usr/lib/portage/pym/portage/dbapi/porttree.py", line 293, in __init__
self.auxdbmodule = self.mysettings.load_best_module("portdbapi.auxdbmodule")
File "/usr/lib/portage/pym/portage/__init__.py", line 2011, in load_best_module
mod = load_mod(best_mod)
File "/usr/lib/portage/pym/portage/__init__.py", line 171, in load_mod
mod = __import__(modname)
File "/usr/lib/portage/pym/portage/cache/sqlite.py", line 14, in <module>
from pysqlite2 import dbapi2 as db_module
ImportError: No module named pysqlite2
calculate bin #
То есть emerge не работает и не запускается. Как его починить/восстановить? Хорошо бы без переустановки системы.
Replies (7)
RE: Восстановление emerge
-
Added by Alexander Tratsevskiy over 16 years ago
Ну если emerge ещё собирать может, можно выполнить:
revdep-rebuild
Подробнее обновление системы описано здесь.
RE: Восстановление emerge
-
Added by Илья Еремеев over 16 years ago
Emerge уже ничего не может. Последнее, что он смог - emerge portage. После чего и перестал работать напрочь, выдавая при запуске вышеуказанные комменты.
Revdep-rebuild я уже пробовал, не помогает. Загрузиться с livecd и переписать оттуда emerge тоже пробовал, тоже безрезультатно. Или, может быть, неправильно списывал?
RE: Восстановление emerge
-
Added by Alexander Tratsevskiy over 16 years ago
Загрузитесь с livecd и выполните.
quickpkg portage
Бинарный файл пакета создастся по этому пути: /usr/calculate/share/packages/CLD/x86_64/
Перенесите его в систему.
После этого можно будет его установить либо при помощи emerge -K =категория/пакет-версия, либо простой распаковкой архива.
RE: Восстановление emerge
-
Added by Илья Еремеев over 16 years ago
Что было сделано:
- загрузился с LiveCD;
- запустил терминал;
- набрал и запустил "quickpkg portage";
- получил сообщение о том, что готовый результат лежит в /usr/calculate/share/packages/CLD/i686;
- запустил Midnight Commander и пошёл по указанному адресу;
- нашёл файл portage-2.1.6.13.tbz2, открыл его в MC, распаковал вложенные папки etc и usr на жёсткий диск с заменой старых файлов;
- закрыл все окна, дал команду на перезагрузку компьютера с HDD.
Что получилось:
calculate guest # emerge -h
Traceback (most recent call last):
File "/usr/bin/emerge", line 40, in <module>
retval = _emerge.emerge_main()
File "/usr/lib/portage/pym/_emerge/__init__.py", line 15464, in emerge_main
portdb = trees[settings["ROOT"]]["porttree"].dbapi
File "/usr/lib/portage/pym/portage/util.py", line 1117, in __getitem__
result = lazy_item.func(*pargs, **kwargs)
File "/usr/lib/portage/pym/portage/dbapi/porttree.py", line 1121, in __init__
settings["PORTDIR"], mysettings=settings)
File "/usr/lib/portage/pym/portage/dbapi/porttree.py", line 293, in __init__
self.auxdbmodule = self.mysettings.load_best_module("portdbapi.auxdbmodule")
File "/usr/lib/portage/pym/portage/__init__.py", line 2011, in load_best_module
mod = load_mod(best_mod)
File "/usr/lib/portage/pym/portage/__init__.py", line 171, in load_mod
mod = __import__(modname)
File "/usr/lib/portage/pym/portage/cache/sqlite.py", line 14, in <module>
from pysqlite2 import dbapi2 as db_module
ImportError: No module named pysqlite2
calculate guest #
То есть - то же самое. Emerge, как и раньше, при запуске выдаёт вот такой код с ошибками и прекращает работу.
Что же всё-таки делать?
RE: Восстановление emerge
-
Added by Alexander Tratsevskiy over 16 years ago
- 5.1 ImportError: No module named pysqlite2
RE: Восстановление emerge
-
Added by Илья Еремеев over 16 years ago
Да, действительно, инструкция помогла.
Собственно, стоило только закомментировать всего одну(!) строку в файле /etc/portage/modules (а там и была всего одна строка), и нормальная работа emerge восстановилась.
Ура, всё заработало!
Но обновлять питона по инструкции с сайта я не стал, вместо этого использовал с emerge опцию --pretend, получил информацию о необходимости установки связанных модулей, установил их и ОК.
Видимо, проблема с крахом emerge как раз в пропущенной мною опции --pretend. То есть, по идее, вместо emerge portage надо было набирать emerge --pretend portage.
Выводы: надо опцию --pretend вставить в emerge как обязательную по умолчанию. Пусть автоматически проверяет зависимости пакетов.
RE: Восстановление emerge
-
Added by Alexander Tratsevskiy over 16 years ago
(1-7/7)