Linux-pakettien hallinta Yumin, RPM:n, Aptin, Dpkg:n, Aptituden ja Zypperin kanssa - Osa 9


Viime elokuussa Linux Foundation julkisti LFCS-sertifioinnin (Linux Foundation Certified Sysadmin), joka tarjoaa loistavan mahdollisuuden järjestelmänvalvojille kaikkialla osoittaa suorituskykyyn perustuvan kokeen avulla, että he pystyvät menestymään Linux-järjestelmien yleisessä toiminnallisessa tuessa. Linux Foundation -sertifioidulla Sysadminilla on asiantuntemus tehokkaan järjestelmätuen, ensimmäisen tason vianmäärityksen ja valvonnan varmistamiseen, mukaan lukien tarvittaessa ongelmien eskalointi suunnittelutukiryhmille.

Katso seuraava video, joka selittää Linux Foundationin sertifiointiohjelmasta.

Tämä artikkeli on osa 9 10 opetusohjelman pitkästä sarjasta. Tänään tässä artikkelissa opastamme sinua Linux-pakettien hallinnassa, jota tarvitaan LFCS-sertifiointikokeeseen.

Paketinhallinta

Lyhyesti sanottuna paketinhallinta on tapa asentaa ja ylläpitää (johon sisältyy päivitys ja todennäköisesti myös poistaminen) ohjelmistoja järjestelmään.

Linuxin alkuaikoina ohjelmia jaettiin vain lähdekoodina vaadittujen man-sivujen, tarvittavien asetustiedostojen ja muiden kanssa. Nykyään useimmat Linux-jakelijat käyttävät oletusarvoisesti valmiita ohjelmia tai paketeiksi kutsuttuja ohjelmasarjoja, jotka esitetään käyttäjille valmiina asennettavaksi kyseiseen jakeluun. Yksi Linuxin ihmeistä on kuitenkin edelleen mahdollisuus hankkia tutkittavan, parannettavan ja käännettävän ohjelman lähdekoodi.

Kuinka paketinhallintajärjestelmät toimivat

Jos tietty paketti vaatii tietyn resurssin, kuten jaetun kirjaston tai toisen paketin, sillä sanotaan olevan riippuvuus. Kaikki nykyaikaiset paketinhallintajärjestelmät tarjoavat jonkin menetelmän riippuvuuden selvittämiseen varmistaakseen, että kun paketti asennetaan, myös kaikki sen riippuvuudet asennetaan.

Pakkausjärjestelmät

Lähes kaikki nykyaikaiseen Linux-järjestelmään asennetut ohjelmistot löytyvät Internetistä. Sen voi joko tarjota jakelutoimittaja keskusvarastojen kautta (jotka voivat sisältää useita tuhansia paketteja, joista jokainen on erityisesti rakennettu, testattu ja ylläpidetty jakelua varten) tai se voi olla saatavilla lähdekoodina, joka voidaan ladata ja asentaa manuaalisesti. .

Koska eri jakeluperheet käyttävät erilaisia pakkausjärjestelmiä (Debian: *.deb/CentOS: *.rpm/openSUSE: *.rpm, suunniteltu erityisesti openSUSE), yhdelle jakelulle tarkoitettu paketti ei ole yhteensopiva toisen jakelun kanssa. Useimmat jakelut kuuluvat kuitenkin todennäköisesti johonkin kolmesta LFCS-sertifioinnin kattamasta jakeluperheestä.

Korkean ja matalan tason pakettityökalut

Suorittaaksesi paketinhallinnan tehtävän tehokkaasti, sinun on oltava tietoinen siitä, että käytettävissä on kahden tyyppisiä apuohjelmia: matalan tason työkalut (jotka käsittelevät taustalla varsinaisen asennuksen, päivityksen ja pakettitiedostojen poisto) ja korkean tason työkalut (jotka vastaavat siitä, että riippuvuusselvitys ja metatietohaku - ”data tiedoista ”- suoritetaan).

DISTRIBUTION LOW-LEVEL TOOL HIGH-LEVEL TOOL
 Debian and derivatives  dpkg  apt-get / aptitude
 CentOS  rpm  yum
 openSUSE  rpm  zypper

Katsotaanpa matalan ja korkean tason työkalujen kuvausta.

dpkg on matalan tason paketinhallinta Debian-pohjaisille järjestelmille. Se voi asentaa, poistaa, tarjota tietoja ja rakentaa *.deb-paketteja, mutta se ei voi automaattisesti ladata ja asentaa vastaavia riippuvuuksia.

Lue lisää: 15 dpkg:n komentoesimerkkejä

apt-get on korkean tason paketinhallinta Debianille ja johdannaisille, ja se tarjoaa yksinkertaisen tavan hakea ja asentaa paketteja, mukaan lukien riippuvuusselvitys, useista lähteistä komentorivin avulla. Toisin kuin dpkg, apt-get ei toimi suoraan *.deb-tiedostojen kanssa, vaan paketin oikealla nimellä.

Lue lisää: 25 apt-get-komentoesimerkkiä

aptitude on toinen korkean tason paketinhallinta Debian-pohjaisille järjestelmille, ja sitä voidaan käyttää hallintatehtävien suorittamiseen (pakettien asennus, päivitys ja poistaminen, myös riippuvuusselvityksen automaattinen käsittely) nopeasti ja helposti. . Se tarjoaa samat toiminnot kuin apt-get ja lisätoimintoja, kuten pääsyn useisiin paketin versioihin.

rpm on Linux Standard Base (LSB) -yhteensopivien jakelujen käyttämä paketinhallintajärjestelmä pakettien matalan tason käsittelyyn. Aivan kuten dpkg, se voi tehdä kyselyjä, asentaa, tarkistaa, päivittää ja poistaa paketteja, ja sitä käyttävät useammin Fedora-pohjaiset jakelut, kuten RHEL ja CentOS.

