你好我使用gentoo很长一段时间,并犯了这样的错误:我已经从系统中删除zlib包。 现在我的portage系统被破坏了:
# 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
正在工作时,再用emerge -av1 zlib
重新安装emerge -av1 zlib
。
预构build的二进制包可在http://tinderbox.dev.gentoo.org/上find – 下次遇到这样的问题时请检查一下。
另外,当你删除软件包时,我build议使用emerge -pv --depclean pkgname
因为如果事情依赖它的话,它不会让你取消合并。