Synaptic csomagkezelő - alkamazott változások előtti állapot visszaállítása

Fórumok

Sziasztok!

A szivattyú tárgya a következő:

Volt a gépemen egy Ubuntu 9.04. Októberben, mikor kijött a Karmic, kipróbáltam, de nekem nagyon nem jött be, úgy döntöttem, maradok a Jaunty-nál. Ugyanakkor volt a Karmic-ban egy-két dolog, ami nem hagyott nyugodni, mert frissebb verziójú volt, vagy jobban nézett ki, mint a Jaunty-s változat. A teljesség igénye nélkül: szebb dwww, OO.org 3.1 a 3.0 helyett, inkscape 0.47 a 0.46 helyett, KDE 4.3 a 4.2 helyett, stb...

Úgyhogy úgy döntöttem, felveszem a Synaptic-ban a 3rd party sources közé a Karmic tárolóit, és néhány dolgot upgrade-elek. Nagy rössel nekiálltam, és a fent említett komponenseket elkezdtem frissíteni. Persze, ahogy az lenni szokott, rángatták magukkal főleg az openoffice meg az inkscape a GTK-s függőségeiket, hogy akkor azokat is upgrade-elni kell, de akkor a GNOME-nak néhány részét is kénytelen voltam 2.26-ról 2.28-ra upgrade-elni. Ennek az lett a hatása, hogy amikor a menüben a Places -> Computer helyet próbáltam megnyitni, akkor az egész Nautilus összeomlott, eltűntek a munkaasztalról az ikonok, meg minden. Nem egy katasztrófa, terminálból indítva "nautilus &"-et, minden szépen visszajött, csak ez így akkor is módfelett idegesített. Na, gondoltam, semmi gond, majd akkor upgrade-elem az egész GNOME-ot 2.28-ra, és akkor ez megoldódik.

Itt kezdődött az igazi szívás. Mert ugyan csak a GNOME-ot akartam upgrade-elni, de az - főleg a GNOME VFS miatt - kezdte függőségként magával ráncigálni a Karmic-os HAL-t meg DBUS-t, meg az init scripteket, xsplash-t meg mindent, még az udev-et is!!! Magyarul egy desktop shell, a GNOME, annyira nem független a Karmic disztró alaprendszerétől, annyira össze van vele gyúrva, hogy ha csak a GNOME-ot akarom frissíteni, annak az eredménye, hogy behúzta magával függőségbe a Karmic egész alacsonyszintű komponenseit, amiket minősíteni nem szeretnék itt, viszont messziről el akartam kerülni.

A Linux-nak eddig pont a modularitása volt az egyik erőssége, azaz pl. magam választhatom ki a nekem tetsző desktop shell-t, ugyanazon a rendszeren van aki KDE-t szeret, van aki GNOME-ot, van aki meg XFCE-t. De ha egy GNOME frissítése az init-scriptek, sőt az udev szintjén akar a rendszerbe nyúlni, az már egy kicsit az M$ Window$ oprendszer és az Internet Explorer böngésző szétválaszthatatlan sziámi ikerpárszerű egymásba gabalyodására emlékeztet.

Mindenesetre a végeredmény, hogy lett egy félig Karmic, félig Jaunty torzszülöttem, ami marhára nem működik rendesen. A kérdésem pedig a következő:

A csomagkezelővel (synaptic) végeztem el kb. 3 lépésben a frissítéseket. A végeredmény, mint fent kifejtettem, felettébb nem tetszik. Lehet-e, és ha igen, akkor hogyan, 3 egyszerű gombnyomással visszavonni, "undo"-zni, visszacsinálni az ominózus 3 lépést? Eltárolja-e a synaptic valahol, hogy milyen változtatásokat eszközölt, milyen csomagokat szedett le, és miket tett fel helyettük egy adott lépés során? Ha igen, akkor ennek alapján meg tudja-e csinálni a művelet inverzét, azaz le tudja-e szedni, amit felrakott, és utána fel tudja-e rakni, amit leszedett? Ha igen, hogyan? Ha nem, miért nem?

Ennyi lenne...
Üdvözlettel,
Péter

Hozzászólások

Hello!

Azt már próbáltad hogy a 3rd party tárolókat kikapcsolod és apt-get update utána meg apt-get upgrade?Szívtam már meg így és evvel a régebbi verziókra vissza tudtam állni.Amúgy meg szerintem nem szerencsés a kevert rendszer mert az még annyira sem lehet stabil mintha a legfrisebb kiadásokat használod.

Üdv.

apt-get-tel nem, a synapticcal próbáltam, hogy 3rd-party sources kikapcs, majd a Preferences -> Distribution fülön preferált verziónak beállítottam a Jaunty-t, de ezután nem mutatott fel upgrade-elési lehetőséget, mert nyilván a telepített verziók magasabbak voltak, mint a Jaunty tárolóban lévők, azaz downgrade-elni kéne, nem upgrade-elni. Viszont ezeket a magasabb verziószámú telepített verziókat meg a Local/obsolete kategóriába sorolta. Ekkor próbálkoztam egyenként, rámenni az adott csomagra, majd Package -> Force Version menüponttal visszaállítani a Jaunty-s verziót. De akkor az meg sok esetben összeakadt a Karmic-os verziójú függőségeivel, és le akarta szedni az egészet, meg azontúl mindent, ami az adott csomagtól függ. Mondjuk pl. amikor a libc6-ot akartam visszaállítani 2.10-esről 2.9-esre, megőrült, mert volt fenn libc6-dev-ből 2.10-es, ami nyilván függ a libc6-2.10-től, és ezt csak úgy volt képes feloldani, hogy akkor mindkettőt leszedi, de ekkor, lévén hogy a libc6-tól minden függ, az egész rendszert legyalulta volna.

Most erre lehet azt mondani, hogy nyilván a libc6-ot kell utoljára visszaállítani, de én meg pont a függőségi fán való keserves, csomagonkénti visszamászást próbálnám elkerülni. Miért nem működhet úgy, hogy ha downgrade-elni-akarom pl. a libc6-ot, 2.10-ről 2.9-re, akkor automatikusan az összes tőle függő csomagot is downgrade-eli, ha muszáj (aminek a függősége úgy van megadva, hogy >= 2.9, az békén marad, aminek meg úgy van megadva, hogy =2.10, azt meg együtt downgrade-eli, a megfelelő csomag elérhető, hiszen "csak" 2 helyen van a szájába rágva, hogy hol a Jaunty-s tároló). Még ennél is egyszerűbb lenne, ha egy gombnyomással vissza lehetne állítani a legutóbbi stabil csomagegyüttest (mondjuk megjegyezné a mostani és a legutóbbi stabil állapot közti különbséget, ami nem változott, azt békénhagyná, ami változott, azt meg downgrade-elné a legutóbbi stabilra).

Csak én érzem úgy, hogy rettenetesen buta ez a synaptic, vagypedig a downgrade-elés tényleg ennyire nemtriviális a függőségek fa-topológiájának időtükrözési szimmetriasértése miatt?