[root@serv bind]# find /lib -name libssl*
/lib/libssl.so.4
/lib/libssl.so.0.9.7a
Też zrobić symlinka do /lib/libssl.so.0.9.7a czy moze jest jakiś bardziej
elegancki sposób na ten problem ?
Pozatym zapomnialem jak znaleźć z jakiego pakietu jest ta biblioteka(ki)?
Bedę wdzięczny za podpowiedzi.
> Problem jest taki że od czasu instalacji najnowszego openssh rpm
> doczepial sie ze nie ma biblioteki libcrypto.so.5 Zainstalowałem bez tej
> biblioteki
Niech zgadnę: z opcją `--nodeps'? Jeśli tak, to nie dziw się, że nic potem
nie chce działać. Tego parametru w 99.9% nie powinno się w ogóle używać,
bo w rękach mało obeznanej osoby spowoduje pad systemu.
> a w internecie doczytalem żeby spróbować zrobic symlinka do biblioteki
W Internecie jest dużo różnych rzeczy, ale nie należy im wszystkim ufać.
Sporo osób piszących nie zna się na rzeczy i wypisują herezje.
Symlinki do bibliotek to jedna wielka fuszerka. Deweloperzy nie bez
przyczyny zmieniają SONAME bibliotek [1] (np. ze względu na zmiany ABI czy
API). Program może niby działać poprawnie z danym symlinkiem, ale
wystarczy wywołanie jednej określonej funkcji, by się wywalił.
> Od momentu dokonania symlinka wiele innych pakietow nie widzi tej
> biblioteki /lib/libcrypto.so.5 np:
> [root@serv bind]# rpm -Uhv
[ciach]
> [root@serv bind]# find /lib -name libssl* /lib/libssl.so.4
> /lib/libssl.so.0.9.7a
I co z tego, że są na dysku, skoro nie ma ich w bazie danych RPM? RPM nie
przegląda w ogóle dysku.
> czy moze jest jakiś bardziej elegancki sposób na ten problem ?
Po co aktualizowałeś OpenSSH i to na dodatek w taki sposób? Albo
przekompiluj src.rpm, by zadziałał ze starszym openssl, albo zaktualizuj
system do nowszej wersji.
[1] http://wiki.linuxquestions.org/wiki/Library-related_Commands_and_Files
--
http://faq.fedora.pl | http://forum.fedora.pl
http://wiki.fedora.pl/Hardware/BinarneSterowniki
http://openwengo.com/ - i Ty możesz pomóc zniszczyć niewolnego Skype'a ;)
"Po co aktualizowałeś OpenSSH i to na dodatek w taki sposób? Albo
przekompiluj src.rpm, by zadziałał ze starszym openssl, albo zaktualizuj
system do nowszej wersji."
jeszcze bardziej zdekoncentrowała mnie. Jedni mówia opieraj się na RPM drugi
mówi kompiluj.
A na dodatek zmień system.
PS: Gdyby to było takie proste w systemie niepracującym 24h/dobe to nie ma
problemy. bo nawet banki maja przerwy my niestety świadczymy usługi
24h/dobe.
Zmiana zyztemu owszem jest w planach ale nie z powodu braku jednej
biblioteki.
Może jednak ktoś wie co z ta biblioteką w jakim pakiecie się znajduje?
> A odpwiedź w stylu
>
> "Po co aktualizowałeś OpenSSH i to na dodatek w taki sposób? Albo
> przekompiluj src.rpm, by zadziałał ze starszym openssl, albo zaktualizuj
> system do nowszej wersji."
>
> jeszcze bardziej zdekoncentrowała mnie.
Hmm? Instalujesz RPM-y w jakiś dziwny sposób:
"Zainstalowałem bez tej biblioteki"
Czyli jak? Z `--force' albo `--nodeps'? Najprawdopodobniej paczka jest
jeszcze z jakiejś innej dystrybucji/wersji. Potem piszesz, że masz
problemy...
Pytanie odnośnie przyczyny aktualizacji OpenSSH wynika z faktu, iż
chciałem wiedzieć jaki jest błąd w wersji dystrybucyjnej.
> Jedni mówia opieraj się na RPM
Tak, ale na tych przeznaczonych dla własnej dystrybucji, a nie jakichś
innych. Jak nie ma takich jak Ci potrzeba, to robisz samemu albo
rekompilujesz już istniejące SRPM-y.
> drugi mówi kompiluj.
Nie chodziło Ci czasem o instalację przez `make install'? RPM-y też się
przecież kompiluje :-)
Instalacja przez `make install' to śmiecenie w systemie i powinno się
tego unikać. Nie ma pewności, że nie nadpiszesz jakichś innych plików
(błędy w Makefile'ach też się zdarzają). Bez systemu pakietowego i braku
zależności aktualizacja jakiejś biblioteki spowoduje pad zależnych od niej
programów.
> A na dodatek zmień system.
Nie "na dodatek" tylko "albo". Openssl w ogóle nie stara się o
posiadanie stabilnego ABI, więc po wydaniu nowszej wersji zmieniają oni
SONAME. Kończy się to rekompilacją bardzo wielu pakietów.
http://www.redhat.com/archives/fedora-devel-list/2005-November/msg00299.html
Tak jak Ci wcześniej napisałem, masz dwa rozwiązania:
a) rekompilować każdy nowy pakiet src.rpm, by linkował się ze starszą
wersją openssl. Robienie symlinków będzie wtedy zbyteczne.
b) zaktualizować system, bo tych pakietów zależnych od openssl jest duuużo
Skoro chcesz tylko nowsze OpenSSH i vsftpd, to ściągnij ich paczki SRPM i
je przebuduj.
W sumie to możesz sobie doinstalować tę paczkę ->
http://people.redhat.com/tmraz/openssl097f/ Niby powstała dla FC5, by
zapewnić kompatybilność z niektórymi paczkami dla FC4, ale na innych
dystrybucjach/wersjach też powinno działać (głowy sobie nie dam jednak
uciąć).
> PS: Gdyby to było takie proste w systemie niepracującym 24h/dobe to nie
> ma problemy. bo nawet banki maja przerwy my niestety świadczymy usługi
> 24h/dobe.
Na takim systemie się tak nie eksperymentuje :P
> Może jednak ktoś wie co z ta biblioteką w jakim pakiecie się znajduje?
Przecież napisałem nie wprost, że to openssl.
rpm -qf /lib/libcrypto.*
>> Może jednak ktoś wie co z ta biblioteką w jakim pakiecie się znajduje?
>
> Przecież napisałem nie wprost, że to openssl.
>
> rpm -qf /lib/libcrypto.*
>
To jak także hurtowo odpowiem na kilka twoich pytań. Paczka jest z FEDORE
rpm system to FEDORA więc nie ma mowy o nikompatybilnosci. zainstalowalem
wlasnie z paczki openssh no i czepial sie ze brakuje mu biblioteki do
uruchomienia po instalacji.
Po dokonaniu symlinka program sie uruchamia i wszystkie jak na razie opcje
dzialaja.
Tak wiec biblioteka ta nie moze pochodzic z tego pakietu openssh bo inaczej
bym ja zainstalowal.
[root@serv root]# rpm -qf /lib/libcrypto.*
openssl-0.9.7a-40
plik /lib/libcrypto.so.4 nie należy do żadnego pakietu
plik /lib/libcrypto.so.5 nie należy do żadnego pakietu
To bardzo ciekawe :D
Doinstalowałem nowszy openssl-0.9.7a-40 zrobilem vice versa czyli dodałem
link tym razem do brakujacej biblioteki libcrypto.so.4 i jak na razie hula
;)
Dzieki za info i podpowiedzi
> Paczka jest z FEDORE rpm system to FEDORA więc nie ma mowy o
> nikompatybilnosci.
Czy paczka jest dla tej samej *wersji* Fedory?
> zainstalowalem wlasnie z paczki openssh no i czepial sie ze brakuje mu
> biblioteki do uruchomienia po instalacji.
W normalnie utrzymywanym systemie takie coś jest niemożliwe. Nie
instalowałeś/usuwałeś wcześniej jakichś programów/bibliotek z opcją
`--nodeps' albo `--force'?
Jeśli to FC4 (w co wątpię, ze względu na wersję openssl), to zainstaluj
yum-utils i odpal:
package-cleanup --problems
Wyświetli Ci wszelkie problemy z zależnościami między pakietami.
> Po dokonaniu symlinka program sie uruchamia i wszystkie jak na razie
> opcje dzialaja.
Jak na razie... Wystarczy, że w openssl dodali jakiś nowy,
nieobowiązkowy element do struktury i kompatybilność ABI idzie się kochać.
Jeśli potem program skorzystał z takiej struktury, to albo się od razu
wywali, albo co gorsze funkcja otrzyma zupełnie inne dane. Wykonane
na nich operacje będą oderwane od rzeczywistości.
Może Ci się tylko wydawać, że wszystko działa poprawnie, bo odwołanie do
zmienionej funkcji czy jakiejś zmiennej może odbywać się bardzo rzadko.
Nie dziw się jednak, kiedy coś się wykrzaczy w najmniej oczekiwanym
momencie.
> Tak wiec biblioteka ta nie moze pochodzic z tego pakietu openssh bo
> inaczej bym ja zainstalowal.
Przecież pisałem, że jest z openssl :P
> [root@serv root]# rpm -qf /lib/libcrypto.* openssl-0.9.7a-40
> plik /lib/libcrypto.so.4 nie należy do żadnego pakietu plik
> /lib/libcrypto.so.5 nie należy do żadnego pakietu
>
> To bardzo ciekawe :D
Mhm. Pokaż co Ci wyświetli:
rpm -qa | grep openssl
rpm -qa | grep openssl | xargs rpm -V
> Doinstalowałem nowszy openssl-0.9.7a-40
Która to wersja Fedory? FC3? openssl-0.9.7a-40 nie jest wcale nowszy :P
Ten pakiet jest dziurawy. Tu masz nowszą wersję ->
http://sunsite.mff.cuni.cz/pub/fedora/updates/3/
Zresztą zamiast bawić się z tym wszystkim ręcznie, używaj yuma. Przy
bezpośrednim korzystaniu z rpm można się na przykład machnąć i
zainstalować paczkę i386 zamiast i686.
> Która to wersja Fedory? FC3? openssl-0.9.7a-40 nie jest wcale nowszy :P
> Ten pakiet jest dziurawy.
Skad wiesz ze jest dziurawy ?
Cieżko powiedzieć pierwotna instalacja wywodzi się z RH7.2 lub RH9.0
Obecnie wszystko "przerzeźbione" pod FEDORA4 UPDATE.
> Zresztą zamiast bawić się z tym wszystkim ręcznie, używaj yuma. Przy
> bezpośrednim korzystaniu z rpm można się na przykład machnąć i
> zainstalować paczkę i386 zamiast i686.
i tak wszystko praktycznie leci w paczkach i386 bo prawie nigdzie nie ma
paczek pod i686.
A jak są to jedynie 1 na 20 pakietow jakie mozna spotkać pod FEDORE a na
kompilacje wszystkiego nie mam czasu.
Gdyby mial yuma to pewnie bym go uzywał :D
próbuje własnie go zainstalować ale zalezności mnie dobijają :D
jak dojde do "końca" zależności to zaisntaluje ale jak na razie się na to
nie zanosi :D
[root@serv download]# rpm -Uhv db4-4.3.27-3.i386.rpm
perl-5.8.6-16.fc4.i386.rpm webalizer-2.01_10-28.i386.rpm
php-5.0.4-10.5.i386.rpm apr-util-0.9.6-2.i386.rpm sendmail-8.13.4-2.i386.rpm
cyrus-imapd-2.2.12-6.fc4.i386.rpm mod_perl-2.0.1-1.fc4.i386.rpm
httpd-2.0.54-10.2.i386.rpm python-2.4.1-2.i386.rpm
db4-devel-4.3.27-3.i386.rpm filesystem-2.3.4-1.i386.rpm
readline-5.0-3.i386.rpm mysql-4.1.15-1.FC4.1.i386.rpm
httpd-2.0.54-10.2.i386.rpm httpd-manual-2.0.54-10.2.i386.rpm
httpd-devel-2.0.54-10.2.i386.rpm mod_ssl-2.0.54-10.2.i386.rpm
mysql-server-4.1.15-1.FC4.1.i386.rpm php-ldap-5.0.4-10.5.i386.rpm
php-mysql-5.0.4-10.5.i386.rpm php-pear-5.0.4-10.5.i386.rpm
php-imap-5.0.4-10.5.i386.rpm apr-util-devel-0.9.6-2.i386.rpm
perl-BSD-Resource-1.24-3.i386.rpm
ostrzeżenie: db4-4.3.27-3.i386.rpm: V3 DSA signature: NOKEY, key ID 4f2a6fd2
ostrzeżenie: cyrus-imapd-2.2.12-6.fc4.i386.rpm: V3 DSA signature: NOKEY, key
ID 1ac70ce6
ostrzeżenie: package httpd = 2.0.54-10.2 was already added, replacing with
httpd <= 2.0.54-10.2
błąd: Failed dependencies:
libreadline.so.4 is needed by (installed) lftp-2.6.3-4
libreadline.so.4 is needed by (installed) ntp-4.1.2-0.rc1.2
libreadline.so.4 is needed by (installed) samba-client-2.2.7a-8.9.0
libreadline.so.4 is needed by (installed) kernel-utils-2.4-8.29
libreadline.so.4 is needed by (installed) ftp-0.17-17
libreadline.so.4 is needed by (installed) bc-1.06-12
libmysqlclient.so.10 is needed by (installed) dovecot-0.99.13-3.FC3
libmysqlclient.so.10 is needed by (installed)
perl-DBD-MySQL-2.1021-3
> [root@serv root]# rpm -q openssl
> openssl-0.9.7f-7.10
Chciałem żebyś pokazał wynik tego polecenia co podałem wcześniej. To co
wkleiłeś nie pokaże wszystkiego :P
> Skad wiesz ze jest dziurawy ?
[y4kk0@X tmp]$ rpm -qp --changelog openssl-0.9.7a-42.2.i686.rpm | head -20
* śro 12 paź 2005 Tomas Mraz <tm...@redhat.com> 0.9.7a-42.2
- fix CAN-2005-2969 - remove SSL_OP_MSIE_SSLV2_RSA_PADDING which
disables the countermeasure against man in the middle attack in SSLv2
(#169863)
- more fixes for constant time/memory access for DSA signature algorithm
- updated ICA engine patch
- install ca-bundle.crt as a config file
* sob 21 maj 2005 Tomas Mraz <tm...@redhat.com> 0.9.7a-42.1
- fix CAN-2005-0109 - use constant time/memory access mod_exp
so bits of private key aren't leaked by cache eviction (#157631)
* pią 19 lis 2004 Nalin Dahyabhai <na...@redhat.com> 0.9.7a-42
- rebuild
* pią 19 lis 2004 Nalin Dahyabhai <na...@redhat.com> 0.9.7a-41
- remove der_chop, as upstream cvs has done (CAN-2004-0975, #140040)
* śro 06 paź 2004 Phil Knirsch <pkni...@redhat.com> 0.9.7a-40
- Include latest libica version with important bugfixes
[y4kk0@X tmp]$
Czyli jak widać od wersji 0.9.7a-40 trochę błędów już załatali. Jak chcesz
być o wszystkim informowany, to zapisz się na listę fedora-announce-list.
> Cieżko powiedzieć pierwotna instalacja wywodzi się z RH7.2 lub RH9.0
> Obecnie wszystko "przerzeźbione" pod FEDORA4 UPDATE.
Wszystko "rzeźbisz" przez `rpm -Uvh'? Współczuję ;) Bez yuma jest to
katorżnicza robota :/
> i tak wszystko praktycznie leci w paczkach i386 bo prawie nigdzie nie ma
> paczek pod i686.
Tylko kilka paczek jest kompilowana pod i686 (glibc, kernel, openssl), bo
w nich różnica pomiędzy i386 a i686 jest widoczna. Tak więc, jeśli
zainstalujesz ich wersję i386, to będziesz miał znacznie wolniej
działający system :P
> A jak są to jedynie 1 na 20 pakietow jakie mozna spotkać pod FEDORE a na
> kompilacje wszystkiego nie mam czasu.
Większość pakietów i tak jest dostosowana pod pentium4, tyle, że
nie są wykorzystywane wszystkie instrukcje procesora (-march=i386
-mtune=pentium4).
> próbuje własnie go zainstalować ale zalezności mnie dobijają :D jak
> dojde do "końca" zależności to zaisntaluje ale jak na razie się na to
> nie zanosi :D
Powodzenia ;)