Pacman csomagkezelő a archlinux - mi blogosayt linux és "lyrics"

headnote

Mint az apt-rendszer, eredetileg a gyomrában Debian és akkor bevezetett ... de ha nem éppen végre, - használata pacman rendszer messze túlmutat a szülő disztró: pacman sikeresen csavarni a Slackware - egy példa, amely azt mutatta, először Rubix, majd Frugalware. A DistroWatch találtam még az információt, hogy a csomagkezelő használt mechanizmus Ufficio Zero - olasz distriubutive alapuló Ubuntu, és használja, ezért csomagok deb-formátumban. Azonban, ezt nézd meg, amíg nem tudtam - saját honlapján volt a tiszta nyelv Dante és Petrarca, amit csak káromkodni, és telepíti azt eltörött. Talán valaki a regényírók is tisztázni?

Mindazonáltal nyilvánvaló, hogy pacman nyerte a helyét a nap - és ő volt nem kis mértékben annak köszönheti népszerűségét ArchLinux művek - egészen mostanáig széles körben ismert szűk körben saját fejlesztés, és néhány felhasználó.

Pacman - alapján a tétel menedzsment

Archlinux - nem a teljes értelemben vett eloszlása ​​Forrás alapul, mint a Gentoo, vagy még több, a Linux from Scratch. Az alapvető formája a forgalmazási - mindegy formájában egy sor előre elkészített csomagokat. Tekintse ezek a csomagok hasonlóak a szokásos fájlok * tar.gz:

Közelebbről megvizsgálva úgy tűnik, hogy ArchLinux csomagok, mint tarballt nemcsak megtekinteni, hanem a karaktert. Formázza őket - egyszerű, hogy a szélsőséges, ez tiszta za- tar „ennoe fa, préselt gzip” th, nem tartalmaz semmilyen telepítési forgatókönyvet, és általában nem meta információ: kizárólag a futtatható bináris magát (bináris) kívánják helyezni a / usr / bin (kivéve azokat a programokat, amelyek ésszerűen kell a / bin. / sbin vagy / usr / sbin), majd ahol szükséges, a config (a / usr / etc) és könyvtárak (a / usr / lib), valamint a férfi-dokumentáció .

Azt jelenti, hogy kezelni ezeket csak építeni a csomag is nagyon egyszerű, és az úgynevezett pacman (csomagokban vezetője, figyelembe kell venni). felhívását formátum:

Megadása az intézkedés kötelező opció, összhangban a neve - nem kötelező.

A tervezett intézkedések pacman parancs. következő:

  • -A. vagy --add - hozzátéve (azaz telepítés) A csomag a rendszerbe;
  • -U. --upgrade. és -F. --freshen. - frissítés csomag; A különbség köztük az, hogy az utóbbi esetben csak akkor frissítjük a már korábban telepített (-A) csomag, az első - a telepítésnél annak hiányában;
  • -S. --sync. - szinkronizációs csomagokat a helyileg telepített adattár forgalmazás (ftp.archlinux.org) vagy a visszapillantó tükrök
  • -R. --remove. - megszűnik a csomag végezzük minden figyelmeztetés nélkül, annak minden konfigurációs fájlok és egyéb háztartási (kivéve természetesen a felhasználó config könyvtárba $ HOME);
  • -Q. --query. - információk egy csomag kérelmet, vagy nem telepített;
  • -V. --version. - kiadási verziószáma pacman. A szerzői jogokkal és engedélyekkel.

Ahogy pacman parancs érveket amikor -A intézkedéseket. -U és -F kell szolgálnia a teljes nevét a csomag fájlok típusát - pkg_name-version-release.pkg.tar.gz. Ha a csomag található az egyik szentelt a helyeket (ebből fogom leírni később), akkor elegendő a csökkentett egyébként meg kell adni a teljes elérési utat. Ugyanabban a sorban, megadhatja több csomag egyszeri telepítés vagy a frissítés. Q lépéseket. -R -S csak szükség meghatározva a csomag nevét, anélkül, hogy bármilyen egyéb kellékek.

