Wéi installéiere a benotzt Yum-utils fir Yum z'erhalen a seng Leeschtung ze stäerken


Egal wéi d'Fedora ufänkt Yum Package Manager fir gutt ze adoptéieren an anere Spinoff Verdeelungen (wéi Red Hat Enterprise Linux (RHEL) an CentOS) bis et sech als zouverlässeg bewisen huet wéi Yum a méi zolidd (no der Fedora Project Wiki, wéi vum 15. November 2015, dnf ass nach ëmmer am testbaren Zoustand). Also, Är Yum-Gestiounsfäegkeeten wäerten Iech nach eng laang Zäit gutt déngen.

Aus deem Grond wäerte mir Iech an dësem Guide Yum-utils virstellen, eng Sammlung vun Utilities déi mat Yum integréieren fir seng gebierteg Feature op verschidde Weeër ze verlängeren, sou datt et méi mächteg a méi einfach ze benotzen ass.

Yum-utils an RHEL/CentOS installéieren

Yum-utils ass an der Basis Repo abegraff (déi als Standard aktivéiert ass) sou datt se an all Fedora-baséiert Verdeelung installéieren ass sou einfach wéi ze maachen:

# yum update && yum install yum-utils

All d'Utilities, déi vu yum-utils geliwwert ginn, ginn automatesch mam Haaptpaket installéiert, wat mir an der nächster Sektioun beschreiwen.

Entdeckt Utilities geliwwert vum yum-utils Package

D'Tools, déi vu yum-utils geliwwert ginn, ginn op senger Man Säit opgelëscht:

# man yum-utils

Hei sinn 10 vun deenen Yum Utilities, déi mir geduecht hunn, datt Dir interesséiert wier:

debuginfo-install installéiert d'Debuginfo Packagen (an hir Ofhängegkeeten) déi néideg sinn fir am Fall vun engem Crash ze debuggen oder beim Entwécklung vun Uwendungen déi e bestëmmte Package benotzen.

Fir e Package (oder all aner ausführbar) ze debuggen, musse mir och gdb (de GNU Debugger) installéieren an et benotze fir e Programm am Debugging Modus ze starten.

Zum Beispill:

# gdb $(which postfix)

Deen uewe genannte Kommando fänkt eng gdb Shell un, wou mir Aktiounen tippe kënnen fir auszeféieren. Zum Beispill, Run (wéi am Bild hei ënnendrënner) wäert de Programm starten, wärend bt (net gewisen) d'Stack Trace (och bekannt als Backtrace) vum Programm weist, wat eng Lëscht vu Funktiounsuriff ubitt, déi zu engem bestëmmte Punkt an der Ausféierung vum Programm (mat dëser Informatioun kënne béid Entwéckler a Systemadministratorer erausfannen wat am Fall vun engem Crash falsch gaang ass).

Aner verfügbar Aktiounen an hir erwaart Resultater sinn am Mann gdb opgezielt.

De folgende Kommando weist wéi engem Repository déi aktuell installéiert Packagen installéiert goufen:

# find-repos-of-install httpd postfix dovecot

Wann ouni Argumenter leeft, gëtt find-repos-of-install déi ganz Lëscht vun aktuell installéierte Packagen zréck.

package-cleanup geréiert Package Cleanup, Duplikate, orphaned Packagen (Programmer installéiert vun enger Quell aner wéi déi aktuell konfiguréiert Repositories) an aner Ofhängegkeet Inkonsistenz, inklusiv d'Ewechhuele vun alen Kären wéi am folgende Beispill gewisen:

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

Dir musst Iech keng Suergen maachen datt de leschte Kommando Äre Kernel beschiedegt. Et beaflosst just al Kernel Packagen (Versiounen méi al wéi déi aktuell lafend) déi net méi gebraucht ginn.

repo-Grafik gëtt eng komplett Package Ofhängegkeet Lëscht a Punktformat fir all Packagen zréck, déi aus de konfiguréierte Repositories verfügbar sinn. Alternativ kann repo-graph déiselwecht Informatioun per Repository zréckginn wann se mat der --repoid= Optioun benotzt ginn.

Zum Beispill, loosst eis d'Ofhängegkeete fir all Package am Update Repository kucken:

# repo-graph --repoid=updates | less

Am uewe genannte Kommando schécken mir d'Ausgab vum Repo-Graf op manner fir méi einfach Visualiséierung, awer Dir kënnt et alternativ op eng lokal Datei viruleeden fir spéider Inspektioun:

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

An all Fall kënne mir gesinn datt den iputils Package hänkt vu systemd an openssl-libs.

repoclosure liest d'Metadate vu konfiguréierte Repositories, kontrolléiert Ofhängegkeete vu Packagen déi an hinnen abegraff sinn a weist eng Lëscht vun ongeléiste Ofhängegkeete fir all Package:

# repoclosure

repomanage freet e Verzeechnes mat rpm Packagen a gëtt eng Lëscht vun den neisten oder eelste Packagen an engem Verzeechnes zréck. Dëst Tool kann praktesch kommen wann Dir e Verzeechnes hutt wou Dir e puer .rpm Packagen vu verschiddene Programmer späichert.

Wann ouni Argumenter ausgefouert gëtt, gëtt d'Repomanage déi neist Packagen zréck. Wann Dir mam --old Fändel leeft, gëtt et déi eelst Packagen zréck:

# ls -l
# cd rpms
# ls -l rpms
# repomanage rpms

Notéiert w.e.g. datt d'Ännerung vum Numm vun den Rpm Packagen NET beaflosst wéi d'Repomanage funktionnéiert.

