Linux pakotņu pārvaldība ar Yum, RPM, Apt, Dpkg, Aptitude un Zypper - 9. daļa


Pagājušā gada augustā Linux fonds paziņoja par sertifikātu LFCS ( Linux Foundation Certified Sysadmin ), kas ir lieliska iespēja sistēmas administratoriem visur demonstrēt, izmantojot uz veiktspēju balstītu eksāmenu. spēj gūt panākumus vispārējā operacionālā atbalsta nodrošināšanā Linux sistēmām. Linux Foundation sertificētajai Sysadmin ir pieredze, lai nodrošinātu efektīvu sistēmas atbalstu, pirmā līmeņa traucējummeklēšanu un uzraudzību, tostarp vajadzības gadījumā izsniedzot eskalāciju inženieru atbalsta komandām.

Noskatieties šo videoklipu, kurā paskaidrots par Linux Foundation sertifikācijas programmu.

Šis raksts ir 10. apmācības garo sēriju 9. daļa, šodien šajā rakstā mēs jums palīdzēsim par Linux pakotņu pārvaldību, kas nepieciešama LFCS sertifikācijas eksāmenam.

Iepakojuma pārvaldība

Dažos vārdos sakot, pakotņu pārvaldība ir programmatūras instalēšanas un uzturēšanas (kas ietver atjaunināšanu un, iespējams, arī noņemšanu) metode sistēmā.

Sākotnējās Linux dienās programmas tika izplatītas tikai kā avota kods kopā ar nepieciešamajām cilvēka lapām, nepieciešamajiem konfigurācijas failiem un daudz ko citu. Mūsdienās lielākā daļa Linux izplatītāju pēc noklusējuma izmanto iepriekš izveidotas programmas vai programmu kopas, kuras sauc par pakotnēm, kuras lietotājiem tiek parādītas gatavas instalēšanai šajā izplatīšanā. Tomēr viens no Linux brīnumiem joprojām ir iespēja iegūt pētāmās, uzlabojamās un apkopojamās programmas pirmkodu.

Ja kādai pakotnei ir nepieciešams noteikts resurss, piemēram, koplietojama bibliotēka vai cita pakete, tiek uzskatīts, ka tai ir atkarība. Visas mūsdienu pakotņu pārvaldības sistēmas nodrošina zināmu atkarības izšķiršanas metodi, lai nodrošinātu, ka, instalējot paketi, tiek instalētas arī visas tās atkarības.

Gandrīz visa programmatūra, kas ir instalēta modernā Linux sistēmā, tiks atrasta internetā. To var vai nu nodrošināt izplatīšanas pārdevējs, izmantojot centrālos krātuves (kas var saturēt vairākus tūkstošus paku, no kurām katra ir īpaši izveidota, pārbaudīta un uzturēta izplatīšanai), vai arī tā ir pieejama avota kodā, kuru var lejupielādēt un instalēt manuāli .

Tā kā dažādas izplatīšanas saimes izmanto dažādas iepakojuma sistēmas (Debian: * .deb /CentOS: * .rpm /openSUSE: * .rpm , kas īpaši izveidotas OpenSUSE) pakete, kas paredzēta vienam izplatījumam, nebūs saderīga ar citu izplatīšanu. Tomēr lielākā daļa izplatīšanas, visticamāk, ietilpst vienā no trim izplatītāju grupām, uz kurām attiecas LFCS sertifikāts.

Lai efektīvi veiktu pakotņu pārvaldības uzdevumu, jums jāapzinās, ka jums būs divu veidu pieejamie utilīti: zema līmeņa rīki (kas aizmugurē apstrādā faktisko instalēšanu, jaunināšanu un pakotnes failu noņemšana) un augsta līmeņa rīkus (kas atbild par to, lai tiktu veikti atkarības atrisināšanas un metadatu meklēšanas uzdevumi - “dati par datiem”).

Apskatīsim zema un augsta līmeņa rīku aprakstu.

dpkg ir zema līmeņa pakotņu pārvaldnieks Debian balstītām sistēmām. Tas var instalēt, noņemt, sniegt informāciju un izveidot * .deb pakotnes, bet nevar automātiski lejupielādēt un instalēt to attiecīgās atkarības.

Lasīt vairāk : 15 dpkg komandu piemēri

apt-get ir augsta līmeņa pakotņu pārvaldnieks Debian un atvasinātajiem failiem, un tas nodrošina vienkāršu veidu, kā izgūt un instalēt paketes, tostarp atkarības izšķirtspēju, no vairākiem avotiem, izmantojot komandrindu. Atšķirībā no dpkg, apt-get nedarbojas tieši ar * .deb failiem, bet gan ar pakotnes īsto nosaukumu.

Lasīt vairāk : 25 apt-get komandu piemēri

aptitude ir vēl viens augsta līmeņa pakotņu pārvaldnieks Debian balstītām sistēmām, un to var izmantot, lai ātri un viegli izpildītu pārvaldības uzdevumus (instalējot, jauninot un noņemot paketes, kā arī automātiski apstrādājot atkarības izšķirtspēju). . Tas nodrošina tādu pašu funkcionalitāti kā apt-get un papildu, piemēram, piedāvā piekļuvi vairākām pakotnes versijām.

