Kif tinstalla u tuża yum-utils biex iżżomm lil Yum u tkabbar il-prestazzjoni tagħha


Irrispettivament minn Fedora tibda tadotta maniġer tal-pakketti yum għall-ġid f'distribuzzjonijiet oħra ta' spinoff (bħal Red Hat Enterprise Linux (RHEL) u CentOS) sakemm ikun wera li huwa affidabbli daqs yum u aktar solidu (skont il-wiki tal-Proġett Fedora, kif tal-15 ta’ Novembru, 2015, dnf għadu fi stat testable). Għalhekk, il-ħiliet tiegħek ta' ġestjoni yum ser isservik tajjeb għal żmien mhux ħażin.

Għal dik ir-raġuni, f'din il-gwida ser nintroduċuk għal yum-utils, ġabra ta 'utilitajiet li jintegraw ma' yum biex jestendu l-karatteristiċi indiġeni tiegħu b'diversi modi, u b'hekk jagħmluha aktar qawwija u aktar faċli biex tużah.

Installazzjoni ta' yum-utils f'RHEL/CentOS

Yum-utils huwa inkluż fir-repo bażi (li huwa attivat awtomatikament) għalhekk l-installazzjoni tiegħu fi kwalunkwe distribuzzjoni bbażata fuq Fedora hija faċli daqs li tagħmel:

# yum update && yum install yum-utils

L-utilitajiet kollha pprovduti minn yum-utils huma installati awtomatikament mal-pakkett ewlieni, li se niddeskrivu fit-taqsima li jmiss.

Esplora Utilitajiet ipprovduti mill-Pakkett yum-utils

L-għodod ipprovduti minn yum-utils huma elenkati fil-paġna man tagħha:

# man yum-utils

Hawn huma 10 minn dawk l-utilitajiet yum li ħsibna li tkun interessat fihom:

debuginfo-install jinstalla l-pakketti debuginfo (u d-dipendenzi tagħhom) meħtieġa biex jiddebugjaw f'każ ta' ħabta jew waqt l-iżvilupp ta' applikazzjonijiet li jużaw ċertu pakkett.

Sabiex niddebugjaw pakkett (jew kwalunkwe eżekutibbli ieħor), ikollna bżonn ukoll ninstallaw gdb (id-debugger GNU) u nużawha biex nibdew programm fil-mod ta 'debugging.

Pereżempju:

# gdb $(which postfix)

Il-kmand ta 'hawn fuq se jibda shell gdb fejn nistgħu nittajpja azzjonijiet li għandhom jiġu eżegwiti. Pereżempju, run (kif muri fl-immaġni hawn taħt) se tibda l-programm, filwaqt li bt (mhux murija) se juri t-traċċa tal-munzell (magħrufa wkoll bħala backtrace) tal-programm, li se tipprovdi lista ta 'sejħiet ta' funzjoni li wasslu għal ċertu punt fl-eżekuzzjoni tal-programm (bl-użu ta 'din l-informazzjoni, kemm l-iżviluppaturi kif ukoll l-amministraturi tas-sistema jistgħu jsibu x'mar ħażin f'każ ta' ħabta).

Azzjonijiet oħra disponibbli u r-riżultati mistennija tagħhom huma elenkati f'man gdb.

Il-kmand li ġej juri minn liema repożitorju ġew installati l-pakketti :

# find-repos-of-install httpd postfix dovecot

Jekk jitmexxa mingħajr argumenti, find-repos-of-install jirritorna l-lista sħiħa tal-pakketti installati bħalissa.

package-cleanup jimmaniġġja t-tindif tal-pakketti, duplikati, pakketti orfni (programmi installati minn sors ieħor għajr ir-repożitorji kkonfigurati bħalissa) u inkonsistenzi oħra ta' dipendenza, inkluż it-tneħħija ta' kernels qodma kif muri fl-eżempju li ġej:

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

