„Linux“ paketų tvarkymas su „Yum“, RPM, „Apt“, „Dpkg“, „Aptitude“ ir „Zypper“ - 9 dalis


Pernai rugpjūtį „Linux Foundation“ paskelbė LFCS sertifikatą ( Linux Foundation Certified Sysadmin ) - tai puiki galimybė sistemos administratoriams visur įrodyti, kad jie atlieka rezultatais pagrįstą egzaminą sugeba sėkmingai palaikyti bendrą operacinę Linux sistemų palaikymą. „Linux Foundation“ sertifikuotas „Sysadmin“ turi patirties, kad užtikrintų veiksmingą sistemos palaikymą, pirmojo lygio trikčių šalinimą ir stebėjimą, įskaitant galų gale reikalo išplėtimą inžinerijos palaikymo komandoms.

Žiūrėkite šį vaizdo įrašą, kuriame paaiškinta „Linux Foundation“ sertifikavimo programa.

Šis straipsnis yra 10 vadovėlių ilgos serijos 9 dalis, šiandien šiame straipsnyje mes jums padėsime apie „Linux“ paketų valdymą, reikalingus LFCS sertifikavimo egzaminui.

Paketų valdymas

Keliais žodžiais tariant, paketų tvarkymas yra programinės įrangos diegimo ir palaikymo (įskaitant atnaujinimą ir tikriausiai pašalinimą) metodas sistemoje.

Pirmosiomis „Linux“ dienomis programos buvo platinamos tik kaip šaltinio kodas kartu su reikalingais žmogaus puslapiais, būtinais konfigūracijos failais ir dar daugiau. Šiais laikais dauguma „Linux“ platintojų pagal numatytuosius nustatymus naudoja iš anksto sukurtas programas arba programų rinkinius, vadinamus paketais, kurie pateikiami vartotojams, pasirengusiems įdiegti tame paskirstyme. Tačiau vienas iš „Linux“ stebuklų vis dar yra galimybė gauti ištirtinos, tobulinamos ir kompiliuojamos programos šaltinio kodą.

Jei tam tikram paketui reikalingas tam tikras šaltinis, pvz., Bendra biblioteka, ar kitas paketas, sakoma, kad jis priklauso. Visos šiuolaikinės paketų valdymo sistemos pateikia tam tikrą priklausomybės sprendimo būdą, užtikrinantį, kad įdiegus paketą, bus įdiegtos ir visos jo priklausomybės.

Beveik visa programinė įranga, įdiegta šiuolaikinėje „Linux“ sistemoje, bus rasta internete. Jį gali tiekti platinimo paslaugų teikėjas per centrines saugyklas (kuriose gali būti keli tūkstančiai paketų, kurių kiekvienas buvo specialiai sukurtas, išbandytas ir prižiūrimas platinimui), arba prieinamas šaltinio kode, kurį galima atsisiųsti ir įdiegti rankiniu būdu. .

Kadangi skirtingos platinimo šeimos naudoja skirtingas pakavimo sistemas („Debian“: * .deb /CentOS: * .rpm /openSUSE: * .rpm , specialiai sukurta „openSUSE“), paketas, skirtas vienam platinimui, nebus suderinamas su kitu platinimu. Tačiau greičiausiai dauguma paskirstymų patenka į vieną iš trijų paskirstymo šeimų, kurioms taikoma LFCS sertifikatas.

Kad efektyviai atliktumėte paketų valdymo užduotį, turite žinoti, kad turėsite dviejų tipų galimas komunalines paslaugas: žemo lygio įrankiai (kurie fone tvarko tikrąjį diegimą, atnaujinimas ir paketų failų pašalinimas) ir aukšto lygio įrankiai (kurie atsakingi už tai, kad būtų vykdomos priklausomybės nustatymo ir metaduomenų paieškos užduotys - „duomenys apie duomenis“).

Pažvelkime į žemo ir aukšto lygio įrankių aprašymą.

dpkg yra žemo lygio paketų tvarkyklė, skirta „Debian“ sistemoms. Jis gali įdiegti, pašalinti, teikti informaciją apie * ir „dec.“ Paketus, tačiau negali automatiškai atsisiųsti ir įdiegti atitinkamų jų priklausomybių.

Skaityti daugiau : 15 dpkg komandų pavyzdžių

apt-get yra aukšto lygio „Debian“ ir išvestinių finansinių priemonių paketų tvarkyklė. Jame pateikiamas paprastas būdas gauti ir įdiegti paketus, įskaitant priklausomybės skiriamąją gebą, iš kelių šaltinių naudojant komandinę eilutę. Skirtingai nuo dpkg, apt-get veikia ne tiesiogiai su * .deb failais, bet su paketo vardu.

Skaityti daugiau : 25 apt-get komandų pavyzdžiai

aptitude yra dar viena aukšto lygio paketų tvarkyklė, skirta „Debian“ sistemoms, ir ji gali būti naudojama greitai ir lengvai atliekant valdymo užduotis (diegiant, atnaujinant ir pašalinant paketus, taip pat automatiškai tvarkant priklausomybės skiriamąją gebą). . Tai suteikia tokią pačią funkciją kaip apt-get ir papildomos, pavyzdžiui, siūlo prieigą prie kelių paketo versijų.

