Проблема при запуске Squid

Столкнулся с проблемой старта Squid на RedHad Linux v.6.4. Squid просто не запускался.

При попытке запуска бинарника squid вот такой командой:

/usr/sbin/squid -N

Проявляется корень зла:

/usr/sbin/squid: relocation error: /usr/sbin/squid: symbol private_MD5_Init, version libcrypto.so.10 not defined in file libcrypto.so.10 with link time reference

Проверить кто предоставляет нужную библиотеку можно вот так:

yum provides */libcrypto.so.10

На выходе получаем список пакетов, в которых он есть. Ищем самый последний. В моем случае это openssl-1.0.1e-16.el6_5.4.x86_64

rpm -q --provides openssl v.1.0.1e| grep libcrypto.so.10

И получаем вот такой вот результат:

libcrypto.so.10()(64bit)  
libcrypto.so.10(OPENSSL_1.0.1)(64bit)  
libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit)  
libcrypto.so.10(libcrypto.so.10)(64bit)

Можем немножко порадоваться, тому что в составе пакета openssl-1.0.1e-16.el6_5.4.x86_64 библиотека libcrypto.so.10 имеет подпись. Но долго радоваться не придется - при попытке установки новой версии openssl система поругается на файлы, которые относятся к уже установленной версии:

Transaction Check Error:  
file /usr/lib64/libcrypto.so.1.0.1e from install of openssl-1.0.1e-16.el6_5.4.x86_64 conflicts with file from package openssl10-libs-1.0.1e-1.ius.el6.x86_64  
file /usr/lib64/libssl.so.1.0.1e from install of openssl-1.0.1e-16.el6_5.4.x86_64 conflicts with file from package openssl10-libs-1.0.1e-1.ius.el6.x86_64  
file /usr/lib64/openssl/engines/lib4758cca.so from install of openssl-1.0.1e-16.el6_5.4.x86_64 conflicts with file from package openssl10-libs-1.0.1e-1.ius.el6.x86_64  
file /usr/lib64/openssl/engines/libaep.so from install of openssl-1.0.1e-16.el6_5.4.x86_64 conflicts with file from package openssl10-libs-1.0.1e-1.ius.el6.x86_64  
file /usr/lib64/openssl/engines/libatalla.so from install of openssl-1.0.1e-16.el6_5.4.x86_64 conflicts with file from package openssl10-libs-1.0.1e-1.ius.el6.x86_64  
file /usr/lib64/openssl/engines/libcapi.so from install of openssl-1.0.1e-16.el6_5.4.x86_64 conflicts with file from package openssl10-libs-1.0.1e-1.ius.el6.x86_64  
file /usr/lib64/openssl/engines/libchil.so from install of openssl-1.0.1e-16.el6_5.4.x86_64 conflicts with file from package openssl10-libs-1.0.1e-1.ius.el6.x86_64  
file /usr/lib64/openssl/engines/libcswift.so from install of openssl-1.0.1e-16.el6_5.4.x86_64 conflicts with file from package openssl10-libs-1.0.1e-1.ius.el6.x86_64  
file /usr/lib64/openssl/engines/libgmp.so from install of openssl-1.0.1e-16.el6_5.4.x86_64 conflicts with file from package openssl10-libs-1.0.1e-1.ius.el6.x86_64  
file /usr/lib64/openssl/engines/libnuron.so from install of openssl-1.0.1e-16.el6_5.4.x86_64 conflicts with file from package openssl10-libs-1.0.1e-1.ius.el6.x86_64  
file /usr/lib64/openssl/engines/libpadlock.so from install of openssl-1.0.1e-16.el6_5.4.x86_64 conflicts with file from package openssl10-libs-1.0.1e-1.ius.el6.x86_64  
file /usr/lib64/openssl/engines/libsureware.so from install of openssl-1.0.1e-16.el6_5.4.x86_64 conflicts with file from package openssl10-libs-1.0.1e-1.ius.el6.x86_64  
file /usr/lib64/openssl/engines/libubsec.so from install of openssl-1.0.1e-16.el6_5.4.x86_64 conflicts with file from package openssl10-libs-1.0.1e-1.ius.el6.x86_64

Проблема в том, что на сервере уже были установлены пакеты

openssl  
openssl-devel  
openssl10-libs

Нужно удалить openssl10-libs. Если использовать yum - он вынесет из системы все зависимые пакеты. В моем случае - тонна пакетов nodejs. Для удаления пакетов без зависимостей используем rpm:

rpm --nodeps -e openssl10-libs

Устанавливаем новую версию openssl:

yum install openssl v.1.0.1e

Можем стартовать Sqid.

/etc/init.d/squid start

Проверяем или запустился:

netstat -tunlp |grep 3128

После бубнопляски вокруг пакетов, рекомендую проверить остальные:

yum check