M'għandekx għalfejn tinkwieta dwar l-aħħar kmand li jagħmel ħsara lill-qalba tiegħek. Se jaffettwa biss pakketti qodma tal-qalba (verżjonijiet eqdem minn dak li qed jaħdem bħalissa) li m'għadhomx meħtieġa.

repo-graph jirritorna lista sħiħa tad-dipendenza tal-pakketti f'format ta' tikek għall-pakketti kollha li huma disponibbli mir-repożitorji kkonfigurati. Alternattivament, repo-graph jista’ jirritorna l-istess informazzjoni permezz ta’ repożitorju jekk jintuża bl-għażla --repoid=.

Pereżempju, ejja naraw id-dipendenzi għal kull pakkett fir-repożitorju tal-aġġornamenti:

# repo-graph --repoid=updates | less

Fil-kmand ta 'hawn fuq qed nibagħtu l-output ta' repo-graph għal inqas għal viżwalizzazzjoni aktar faċli, iżda tista 'alternattivament tidderieġiha lejn fajl lokali għal spezzjoni aktar tard:

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

Fi kwalunkwe każ, nistgħu naraw li l-pakkett iputils jiddependi fuq systemd u openssl-libs.

repoclosure jaqra l-metadejta tar-repożitorji kkonfigurati, jiċċekkja d-dipendenzi tal-pakketti inklużi fihom u juri lista ta’ dipendenzi mhux solvuti għal kull pakkett:

# repoclosure

repomanage jistaqsi direttorju b'pakketti rpm u jirritorna lista ta 'pakketti l-aktar ġodda jew eqdem f'direttorju. Din l-għodda tista’ tkun utli jekk għandek direttorju fejn taħżen diversi pakketti .rpm ta’ programmi differenti.

Meta eżegwit mingħajr argumenti, repomanage jirritorna l-aktar pakketti ġodda. Jekk titħaddem bil-bandiera --old, tirritorna l-eqdem pakketti:

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

Jekk jogħġbok innota li l-bidla tal-isem tal-pakketti rpm MHUX se taffettwa kif taħdem ir-repomanage.

repoquery jistaqsi repożitorji yum u jikseb informazzjoni addizzjonali dwar pakketti, kemm jekk huma installati jew le (dipendenzi, fajls inklużi fil-pakkett, u aktar).

Pereżempju, htop (Monitoraġġ tal-Proċess Linux) bħalissa mhuwiex installat fuq din is-sistema, kif tista' tara hawn taħt:

# which htop
# rpm -qa | grep htop

Issa ejja ngħidu li rridu nielenkaw id-dipendenzi ta 'htop, flimkien mal-fajls li huma inklużi f'installazzjoni default. Biex tagħmel dan, eżegwixxi ż-żewġ kmandi li ġejjin, rispettivament:

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

yum-debug-dump jippermettilek li titfa 'lista kompleta tal-pakketti kollha li installajt, il-pakketti kollha disponibbli fi kwalunkwe repożitorju, konfigurazzjoni importanti u informazzjoni tas-sistema f'fajl zipped.

Dan jista 'jiġi utli f'każ li trid tiddibaggja problema li tkun seħħet. Għall-konvenjenza tagħna, yum-debug-dump issemmi l-fajl bħala yum_debug_dump--

# yum-debug-dump

Bħal kull fajl ta' test kompressat, nistgħu naraw il-kontenut tiegħu billi tuża kmand zless:

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

Jekk ikollok bżonn tirrestawra l-informazzjoni tal-konfigurazzjoni pprovduta minn yum-debug-dump, tista' tuża yum-debug-restore biex tagħmel dan:

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

yumdownloader tniżżel fajls RPM tas-sors minn repożitorji, inklużi d-dipendenzi tagħhom. Utli biex jinħoloq repożitorju tan-netwerk biex jiġi aċċessat minn magni oħra b'aċċess ristrett għall-Internet.

Yumdownloader jippermettilek li mhux biss tniżżel l-RPMs binarji iżda wkoll dawk tas-sors (jekk jintuża bl-għażla --source).

