Yum-y saklamak we öndürijiligini ýokarlandyrmak üçin ýum-utilleri nädip gurmaly we ulanmaly


Fedora, ýum ýaly ygtybarly we has ygtybarlydygyny subut edýänçä, beýleki spinoff paýlamalarynda (Red Hat Enterprise Linux (RHEL) we CentOS ýaly) ýum paket dolandyryjysyny kabul edip başlamagyna garamazdan (Fedora Taslamasynyň wikisine görä) 2015-nji ýylyň 15-nji noýabry, dnf synag synagynda). Şeýlelik bilen, ýum-dolandyryş başarnyklaryňyz size ep-esli wagtlap gowy hyzmat eder.

Şol sebäpden, bu gollanmada ýerli aýratynlyklaryny birnäçe ugurda giňeltmek üçin ýum bilen birleşýän kömekçi enjamlar ýygyndysy bilen tanyşdyrarys, şeýlelik bilen has güýçli we ulanmagy aňsatlaşdyrarys.

RHEL/CentOS-da ýum-utilleri gurmak

“Yum-utils” esasy repo-a girýär (deslapky görnüşde işledilýär), şonuň üçin ony Fedora esasly islendik paýlamaga gurmak aňsat:

# yum update && yum install yum-utils

“Yum-utils” tarapyndan üpjün edilýän ähli hyzmatlar, indiki bölümde beýan etjek esasy paket bilen awtomatiki gurulýar.

“Yum-utils” bukjasy bilen üpjün edilen hyzmatlary öwreniň

“Yum-utils” tarapyndan üpjün edilen gurallar onuň adam sahypasynda görkezilýär:

# man yum-utils

Ine, sizi gyzyklandyrarys diýip pikir eden şol ýum kömek enjamlaryndan 10-sy:

debuginfo-install näsazlyk ýüze çykan ýagdaýynda ýa-da belli bir bukjany ulanýan programmalary işläp düzmekde düzeltmek üçin zerur debuginfo paketlerini (we olara baglylyklary) gurýar.

Bukjany (ýa-da başga bir ýerine ýetirip boljak) düzetmek üçin gdb (GNU düzediji) gurmaly we düzediş tertibinde bir programma başlamak üçin ulanmaly bolarys.

Mysal üçin:

# gdb $(which postfix)

Aboveokardaky buýruk, ýerine ýetirilmeli çäreleri ýazyp bilýän gdb gabygymyzy başlar. Mysal üçin, işlediň (aşakdaky suratda görkezilişi ýaly) programma başlar, bt (görkezilmeýär) programmanyň yz yzyny (yzky yz hem diýilýär) görkezer, bu bolsa a sebäp bolan funksiýa jaňlarynyň sanawyny üpjün eder. programmanyň ýerine ýetirilişinde belli bir nokat (bu maglumatlary ulanyp, döredijiler hem, ulgam dolandyryjylary hem näsazlyk ýüze çykan halatynda nämäniň nämedigini bilip bilerler).

Beýleki elýeterli hereketler we garaşylýan netijeler adam gdb-de görkezilýär.

Aşakdaky buýruk, häzirki gurnalan paketleriň haýsy ammaryň gurlandygyny görkezýär:

# find-repos-of-install httpd postfix dovecot

Argumentsiz işlese, find-repos-of-install häzirki gurnalan paketleriň sanawyny yzyna gaýtaryp berer.

paket arassalamak bukjany arassalamagy, dublikatlary, ýetim paketleri (häzirki düzülen ammarlardan başga çeşmeden gurlan programmalar) we aşakdaky mysalda görkezilişi ýaly köne ýadrolary aýyrmak ýaly beýleki garaşlylyk gapma-garşylyklaryny dolandyrýar:

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

Iň soňky buýrugyň ýadrosyna zeper ýetirmeginden gorkmaly däl. Diňe zerur däl köne ýadro paketlerine (häzirki işleýäninden has köne wersiýalara) täsir eder.

repo-grafik, sazlanan ammarlardan bar bolan paketleriň hemmesi üçin nokat formatda doly paket garaşlylyk sanawyny görkezýär. Ativea-da bolmasa, --repoid= opsiýasy ulanylsa, repo-grafik şol bir maglumatlary ammar arkaly yzyna gaýtaryp biler.

Mysal üçin, täzelenmeler ammaryndaky her paketiň garaşlylygyny göreliň:

# repo-graph --repoid=updates | less

Aboveokardaky buýrukda repo-grafigiň çykyşyny has aňsat görmek üçin az iberýäris, ýöne soňraky barlag üçin ýerli faýla gönükdirip bilersiňiz:

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

Iki ýagdaýda-da, iputils paketiniň systemd we openssl-libs-e baglydygyny görüp bileris.

repoclosure düzülen ammarlaryň meta-maglumatyny okaýar, içindäki paketleriň garaşlylygyny barlaýar we her paket üçin çözülmedik garaşlylyklaryň sanawyny görkezýär:

# repoclosure

repomanage rpm paketleri bolan bir katalogy soraýar we katalogdaky iň täze ýa-da köne paketleriň sanawyny yzyna berýär. Dürli programmalaryň birnäçe .rpm paketini saklaýan katalogyňyz bar bolsa, bu gural peýdaly bolup biler.

Jedelsiz ýerine ýetirilende, repomanage iň täze paketleri yzyna berýär. --old baýdagy bilen işledilse, iň köne paketleri yzyna getirer:

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

Rpm paketleriniň adyny üýtgetmek, gaýtadan işlemegiň işine täsir etmejekdigini ýadyňyzdan çykarmaň.

