Jinsi ya Kusakinisha na Kutumia yum-utils ili Kudumisha Yum na Kuongeza Utendaji wake


Bila kujali Fedora inaanza kupitisha meneja wa kifurushi cha yum kwa uzuri katika usambazaji mwingine wa spinoff (kama vile Red Hat Enterprise Linux (RHEL) na CentOS) hadi imethibitishwa kuwa ya kuaminika kama yum na thabiti zaidi (kulingana na Wiki ya Mradi wa Fedora, kama la Novemba 15, 2015, dnf bado iko katika hali ya majaribio). Kwa hivyo, ujuzi wako wa usimamizi wa yum utakutumikia vyema kwa muda mrefu sana.

Kwa sababu hiyo, katika mwongozo huu tutakuletea yum-utils, mkusanyiko wa huduma zinazounganishwa na yum kupanua vipengele vyake asili kwa njia kadhaa, na hivyo kuifanya kuwa na nguvu zaidi na rahisi kutumia.

Inasakinisha yum-utils katika RHEL/CentOS

Yum-utils imejumuishwa kwenye repo ya msingi (ambayo imewezeshwa kwa chaguo-msingi) kwa hivyo kuiweka katika usambazaji wowote wa msingi wa Fedora ni rahisi kama kufanya:

# yum update && yum install yum-utils

Huduma zote zinazotolewa na yum-utils zimewekwa kiotomatiki na kifurushi kikuu, ambacho tutaelezea katika sehemu inayofuata.

Gundua Huduma Zinazotolewa na Kifurushi cha yum-utils

Zana zinazotolewa na yum-utils zimeorodheshwa katika ukurasa wake wa mtu:

# man yum-utils

Hapa kuna huduma 10 kati ya hizo yum ambazo tulidhani ungevutiwa nazo:

debuginfo-install husakinisha vifurushi vya debuginfo (na utegemezi wake) vinavyohitajika ili kutatua iwapo kutatokea hitilafu au unapotengeneza programu zinazotumia kifurushi fulani.

Ili kutatua kifurushi (au kingine chochote kinachoweza kutekelezeka), tutahitaji pia kusakinisha gdb (kitatuzi cha GNU) na kukitumia kuanzisha programu katika hali ya utatuzi.

Kwa mfano:

# gdb $(which postfix)

Amri iliyo hapo juu itaanzisha ganda la gdb ambapo tunaweza kuandika vitendo vya kutekelezwa. Kwa mfano, run (kama inavyoonyeshwa kwenye picha hapa chini) itaanza programu, ambapo bt (haijaonyeshwa) itaonyesha ufuatiliaji wa rafu (pia inajulikana kama backtrace) ya programu, ambayo itatoa orodha ya simu za kukokotoa zilizosababisha a. hatua fulani katika utekelezaji wa programu (kwa kutumia maelezo haya, wasanidi programu na wasimamizi wa mfumo wanaweza kubaini ni nini kilienda vibaya katika ajali).

Vitendo vingine vinavyopatikana na matokeo yao yanayotarajiwa yameorodheshwa katika man gdb.

Amri ifuatayo inaonyesha ni hazina gani ya vifurushi vilivyosakinishwa kwa sasa vilisakinishwa kutoka:

# find-repos-of-install httpd postfix dovecot

Ikiendeshwa bila hoja, find-repos-of-install itarudisha orodha nzima ya vifurushi vilivyosakinishwa kwa sasa.

usafishaji wa kifurushi hudhibiti usafishaji wa vifurushi, nakala, vifurushi vya yatima (programu zilizosakinishwa kutoka kwa chanzo kingine isipokuwa hazina zilizosanidiwa kwa sasa) na kutofautiana kwa utegemezi, ikiwa ni pamoja na kuondoa kokwa kuu kama inavyoonyeshwa katika mfano ufuatao:

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

Sio lazima kuwa na wasiwasi juu ya amri ya mwisho kuharibu kernel yako. Itaathiri tu vifurushi vya zamani vya kernel (matoleo ya zamani kuliko inayoendesha sasa) ambayo haihitajiki tena.

repo-graph inarudisha orodha kamili ya kifurushi tegemezi katika umbizo la nukta kwa vifurushi vyote vinavyopatikana kutoka kwa hazina zilizosanidiwa. Vinginevyo, repo-graph inaweza kurejesha taarifa sawa na hazina ikiwa itatumiwa na chaguo la --repoid=.

Kwa mfano, wacha tuangalie utegemezi wa kila kifurushi kwenye hazina ya sasisho:

# repo-graph --repoid=updates | less

Katika amri iliyo hapo juu tunatuma matokeo ya repo-graph kwa chini kwa taswira rahisi, lakini unaweza kuielekeza kwa faili ya kawaida kwa ukaguzi wa baadaye:

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

Katika visa vyote viwili, tunaweza kuona kuwa kifurushi cha iputils kinategemea systemd na openssl-libs.

repoclosure husoma metadata ya hazina zilizosanidiwa, hukagua utegemezi wa vifurushi vilivyojumuishwa ndani yake na kuonyesha orodha ya utegemezi ambao haujatatuliwa kwa kila kifurushi:

# repoclosure

repomanage queries directory na rpm packages na inarudisha orodha ya vifurushi vipya au kongwe zaidi kwenye saraka. Chombo hiki kinaweza kuja kwa manufaa ikiwa una saraka ambapo unahifadhi vifurushi kadhaa vya .rpm vya programu tofauti.

Inapotekelezwa bila hoja, repomanage inarudisha vifurushi vipya zaidi. Ikiendeshwa na --old bendera, itarudisha vifurushi vya zamani zaidi:

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

Tafadhali kumbuka kuwa kubadilisha jina la vifurushi vya rpm HATAKUATHIRI jinsi repomanage inavyofanya kazi.