Van még egy akció - -h. vagy --help. (Megjegyzés - csak ez adott összefoglaló formában kisbetűvel), - kijelző segítségével, pontosabban a cselekvési listát. Ha ezek közül bármelyik kapcsolódik -h lépéseket. akkor többet megtudni lehetőség, amely kísérheti ezt a műveletet. Tehát, a csapat

Ez ad egy listát az összes lehetőséget, hogy rendelkezésre állnak az intézkedés --added:

Options pacman parancsok igen sok van, ami kompenzálja a hagyományos választható. Fontos lehet -d. --nodeps. Eltörli a függőség-ellenőrzés, és a -f. --force. - kötelező beszerelése a csomagot, valamint -r. --root. . Umolchalnyh felírása eltér a forrás könyvtárban (és ez a root fájlrendszert), és előírja, természetesen, az elérési utat (például / usr / local / vagy opt szeretném megemlíteni a lehetőséget -c --cascade mivel a használata is különös gondosságot igényel ..: ez nem csupán egy rekurzív törölni ezt a csomagot, hanem az összes kapcsolódó függőségeket. figyelmét, hogy a lehetőségek, szemben a fellépés, egyszerűsített formában csak kisbetűs.

Végül a legérdekesebb lehetőség - -u. --sysupgrade. Használt együtt akciók -U, vagy még jobb, -S. ez biztosítja a teljes felújítás a teljes rendszer:

Nyilvánvaló, hogy ebben az esetben a hálózati kapcsolatot igénylő való szinkronizálásra adattárak ArchLinux.

Megtekintheti a többi lehetőség hivatkozunk néni Mans - man pacman.

konfigurálása pacman

Fentebb említettük szerepel továbbá, hogy az egyszerű telepítés csomagokat kell helyezni a megfelelő helyre. Egy hely van meghatározva a konfigurációs fájlban pacman - /etc/pacman.conf.

Mint minden jól ArchLinux, ez a fájl célja nagyon egyszerű és két részből áll - általános beállítások a telepítőcsomag és egy lista az adattárak ezeket. Az általános beállítások a következők:

amely meghatározza a csomagok listáját nem befolyásolja a teljes frissítését jelenti pacman -Su;

listáját tartalmazó fájlokat, amelyek nem újraírható semmilyen telepíteni és frissíteni csomagokat (beleértve a frissítés összesen); Az alapértelmezett itt meghatározottaktól eltérő, felsorolja az összes jelentős rendszerszintű config típusú etc / fstab. etc / rc.conf. etc / rc.local. stb.;

az utat, hogy a csomag adatbázis (alapértelmezett - / var / lib / pacman);

Kikapcsolja a passzív mód ftp-kapcsolatot (az alapértelmezett használunk - és ez, elvtársak, helyes a legtöbb esetben).

Az Arch tárolók lista a fő ftp-server projekt

és az összes tükör. List külön beállítható az aktuális ág, stabil, többek között az adattár nem hivatalos csomagok. Végül, beállíthatja és egy helyi csomag lerakat, például:

Ez a megállapítás a csomag egyik adattárak felsorolt ​​/etc/pacman.conf fájlt. Feleslegessé adja meg a teljes elérési utat a csomagot, mint korábban említettük. Egyértelmű, hogy a telepítési csomagot a ftp-server hálózati kapcsolatot igényel. Helyi adattár, ahol leadhatja a csomagokat le előre, megszünteti ezt az igényt.

függőség probléma

Telepítőcsomagjaira keresztül pacman megy fantasztikusan gyors. Ez általában egyértelmű: egyszerűen kicsomagolja a pacman csomagarchívumot és kiírja előre lefordított komponensek, ahol kellett volna. Mivel nincs meta-adatok a csomag nem tartalmaz, és a nyomkövető függőségek, mint ez történik.

Mindazonáltal ellenőrizni ArchLinux függőségeket a csomagkezelő rendszer létezik. Ez a funkció van rendelve a külső (egymáshoz képest csomag) adatbázis található a / var / lib / pacman /. Ez magában foglalja a két alkönyvtárat - / var / lib / pacman / current / és a / var / lib / pacman / local. Az első - az alapja az összes csomag által érintett elosztó Arch Linux (vagy inkább a hivatalos része). Ez alkotja könyvtárak formájában PKG-ver-rel (például bash-2.05b-6 - alábbiakban megadott példák utalnak, hogy a csomag), amelyek mindegyike két fájl: desc - rövid leírása a csomag formájában

és függ - a csomagok listáját, amelyekkel a kapcsolódó függőségeket, és esetleg egymásnak ellentmondó csomag:

A / var / lib / pacman / local /. mint a neve is mutatja, tartalmaz egy csomagot adatbázis telepítve a gépre. Ez van kialakítva, legpontosabban / var / lib / pacman / áram /. de a könyvtárban minden csomag - már három fájlt: desc. függ, és a fájlokat.

Leírás csomag desc fájl tartalmazza, ráadásul összefoglaló információt (hasonlóan a leírás az aktuális), és épít és telepíti a csomagot időpontban gyűjtő neve (a hivatalos része áll egy általános archlinux), és a teljes összeg:

A fájl függ. kivéve azokat a csomagokat, amelyek függenek ezt, és a csökkentett csomagok listáját, attól függ, hogy:

Végül fájlokat - ez csak egy listát az összes összetevője a csomag, jelezve, hogy milyen módon vannak elhelyezve a telepítés során:

Ahol szükséges, ott is található egy lista a fájlok változhatnak, ha a csomag telepítése (ez különösen vonatkozik a rendszerszintű konfigurációk), jelezve a kezdeti checksum:

Ez az információ lesz szükség, amikor eltávolítja a csomag csapat pacman -R - visszaállítani a régi rendszer konfiguráció (neki köszönhetően pacman képes „tiszta” eltávolítást csomagok).

Az alap csomag szerkezete könnyű megérteni függőségek ellenőrzés elvét ArchLinux: ha az új csomag telepítéséhez programot pacman először ellenőrzi a / var / lib / pacman / current / azonosítása érdekében a függőségek, majd - a / var / lib / pacman / local / on arról, hogy a csomag telepítve, amelyen ez attól függ. Ha minden rendben van - a csomag sikeresen telepítve. Ha nem - kiadott egy listát a nevét a hiányzó csomag (abban a sorrendben kell telepíteni), és a munka pacman „és végződik egy hibaüzenetet. Minden kísérlet függőségek feloldása automatikusan megsértése, aki nem hagyta, hogy a felhasználó részesedése.

Tehát, hogy ha a csomag telepítése, amely szerint nem teljesülnek, a felhasználó kap egy megfelelő listát manuálisan kell beállítani az összes hiányzó alkatrészeket. És mindegyikük megismételheti történelem - ez sérti a függőségek, amelyeket meg kell oldani manuálisan.

Egy ilyen rendszer nem tűnik nagyon kényelmes. Annak ellenére, hogy sokkal jobb, mint a klasszikus rpm. ahol megsértve függőségi ki valami hasonló hiány imya_rek.so.1 könyvtár - és hagyja, hogy kiszámítja a csomag része jön. Ugyanerre a következtetésre ArchLinux pacman parancs így néz ki:

akkor a hiányzó csomagok (együtt a kívánt) könnyen telepíthető egyetlen paranccsal.

Hands ellen automatizálás

Mindazonáltal összehasonlítva ezeket hogyan kell „fejlett” csomagkezelő rendszerek, mint például az apt vagy yum. pacman néz ki, nagyon primitív. Azonban ez a) nem (mert ez nem több, mint egy kiegészítő a ABS) és b) megvan a maga előnye.

