Я попытался удалить стандартный 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.
Решение:
- Найдите другую систему CentOS 6, в которой нет проблем с командой yum.
- Найдите, где находится
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