Er - idő gép kötegelt adatbázis - harmatpont blog

Sok fejlesztő és kíváncsi felhasználó gyakran szembesül az újonnan telepített csomagok visszaállításának szükségességével, amelyek bevezetett néhány nem várt frissítést a rendszerükbe. Ez általában akkor történik, amikor a csomagokat nem hivatalos forrásokból telepítik, a tárolók tesztelésétől vagy egyszerűen a magán fejlesztői tárolókból és a csomagokból álló csomagokból, amelyek csak tesztelési célokat szolgálnak. Ez utóbbi különösen fontos a QA csapatunk számára - gyakran tesztelniük kell a telepített csomagokat.

A visszahúzó csomagok manuálisan nem túl kényelmesek, különösen, ha sok van, és nem vagy teljesen biztos benne, hogy pontosan mit kell visszahúzni, hogy visszatérjen a rendszer normális állapotába. A segítség eljöhet az urpm-reposync-nek. de ez az eszköz túl nagy teljesítményű - végrehajtja a rendszer teljes szinkronizációját a csatlakoztatott adattárakkal, és nehézségekbe ütközik a csomagok csak egy részét visszaszorítani.

A jó hír most a csomagok kézi visszaállítása és a reposync használata az urpmi.recover segédprogrammal teli. Le tudja visszafordítani a telepített csomagokat. Az Urpmi.recover visszaállíthatja a tételes adatbázist egy adott időpontban lévő állapotba, vagy visszaállíthat egy meghatározott számú tranzakciót a csomagok telepítéséhez.

Az Urpmi.recover része az urpmi csomagnak, és frissítésekkel automatikusan bekerül a rendszerbe.

A csomagok ilyen visszaállításának végrehajtásához az urpmi.recover a / var / spool / repackage könyvtárban tárolja a frissített csomagok régi verzióit. A segédprogram használatának megkezdéséhez először meg kell kezdeni a csomagok korábbi verzióinak megőrzését a parancs futtatásával

Ezzel a paranccsal valahogy így szól: "Most van egy stabil rendszerem, de potenciálisan veszélyes csomagokat telepítek. Kérjük, kövesse nyomon az összes telepített csomagot, és frissítés esetén tartsa meg korábbi verzióit. "

Ezt a parancsot a jövőben is végrehajthatja, hogy felülbírálja a rendszer stabil állapotát. Így minden alkalommal, amikor az urpmi.recover --checkpoint hívja a / var / spool / repackage könyvtárat törli, így nem tud visszalépni egy korábbi dátumra.

A csomag telepítése és a frissítés követése engedélyezve van, a csomagok régebbi verziói a / var / spool / repackage alkönyvtárakban tárolódnak. amely a frissítés dátumának felel meg, így Ön mindig meg tudja tanulni ezeket a csomagokat.

Ha egy időben úgy döntesz, hogy ideje visszafordítani a rendszert, egyszerűen futtassa a parancsot

A visszahúzási idő megadható másodpercekként az Epoch kezdete óta, de az emberek számára sokkal kényelmesebb lehetőségek állnak rendelkezésre, például:

A meghatározott tranzakciók számát visszaforgathatja az opció - tranzakciók és tranzakciók számának átengedésével - az opció visszagörgetéséhez.

Különösen, ha csak telepített egy csomagot (ami egy csomó függőséget húzott), akkor egyszerűen visszaállíthatja ezt a frissítést futtatásával

Végül használhatja a parancsot

Ez a parancs a / var / spool / repackage-t is törli.

Tehát az urpmi.recover használatával visszaállíthatja a tételes adatbázis állapotát. A segédprogram kísérleti állapotban van és nincsenek hibák, teszteljük a saját veszélyt és kockázatot :). Visszatérés előtt azonban az urpmi.recover megmondja, hogy pontosan mit fog csinálni (mely csomagokat kell eltávolítania, mit kell visszavonni), és lehetősége lesz megtagadni, ha nem szeretsz valamit. Végül, amely esetben az urpm-reposync kész segíteni.

Ne felejtsük el, hogy a karbantartók nem mindig érdekelnek a csomagok korábbi verzióihoz való helyes visszaállításának biztosításához - tehát ha a csomag új verziója valami hibát okozott a rendszerben, akkor a régihez való visszatérés esetleg nem segít.