Решая проблемы с конфеткой, urllib2, и недостающие зависимости?

Я пытался разрешить следующую проблему с конфеткой / urllib2 Python:

[root@...]# yum
Traceback (most recent call last):
  File "/usr/bin/yum", line 4, in ?
    import yum
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 51, in ?
    import config
  File "/usr/lib/python2.4/site-packages/yum/config.py", line 27, in ?
    from parser import ConfigPreProcessor
  File "/usr/lib/python2.4/site-packages/yum/parser.py", line 3, in ?
    import urlgrabber
  File "/usr/lib/python2.4/site-packages/urlgrabber/__init__.py", line 53, in ?
    from grabber import urlgrab, urlopen, urlread
  File "/usr/lib/python2.4/site-packages/urlgrabber/grabber.py", line 412, in ?
    import keepalive
  File "/usr/lib/python2.4/site-packages/urlgrabber/keepalive.py", line 339, in ?
    class HTTPSHandler(KeepAliveHandler, urllib2.HTTPSHandler):

AttributeError: 'module' object has no attribute 'HTTPSHandler'

Я пытался обновить Python, чтобы видеть, зафиксирует ли он библиотеку:

rpm -Uvh python-2.4.3-44.el5.x86_64.rpm

Но это ничего не изменило после перезагрузки, таким образом, я решил видеть то, что идет не так, как надо:

prelink -all
rpm -Va

Это приводит к БОЛЬШОМУ КОЛИЧЕСТВУ неудовлетворенных зависимостей:

Unsatisfied dependencies for gnome-panel-2.16.1-7.el5.i386: libpangocairo-1.0.so.0
Unsatisfied dependencies for gtkhtml3-3.16.3-1.el5.i386: libpangocairo-1.0.so.0
Unsatisfied dependencies for libgnomeui-2.16.0-5.el5.i386: libpangocairo-1.0.so.0
...
missing     /lib/libz.so.1
missing     /lib/libz.so.1.2.3
missing     /usr/lib/libz.so.1
missing     /usr/lib/libz.so.1.2.3
Unsatisfied dependencies for Nessus-4.4.0-es4.i386: libcrypto.so.4, libssl.so.4
...

Я не уверен, что обеспечивает libpangocairo-1.0.so.0, и ни один не rpm, таким образом, я запустил путем проверки того, что обеспечивает libz.so.1 и попытка обновить его:

[root@...]# rpm -q --whatprovides libz.so.1
zlib-1.2.3-4.el5.i386

[root@...]# rpm -Uvh --force zlib-1.2.3-4.el5.i386.rpm
Preparing...                ########################################### [100%]
   1:zlib                   ########################################### [100%]

После обновления, libz.so.1 и libz.so.1.2.3 все еще не существуйте под /usr или /usr/lib, и выполнение rpm -Va все еще сообщает о файлах как о пропавших без вести.

Когда я пытаюсь find / -name 'libz.so.1, единственные результаты находятся в /lib64 и /usr/lib64, которому я верю, прибывают из x86_64 версия пакета, который также установлен.

Как я должен продолжить двигаться?

1
задан 21 October 2011 в 20:51
1 ответ

Сегодня я столкнулся с этим на совершенно новой виртуальной машине CentOS 5.11. Я знаю, что эта ОС больше не "официально" поддерживается, но ... заказчики.

В моем случае я обновил openssl до 1.0.2m с openssl-0.9.8e-27.el5_10.4 по умолчанию. Я думал, что исправил (воссоздание) этих ссылок совместимости в моем spec-файле, но, видимо, упорядочение скриптлетов rpm снова укусило меня.

В / lib есть две символические ссылки, которые мне пришлось воссоздать:

# ln -s /usr/lib/libcrypto.so.1.0.0 /lib/libcrypto.so.6
# ln -s /usr/lib/libssl.so.1.0.0 /lib/libssl.so.6

После этого все было персиковым.

1
ответ дан 4 December 2019 в 01:22

Теги

Похожие вопросы