rpm yra paketų valdymo sistema, kurią „Linux Standard Base“ (LSB) suderinantys paskirstymai naudoja žemo lygio paketams tvarkyti. Kaip ir „dpkg“, jis gali pateikti užklausas, įdiegti, patikrinti, atnaujinti ir pašalinti paketus. Dažniau jį naudoja „Fedora“ pagrindu veikiantys paskirstymai, tokie kaip RHEL ir „CentOS“.

Skaityti daugiau : 20 aps/min komandų pavyzdžiai

yum prideda automatinių naujinimų ir paketų valdymo funkciją su priklausomybės valdymu prie RPM pagrįstų sistemų. Kaip aukšto lygio įrankis, pvz., Apt-get ar aptitude, yum dirba su saugyklomis.

Skaityti daugiau : 20 metų komandų pavyzdžių

Dažnas žemo lygio įrankių naudojimas

Dažniausiai atliekamos žemo lygio įrankių užduotys yra šios:

Šio diegimo metodo trūkumas yra tas, kad neteikiama priklausomybės skiriamoji geba. Greičiausiai pasirinksite įdiegti paketą iš sukompiliuoto failo, kai tokio paketo nėra platinimo saugyklose, todėl jo negalima atsisiųsti ir įdiegti naudojant aukšto lygio įrankį. Kadangi žemo lygio įrankiai neveikia priklausomybės, jie išeis su klaida, jei bandysime įdiegti paketą su nepatenkintomis priklausomybėmis.

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

Pastaba: nebandykite įdiegti „CentOS“ * .rpm faile, kuris buvo sukurtas „openSUSE“, arba atvirkščiai!

Vėlgi, įdiegtą paketą atnaujinsite rankiniu būdu tik tada, kai jo nebus centrinėse saugyklose.

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

Kai pirmą kartą pateksite į jau veikiančią sistemą, greičiausiai norėsite sužinoti, kokie paketai yra įdiegti.

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

Jei norite sužinoti, ar yra įdiegtas konkretus paketas, galite perduoti pirmiau nurodytų komandų išvestį į grep, kaip paaiškinta „Linux“ failų valdymas - šios serijos 1 dalis. Tarkime, kad turime patikrinti, ar paketas mysql-common yra įdiegtas „Ubuntu“ sistemoje.

# dpkg -l | grep mysql-common

Kitas būdas nustatyti, ar paketas įdiegtas.

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

Pavyzdžiui, išsiaiškinkime, ar paketas sysdig yra įdiegtas mūsų sistemoje.

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

Pavyzdžiui, kuris paketas įdiegė pw_dict.hwm ?

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

Dažnas aukšto lygio įrankių naudojimas

Dažniausios užduotys, kurias atliksite naudodami aukšto lygio įrankius, yra šios.

tinkamumo atnaujinimas atnaujins galimų paketų sąrašą, o tinkamumo paieška atliks faktinę paketo_pavadinimas paiešką.

# aptitude update && aptitude search package_name 

Parinktyje „ieškoti visų“ yum paketo_pavadinimas ieškos ne tik paketų pavadinimuose, bet ir paketų aprašymuose.

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

Tarkime, kad mums reikia failo, kurio vardas yra sysdig . Norėdami sužinoti tą paketą, kurį turėsime įdiegti, paleiskime.

# yum whatprovides “*/sysdig”

whatprovides liepia yum ieškoti pakete, bus pateiktas failas, atitinkantis aukščiau nurodytą įprastą išraišką.

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

Diegdami paketą, galite būti paraginti patvirtinti diegimą, kai paketų tvarkyklė pašalins visas priklausomybes. Atminkite, kad atnaujinti arba atnaujinti (atsižvelgiant į naudojamų paketų tvarkytuvę) vykdyti nebūtinai būtina, tačiau atnaujinti įdiegtus paketus yra gera „sysadmin“ praktika dėl saugumo ir priklausomybės priežasčių.

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

Pasirinkus pašalinti , paketas bus pašalintas, tačiau konfigūracijos failai bus nepažeisti, o išvalius bus ištrinti visi programos pėdsakai iš jūsų sistemos.
# aptitude pašalinti/išvalyti paketo_pavadinimas
# yum ištrinti paketo_vardą

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

# zypper remove -package_name 

Dauguma (jei ne visi) paketų tvarkytuvės pagal numatytuosius nustatymus paragins jus, jei esate tikri, kad prieš pašalindami viską atliksite. Taigi atidžiai perskaitykite ekrane rodomus pranešimus, kad išvengtumėte nereikalingų problemų!

Ši komanda parodys informaciją apie gimtadienio paketą.

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

Santrauka

Paketų tvarkymas yra kažkas, ko jūs tiesiog negalite sušvelninti kaip sistemos administratorius. Turėtumėte būti pasirengę akimirksniu naudoti šiame straipsnyje aprašytus įrankius. Tikimės, kad tai bus naudinga ruošiantis LFCS egzaminui ir atliekant kasdienes užduotis. Nedvejodami palikite savo komentarus ar klausimus žemiau. Mums bus daugiau nei malonu kuo greičiau susisiekti su jumis.