Linux upravljanje paketima s Yum, RPM, Apt, Dpkg, Aptitude i Zypper - 9. dio


Prošlog kolovoza, Linux Foundation najavio je LFCS certifikat ( Linux Foundation Certified Sysadmin ), sjajnu šansu za administratore sustava svugdje da kroz ispit temeljen na uspješnosti pokažu da sposobni su za uspjeh u cjelokupnoj operativnoj podršci za Linux sustave. Sysadmin, certificirani za Linux Foundation, ima stručnost kako bi osigurao učinkovitu sistemsku podršku, rješavanje problema na prvom nivou i nadzor, uključujući konačno eskalaciju problema, po potrebi, timovima za inženjersku podršku.

Pogledajte sljedeći video koji objašnjava program zaklade Linux Foundation.

Ovaj je članak dio 9 od 10 udžbenika, a danas ćemo ga uputiti o upravljanju Linux paketima koji su potrebni za ispit za certificiranje LFCS.

Upravljanje paketima

U malo riječi, upravljanje paketima je metoda instaliranja i održavanja (što uključuje ažuriranje i vjerojatno i uklanjanje) softvera na sustavu.

U ranim danima Linuxa programi su se distribuirali samo kao izvorni kod, zajedno sa potrebnim man stranicama, potrebnim konfiguracijskim datotekama i još mnogo toga. Danas većina distributera Linuxa koristi unaprijed izgrađene programe ili skupove programa koji se nazivaju paketi, a koji su predstavljeni korisnicima spremni za instalaciju na toj distribuciji. Međutim, jedno od čuda Linuxa i dalje je mogućnost dobivanja izvornog koda programa koji se proučava, poboljšava i sastavlja.

Ako određeni paket zahtijeva određeni resurs kao što je zajednička knjižnica ili drugi paket, kaže se da ima ovisnost. Svi moderni sustavi za upravljanje paketima nude neke metode rješavanja ovisnosti kako bi se osiguralo da se prilikom instaliranja paketa instaliraju i sve njegove ovisnosti.

Gotovo sav softver instaliran na modernom Linux sustavu naći će se na Internetu. Dobavljač distribucije može ga pružiti putem središnjih spremišta (koje mogu sadržavati nekoliko tisuća paketa, od kojih je svaki posebno izrađen, testiran i održavan za distribuciju) ili biti dostupan u izvornom kodu koji se može ručno preuzeti i instalirati .

Budući da različite obitelji distribucije koriste različite sustave pakiranja (Debian: * .deb /CentOS: * .rpm /openSUSE: * .rpm izrađen posebno za openSUSE), paket namijenjen jednoj distribuciji neće biti kompatibilan s drugom distribucijom. Međutim, većina distribucija vjerojatno će pasti u jednu od tri obitelji distribucije obuhvaćene LFCS certifikatom.

Da biste učinkovito izvršili zadatak upravljanja paketima, morate biti svjesni da ćete imati dvije vrste dostupnih uslužnih programa: alate niske razine (koji u pozadini obrađuju stvarnu instalaciju, nadogradnju i uklanjanje datoteka paketa) i alate visoke razine (koji su zaduženi za osiguranje da se izvršavaju zadaci rješavanja ovisnosti i pretraživanja metapodataka - "podaci o podacima").

Pogledajmo opis alata niske i visoke razine.

dpkg je upravitelj paketa na niskoj razini za sustave temeljene na Debianu. Može instalirati, ukloniti, pružiti informacije o i izgraditi * .deb pakete, ali ne može automatski preuzeti i instalirati njihove odgovarajuće ovisnosti.

Pročitajte više : Primjeri naredbi od 15 dpkg

apt-get je upravitelj paketa na visokoj razini za Debian i derivate i pruža jednostavan način za dohvaćanje i instaliranje paketa, uključujući rješavanje ovisnosti, iz više izvora pomoću naredbenog retka. Za razliku od dpkg, apt-get ne radi izravno s * .deb datotekama, već s ispravnim imenom paketa.

Pročitajte više : 25 primjera naredbi za apt-get

aptitude je još jedan upravitelj paketa na visokoj razini za sustave temeljene na Debianu i može se koristiti za izvršavanje zadataka upravljanja (instaliranje, nadogradnja i uklanjanje paketa, također automatsko rješavanje ovisnosti) na brz i jednostavan način . Pruža istu funkcionalnost kao apt-get i dodatne, poput nuđenja pristupa nekoliko verzija paketa.

rpm je sustav upravljanja paketima koji se koristi u distribucijama usklađenim s Linux Standard Base (LSB) za rukovanje paketima na niskoj razini. Baš kao i dpkg, može postavljati upite, instalirati, provjeravati, nadograđivati i uklanjati pakete, a češće se koristi u Fedora-inim distribucijama, poput RHEL i CentOS.

Pročitajte više : Primjeri naredbi od 20 o/min

yum dodaje funkcionalnost automatskog ažuriranja i upravljanja paketima s upravljanjem ovisnostima u sustave temeljene na RPM-u. Kao alat na visokoj razini, poput apt-get ili aptitude, yum radi s spremištima.