Lue lisää: 20 rpm komentoesimerkkejä

yum lisää RPM-pohjaisiin järjestelmiin automaattisten päivitysten ja pakettien hallinnan sekä riippuvuushallinnan toiminnot. Korkean tason työkaluna, kuten apt-get tai aptitude, yum toimii tietovarastojen kanssa.

Lue lisää: 20 yum-komentoesimerkkiä

Matalatason työkalujen yleinen käyttö

Yleisimmät tehtävät, joita teet matalan tason työkaluilla, ovat seuraavat:

1. Paketin asentaminen käännetystä (*.deb tai *.rpm) tiedostosta

Tämän asennusmenetelmän haittapuoli on, että riippuvuusratkaisua ei tarjota. Todennäköisimmin päätät asentaa paketin käännetystä tiedostosta, kun tällaista pakettia ei ole saatavilla jakelun arkistoissa eikä sitä siksi voi ladata ja asentaa korkean tason työkalun kautta. Koska matalan tason työkalut eivät suorita riippuvuusselvitystä, ne poistuvat virheestä, jos yritämme asentaa paketin, jolla on täyttämättömiä riippuvuuksia.

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

Huomaa: älä yritä asentaa CentOS:ään *.rpm-tiedostoa, joka on rakennettu openSUSE:lle tai päinvastoin!

2. Paketin päivittäminen käännetystä tiedostosta

Jälleen päivität asennetun paketin manuaalisesti vain, kun se ei ole saatavilla keskusvarastoissa.

dpkg -i file.deb 		[Debian and derivative]
rpm -U file.rpm 		[CentOS / openSUSE]
3. Asennettujen pakettien luettelointi

Kun saat ensimmäisen kerran käsiisi jo toimivan järjestelmän, haluat todennäköisesti tietää, mitä paketteja on asennettu.

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

Jos haluat tietää, onko tietty paketti asennettu, voit ohjata yllä olevien komentojen tulosteet grep-muotoon, kuten selitetään tiedostojen käsittelyssä Linuxissa – tämän sarjan osa 1. Oletetaan, että meidän on tarkistettava, onko paketti mysql-common asennettu Ubuntu-järjestelmään.

dpkg -l | grep mysql-common

Toinen tapa määrittää, onko paketti asennettu.

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

Selvitetään esimerkiksi, onko järjestelmäämme asennettu paketti sysdig.

rpm -qa | grep sysdig

4. Selvitä, mikä paketti asensi tiedoston
dpkg --search file_name
rpm -qf file_name

Mikä paketti esimerkiksi asensi pw_dict.hwm?

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

Korkean tason työkalujen yleinen käyttö

Yleisimmät tehtävät, joita teet korkean tason työkaluilla, ovat seuraavat.

1. Paketin etsiminen

aptitude-päivitys päivittää saatavilla olevien pakettien luettelon, ja aptitude-haku suorittaa varsinaisen haun kohteelle package_name.

aptitude update && aptitude search package_name 

Hae kaikkia -vaihtoehdossa yum etsii paketin_nimi paitsi pakettien nimistä, myös pakettien kuvauksista.

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

Oletetaan, että tarvitsemme tiedoston, jonka nimi on sysdig. Jos haluat tietää, että paketti meidän on asennettava, suoritetaan.

yum whatprovides “*/sysdig”

whatprovides käskee yum:lle etsimään paketista, jolloin saadaan tiedosto, joka vastaa yllä olevaa säännöllistä lauseketta.

zypper refresh && zypper search package_name		[On openSUSE]
2. Paketin asentaminen arkistosta

Kun asennat pakettia, sinua saatetaan pyytää vahvistamaan asennus, kun paketinhallinta on ratkaissut kaikki riippuvuudet. Huomaa, että päivityksen tai päivityksen suorittaminen (käytettävän paketinhallinnan mukaan) ei ole ehdottoman välttämätöntä, mutta asennettujen pakettien pitäminen ajan tasalla on hyvä järjestelmänvalvojan käytäntö turvallisuus- ja riippuvuussyistä.

aptitude update && aptitude install package_name 		[Debian and derivatives]
yum update && yum install package_name 			[CentOS]
zypper refresh && zypper install package_name 		[openSUSE]
3. Pakkauksen poistaminen

Vaihtoehto poista poistaa paketin, mutta jättää asetustiedostot ennalleen, kun taas tyhjennys poistaa kaikki ohjelman jäljet järjestelmästäsi.
# aptitude poista/tyhjennä paketin_nimi
# yum poista paketin_nimi

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

zypper remove -package_name 

Useimmat (jos eivät kaikki) paketinhallintaohjelmat kysyvät sinulta oletusarvoisesti, oletko varma asennuksen poistamisesta ennen sen suorittamista. Lue siis näytöllä näkyvät viestit huolellisesti välttääksesi tarpeettomia ongelmia!

4. Paketin tietojen näyttäminen

Seuraava komento näyttää tiedot syntymäpäivä-paketista.

aptitude show birthday 
yum info birthday
zypper info birthday

Yhteenveto

Paketinhallinta on jotain, jota et vain voi lakaista maton alle järjestelmänvalvojana. Sinun tulee olla valmis käyttämään tässä artikkelissa kuvattuja työkaluja heti. Toivottavasti pidät siitä hyödyllistä valmistautuessasi LFCS-kokeeseen ja päivittäisiin tehtäviisi. Voit vapaasti jättää kommenttisi tai kysymyksesi alle. Otamme mielellämme yhteyttä sinuun mahdollisimman pian.