upgrade glibc za chodu

Milan Kerslager milan.kerslager na pslib.cz
Sobota Květen 17 07:39:19 CEST 2003


On Sat, May 17, 2003 at 02:20:13AM +0200, Vaclav Dvorak wrote:
> Nazdar vespolek!
> 
> Zažil jsem zajímavý problém. Mám SuSE 8.1. Chtěl jsem upgradovat 
> rsync na verzi, co je v 8.2, jenže 8.2 má nové glibc (2.3 proti 2.2). 
> Tak jsem kromě rsyncu stáhnul i glibc a provedl upgrade. Měl jsem trochu 
> obavy, co se stane, když běžícím procesům pod rukama vyměním 
> základní knihovnu, ale zkusil jsem to a chvíli se zdálo, že je 
> všechno OK. Pak mi ale neodešel odesílaný email - sendmail ho vrátil s 
> hláškou, že host not found. Přitom ručně nslookupem se vše s 
> cílovou doménou a mailserverem zdálo být OK. [KMail se mimochodem 
> dokonce tvářil, jako že se nemůže spojit na SMTP na localhostu, když 
> telnetem to přitom šlo.] Restartoval jsem postupně sendmail i bind 
> (resolvuju přes bind běžící na localhostu), ale situace se nezměnila.

Puvodni soubory byly smazany (tj. odstraneny z adresare). Bezici
programy, ktere maji stare soubory otevrene a pristupuji na ne pomoci
deskriptoru puvodni data porad vidi (do sveho ukonceni). Data jsou z
disku uvolnena (tj. jsou uvolneny datove bloky pro nove data) az po
ukonceni posledniho programu, ktery ma ty puvodni otevrene.

Resenim vaseho problemu proto bylo restartovat vsechny programy, ktere
pouzivaji starou glibc, protoze takove programy budou mit problem s
forkem (nezapomente restartovat i init).

> Problém se vyřešil restartem. Jaksi v obecné rovině celkem chápu, co 
> se dělo, v abstraktním slova smyslu... :-) Ale zajímalo by mě to 
> konkrétněji. Co ještě dalšího mohlo být na vině v případě toho 
> sendmailu, když jak sendmail, tak i bind jsem restartoval a nepomohlo 
> to? (Ten KMail bych neřešil.)
> 
> Další věc je, že jsem ještě před tím restartem zkoušel udělat 
> zpátky downgrade na původní glibc, ale rpm sletělo na segmentation 
> fault. To se, bohužel, restartem nevyřešilo - při pokusu o upgrade 
> (nebo asi i čistou instalaci) čehokoli sletí. Až se k tomu počítači 
> příště dostanu, asi udělám rebuild rpm databáze (doufám, že nebude 
> celá v kýblu), ale nemáte k tomu někdo jiný poznatek?

Je otazka, proc slitne. To budete muset zjistit (treba pomoci strace).
RPM databazi ve /var/lib/rpm si muzete nekam ozalohovat.

Mozna budete mit v systemu i staticky linkovane rpm (/bin/rpm).

-- 
                        Milan Kerslager
                        E-mail: milan.kerslager na pslib.cz
                        WWW:    http://www.pslib.cz/~kerslage/


Další informace o konferenci Linux