repoquery yum ammarlaryny soraýar we gurnalandygyna ýa-da ýokdugyna (baglylyklar, bukjanyň içine girýän faýllar we başgalar) paketler barada goşmaça maglumat alýar.

Mysal üçin, aşakda görşüňiz ýaly htop (Linux Prosess Monitoring) häzirki wagtda bu ulgamda gurulmaýar:

# which htop
# rpm -qa | grep htop

Indi, adaty gurnama girizilen faýllar bilen birlikde htop-a baglylyklary sanamak isleýäris. Munuň üçin aşakdaky iki buýrugy ýerine ýetiriň:

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

yum-debug-dump, gurnan ähli paketleriňiziň, islendik ammarda bar bolan ähli paketleriň, möhüm konfigurasiýa we ulgam maglumatlarynyň zipli faýlyna doly sanawyny taşlamaga mümkinçilik berýär.

Bir ýüze çykan meseläni düzetmek isleseňiz bu peýdaly bolup biler. Amatlylygymyz üçin wagtyň geçmegi bilen üýtgeşmeleri yzarlamaga mümkinçilik berýän yum-debug-dump faýly yum_debug_dump- -

# yum-debug-dump

Islendik gysylan tekst faýlynda bolşy ýaly, mazmunyny zless buýrugy bilen görüp bileris:

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

Yum-debug-dump tarapyndan üpjün edilen konfigurasiýa maglumatyny dikeltmeli bolsaňyz, muny etmek üçin yum-debug-restore ulanyp bilersiňiz:

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

yumdownloader çeşme RPM faýllaryny ammarlardan, şol sanda garaşlylyklaryndan göçürip alýar. Çäklendirilen internete girýän beýleki maşynlardan girip boljak tor ammaryny döretmek üçin peýdaly.

“Yumdownloader” diňe ikili RPM-leri däl, eýsem çeşmelerini hem göçürip almaga mümkinçilik berýär ( --source opsiýasy bilen ulanylsa).

Mysal üçin, geliň, htop-faýllar atly bir katalog döredeliň, bu ýerde programmany rpm ulanyp gurmak üçin zerur RPM-leri saklarys. Munuň üçin ýumdownloader bilen bilelikde --resolve wyklýuçatelini ulanmalydyrys:

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

reposync ýumdownloader bilen ýakyndan baglanyşyklydyr (aslynda şol bir warianty goldaýarlar), ýöne ep-esli artykmaçlygy hödürleýär. Ikilik ýa-da çeşme RPM faýllaryny göçürip almagyň ýerine, uzakdaky ammary ýerli kataloga sinhronlaýar.

Meşhur EPEL ammaryny häzirki işleýän katalogyň içinde epel-ýerli atly bir bukja sinhronlaşdyralyň:

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

8867 paket göçürip alýarka bu amalyň ep-esli wagt aljakdygyny unutmaň:

Sinhronizasiýa gutaransoň, geliň, EPEL ammarynyň du buýrugyny ulanyp, täze döredilen aýnanyň mukdaryny barlap göreliň:

# du -sch epel-local/*

Indi bu EPEL aýnasyny saklamak ýa-da uzakdan ulanmagyň ýerine paket gurmak üçin ulanmak isleseňiz size bagly. Birinji ýagdaýda /etc/yum.repos.d/epel.repo üýtgetmelidigini ýadyňyzdan çykarmaň.

yum-complete-transaction, bir ulgamda gutarmadyk ýa-da ýatyrylan ýum amallaryny tutýan we olary tamamlamaga synanyşýan yum-utils programmasynyň bir bölegidir.

Mysal üçin, Linux serwerlerini yum paket dolandyryjysy arkaly täzelänimizde, käwagt aşakdaky ýaly okalýan duýduryş habaryny iberýär:

Gutarylmadyk amallar galdy. Olary gutarmak üçin ilki bilen ýum-doly-amal etmegi göz öňünde tutup bilersiňiz.

Şeýle duýduryş habarlaryny düzetmek we şunuň ýaly meseläni çözmek üçin gutarylmadyk amallary tamamlamak üçin yum-complete-transaction buýrugy göz öňünde tutulýar, şol gutarnykly ýa-da ýatyrylan yum amallaryny geleşik-hemmesi * we amal-amal * faýllarynda tapyp bilersiňiz/var/lib/yum katalogy.

Doly däl ýum amallaryny gutarmak üçin yum-complete-transaction buýrugyny işlediň:

# yum-complete-transaction --cleanup-only

Indi ýum buýruklary gutarnykly amal duýduryşlary bolmazdan işlär.

# yum update

Bellik: Bu maslahaty yzygiderli okyjylarymyzyň biri jenap Tomas şu ýerdäki teswirler bölüminde teklip edýär.

Gysgaça mazmun

Bu makalada ýum-utils arkaly berilýän iň peýdaly kömekçi enjamlaryň käbirini ara alyp maslahatlaşdyk. Doly sanaw üçin adam sahypasyna ( man yum-utils ) ýüz tutup bilersiňiz.

Mundan başga-da, bu gurallaryň hersinde aýratyn adam sahypasy bar (mysal üçin man reposync-a serediň), olar hakda has giňişleýin öwrenmek isleseňiz ýüz tutmaly resminamalaryň esasy çeşmesi.

“Yum-utils” -iň adam sahypasyny barlamak üçin bir minut wagt sarp etseňiz, aýratyn bir makalada has giňişleýin beýan etmegimizi isleýän başga bir gural taparsyňyz. Şeýle bolsa ýa-da bu makalada soraglaryňyz, teswirleriňiz ýa-da teklipleriňiz bar bolsa, aşakdaky teswir formasyny ulanyp bize bellik goýup, haýsysyny bize habar bermäge arkaýyn boluň.