Pročitajte više : Primjeri naredbi od 20 yum

Uobičajena upotreba alata niske razine

Najčešći zadaci koje ćete raditi s alatima niske razine su sljedeći:

Loša strana ovog načina instalacije je što nije osigurana razlučivost ovisnosti. Najvjerojatnije ćete odlučiti instalirati paket iz prevedene datoteke kada takav paket nije dostupan u spremištima distribucije i stoga ga nije moguće preuzeti i instalirati putem alata visoke razine. Budući da alati niske razine ne izvršavaju razlučivanje ovisnosti, izaći će s pogreškom ako pokušamo instalirati paket s nezadovoljenim ovisnostima.

# dpkg -i file.deb 		[Debian and derivative]
# rpm -i file.rpm 		[CentOS / openSUSE]

Napomena: Ne pokušavajte instalirati na CentOS datoteku * .rpm koja je napravljena za openSUSE ili obrnuto!

Opet ćete instalirani paket nadograditi ručno samo ako nije dostupan u središnjim spremištima.

# dpkg -i file.deb 		[Debian and derivative]
# rpm -U file.rpm 		[CentOS / openSUSE]

Kada se prvi put dočepate već funkcionalnog sustava, velika je vjerojatnost da ćete htjeti znati koji su paketi instalirani.

# dpkg -l 		[Debian and derivative]
# rpm -qa 		[CentOS / openSUSE]

Ako želite znati je li instaliran određeni paket, možete izvod gornjih naredbi usmjeriti u grep, kao što je objašnjeno u manipulaciji datotekama u Linuxu - 1. dio ove serije. Pretpostavimo da moramo provjeriti je li paket mysql-common instaliran na Ubuntu sustavu.

# dpkg -l | grep mysql-common

Drugi način utvrđivanja je li instaliran paket.

# dpkg --status package_name 		[Debian and derivative]
# rpm -q package_name 			[CentOS / openSUSE]

Na primjer, saznajmo je li paket sysdig instaliran na našem sustavu.

# rpm -qa | grep sysdig
# dpkg --search file_name
# rpm -qf file_name

Na primjer, koji je paket instalirao pw_dict.hwm ?

# rpm -qf /usr/share/cracklib/pw_dict.hwm

Uobičajena upotreba alata na visokoj razini

Najčešći zadaci koje ćete raditi s alatima visoke razine su sljedeći.

aptitude update ažurirat će popis dostupnih paketa, a aptitude search izvršit će stvarno pretraživanje za ime_paketa .

# aptitude update && aptitude search package_name 

U opciji pretraživanja svih, yum će tražiti ime_paketa ne samo u imenima paketa, već i u opisima paketa.

# yum search package_name
# yum search all package_name
# yum whatprovides “*/package_name”

Pretpostavimo da nam treba datoteka čiji je naziv sysdig . Da bismo znali taj paket koji ćemo morati instalirati, pokrenimo se.

# yum whatprovides “*/sysdig”

whatprovides govori yum -u da pretražuje paket, pružit će datoteku koja odgovara gore navedenom regularnom izrazu.

# zypper refresh && zypper search package_name		[On openSUSE]

Tijekom instaliranja paketa, možda će se od vas zatražiti da potvrdite instalaciju nakon što je upravitelj paketa riješio sve ovisnosti. Imajte na umu da pokretanje ažuriranja ili osvježavanja (u skladu s upraviteljem paketa koji se koristi) nije strogo potrebno, ali ažuriranje instaliranih paketa dobra je sysadmin praksa iz razloga sigurnosti i ovisnosti.

# aptitude update && aptitude install package_name 		[Debian and derivatives]
# yum update && yum install package_name 			[CentOS]
# zypper refresh && zypper install package_name 		[openSUSE]

Opcija ukloni deinstalirat će paket, ali će konfiguracijske datoteke ostati netaknute, dok će čišćenje očistiti svaki trag programa iz vašeg sustava.
# aptitude remove/purge package_name
# yum izbriši ime_paketa

---Notice the minus sign in front of the package that will be uninstalled, openSUSE ---

# zypper remove -package_name 

Većina (ako ne i svi) upravitelji paketa prema zadanim postavkama zatražit će od vas ako ste sigurni da nastavite s deinstalacijom prije nego što je stvarno izvršite. Stoga pažljivo čitajte poruke na ekranu kako ne biste naletjeli na nepotrebne probleme!

Sljedeća naredba prikazat će informacije o paketu rođendan .

# aptitude show birthday 
# yum info birthday
# zypper info birthday

Sažetak

Upravljanje paketima je nešto što kao administrator sustava jednostavno ne možete pomesti pod tepih. Morali biste biti spremni na upotrebu alata opisanih u ovom članku u trenutku. Nadam se da će vam biti korisno u pripremi za ispit LFCS i svakodnevnim zadacima. Slobodno ostavite komentare ili pitanja u nastavku. Bit će nam više nego drago da vam se javimo što je prije moguće.