Kuinka asentaa ja käyttää "yum-utilsia" Yumin ylläpitämiseen ja sen suorituskyvyn parantamiseen


Huolimatta siitä, että Fedora alkaa ottamaan käyttöön dnf:n uudeksi paketinhallintaohjelmaksi ja oletuspaketinhallintakirjastoksi, se ei korvaa vanhaa hyvää yum-pakettienhallintaa muissa spinoff-jakeluissa (kuten Red Hat Enterprise Linux ( >RHEL) ja CentOS), kunnes se on osoittautunut yhtä luotettavaksi kuin yum ja vakaammaksi (Fedora Project wikin mukaan 15. marraskuuta, 2015, dnf on edelleen testattavassa tilassa). Siten yum-management-taitosi palvelevat sinua hyvin vielä jonkin aikaa.

Tästä syystä tässä oppaassa esittelemme sinulle yum-utils -sovelluksen, kokoelman apuohjelmia, jotka integroituvat yumiin laajentaakseen sen alkuperäisiä ominaisuuksia useilla tavoilla, mikä tekee siitä tehokkaamman ja helpompi käyttää.

Yum-utilsin asentaminen RHEL/CentOS:ään

Yum-utils sisältyy perusvarastoon (joka on oletuksena käytössä), joten sen asentaminen mihin tahansa Fedora-pohjaiseen jakeluun on yhtä helppoa kuin:

yum update && yum install yum-utils

Kaikki yum-utilsin tarjoamat apuohjelmat asennetaan automaattisesti pääpaketin mukana, jota kuvataan seuraavassa osiossa.

Tutustu yum-utils-paketin tarjoamiin apuohjelmiin

yum-utilsin tarjoamat työkalut on lueteltu sen man-sivulla:

man yum-utils

Tässä on 10 niistä yum-apuohjelmista, joista ajattelimme sinun kiinnostavan:

1. Tee paketin virheenkorjaus

debuginfo-install asentaa debuginfo-paketit (ja niiden riippuvuudet), jotka tarvitaan virheenkorjaukseen kaatumisen tai kun kehität tiettyä pakettia käyttäviä sovelluksia.

Paketin (tai minkä tahansa muun suoritettavan tiedoston) virheenkorjausta varten meidän on myös asennettava gdb (GNU-debuggeri) ja käytettävä sitä ohjelman käynnistämiseen virheenkorjaustilassa.

Esimerkiksi:

gdb $(which postfix)

Yllä oleva komento käynnistää gdb-kuoren, johon voimme kirjoittaa suoritettavat toiminnot. Esimerkiksi run (kuten alla olevassa kuvassa) käynnistää ohjelman, kun taas bt (ei näy) näyttää pinon jäljen (tunnetaan myös nimellä backtrace ), joka tarjoaa luettelon toimintokutsuista, jotka johtivat tiettyyn pisteeseen ohjelman suorittamisessa (näiden tietojen avulla sekä kehittäjät että järjestelmänvalvojat voivat selvittää, mikä meni pieleen kaatuessa).

Muut käytettävissä olevat toiminnot ja niiden odotetut tulokset on lueteltu kohdassa man gdb.

2. Etsi asennettujen pakettien arkisto

Seuraava komento näyttää, mistä arkistosta tällä hetkellä asennetut paketit asennettiin:

find-repos-of-install httpd postfix dovecot

Jos se suoritetaan ilman argumentteja, find-repos-of-install palauttaa koko luettelon tällä hetkellä asennetuista paketeista.

3. Poista päällekkäiset tai orvot paketit

Package-cleanup hallitsee pakettien siivoamista, kaksoiskappaleita, orpopaketteja (ohjelmat, jotka on asennettu muusta lähteestä kuin tällä hetkellä määritetyistä tietovarastoista) ja muita riippuvuusepäjohdonmukaisuuksia, mukaan lukien vanhojen ytimien poistaminen seuraavan esimerkin mukaisesti:

package-cleanup --orphans
package-cleanup --oldkernels

Sinun ei tarvitse huolehtia siitä, että viimeinen komento vahingoittaa ydintäsi. Se vaikuttaa vain vanhoihin ydinpaketteihin (versiot, jotka ovat vanhempia kuin tällä hetkellä käynnissä oleva), joita ei enää tarvita.

