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

RHEL6 установил неправильную версию rpmforge

Я установил не ту версию rpmforge для el7. Затем я запустил обновление, которое установило этот пакет в моей системе.

python-crypto-2.6.1-1.el7.rf.x86_64

Обратите внимание на el7, но я на rhel6. Затем я понял и удалил неправильный репозиторий и установил правильный для el6.

$ rpm -qa | grep rpmfor
rpmforge-release-0.5.2-2.el6.rf.x86_64

Но описанный выше процесс нарушил процесс обновления, который, как я знаю, можно обойти, используя --skip-broken вариант. Как мне перейти на более раннюю версию вышеупомянутого пакета. Я попытался удалить и снова установить его, но получаю эту ошибку:

Error: Trying to remove "c4ebpl", which is protected

Он показывает мне некоторые защищенные пакеты, которые нельзя удалить. Процесс обновления с использованием sudo yum update дает мне эту ошибку:

Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
           Requires: libgmp.so.10()(64bit)
Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
           Requires: libc.so.6(GLIBC_2.14)(64bit)
Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
           Requires: python(abi) = 2.7
           Installed: python-2.6.6-52.el6.x86_64 (@el66/$releasever)
               python(abi) = 2.6
Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
           Requires: libpython2.7.so.1.0()(64bit)
 You could try using --skip-broken to work around the problem

Кто-нибудь знает, как перейти на исходные пакеты? Есть ли способ сбросить настройки до заводских? Или мне снова нужно переустановить linux?

Некоторые вещи, которые я пробовал: я удалил python-crypto.x86_64 пакет с помощью этой команды

sudo rpm --nodeps -e python-crypto.x86_64

И обновление прошло. Поэтому я подумал, что нужно установить python-crypto.x86_64package сейчас, так как у меня есть правильный репозиторий el6 rpmforge. Итак, я выполнил эту команду sudo yum install python-crypto.x86_64 но у меня такая же ошибка:

Resolving Dependencies
--> Running transaction check
---> Package python-crypto.x86_64 0:2.6.1-1.el7.rf will be installed
--> Processing Dependency: python(abi) = 2.7 for package: python-crypto-2.6.1-1.el7.rf.x86_64
--> Processing Dependency: libc.so.6(GLIBC_2.14)(64bit) for package: python-crypto-2.6.1-1.el7.rf.x86_64
--> Processing Dependency: libpython2.7.so.1.0()(64bit) for package: python-crypto-2.6.1-1.el7.rf.x86_64
--> Processing Dependency: libgmp.so.10()(64bit) for package: python-crypto-2.6.1-1.el7.rf.x86_64
--> Finished Dependency Resolution
Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
           Requires: libgmp.so.10()(64bit)
Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
           Requires: libc.so.6(GLIBC_2.14)(64bit)
Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
           Requires: python(abi) = 2.7
           Installed: python-2.6.6-52.el6.x86_64 (@el66/$releasever)
               python(abi) = 2.6
Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
           Requires: libpython2.7.so.1.0()(64bit)
 You could try using --skip-broken to work around the problem

Я не знаю, почему он пытается найти пакет el7? У меня есть эти библиотеки на моей машине.

$ rpm -qa | grep rpmfor
rpmforge-release-0.5.3-1.el7.rf.x86_64

Для начала нужно установить правильный rpmforge-release пакет. Скачайте и используйте rpm -U --oldpackage чтобы установить его поверх неправильного пакета.

Во-вторых, вам нужно очистить кешированные метаданные yum, которые у него были. Использовать yum clean all избавиться от всего.

В-третьих, используйте yum distro-sync чтобы понизить версию любых пакетов, которые были установлены для неправильного дистрибутива. (И обратите внимание, что это также обновит любые устаревшие пакеты.)