rpm ir pakešu pārvaldības sistēma, kuru Linux Standard Base (LSB) saderīgi sadales izmanto zemu paku apstrādei. Tāpat kā dpkg, tā var vaicāt, instalēt, pārbaudīt, jaunināt un noņemt paketes, un to biežāk izmanto Fedora izplatītie izplatītāji, piemēram, RHEL un CentOS.

Lasīt vairāk : komandu piemēri 20 apgr./min

yum pievieno RPM balstītām sistēmām automātisko atjauninājumu un pakotņu pārvaldības funkcionalitāti ar atkarības pārvaldību. Kā augsta līmeņa rīks, piemēram, apt-get vai aptitude, yum strādā ar krātuvēm.

Lasīt vairāk : 20 gadi komandu piemēri

Zema līmeņa rīku izplatīta izmantošana

Biežākie uzdevumi, ko veicat ar zema līmeņa rīkiem, ir šādi:

Šīs instalēšanas metodes trūkums ir tas, ka netiek nodrošināta atkarības izšķirtspēja. Jūs, visticamāk, izvēlēsieties pakotni instalēt no kompilēta faila, ja šāda pakete nav pieejama izplatītāja krātuvēs un tāpēc to nevar lejupielādēt un instalēt, izmantojot augsta līmeņa rīku. Tā kā zema līmeņa rīki neveic atkarības izšķiršanu, tie tiks aizvērti ar kļūdu, ja mēģināsim instalēt paketi ar neapmierinātām atkarībām.

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

Piezīme. Nemēģiniet instalēt CentOS * .rpm failā, kas tika izveidots priekš openSUSE, vai otrādi!

Atkal jūs manuāli jaunināsiet instalēto pakotni tikai tad, kad tā nav pieejama centrālajos krātuvēs.

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

Kad pirmo reizi izmantojat jau strādājošu sistēmu, visticamāk, jūs vēlaties uzzināt, kādas pakotnes ir instalētas.

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

Ja vēlaties uzzināt, vai ir instalēta konkrēta pakotne, varat ievadīt iepriekš minēto komandu izvadi grep, kā paskaidrots sadaļā manipulēt ar failiem Linux - šīs sērijas 1. daļa. Pieņemsim, ka mums jāpārbauda, vai pakete mysql-common ir instalēta Ubuntu sistēmā.

# dpkg -l | grep mysql-common

Vēl viens veids, kā noteikt, vai pakotne ir instalēta.

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

Piemēram, noskaidrosim, vai pakotne sysdig ir instalēta mūsu sistēmā.

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

Piemēram, kura pakotne instalēja pw_dict.hwm ?

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

Augsta līmeņa rīku kopīga izmantošana

Biežākie uzdevumi, ko veicat ar augsta līmeņa rīkiem, ir šādi.

Atkal atjaunināšana atjauninās pieejamo pakotņu sarakstu, un meklēšana pēc piemērotības veiks faktisko meklēšanu vaicājumam paketes_nosaukums .

# aptitude update && aptitude search package_name 

Opcijā Meklēt visu yum meklēs pakotnes_nosaukumu ne tikai pakotņu nosaukumos, bet arī pakotņu aprakstos.

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

Pieņemsim, ka mums ir nepieciešams fails, kura nosaukums ir sysdig . Lai zinātu šo paketi, kas mums būs jāinstalē, palaidīsim.

# yum whatprovides “*/sysdig”

whatprovides liek lietotājam yum meklēt pakotnē. Šis nodrošinās failu, kas atbilst iepriekš minētajai regulārajai izteiksmei.

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

Instalējot pakotni, jums var tikt lūgts apstiprināt instalēšanu pēc tam, kad pakotņu pārvaldnieks ir atrisinājis visas atkarības. Ņemiet vērā, ka atjaunināšanas vai atsvaidzināšanas palaišana (atbilstoši izmantotajam pakotņu pārvaldniekam) nav obligāti nepieciešama, taču instalēto pakotņu atjaunināšana ir laba sysadmin prakse drošības un atkarības dēļ.

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

Izmantojot opciju noņemt , pakotne tiks atinstalēta, bet konfigurācijas faili paliks neskarti, turpretī tīrīšana izdzēsīs visas programmas pēdas no jūsu sistēmas.
# aptitude noņemt/iztīrīt pakotnes_nosaukumu
# yum dzēst pakotnes_nosaukumu

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

# zypper remove -package_name 

Lielākā daļa (ja ne visi) pakotņu pārvaldnieki pēc noklusējuma lūgs jūs lūgt, ja esat pārliecināts par atinstalēšanas turpināšanu, pirms to faktiski veicat. Tāpēc uzmanīgi izlasiet ekrānā redzamos ziņojumus, lai izvairītos no nevajadzīgām nepatikšanām!

Šī komanda parādīs informāciju par paketi dzimšanas diena .

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

Kopsavilkums

Iepakojuma pārvaldība ir kaut kas, ko jūs vienkārši nevarat slaucīt zem paklāja kā sistēmas administrators. Jums jābūt gatavam īslaicīgi izmantot šajā rakstā aprakstītos rīkus. Ceru, ka tas jums noderēs, gatavojoties eksāmenam LFCS un veicot ikdienas uzdevumus. Droši atstājiet savus komentārus vai jautājumus zemāk. Mēs priecāsimies pēc iespējas ātrāk sazināties ar jums.