repoquery freet Yum Repositories a kritt zousätzlech Informatioun iwwer Packagen, egal ob se installéiert sinn oder net (Ofhängegkeeten, Dateien am Package abegraff, a méi).

Zum Beispill, htop (Linux Process Monitoring) ass de Moment net op dësem System installéiert, wéi Dir hei ënnen gesitt:

# which htop
# rpm -qa | grep htop

Elo ugeholl mir wëllen d'Ofhängegkeete vun htop oplëschten, zesumme mat de Dateien déi an enger Standardinstallatioun abegraff sinn. Fir dat ze maachen, fuert déi folgend zwee Kommandoen aus, respektiv:

# repoquery --requires htop
# repoquery --list htop

yum-debug-dump erlaabt Iech eng komplett Lëscht vun all Packagen ze dumpen déi Dir installéiert hutt, all Packagen verfügbar an all Repository, wichteg Konfiguratioun a Systeminformatioun an eng zipped Datei.

Dëst kann praktesch kommen am Fall wou Dir e Problem wëllt debuggen deen geschitt ass. Fir eis Kamoudheet nennt yum-debug-dump d'Datei als yum_debug_dump--

# yum-debug-dump

Wéi mat all kompriméierten Textdatei kënne mir säin Inhalt mat zless Kommando kucken:

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

Sollt Dir d'Konfiguratiounsinformatioun restauréieren, déi vum yum-debug-dump geliwwert gëtt, kënnt Dir yum-debug-restore benotzen fir dat ze maachen:

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

yumdownloader luet Quell RPM Dateien aus Repositories erof, dorënner hir Ofhängegkeeten. Nëtzlech fir en Netzrepository ze kreéieren fir vun anere Maschinnen mat limitéierten Internetzougang zougänglech ze ginn.

Yumdownloader erlaabt Iech net nëmmen déi binär RPMs erofzelueden, awer och d'Quell (wann Dir mat der --source Optioun benotzt).

Zum Beispill, loosst eis e Verzeechnes mam Numm htop-Dateien erstellen, wou mir d'RPM (en) späicheren déi néideg sinn fir de Programm mat rpm z'installéieren. Fir dat ze maachen, musse mir de --resolve Schalter zesumme mam yumdownloader benotzen:

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

reposync ass enk verbonne mam yumdownloader (tatsächlech ënnerstëtzen se bal déiselwecht Optiounen) awer bitt e wesentleche Virdeel. Amplaz vu binäre oder Quell RPM Dateien erofzelueden, synchroniséiert et e Remote Repository an e lokalen Verzeechnes.

Loosst eis de bekannte EPEL Repository an en Ënnerverzeechnes mam Numm epel-local am aktuellen Aarbechtsverzeechnes synchroniséieren:

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

Notéiert datt dëse Prozess eng laang Zäit dauert well et 8867 Packagen erofluet:

Soubal d'Synchroniséierung ofgeschloss ass, loosst eis d'Quantitéit vum Disk Space iwwerpréift vun eisem nei erstallten Spigel vum EPEL Repository mat du Kommando:

# du -sch epel-local/*

Elo ass et un Iech ob Dir dësen EPEL Spigel behalen wëllt oder se benotze fir Packagen z'installéieren anstatt e Remote ze benotzen. Am éischte Fall, vergiesst net datt Dir /etc/yum.repos.d/epel.repo deementspriechend muss änneren.

yum-complete-transaction ass en Deel vum yum-utils Programm deen ongeschloss oder ofgebrach Yum Transaktiounen op engem System fangen a probéiert se ofzeschléissen.

Zum Beispill, wa mir d'Linux Server iwwer yum Package Manager aktualiséieren, gëtt et heiansdo eng Warnungsmeldung déi liest wéi follegt:

Et bleiwen ongeschloss Transaktiounen. Dir kënnt iwwerleeë fir d'éischt Yum-Complete-Transaktioun ze lafen fir se ofzeschléissen.

Fir esou Warnungsmeldungen ze fixéieren an esou en Thema ze léisen, kënnt de Kommando Yum-Complete-Transaction an d'Bild fir déi onfäerdeg Transaktiounen ofzeschléissen, et fënnt déi onkomplett oder ofgebrach Yum Transaktiounen an Transaktioun-all* an Transaktioun-gemaach* Dateien déi an/fonnt kënne ginn. var/lib/yum Verzeechnes.

Run Yum-Complete-Transaction Kommando fir onkomplett Yum Transaktiounen ofzeschléissen:

# yum-complete-transaction --cleanup-only

Elo lafen Yum Kommandoen ouni déi onkomplett Transaktiounswarnungen.

# yum update

Notiz: Dësen Tipp gëtt vun engem vun eise reguläre Lieser Här Tomas an der Kommentarsektioun hei proposéiert.

Resumé

An dësem Artikel hu mir e puer vun den nëtzlechsten Utilities ofgedeckt, déi duerch yum-utils geliwwert ginn. Fir eng komplett Lëscht kënnt Dir op d'Man Säit (man yum-utils) bezéien.

Zousätzlech huet all eenzel vun dësen Tools eng separat Man-Säit (kuckt man reposync, zum Beispill), wat d'Haaptquell vun der Dokumentatioun ass, op déi Dir sollt referéieren, wann Dir méi iwwer si gewuer wëllt.

Wann Dir eng Minutt hëlt fir d'Man-Säit vu Yum-utils z'iwwerpréiwen, fannt Dir vläicht en anert Tool dat Dir gär hätt datt mir méi déif an engem separaten Artikel ofdecken. Wann jo, oder wann Dir Froen, Kommentaren oder Suggestiounen zu dësem Artikel hutt, loosst eis wësse wéi eng Notiz mat der Kommentarform hei drënner.