我嘗試刪除庫存 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。
解決方案:
- 找另一個沒有 yum 指令問題的 CentOS 6 系統。
- 找出哪裡是
liblua-5.1.so
.
$ whereis liblua-5.1.so
$ liblua-5.1: /usr/lib64/liblua-5.1.so
- 複製
/usr/lib64/liblua-5.1.so
到有問題的系統相同的路徑/usr/lib64/liblua-5.1.so