Giunsa ang Pag-install ug Paggamit sa yum-utils aron Mapadayon ang Yum ug Mapauswag ang Pagganap niini


Dili igsapayan sa Fedora nga nagsugod sa pagsagop sa yum package manager alang sa kaayohan sa ubang mga distribusyon sa spinoff (sama sa Red Hat Enterprise Linux (RHEL) ug CentOS) hangtod nga kini napamatud-an nga kasaligan sama sa yum ug mas lig-on (sumala sa Fedora Project wiki, ingon sa Nobyembre 15, 2015, ang dnf anaa pa sa testable state). Sa ingon, ang imong kahanas sa pagdumala sa yum magsilbi kanimo sa dugay nga panahon.

Tungod niana nga rason, niini nga giya among ipaila-ila kanimo ang yum-utils, usa ka koleksyon sa mga utilities nga nag-integrate sa yum aron sa pagpalapad sa iyang lumad nga mga bahin sa daghang mga paagi, sa ingon naghimo niini nga mas gamhanan ug mas sayon gamiton.

Pag-instalar sa yum-utils sa RHEL/CentOS

Ang Yum-utils gilakip sa base repo (nga gipalihok pinaagi sa default) mao nga ang pag-install niini sa bisan unsang pag-apod-apod nga nakabase sa Fedora ingon kadali sa pagbuhat:

# yum update && yum install yum-utils

Ang tanan nga mga utilities nga gihatag sa yum-utils awtomatikong na-install sa panguna nga pakete, nga among ihulagway sa sunod nga seksyon.

Pag-usisa sa Mga Utility nga Gihatag sa Yum-utils Package

Ang mga himan nga gihatag sa yum-utils gilista sa panid sa tawo:

# man yum-utils

Ania ang 10 sa mga yum utilities nga among gihunahuna nga interesado ka:

Ang debuginfo-install nag-instalar sa debuginfo nga mga pakete (ug ang ilang mga dependency) nga gikinahanglan aron ma-debug ang kung adunay pagkahagsa o samtang nag-develop og mga aplikasyon nga naggamit sa usa ka partikular nga pakete.

Aron ma-debug ang usa ka pakete (o bisan unsang uban nga ma-executable), kinahanglan usab namon nga i-install ang gdb (ang GNU debugger) ug gamiton kini aron magsugod sa usa ka programa sa debugging mode.

Pananglitan:

# gdb $(which postfix)

Ang sugo sa ibabaw magsugod sa usa ka gdb shell diin mahimo natong i-type ang mga aksyon nga ipatuman. Pananglitan, ang pagdagan (sama sa gipakita sa imahe sa ubos) magsugod sa programa, samtang ang bt (wala gipakita) magpakita sa stack trace (nailhan usab nga backtrace) sa programa, nga maghatag usa ka lista sa mga tawag sa function nga nagdala sa usa ka sa piho nga punto sa pagpatuman sa programa (gamit kini nga impormasyon, ang mga developers ug mga administrador sa sistema makahibalo kung unsa ang sayup kung adunay usa ka crash).

Ang ubang magamit nga mga aksyon ug ang ilang gipaabot nga mga resulta gilista sa man gdb.

Ang mosunod nga sugo nagpakita kon asa nga repository ang kasamtangang na-install nga mga pakete ... gikan sa:

# find-repos-of-install httpd postfix dovecot

Kung nagdagan nga wala’y mga argumento, ang find-repos-of-install ibalik ang tibuuk nga lista sa karon nga na-install nga mga pakete.

Ang package-cleanup nagdumala sa paglimpyo sa pakete, mga duplicate, mga ilo nga mga pakete (mga programa nga gi-install gikan sa usa ka tinubdan gawas sa kasamtangan nga gi-configure nga mga repositoryo) ug uban pang dependency inconsistencies, lakip ang pagtangtang sa mga daan nga kernels sama sa gipakita sa mosunod nga pananglitan:

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

