YUM 由於庫遺失而崩潰

YUM 由於庫遺失而崩潰

我嘗試刪除庫存 Lua 並建立自己的 Lua,所以我嘗試了:

yum remove lua

但對包的依賴太多,不允許我刪除它,所以我使用 rpm 代替:

rpm -r --nodeps --force lua

它刪除了 Lua。然後我建造了自己的一個。然而,從現在開始,yum 崩潰了,每次我運行 yum(無論是 yum install 還是 yum list,或者只是 yum),它都會給我

error:There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   liblua-5.1.so: cannot open shared object file: No such file or directory

Please install a package which provides this module, or
verify that the module is installed correctly.

It's possible that the above module doesn't match the
current version of Python, which is:
2.7.3 (default, Aug  9 2012, 17:23:57) 
[GCC 4.7.1 20120720 (Red Hat 4.7.1-5)]

If you cannot solve this problem yourself, please go to 
the yum faq at:
  http://yum.baseurl.org/wiki/Faq

我什至無法安裝 lua,因為它不允許我運行。rpm也崩潰了:

rpm: error while loading shared libraries: liblua-5.1.so: cannot open shared object file: No such file or directory

我有一個版本的liblua-5.1.so,但是我嘗試將符號連結放在/usr/lib和/usr/local/lib中,它仍然給出這個錯誤。請幫忙...我不想重新安裝。

答案1

它看起來yum取決於特定版本盧阿庫共享物件檔案(liblua-5.1.so)。您在編譯自己版本的函式庫時使用的編譯標誌似乎不相容。

因此你應該確定你的架構 ( uname -m) 然後下載 luai686或者x86_64來自 Fedora 的軟體包並安裝它以rpm恢復yum到工作順序。


如果您無法使用,rpm請取得Fedora LiveCD/LiveUSB。您將chroot進入安裝並嘗試修復。這裡有一些指引

確定您的 Fedora / 位於哪個分區

sudo -i
blkid

掛載您的 Fedora 分割區

arch="i686"
mntDir="/mnt"
mount /dev/sdX# "$mntDir"
rpm -i lua-5.1.4-12.fc19.${arch}.rpm --prefix "$mntDir"

chroot 進入安裝

mount -t proc proc "${mntDir}/proc/"
mount -t sysfs sys "${mntDir}/sys/"
mount -o bind /dev "${mntDir}/dev/"
mount -t devpts pts "${mntDir}/dev/pts"
chroot "$mntDir" /bin/bash

調試安裝

yum --help

答案2

我遇到了同樣的問題。我的系統是CentOS 6。

解決方案:

  1. 找另一個沒有 yum 指令問題的 CentOS 6 系統。
  2. 找出哪裡是liblua-5.1.so.
$ whereis liblua-5.1.so
$ liblua-5.1: /usr/lib64/liblua-5.1.so
  1. 複製/usr/lib64/liblua-5.1.so到有問題的系統相同的路徑/usr/lib64/liblua-5.1.so

相關內容