4. Selvitä pakettiriippuvuusluettelo

repo-graph palauttaa täydellisen paketin riippuvuusluettelon piste-muodossa kaikille paketeille, jotka ovat saatavilla määritetyistä arkistoista. Vaihtoehtoisesti repo-graph voi palauttaa samat tiedot arkiston mukaan, jos sitä käytetään --repoid=-vaihtoehdon kanssa.

Katsotaanpa esimerkiksi kunkin paketin riippuvuuksia päivitysvarastossa:

repo-graph --repoid=updates | less

Yllä olevassa komennossa lähetämme repo-graphin tulosteen lessiin visualisoinnin helpottamiseksi, mutta voit vaihtoehtoisesti ohjata sen paikalliseen tiedostoon myöhempää tarkastelua varten:

repo-graph --repoid=updates > updates-dependencies.txt

Kummassakin tapauksessa voimme nähdä, että iputils-paketti riippuu systemd- ja openssl-libs-tiedostoista.

5. Tarkista ratkaisemattomien riippuvuuksien luettelo

uudelleensulkeminen lukee määritettyjen tietovarastojen metatiedot, tarkistaa niihin sisältyvien pakettien riippuvuudet ja näyttää luettelon kunkin paketin ratkaisemattomista riippuvuuksista:

repoclosure

6. Uusimpien tai vanhimpien pakettien tarkistaminen hakemistosta

Repomanage kysyy hakemistosta rpm-paketteja ja palauttaa luettelon hakemiston uusimmista tai vanhimmista paketeista. Tämä työkalu voi olla hyödyllinen, jos sinulla on hakemisto, johon tallennat useita eri ohjelmien .rpm-paketteja.

Kun repomanage suoritetaan ilman argumentteja, se palauttaa uusimmat paketit. Jos suoritetaan --old-lipulla, se palauttaa vanhimmat paketit:

ls -l
cd rpms
ls -l rpms
repomanage rpms

Huomaa, että rpm-pakettien nimen muuttaminen EI vaikuta uudelleenhallinnan toimintaan.

7. Kysely Yum-varastoista saadaksesi tietoa paketista

repoquery tekee kyselyjä yum-tietovarastoista ja saa lisätietoja paketeista riippumatta siitä, onko ne asennettu vai ei (riippuvuudet, pakettiin sisältyvät tiedostot ja paljon muuta).

Esimerkiksi htop (Linux Process Monitoring ) ei ole tällä hetkellä asennettuna tähän järjestelmään, kuten näet alla:

which htop
rpm -qa | grep htop

Oletetaan nyt, että haluamme luetella htopin riippuvuudet sekä tiedostot, jotka sisältyvät oletusasennukseen. Voit tehdä tämän suorittamalla seuraavat kaksi komentoa:

repoquery --requires htop
repoquery --list htop

8. Pura kaikki asennetut RPM-paketit zip-tiedostoon

yum-debug-dump mahdollistaa täydellisen luettelon kaikista asentamistasi paketeista, kaikista arkistoissa saatavilla olevista paketeista, tärkeistä kokoonpano- ja järjestelmätiedoista zip-tiedostoon.

Tästä voi olla hyötyä, jos haluat korjata ilmenneen ongelman. Avuksemme vuoksi yum-debug-dump nimeää tiedoston nimellä yum_debug_dump--, jonka avulla voimme seurata muutoksia ajan mittaan. .

yum-debug-dump

Kuten minkä tahansa pakatun tekstitiedoston kohdalla, voimme tarkastella sen sisältöä zless-komennolla:

zless yum_debug_dump-mail.linuxnewz.com-2015-11-27_08:34:01.txt.gz

Jos sinun on palautettava yum-debug-dump:n antamat määritystiedot, voit tehdä sen komennolla yum-debug-restore:

yum-debug-restore yum_debug_dump-mail.linuxnewz.com-2015-11-27_08:34:01.txt.gz

9. Lähde-RPM:iden lataaminen Yum-varastoista

yumdownloader lataa lähde-RPM-tiedostot arkistoista, mukaan lukien niiden riippuvuudet. Hyödyllinen luomaan verkkotietovarasto, jota voidaan käyttää muilta laitteilta, joilla on rajoitettu Internet-yhteys.

