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.