Rpm útmutató az
RPM - Red Hat Package Manager, egy szoftver rendszert az élő és fejlődő mélyén Red Hat. Van is egy rekurzív definíció RPM stílusában GNU nem Unix - RPM csomagkezelő. Ha ezt a lehetőséget választja, akkor írj egy „élő és fejlődő gyomrában Open Source». Általában valaki így. Ha fáj a hivatalos oldalon, RPM GPL alatt licencelt v.2.
Érdekünk ebben a rendszerben, mivel létezik egy sor rpm-alapú disztribúció, vagyis a disztribúció, a gyűjtemény rpm-csomagok kapcsolódó függőségek összhangban legyen a szükséges szerelési-támogatási mechanizmusok. Szolgáltatók közötti rpm-alapú operációs rendszerek - osestroeniya támogatások, mint például a rendkívül Red Hat, Suse (Novell alrovat), Mandrake és sok más projekt, és hosszú életű és mulandó.
És az összetétel szerinti eloszlás, valamint egyedi fejlesztési álló nagyszámú grafikus eszközök-frontends rpm. Azáltal, elhallgatás, mint oly gyakran megtörténik, néhány jellemzője a csomagolási rendszer működik ezek az eszközök, nem vesszük figyelembe. Ezen túlmenően, a legtöbb esetben, a munka a konzol képest rpm-csomagok sokkal egyszerűbb és átláthatóbb (kivéve összetett kombinációi különböző változatai a függőségek más programok).
Ez a cikk megpróbálja vizsgálja fontos témákat, mint például a méret rpm segédprogram parancsokat, a csomag mérete és spec-fájl, csomagolás szerelési sorrendben, és szinte nem befolyásolja az építészet, az RPM, mint a rendszergazdák ezeket a részleteket nem fontos, és a fejlesztők elsősorban felületek, mint például a könyvtárak librpm. Ezért a legjobb hagyományait lásd „érdekel, hogy” hogyan működik a forráskódban.
Annak vizsgálatára, a fordulatszám (RPM nem) a szükséges szerszámok Midnight Commander. Őszintén szólva, nehéz elképzelni, hogy egy fejlesztő rpm-csomagot, amely nem használja az mc. Ennek oka a beszélgetés tovább. A további feltételeket említhetjük bizonyos mennyiségű szabadidő és türelem.
A példák fut az operációs rendszer SUSE Linux 10.0.
A felületes szemlélő.
Mivel rpm szükségtelenné teszi, hogy az összes adatot a telepített operációs rendszer kell egy olyan mechanizmust, amely elvégzi ezeket a feladatokat a csomagkezelő. És ez: egy adatbázis rpm. A változatok alatt v.4 adatbázis motor statikusan megy a csomagban, v.4 használ külső BDB (Berkeley Data Base). A program rendelkezik egy magas szintű irányító felület, amely lehetővé teszi a lekérdezéseket az adatbázis a telepített csomagok és függőségek.
Tehát folytassa a példákat. Utility rpm működhet különböző üzemmódokban, mód van beállítva parancs alapvető gombot. Ezen kívül számos lehetőség, működő bármelyik módban.
utasítást használt formátumot csomag telepítése:
# Rpm -i <имя пакета>
És itt állunk szemben az első hátrány, hiszen a csomag nevét kell megadni a teljes, annak minden változata és buildszámmal. Az a tény, hogy a típus egyszerűen megkeresi a megadott elérési utat a fájl neve, így a neve pontosan meg kell egyeznie. Például az én rendszert telepíteni mc kell mondani, a következő (feltételezve, hogy a rendelkezésre álló superuser):
# Rpm -i / tároló path / mc-4.6.1-5.i586.rpm
De ahhoz, hogy távolítsa el a csomagot, akkor adja meg a csomag egyszerűen mc, mint ebben az esetben, a segédprogram már használja a csomag adatbázis:
Üzemeltetéshez a csomagok frissítéséhez módban -U gombot. Ha szeretne telepíteni egy külön változata a csomag, nem feltétlenül kell kideríteni, hogy a korábbi verziója a csomag elérhető a rendszerben, használjon -U elég. Utility Elérhető frissíteni, ennek hiányában a csomagolás - telepíteni. Ezért a legelterjedtebb a lehetőség a setup parancs, mint ez:
# Rpm -Uhv / tároló path / mc-4.6.1-5.i586.rpm
vagy egy távoli repository:
# Rpm -Uhv ftp: // Ivanov: [email protected]: 7020 / tároló path / mc-4.6.1-5.i586 .rpm
Két másik érdekes mód: ellenőrzés és lekérdezési mód. Hogy értékelje a telepített csomagokat ellenőrző funkciókat, hogy a következő kísérletet: a kárt a kép egy bizonyos csomagot és ellenőrizze, hogy a fordulat.
Például szinte mindig a parancsok listáját / bin könyvtárban az első ív egy futtatható fájl. Ez a segédprogram információkat jelenít meg a processzor a rendszer a standard kimenetre. Tanulni a csomagot a fájl, használja a lekérdezési mód, amelyben az rpm indítjuk a -q gombot. Az -f opció megkérdezi, hogy mi a csomag tartalmazza ezt a fájlt:
Most hozzunk létre egy biztonsági másolatot a program, majd adja hozzá a fájlt egy karaktert:
# Cp / bin / arch / bin / arch_back
# Echo "1" >> / bin / arch
Ezt követően a csomag ellenőrzési mechanizmust kell tájékoztatni bennünket a jelenlegi problémákat:
# Rpm -V util-linux-2.12q-26
A vonal kimenet van néhány karakter előtt a csomag fájl neve (ha az ellenőrzés sikeres, és nem sérült meg, a visszavonás nem lesz), amelyek jelzik a hiba természetét. Ebben az esetben, s ez a változás a fájl mérete, 5 - megsértése md5 aláírás fájl, T - váltás az utolsó módosítás ideje (azaz az időben átmásolni a fájlt a rendszer ebben az esetben).
Állítsa vissza a fájlt, és újra ellenőrizni:
# Mv / bin / arch_back / bin / arch
# Rpm -V util-linux-2.12q-26
Úgy látjuk, hogy minden van jó, kivéve az utolsó módosítás a fájl / bin / arch, amely megfelel a másolat vissza az időben. Ez az információ segít a rendszergazdák néhány probléma és csomagok - jelöltek újratelepítés.
Speciális funkciók.
Emellett mód, rpm nagy haszna van sok lehetőség, amelyek közül néhány kötődnek egy adott módot más jelentése a néhány mód, vagy az összes. Néhány példa a gyakran használt beállítások.
Az üzemmód-beállítás-eltávolítás gyakran alkalmazásának szükségességét lehetőségek --nodeps vagy --force. Az első lehetővé teszi, hogy telepíteni (eltávolítás) csomag nem mindegy, hogy elégedett minden tőle függ, a második - telepíteni egy csomagot is, ha a rendszer újabb változatát fájlokat. Néhány érdeklődés --aid opció, amely automatikusan teljesíti felmerülő függően --test és ez azt jelenti, az ügyletek vizsgálata, azaz az összes kimenet felmerülő kérdéseket fognak végezni, de nem készült valódi műveleteket. Ez nagyon kényelmes, hogy szimulálja a rendszer károsodásának következtében semmilyen intézkedést.
Nagy gyűjteménye képességeket biztosít lekérdezési mód lehetőséget. Körülbelül a csomagot, és a fájlokat, akkor kap szinte minden információt egy rövid utalás a csomag (kombinációja -Qi billentyűk) és egy csomag fájl lista (-ql), és befejezve értéke néhány szolgáltatás mezők bináris csomag fejléc. Ezeket a lehetőségeket kialakítható vagy a megfelelő szűrők billentyűkkel vagy --queryformat opció, amely lehetővé teszi, hogy levezetni csak a megrendelt szolgáltatás területén. Például a parancs
# Rpm -q --queryformat% <имя пакета>
megjeleníti a leírást a csomag és a csapat
# Rpm -q --queryformat% <имя пакета>
- a név a forgalmazás, amelyben a készítmény egy csomagot. És cseréje -q -C ^ hogy ugyanazt az információt, hogy az rpm-fájl nincs megadva, a csomagkezelő rendszer. Tudod kap egy listát csak a csomag konfigurációs fájl, vagy csak dokumentációs fájlokat, vagy csak a fájlokat nevét tartalmazó egy reguláris kifejezés, hogy van, elvileg semmit.
Nagyon gyakran (lustaság - a motor a haladás) használt lekérdezések, amelynek kimenete továbbítódik a külső szűrőket. Például egy kérelmet az összes telepített fájlt átirányítja a grep, segítsen megtalálni egy csomagot a megadott néven, vagy olyan név, amely tartalmazza a megadott karaktersorozatot. csapat
# Rpm -qa | grep mc
megjeleníti a csomagok listáját, nevek talált mc kombinációja, és a csapat
# Rpm -qa | grep ^ mc
csomagok listája, akiknek a neve kezdődik mc.
Helyhiány miatt nem foglalkozunk ilyen egzotikus, de fontos lehetőség a fejlesztő számára, mint --showrc, amely lehetővé teszi, hogy megjelenítse a fájlok tartalmát, szkriptek és makrók rpmrc fájlok és makrók a szabványos kimenetre, vagy egy fájlt, és még sokan mások. Meg kell jegyezni, hogy a fordulat jön egy részletes dokumentációt, ember.
Mi van benne.
Néhány szó arról, hogy mi történik a folyamat a telepítés és eltávolítás a csomagot. Mint már említettük, rpm automatizálja rutin műveleteket. Amikor telepíti (eltávolítása) csomag, bármely tetszőlegesen bonyolult beállítási lépéseket telepített csomagok, vagy eltávolítására nyomait tevékenység csomagok eltávolítjuk, lehet helyezni a script. Attól függően, hogy a helyzet ilyen scriptek kanonikus műveletsornak, mint a telepítés egy csomag, ezek a scriptek úgynevezett preinstallyatsionnymi vagy POST. Normál folyamatábra inicializált rpm, amikor a csomag telepítése, az alábbiak szerint:
ellenőrzött lehetséges konfliktusok (a leggyakoribb változata a konfliktus - a már telepített csomag az azonos nevű újabb verzió);
feldolgozott konfigurációs fájlok;
bináris fájlok másolása egy könyvtárba;
A poszt-futtatását;
frissített csomag tárol.
A formátum az rpm-csomagot.
csomag méret áll fejléc és egy bináris cpio-archívum, amely a bináris fájlokat egy könyvtárban fa, amelyhez a rendszerben tárolt csomag telepítése után. Mc fájlkezelő megérti mindenféle archívumok, és többek között - a csomag rpm. Ha a panel mc kiemelés rpm-csomagot és nyomjuk meg, látni fogjuk, egy pszeudo-fájlrendszer, amely az alábbi összetevőkből áll: egy könyvtár INFO, CONTENTS.cpio archívum, egyikben a bináris fájlokat, fejlécfájlba és psevdoskriptov telepíteni és frissíteni. A katalógusban INFO fájlokat tartalmaz illeszkedő nevű mezőnevek spec-fájl, a tartalma a - mező értékeket. Header file - lényegében ugyanaz, csak egyetlen fájlban. Linkek telepíteni és frissíteni megfelelnek rpm -ih csapatok <имя пакета> és rpm -Uh <имя пакета>. Azaz, ha megnyomja, ezek beavatkozások történnek.
A valódi fájlrendszert méret nem nem. Csak mc is a maga módján értelmezni a bináris csomag fejlécében az ő nagy tisztelettel a fejlesztők számára.
Ha szükséges, akkor válassza cpio-archívum a teljes csomagot. Erre a célra rpm2cpio segédprogramot.
Építsd a csomagot.
Az rpm csomag verziója v.4 építmények mód van kialakítva, külön típus - rpmbuild. Használjuk a leghatékonyabb módszer tanulmányozására technológia, azaz összegyűjti modell rpm-csomagot. Nem kérdés, hogy mi a teendő, ha a program fogjuk csomagolni rpm. Meg kell mondani: «Helló, világ!»!
Az rpm-alapú disztribúciók van egy speciális könyvtár fa, amelynek célja kizárólag a szerelvény egy csomag. Fekszik a / usr / src (SuSE Linux alatt - a / usr / src / packages) és olyan könyvtárakat BUILD, RPMS, FORRÁS, szemüveg, SRPMS. Céljuk a rendre ideiglenes tárolásához szerelvény könyvtár lefordított bináris rpm, forráskód tárolására leírás fájlok gyűjtött src.rpm-csomagokat. Src.rpm tartalmazza a forráskódot, és spec-fájlokat, és céljuk, hogy újjáépítsék a cél gép, hogy jobban alkalmazkodjanak az architektúra és a rendszer környezetben ezeket a gépeket. A szereléshez szükségünk van a forráskód, amely hagyományosan csomagolják tar.gz vagy tar.bz2 és spec-fájlt. Spec-rpm fájl nagyjából ugyanaz, mint a Makefile hogy segédprogramot. Ez egy részletes forgatókönyv, hogy mi történjen az összeállítás minden szükséges definíciók és a szerviz területén. Tehát az üzletet.
int main (int argc, char ** argv)
Ne felejtsük el, az üres karakterlánc végén a fájlt. „Ll csomag forráskódját tar.gz (adni parancs található a / usr / src / packages / sources):
# Tar cvfz ./hi-0.1.tar.gz ./hi.c
Összefoglaló: A Welcome segédprogramot.