Yumdownloaderin avulla voit ladata binäärikierroslukujen lisäksi myös lähdekoodit (jos niitä käytetään --lähde-vaihtoehdon kanssa).

Luodaan esimerkiksi htop-files-niminen hakemisto, johon tallennamme RPM:t, joita tarvitaan ohjelman asentamiseen rpm:n avulla. Tätä varten meidän on käytettävä --resolve-kytkintä yhdessä yumdownloaderin kanssa:

mkdir htop-files
cd htop-files
yumdownloader --resolve htop
rpm -Uvh 

10. Synkronoi Yum-etävarasto paikalliseen hakemistoon

reposync liittyy läheisesti yumdownloaderiin (itse asiassa ne tukevat melkein samoja vaihtoehtoja), mutta tarjoaa huomattavan edun. Binääri- tai lähde-RPM-tiedostojen lataamisen sijaan se synkronoi etävaraston paikalliseen hakemistoon.

Synkronoidaan tunnettu EPEL-arkisto nykyisen työhakemiston alihakemistoon nimeltä epel-local:

man reposync
mkdir epel-local
reposync --repoid=epel --download_path=epel-local

Huomaa, että tämä prosessi kestää melko kauan, sillä se lataa 8867-paketteja:

Kun synkronointi on valmis, tarkistetaan äskettäin luodun EPEL-arkiston peilimme käyttämän levytilan määrä käyttämällä du-komentoa:

du -sch epel-local/*

Nyt on sinun päätettävissäsi, haluatko säilyttää tämän EPEL-peilin vai käyttää sitä pakettien asentamiseen etäpaketin käyttämisen sijaan. Ensimmäisessä tapauksessa muista, että sinun on muokattava /etc/yum.repos.d/epel.repo vastaavasti.

11. Korjaa keskeneräiset tai keskeytetyt Yum-tapahtumat

yum-complete-transaction on osa yum-utils-ohjelmaa, joka havaitsee keskeneräiset tai keskeytetyt yum-tapahtumat järjestelmässä ja yrittää suorittaa ne.

Esimerkiksi kun päivitämme Linux-palvelimia yum-paketinhallinnan kautta, se lähettää joskus varoitusviestin, joka kuuluu seuraavasti:

Keskeneräisiä tapahtumia on jäljellä. Sinun kannattaa suorittaa yum-complete-transaction ensin suorittaaksesi ne loppuun.

Tällaisten varoitusviestien korjaamiseksi ja tällaisen ongelman ratkaisemiseksi komento yum-complete-transaction tulee kuvaan viimeistelemään keskeneräiset tapahtumat. Se löytää keskeneräiset tai keskeytetyt yum-tapahtumat kohdassa transaction-all* . - ja transaction-done*-tiedostot, jotka löytyvät hakemistosta /var/lib/yum.

Suorita yum-complete-transaction-komento lopettaaksesi keskeneräiset yum-tapahtumat:


yum-complete-transaction --cleanup-only

Nyt yum-komennot suoritetaan ilman epätäydellisiä tapahtumia koskevia varoituksia.


yum update

Huomaa: tämän vinkin on ehdottanut yksi vakituisista lukijoistamme Mr. Tomas kommenttiosiossa täällä.

Yhteenveto

Tässä artikkelissa olemme käsitelleet joitain hyödyllisimmistä yum-utils -apuohjelmista. Täydellisen luettelon löydät man-sivulta (man yum-utils).

Lisäksi jokaisella näistä työkaluista on erillinen man-sivu (katso esimerkiksi man reposync), joka on ensisijainen dokumentaatiolähde, johon sinun tulee viitata, jos haluat lisätietoja niistä.

Jos käytät hetken tarkistaaksesi yum-utils-man-sivun, saatat löytää toisen työkalun, jota haluat meidän käsittelevän tarkemmin erillisessä artikkelissa. Jos on, tai jos sinulla on kysyttävää, kommentteja tai ehdotuksia tästä artikkelista, kerro meille, mikä niistä on lähettämällä meille huomautus alla olevalla kommenttilomakkeella.