Dili nimo kinahanglan mabalaka bahin sa katapusan nga mando nga makadaot sa imong kernel. Makaapektar lang kini sa daan nga mga pakete sa kernel (mga bersyon nga mas tigulang kaysa sa kasamtangan nga nagdagan) nga dili na kinahanglan.

Ang repo-graph nagbalik sa usa ka bug-os nga lista sa dependency sa pakete sa format nga tuldok para sa tanan nga mga pakete nga magamit gikan sa gi-configure nga mga repositoryo. Sa laing paagi, ang repo-graph mahimong makabalik sa samang impormasyon pinaagi sa repository kon gamiton uban sa --repoid= nga opsyon.

Pananglitan, atong tan-awon ang dependencies alang sa matag package sa updates repository:

# repo-graph --repoid=updates | less

Sa sugo sa ibabaw gipadala namo ang output sa repo-graph ngadto sa dili kaayo alang sa mas sayon nga paghanduraw, apan mahimo nimo nga i-redirect kini ngadto sa usa ka lokal nga file alang sa pag-inspeksyon sa ulahi:

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

Sa bisan asa nga kaso, atong makita nga ang iputils package nagdepende sa systemd ug openssl-libs.

Ang repoclosure nagbasa sa metadata sa mga gi-configure nga mga repositoryo, nagsusi sa mga dependency sa mga pakete nga gilakip niini ug nagpakita sa lista sa wala masulbad nga mga dependency alang sa matag pakete:

# repoclosure

Ang repomanage nagpangutana sa usa ka direktoryo nga adunay mga rpm nga pakete ug nagbalik sa usa ka lista sa labing bag-o o labing karaan nga mga pakete sa usa ka direktoryo. Kini nga himan mahimong magamit kung ikaw adunay usa ka direktoryo diin imong gitipigan ang daghang mga .rpm nga pakete sa lainlaing mga programa.

Kung gipatuman nga walay mga argumento, ang repomanage nagbalik sa pinakabag-o nga mga pakete. Kung modagan gamit ang bandila nga --old, ibalik niini ang labing karaan nga mga pakete:

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

Palihug timan-i nga ang pagbag-o sa ngalan sa rpm packages DILI makaapekto kung giunsa ang repomanage molihok.

repoquery query yum repository ug makakuha og dugang nga impormasyon sa mga pakete, kung kini na-install o wala (dependencies, mga file nga gilakip sa package, ug uban pa).

Pananglitan, ang htop (Linux Process Monitoring ) wala pa ma-install sa kini nga sistema, ingon sa imong makita sa ubos:

# which htop
# rpm -qa | grep htop

Karon pananglit gusto namon nga ilista ang mga dependency sa htop, kauban ang mga file nga gilakip sa usa ka default nga pag-install. Aron mahimo kini, ipatuman ang mosunod nga duha ka mga sugo, matag usa:

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

Ang yum-debug-dump nagtugot kanimo sa paglabay sa usa ka kompleto nga lista sa tanan nga mga pakete nga imong gi-install, ang tanan nga mga pakete nga anaa sa bisan unsang repository, importante nga configuration ug impormasyon sa sistema ngadto sa usa ka zip nga file.

Mahimo kini nga magamit kung gusto nimo nga i-debug ang usa ka problema nga nahitabo. Para sa among kasayon, ang yum-debug-dump nagngalan sa file nga yum_debug_dump--

# yum-debug-dump

Sama sa bisan unsang compressed text file, mahimo natong tan-awon ang mga sulod niini gamit ang zless command:

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

Kung kinahanglan nimo nga ibalik ang kasayuran sa pagsumpo nga gihatag sa yum-debug-dump, mahimo nimong gamiton ang yum-debug-restore aron mahimo kini:

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

Ang yumdownloader nag-download sa mga gigikanan nga RPM nga mga file gikan sa mga repositoryo, lakip ang ilang mga dependency. Mapuslanon sa paghimo og network repository nga ma-access gikan sa ubang mga makina nga adunay restricted Internet access.

Gitugotan ka sa Yumdownloader nga dili lamang i-download ang mga binary nga RPM kondili ang mga gigikanan usab (kung gigamit sa kapilian nga --source).

