Назад | Перейти на главную страницу

gentoo zlib удален = портеж поврежден

Здравствуйте, я использую gentoo не давно и сделал такую ​​ошибку: я удалил пакет zlib из системы. Моя система портежей повреждена:

# emerge --sync
Traceback (most recent call last):
  File "/usr/bin/emerge", line 36, in <module>
    from _emerge.main import emerge_main
  File "/usr/lib64/portage/pym/_emerge/main.py", line 41, in <module>
    from _emerge.actions import action_config, action_sync, action_metadata, \
  File "/usr/lib64/portage/pym/_emerge/actions.py", line 44, in <module>
    from _emerge.depgraph import backtrack_depgraph, depgraph, resume_depgraph
  File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 40, in <module>
    from _emerge.FakeVartree import FakeVartree
  File "/usr/lib64/portage/pym/_emerge/FakeVartree.py", line 11, in <module>
    from portage.dbapi.vartree import vartree
  File "/usr/lib64/portage/pym/portage/dbapi/vartree.py", line 56, in <module>
    import re, shutil, stat, errno, copy, subprocess
  File "/usr/lib64/python2.6/subprocess.py", line 430, in <module>
    import pickle
  File "/usr/lib64/python2.6/pickle.py", line 1258, in <module>
    import binascii as _binascii
ImportError: libz.so.1: cannot open shared object file: No such file or directory

Как я могу переустановить пакет zlib и восстановить систему?

обновлено

Задача решена. Я скопировал объектный файл /lib/libz.so.1 с другой машины, а затем я могу бежать emerge и установить zlib упаковка обычным способом.

Благодаря PowerSp00n

Теоретически вы можете скачать файл stage3, используемый для установки, и восстановить недостающие файлы. когда emerge снова работает переустановите zlib с участием emerge -av1 zlib.

Готовые бинарные пакеты доступны на http://tinderbox.dev.gentoo.org/ - проверьте это в следующий раз, когда столкнетесь с такой проблемой.

Также, когда вы удаляете пакеты, я предлагаю использовать emerge -pv --depclean pkgname потому что он не позволит вам развязать пакет, если от него все зависит.