Glibc csereje futo rendszeren

Fórumok

Hali!

Az lenne a kerdesem, hogy hogy lehet egy futo rendszer glibc-jet lecserelni. Az rendben van, hogy a disztribuciok nagy reszet megcsinalja, de engem az erdekelne, hogy hogyan. Tehat peldaul ezt mindenfele csomagkezelo nelkuli rendszeren, parancssorbol hogy lehet megcsinalni? (Sima masolas tapasztalataim szerint fagyasztja a rendszert.)

By(t)e
TBS::Antiemes

Hozzászólások

(Sima másolás tapasztalataim szerint fagyasztja a rendszert.)

Nekem más tapasztalataim vannak :)

Ha úgy másolod, hogy a már létező libeket nyitod meg írásra, és tolod beléjük az új tartalmat, akkor a fagyás-elszállás szinte garantált.
Azt kell csinálni minden egyes lecserélendő fájl esetén, hogy ideiglenes névvel hozod létre, majd átnevezed (például mv paranccsal) a végleges nevére.
Ekkor ugyanis nem a régi (még használatban lévő) fájl változik meg, hanem újat hozol létre, és a régit is változatlan tartalommal megtartja a rendszer a rename művelet után egészen ameddig használatban van, de legfeljebb a következő rebootig (jóllehet a fájlrendszeren már nem érhető el, de memóriában még igen).
Természetesen minden említésre méltó csomagkezelő ilyen módon cseréli le a fájlokat újabb verziójú csomag telepítésekor.
Egyébként libc frissítés után reboot erősen ajánlott, ha másért nem, például azért, hogy meg tudj szabadulni a régi verziótól, és csak az egyik legyen benne a memóriában, ne fölöslegesen mindkettő.

Tudomásom szerint, használatban lévő binárist nem lehet írni. (Hozzáférés megtagadva lesz)
mv,cp (vagy bármi ami úgy openeli, hogy ha létezett akkor tölődik) hatására unlinkelődik a file, vagyis akik nyitva tartják a régit látják. Akik másolás után, közben nyitnak azok az újat. A régi file akkor szünik meg létezni, ha minden folyamat bezárta.

Csináld single-user módban.
It doesn't matter if you like my song as long as you can hear me sing