Pananglitan, maghimo kita og direktoryo nga ginganlan og htop-files diin atong tipigan ang (mga) RPM nga gikinahanglan sa pag-instalar sa programa gamit ang rpm. Aron mahimo kini, kinahanglan natong gamiton ang --resolve switch uban sa yumdownloader:

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

Ang reposync suod nga may kalabotan sa yumdownloader (sa tinuud, gisuportahan nila ang hapit parehas nga mga kapilian) apan nagtanyag usa ka daghang bentaha. Imbis nga mag-download sa binary o gigikanan nga RPM nga mga file, kini nag-synchronize sa usa ka hilit nga repository sa usa ka lokal nga direktoryo.

Atong i-sync ang iladong EPEL repository sa subdirectory nga gitawag og epel-local sulod sa kasamtangang working directory:

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

Timan-i nga kini nga proseso magdugay samtang kini nag-download sa 8867 nga mga pakete:

Kung nahuman na ang pag-synchronize, atong susihon ang gidaghanon sa disk space nga gigamit sa atong bag-ong nahimo nga salamin sa EPEL repository gamit ang du command:

# du -sch epel-local/*

Karon naa na kanimo kung gusto nimo itago kini nga salamin sa EPEL o gamiton kini aron mag-install mga pakete imbis nga mogamit usa ka hilit. Sa unang kaso, palihog hinumdomi nga kinahanglan nimong usbon ang /etc/yum.repos.d/epel.repo sumala niana.

Ang yum-complete-transaction usa ka bahin sa yum-utils nga programa nga makadakop sa wala pa nahuman o gi-abort nga yum nga mga transaksyon sa usa ka sistema ug naningkamot sa pagkompleto niini.

Pananglitan, kung atong i-update ang mga server sa Linux pinaagi sa yum package manager usahay kini maglabay sa usa ka mensahe sa pasidaan nga mabasa sama sa mosunod:

Adunay mga wala pa nahuman nga mga transaksyon nga nahabilin. Mahimo nimong ikonsiderar ang pagdagan una sa yum-complete-transaction aron mahuman kini.

Aron ayohon ang ingon nga mga mensahe sa pasidaan ug masulbad ang ingon nga isyu, ang yum-complete-transaction command moabut sa litrato aron makompleto ang wala pa nahuman nga mga transaksyon, nakit-an ang mga dili kompleto o gi-abort nga mga transaksyon sa yum sa transaksyon-tanan * ug nahimo nga transaksyon * nga mga file nga makita sa/var/lib/yum nga direktoryo.

Pagdalag yum-complete-transaction command aron mahuman ang dili kompleto nga yum transactions:

# yum-complete-transaction --cleanup-only

Karon ang yum nga mga sugo modagan nga wala ang dili kompleto nga mga pasidaan sa transaksyon.

# yum update

Mubo nga sulat: Kini nga tip gisugyot sa usa sa among regular nga magbabasa nga si G. Tomas sa seksyon sa mga komento dinhi.

Summary

Sa kini nga artikulo gitabonan namon ang pipila sa labing mapuslanon nga mga gamit nga gihatag pinaagi sa yum-utils. Para sa kompletong listahan, mahimo nimong i-refer ang man page (man yum-utils).

Dugang pa, ang matag usa niini nga mga himan adunay usa ka bulag nga panid sa tawo (tan-awa ang man reposync, pananglitan), nga mao ang panguna nga gigikanan sa dokumentasyon nga kinahanglan nimong tan-awon kung gusto nimo mahibal-an ang dugang bahin niini.

Kung mogahin ka usa ka minuto aron susihon ang panid sa tawo sa yum-utils, tingali makit-an nimo ang lain nga himan nga gusto nimo nga among hisgotan sa labi ka lawom sa usa ka lahi nga artikulo. Kung mao, o kung adunay ka mga pangutana, komento, o sugyot sa kini nga artikulo, ayaw pagduhaduha nga ipahibalo kanamo kung hain ang usa pinaagi sa paghulog kanamo usa ka nota gamit ang porma sa komento sa ubos.