Mintegy ABS beszéd előtt, de az előnyeit „kézi” megközelítés pacman (a CRUX elfogadott körülbelül ugyanabban a rendszerben, és a pkg-eszközöket Slackware nem sokban különbözik tőlük), mielőtt a típusú apt rendszerek szeretnék beszélni többet, mert a hiányos bizonyítékok .

Azonban ne feledjük, hogy a csomag függőségeket kétfélék: kötelező, vagy kemény, és nem kötelező az úgynevezett „puha”. Az első - egy objektív valóság, amely meghatározza az összes eszköz végrehajtás: nincs program nem lehet dolgozni anélkül glibc (statikus összekapcsolása nem beszél itt), nem X-alkalmazás nem fog működni anélkül xlib. nem KDE-program nem merül nélkül Qt és kdelibs.

„Lágy” szerint a végrehajtás nem szükséges, mivel csak akkor engedélyezi a csomag néhány további funkciók, hasznos, haszontalan, sőt káros őszintén - és a fogalom a haszon és a kár itt őszintén szubjektív. Nos, a legtöbb gyűjtők linkeket, vagy mc tekinteni előfeltétele a támogatást yuzabilnosti gallon. Azt is használja az egeret a mutatóeszköz tűnik egyértelműen káros ezekben az alkalmazásokban. Én nem beszélek arról, hogy a felbontás a választható függőségek vezet túlzsúfoltság fájlrendszer-összetevők, amelyek a felhasználó gyakran nem tudja (és nem kívánta).