repoquery huuliza hazina yum na hupata maelezo ya ziada juu ya vifurushi, iwe vimesakinishwa au la (vitegemezi, faili zilizojumuishwa kwenye kifurushi, na zaidi).

Kwa mfano, htop (Linux Process Monitoring ) haijasakinishwa kwa sasa kwenye mfumo huu, kama unavyoona hapa chini:

# which htop
# rpm -qa | grep htop

Sasa tuseme tunataka kuorodhesha utegemezi wa htop, pamoja na faili ambazo zimejumuishwa kwenye usakinishaji chaguo-msingi. Ili kufanya hivyo, fanya amri mbili zifuatazo, mtawaliwa:

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

yum-debug-dump hukuruhusu kutupa orodha kamili ya vifurushi vyote ulivyosakinisha, vifurushi vyote vinavyopatikana kwenye hazina yoyote, usanidi muhimu na taarifa ya mfumo kwenye faili iliyofungwa.

Hii inaweza kukusaidia ikiwa ungependa kutatua tatizo ambalo limetokea. Kwa urahisi wetu, yum-debug-dump inataja faili kama yum_debug_dump--

# yum-debug-dump

Kama ilivyo kwa faili yoyote ya maandishi iliyoshinikizwa, tunaweza kutazama yaliyomo kwa kutumia zless amri:

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

Iwapo utahitaji kurejesha maelezo ya usanidi yaliyotolewa na yum-debug-dump, unaweza kutumia yum-debug-restore kufanya hivyo:

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

yumdownloader inapakua chanzo cha faili za RPM kutoka kwa hazina, pamoja na utegemezi wao. Inafaa kuunda hazina ya mtandao ya kufikiwa kutoka kwa mashine zingine zilizo na ufikiaji wa mtandao uliozuiliwa.

Yumdownloader hukuruhusu sio tu kupakua RPM za jozi lakini pia zile chanzo (ikiwa itatumika na chaguo la --source).

Kwa mfano, hebu tuunde saraka inayoitwa htop-files ambapo tutahifadhi RPM(s) zinazohitajika ili kusakinisha programu kwa kutumia rpm. Ili kufanya hivyo, tunahitaji kutumia swichi ya --resolve pamoja na yumdownloader:

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

reposync inahusiana kwa karibu na yumdownloader (kwa kweli, zinaunga mkono chaguzi sawa) lakini inatoa faida kubwa. Badala ya kupakua faili za RPM za binary au chanzo, husawazisha hazina ya mbali na saraka ya ndani.

Hebu tusawazishe hazina inayojulikana ya EPEL kwa saraka ndogo iitwayo epel-local ndani ya saraka ya sasa ya kufanya kazi:

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

Kumbuka kuwa mchakato huu utachukua muda mrefu kwani unapakua vifurushi 8867:

Mara tu ulandanishaji utakapokamilika, hebu tuangalie kiasi cha nafasi ya diski inayotumiwa na kioo chetu kipya kilichoundwa cha hazina ya EPEL kwa kutumia amri ya du:

# du -sch epel-local/*

Sasa ni juu yako ikiwa ungependa kuweka kioo hiki cha EPEL au kukitumia kusakinisha vifurushi badala ya kutumia kidhibiti cha mbali. Katika kesi ya kwanza, tafadhali kumbuka kwamba utahitaji kurekebisha /etc/yum.repos.d/epel.repo ipasavyo.

yum-complete-transaction ni sehemu ya programu ya yum-utils ambayo hupata miamala ambayo haijakamilika au iliyokatizwa kwenye mfumo na kujaribu kuikamilisha.

Kwa mfano, tunaposasisha seva za Linux kupitia kidhibiti cha kifurushi cha yum wakati mwingine hutupwa ujumbe wa onyo ambao unasomeka kama ifuatavyo:

Kuna shughuli ambazo hazijakamilika zimesalia. Unaweza kufikiria kuendesha yum-complete-transaction kwanza ili kuyamaliza.

Ili kurekebisha jumbe za onyo kama hizo na kutatua suala kama hilo, amri ya yum-complete-transaction inakuja kwenye picha ili kukamilisha shughuli ambazo hazijakamilika, hupata shughuli hizo ambazo hazijakamilika au zilizokatishwa katika faili za transaction-all* na muamala* ambazo zinaweza kupatikana katika/var/lib/yum saraka.

Tekeleza yum-complete-transaction amri ili kumaliza shughuli zisizokamilika za yum:

# yum-complete-transaction --cleanup-only

Sasa amri za yum zitaendeshwa bila maonyo ya muamala ambayo hayajakamilika.

# yum update

Kumbuka: Dokezo hili limependekezwa na mmoja wa msomaji wetu wa kawaida Bw. Tomas katika sehemu ya maoni hapa.

Muhtasari

Katika nakala hii tumeshughulikia huduma zingine muhimu zinazotolewa kupitia yum-utils. Kwa orodha kamili, unaweza kurejelea ukurasa wa mtu (man yum-utils).

Zaidi ya hayo, kila moja ya zana hizi ina ukurasa tofauti wa mtu (tazama man reposync, kwa mfano), ambayo ndiyo chanzo kikuu cha hati unapaswa kurejelea ikiwa unataka kujifunza zaidi kuzihusu.

Ukichukua dakika moja kuangalia ukurasa wa mtu wa yum-utils, labda utapata zana nyingine ambayo ungependa tuangazie kwa kina zaidi katika nakala tofauti. Ikiwa ndivyo, au ikiwa una maswali, maoni, au mapendekezo juu ya nakala hii, jisikie huru kutufahamisha ni ipi kwa kutuandikia barua kwa kutumia fomu ya maoni hapa chini.