Pereżempju, ejja noħolqu direttorju bl-isem htop-files fejn se naħżnu l-RPM(s) meħtieġa biex ninstallaw il-programm bl-użu ta 'rpm. Biex nagħmlu dan, irridu nużaw is-swiċċ --resolve flimkien ma' yumdownloader:

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

reposync huwa relatat mill-qrib ma 'yumdownloader (fil-fatt, huma jappoġġjaw kważi l-istess għażliet) iżda joffri vantaġġ konsiderevoli. Minflok ma tniżżel fajls RPM binarji jew sors, tissinkronizza repożitorju remot ma 'direttorju lokali.

Ejja nissinkronizzaw ir-repożitorju magħruf EPEL ma' sottodirettorju msejjaħ epel-local ġewwa d-direttorju tax-xogħol attwali:

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

Innota li dan il-proċess se jieħu żmien mhux ħażin peress li qed tniżżel 8867 pakketti:

Ladarba s-sinkronizzazzjoni tkun tlestiet, ejja niċċekkjaw l-ammont ta 'spazju tad-diska użat mill-mera tagħna li għadha kif ġiet maħluqa tar-repożitorju EPEL billi tuża du kmand:

# du -sch epel-local/*

Issa f'idejk jekk trid iżżomm din il-mera EPEL jew tużaha biex tinstalla pakketti minflok tuża waħda mill-bogħod. Fl-ewwel każ, jekk jogħġbok żomm f'moħħok li ser ikollok bżonn timmodifika /etc/yum.repos.d/epel.repo kif xieraq.

yum-complete-transaction hija parti mill-programm yum-utils li jaqbad transazzjonijiet yum mhux mitmuma jew abortiti fuq sistema u jipprova jlestihom.

Pereżempju, meta naġġornaw is-servers tal-Linux permezz tal-maniġer tal-pakketti yum xi kultant jitfa' messaġġ ta 'twissija li jaqra kif ġej:

Fadal tranżazzjonijiet mhux lesti. Tista' tikkunsidra li tmexxi yum-complete-transaction l-ewwel biex tispiċċahom.

Biex tiffissa messaġġi ta' twissija bħal dawn u ssolvi din il-kwistjoni, il-kmand ta' yum-complete-transaction jidħol fl-istampa biex jitlesta t-tranżazzjonijiet mhux mitmuma, isib dawk it-tranżazzjonijiet yum mhux kompluti jew abortiti f'fajls ta' tranżazzjoni kollha* u transazzjoni magħmula* li jistgħu jinstabu f'/ direttorju var/lib/yum.

Mexxi kmand yum-complete-transaction biex tlesti tranżazzjonijiet yum mhux kompluti:

# yum-complete-transaction --cleanup-only

Issa l-kmandi yum se jaħdmu mingħajr it-twissijiet tat-tranżazzjonijiet mhux kompluti.

# yum update

Nota: Din il-ponta hija ssuġġerita minn wieħed mill-qarrejja regolari tagħna s-Sur Tomas fit-taqsima tal-kummenti hawn.

Sommarju

F'dan l-artikolu koprejna wħud mill-aktar utilitajiet utli pprovduti permezz ta 'yum-utils. Għal lista kompluta, tista' tirreferi għall-paġna man (man yum-utils).

Barra minn hekk, kull waħda minn dawn l-għodod għandha paġna man separata (ara man reposync, pereżempju), li hija s-sors primarju ta’ dokumentazzjoni li għandek tirreferi għaliha jekk trid titgħallem aktar dwarhom.

Jekk tieħu minuta biex tiċċekkja l-paġna man ta' yum-utils, forsi ssib għodda oħra li tixtieq li nkopru aktar fil-fond f'artiklu separat. Jekk iva, jew jekk għandek mistoqsijiet, kummenti jew suġġerimenti dwar dan l-artikolu, tħossok liberu li tgħarrafna liema waħda billi twaqqilna nota billi tuża l-formola tal-kummenti hawn taħt.