Kā instalēt un izmantot yum-utils, lai uzturētu Yum un uzlabotu tā veiktspēju


Neatkarīgi no tā, ka Fedora sāk labā veidā pieņemt yum pakotņu pārvaldnieku citos spinoff izplatījumos (piemēram, Red Hat Enterprise Linux (RHEL) un CentOS), līdz tas ir izrādījies tikpat uzticams kā yum un stabilāks (saskaņā ar Fedora Project wiki, kā 2015. gada 15. novembrī dnf joprojām ir pārbaudāmā stāvoklī). Tādējādi jūsu yum vadības prasmes jums kalpos vēl diezgan ilgu laiku.

Šī iemesla dēļ šajā rokasgrāmatā mēs iepazīstināsim jūs ar yum-utils - utilītprogrammu kolekciju, kas integrējas ar yum, lai vairākos veidos paplašinātu tās pamatfunkcijas, tādējādi padarot to jaudīgāku un vieglāk lietojamu.

Yum-utils instalēšana RHEL/CentOS

Yum-utils ir iekļauts bāzes repo (kas pēc noklusējuma ir iespējots), tāpēc tā instalēšana jebkurā Fedora balstītā izplatīšanā ir tikpat vienkārša kā:

# yum update && yum install yum-utils

Visas utilītas, ko nodrošina yum-utils, tiek automātiski instalētas kopā ar galveno paketi, kuru mēs aprakstīsim nākamajā sadaļā.

Izpētiet komunālos pakalpojumus, ko nodrošina pakete yum-utils

Yum-utils piedāvātie rīki ir uzskaitīti tā rokasgrāmatā:

# man yum-utils

Šeit ir 10 no tiem yum komunālajiem pakalpojumiem, par kuriem mēs domājām, ka jūs varētu interesēt:

debuginfo-install instalē debuginfo pakotnes (un to atkarības), kas nepieciešamas, lai atkļūdotu avārijas gadījumā vai izstrādājot lietojumprogrammas, kas izmanto noteiktu pakotni.

Lai atkļūdotu paketi (vai jebkuru citu izpildāmo failu), mums būs jāinstalē arī gdb (GNU atkļūdotājs) un jāizmanto tas, lai palaistu programmu atkļūdošanas režīmā.

Piemēram:

# gdb $(which postfix)

Iepriekš minētā komanda sāks gdb apvalku, kurā mēs varam ierakstīt veicamās darbības. Piemēram, palaišana (kā parādīts attēlā zemāk) sāks programmu, savukārt bt (nav parādīts) parādīs programmas kaudzes izsekošanu (pazīstams arī kā backtrace), kas sniegs sarakstu ar funkciju izsaukumiem, kas noveda pie noteikts programmas izpildes punkts (izmantojot šo informāciju, gan izstrādātāji, gan sistēmas administratori var saprast, kas notika nepareizi avārijas gadījumā).

Citas pieejamās darbības un to paredzamie rezultāti ir uzskaitīti man gdb.

Šī komanda parāda, no kuras repozitorija pašlaik instalētās paketes tika instalētas no:

# find-repos-of-install httpd postfix dovecot

Ja tas tiek palaists bez argumentiem, find-repos-of-install atgriezīs visu pašlaik instalēto pakotņu sarakstu.

package-cleanup pārvalda pakotņu tīrīšanu, dublikātus, bāreņiem pakotnes (programmas, kas instalētas no cita avota, nevis pašlaik konfigurētajos krātuvēs) un citas atkarības neatbilstības, tostarp veco kodolu noņemšanu, kā parādīts šajā piemērā:

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

Jums nav jāuztraucas par to, ka pēdējā komanda sabojā jūsu kodolu. Tas tikai ietekmēs vecās kodola pakotnes (versijas, kas ir vecākas par pašreizējo), kuras vairs nav vajadzīgas.

repo-graph atgriež pilnu pakotņu atkarību sarakstu punktu formātā visām pakotnēm, kas ir pieejamas no konfigurētajām krātuvēm. Alternatīvi, repo-graph var atgriezt to pašu informāciju, izmantojot repozitoriju, ja to izmanto opcijai --repoid= .

Piemēram, aplūkosim katras pakotnes atkarības atjauninājumu krātuvē:

# repo-graph --repoid=updates | less

Iepriekš minētajā komandā mēs nosūtām repo-grafika izvadi mazāk, lai vieglāk vizualizētu, bet jūs varat arī novirzīt to uz vietējo failu vēlākai pārbaudei:

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

Jebkurā gadījumā mēs varam redzēt, ka pakete iputils ir atkarīga no systemd un openssl-libs.

atkārtota slēgšana nolasa konfigurēto krātuvju metadatus, pārbauda tajās iekļauto pakotņu atkarības un parāda katras paketes neatrisināto atkarību sarakstu:

# repoclosure

Pārpublicēt vaicājumu direktorijai ar rpm pakotnēm un atgriež direktorijā esošo jaunāko vai vecāko paku sarakstu. Šis rīks var būt noderīgs, ja jums ir direktorijs, kurā glabājat vairākas dažādu programmu .rpm paketes.

Izpildot bez argumentiem, repomanage atgriež jaunākās paketes. Ja palaidīsit ar karogu --old , tas atgriezīs vecākās paketes:

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

Lūdzu, ņemiet vērā, ka paketes rpm nosaukuma maiņa NETIEK ietekmēs repomanage darbību.