Tehát ArchLinux a felhasználó egy figyelmeztetés, hogy kell neki egy csomagot igényel valamit, és hogy valami lehet meghatározni, hogy a számára kiszabott szerint utal a szám a „kemény”, objektív minimális tapasztalattal (és néhány ábrázolása a függőségeket) vagy „puha”, mivel a szubjektív nézeteit csomagolók. És a második esetben - tudatosan, hogy a választás:

  • Az egyszerűség kedvéért, hogy egyetértenek abban, hogy neki egy ajánlatot (amely azonban vezet túlzsúfoltság a rendszer)
  • megtagadják kielégíteni függőségek nodeps opció (ebben az esetben van némi kockázata annak, hogy a csomag nem fog megfelelően működni - azonban ez a kockázat nem túl nagy a „puha” függőség)
  • vagy csak egy szelet tortát, és gyűjteni a szükséges csomagot a forrás kézzel - csak azok nélkül / és engedélyezése / tiltása. amit igazán szükség.

Persze, kézi összeszerelés is megvannak a maga hátrányai. Telepített szoftvercsomag mellett a rendszer nem fog be az adatbázisba. És ennek megfelelően, ha a jövőben kell majd telepíti a csomagokat, ettől függ „samosbornika” pacman a rendszeren keresztül „, de ez nem mutatható ki utoljára.

Azonban, ha figyelembe vesszük ArchLinux az alapozást a saját rendszer korlátozott, csak a komponensek bázis és minden mást felvette kézzel - így egészen elfogadható. Ha még mindig hivatkozhat a vegyes használatú - kritikus alkatrészek összeszerelése kézzel, az összes többi - sor előre elkészített csomagok, - a kimenet marad. Mivel a használt adatbázis pacman „om, nagyon egyszerű, nem az egyik leáll, hogy ez az információ a»önszerveződő«csomag kézi (bár nincs ilyen eszköz automatizálásra ez a folyamat, hogy adja Gentoo).

Azonban az összes fenti függőség csak az esetben a telepítési csomag a helyi média. És ha használja a csomag adattár projekt ftp-szerver vagy tükör - teljesítmény nem. Mert, mint már említettük, egy egyszerű paranccsal pacman -Su elvégzi a teljes frissítés a rendszer a függőségek

Azonban a felhasználónak Arch van egy másik, sokkal érdekesebb lehetőségét. És ez - a használata ABS (Arch Build System), a csomag építési rendszer, ami lesz szó a következő cikkben.

Kapcsolódó cikkek