repoquery vaicā yum krātuves un iegūst papildu informāciju par pakotnēm neatkarīgi no tā, vai tās ir instalētas vai nav (atkarības, paketē iekļautie faili un citas).

Piemēram, htop (Linux procesu monitorings) pašlaik nav instalēts šajā sistēmā, kā redzat tālāk:

# which htop
# rpm -qa | grep htop

Tagad pieņemsim, ka mēs vēlamies uzskaitīt htop atkarības kopā ar failiem, kas iekļauti noklusējuma instalācijā. Lai to izdarītu, izpildiet attiecīgi divas šādas komandas:

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

yum-debug-dump ļauj pilnu visu instalēto pakotņu sarakstu, visu jebkurā krātuvē pieejamo pakotņu, svarīgās konfigurācijas un sistēmas informācijas sarakstu saspiestā failā.

Tas var būt noderīgi, ja vēlaties atkļūdot radušos problēmu. Ērtības labad yum-debug-dump failu nosauc kā yum_debug_dump- -

# yum-debug-dump

Tāpat kā jebkuru saspiestu teksta failu, tā saturu varam skatīt, izmantojot komandu zless:

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

Ja jums ir jāatjauno konfigurācijas informācija, ko nodrošina yum-debug-dump, to varat izmantot, izmantojot yum-debug-restore:

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

yumdownloader lejupielādē avota RPM failus no krātuvēm, ieskaitot to atkarības. Noderīgi, lai izveidotu tīkla krātuvi, kurai var piekļūt no citām mašīnām ar ierobežotu piekļuvi internetam.

Yumdownloader ļauj ne tikai lejupielādēt bināros RPM, bet arī avota RPM (ja to lieto kopā ar opciju - source {code>).

Piemēram, izveidosim direktoriju ar nosaukumu htop-files, kurā glabāsim RPM, kas nepieciešami programmas instalēšanai, izmantojot rpm. Lai to izdarītu, mums jāizmanto slēdzis --resolve kopā ar yumdownloader:

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

reposync ir cieši saistīts ar yumdownloader (patiesībā viņi atbalsta gandrīz tās pašas iespējas), taču piedāvā ievērojamas priekšrocības. Tā vietā, lai lejupielādētu bināros vai avota RPM failus, tā sinhronizē attālo repozitoriju ar vietējo direktoriju.

Sinhronizēsim labi zināmo EPEL repozitoriju ar apakšdirektoriju, ko pašreizējā darba direktorijā sauc par epel-local:

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

Ņemiet vērā, ka šis process aizņems diezgan ilgu laiku, jo tiek lejupielādēti 8867 pakotnes:

Kad sinhronizācija ir pabeigta, pārbaudīsim, cik daudz diska vietas izmanto mūsu jaunizveidotais EPEL krātuves spogulis, izmantojot du komandu:

# du -sch epel-local/*

Tagad tas ir atkarīgs no jums, vai vēlaties paturēt šo EPEL spoguli vai izmantot to pakotņu instalēšanai, nevis attālās. Pirmajā gadījumā, lūdzu, paturiet prātā, ka jums būs attiecīgi jāmaina /etc/yum.repos.d/epel.repo.

yum-complete-transaction ir programmas yum-utils daļa, kas sistēmā uztver nepabeigtus vai pārtrauktus yum darījumus un mēģina tos pabeigt.

Piemēram, kad mēs atjauninām Linux serverus, izmantojot yum pakotņu pārvaldnieku, dažreiz tas izmet brīdinājuma ziņojumu, kas skan šādi:

Ir palikuši nepabeigti darījumi. Jūs varētu apsvērt iespēju vispirms veikt yum-complete-transaction, lai tos pabeigtu.

Lai novērstu šādus brīdinājuma ziņojumus un atrisinātu šo problēmu, tiek parādīta komanda yum-complete-transaction, lai pabeigtu nepabeigtos darījumus, tā atrod visus nepilnīgos vai pārtrauktos yum darījumus darījumos-visi * un darījumos paveiktie * failos, kurus var atrast var/lib/yum direktorijā.

Palaidiet komandu yum-complete-transaction, lai pabeigtu nepilnīgus yum darījumus:

# yum-complete-transaction --cleanup-only

Tagad yum komandas darbosies bez nepilnīgiem darījumu brīdinājumiem.

# yum update

Piezīme: Šo padomu šeit komentāru sadaļā iesaka viens no mūsu pastāvīgajiem lasītājiem Tomas kungs.

Kopsavilkums

Šajā rakstā mēs esam aplūkojuši dažus visnoderīgākos utilītus, ko nodrošina yum-utils. Pilnu sarakstu varat atrast manā lapā ( man yum-utils ).

Katram no šiem rīkiem ir arī atsevišķa man lapa (skat., Piemēram, man reposync), kas ir galvenais dokumentācijas avots, uz kuru jums vajadzētu atsaukties, ja vēlaties uzzināt vairāk par tiem.

Ja veltīsit minūti laika, lai pārbaudītu yum-utils rokasgrāmatu, iespējams, atsevišķā rakstā atradīsit citu rīku, kuru vēlaties, lai mēs aptvertu dziļāk. Ja tā, vai ja jums ir jautājumi, komentāri vai ieteikumi par šo rakstu, nekautrējieties paziņot mums, kurš no tiem, nometot mums piezīmi, izmantojot zemāk esošo komentāru veidlapu.