Bii o ṣe le Fi sii ati Lo awọn ohun elo yum lati Ṣe abojuto Yum ati Igbega Iṣe rẹ


Laibikita ti Fedora bẹrẹ lati gba oluṣakoso package yum fun rere ni awọn pinpin kaakiri miiran (bii Red Hat Idawọlẹ Linux (RHEL) ati CentOS) titi ti o ti fihan lati jẹ igbẹkẹle bi yum ati diẹ sii ri to (ni ibamu si Fedora Project wiki, bi ti Oṣu kọkanla 15, 2015, dnf tun wa ni ipo idanwo). Nitorinaa, awọn ọgbọn iṣakoso yum rẹ yoo sin ọ daradara fun igba diẹ sibẹ.

Fun idi eyi, ninu itọsọna yii a yoo ṣe afihan ọ si awọn ohun elo yum, ikojọpọ awọn ohun elo ti o ṣepọ pẹlu yum lati faagun awọn ẹya abinibi rẹ ni awọn ọna pupọ, nitorinaa jẹ ki o ni agbara diẹ sii ati rọrun lati lo.

Fifi awọn ohun elo yum ni RHEL/CentOS

Awọn ohun elo Yum wa ninu repo ipilẹ (eyiti o muu ṣiṣẹ nipasẹ aiyipada) nitorinaa fifi sori ẹrọ ni eyikeyi pinpin orisun Fedora jẹ irọrun bi ṣiṣe:

# yum update && yum install yum-utils

Gbogbo awọn ohun elo ti a pese nipasẹ awọn ohun elo yum ti fi sori ẹrọ laifọwọyi pẹlu package akọkọ, eyiti a yoo ṣe apejuwe ni apakan ti o tẹle.

Ṣawari Awọn ohun elo Pipese nipasẹ Awọn ohun elo yum-utils

Awọn irinṣẹ ti a pese nipasẹ awọn ohun elo yum ti wa ni atokọ ni oju-iwe eniyan rẹ:

# man yum-utils

Eyi ni 10 ti awọn ohun elo yum wọnyẹn ti a ro pe iwọ yoo nifẹ ninu:

debuginfo-fi sori ẹrọ nfi awọn idii debuginfo sii (ati awọn igbẹkẹle wọn) ti o nilo lati ṣatunṣe aṣiṣe ni ọran ti jamba tabi lakoko awọn ohun elo idagbasoke ti o lo package kan.

Lati le ṣatunṣe package kan (tabi eyikeyi ti a le ṣiṣẹ), a yoo tun nilo lati fi gdb sori ẹrọ (aṣiṣe GNU) ati lo lati bẹrẹ eto ni ipo n ṣatunṣe aṣiṣe.

Fun apere:

# gdb $(which postfix)

Aṣẹ ti o wa loke yoo bẹrẹ ikarahun gdb nibiti a le tẹ awọn iṣe lati ṣe. Fun apẹẹrẹ, ṣiṣe (bi a ṣe han ninu aworan ni isalẹ) yoo bẹrẹ eto naa, lakoko ti bt (ko han) yoo han kakiri akopọ (eyiti a tun mọ ni ẹhin) ti eto naa, eyiti yoo pese atokọ ti awọn ipe iṣẹ ti o yori si aaye kan ninu ipaniyan eto naa (ni lilo alaye yii, awọn olupilẹṣẹ mejeeji ati awọn alamọ eto le mọ ohun ti o ṣẹlẹ ni ọran ti jamba kan).

Awọn iṣe miiran ti o wa ati awọn abajade ireti wọn ni a ṣe akojọ ninu eniyan gdb.

Atẹle atẹle n fihan iru ibi ipamọ ti awọn idii ti a fi sii lọwọlọwọ ti a fi sii lati:

# find-repos-of-install httpd postfix dovecot

Ti o ba ṣiṣẹ laisi awọn ariyanjiyan, ri-repos-of-fi sori ẹrọ yoo da gbogbo atokọ ti awọn idii ti a fi sii lọwọlọwọ pada.

afọmọ package n ṣakoso afọmọ package, awọn ẹda-ẹda, awọn idii alainibaba (awọn eto ti a fi sori ẹrọ lati orisun miiran yatọ si awọn ibi ipamọ atunto lọwọlọwọ) ati awọn aiṣedeede igbẹkẹle miiran, pẹlu yiyọ awọn ekuro atijọ bi a ṣe han ninu apẹẹrẹ atẹle:

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

O ko ni lati ṣàníyàn nipa aṣẹ ti o kẹhin ti n ba ekuro rẹ jẹ. Yoo kan kan awọn idii ekuro atijọ (awọn ẹya ti o dagba ju ti nṣiṣẹ lọwọlọwọ lọ) ti ko nilo mọ.

repo-graph pada akojọ pipe igbẹkẹle package ni ọna kika aami fun gbogbo awọn idii ti o wa lati awọn ibi ipamọ atunto. Ni omiiran, repo-graph le dapada alaye kanna nipasẹ ibi ipamọ ti o ba lo pẹlu aṣayan --repoid= .

Fun apẹẹrẹ, jẹ ki a wo awọn igbẹkẹle fun package kọọkan ninu ibi ipamọ awọn imudojuiwọn:

# repo-graph --repoid=updates | less

Ninu aṣẹ ti o wa loke a n firanṣẹ iṣiṣẹ ti repo-graph si kere si fun iworan ti o rọrun, ṣugbọn o le tun ṣe atunṣe si faili agbegbe kan fun ayewo nigbamii:

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

Ni eyikeyi idiyele, a le rii pe package iputils da lori eto ati openssl-libs.

repoclosure ka metadata ti awọn ibi ipamọ ti a tunto, ṣayẹwo awọn igbẹkẹle ti awọn idii ti o wa ninu wọn ati ṣafihan atokọ ti awọn igbẹkẹle ti ko yanju fun package kọọkan:

# repoclosure

awọn ibeere ibeere atunkọ itọsọna kan pẹlu awọn idii rpm ati dapada atokọ ti awọn idii tuntun tabi atijọ julọ ninu itọsọna kan. Ọpa yii le wa ni ọwọ ti o ba ni itọsọna nibiti o tọju ọpọlọpọ awọn idii .rpm ti awọn eto oriṣiriṣi.

Nigbati a ba ṣiṣẹ laisi awọn ariyanjiyan, atunṣe pada awọn idii tuntun julọ. Ti o ba ṣiṣẹ pẹlu asia --old , yoo da awọn idii ti atijọ pada:

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

Jọwọ ṣe akiyesi pe yiyipada orukọ awọn idii rpm kii yoo ni ipa lori bii atunṣe ṣe n ṣiṣẹ.

awọn ibeere ibeere repo yum awọn ibi ipamọ data ati gba alaye ni afikun lori awọn idii, boya wọn ti fi sii tabi kii ṣe (awọn igbẹkẹle, awọn faili ti o wa ninu apo, ati diẹ sii).

Fun apẹẹrẹ, htop (Mimojuto Ilana Linux) ko fi sori ẹrọ lọwọlọwọ lori eto yii, bi o ti le rii ni isalẹ:

# which htop
# rpm -qa | grep htop

Bayi bi a ba fẹ ṣe atokọ awọn igbẹkẹle ti htop, pẹlu awọn faili ti o wa ninu fifi sori ẹrọ aiyipada. Lati ṣe bẹ, ṣe awọn ofin meji wọnyi, lẹsẹsẹ:

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

yum-debug-dump fun ọ laaye lati da akojọ pipe ti gbogbo awọn idii ti o ti fi sii silẹ, gbogbo awọn idii ti o wa ni ibi ipamọ eyikeyi, iṣeto pataki ati alaye eto sinu faili ti a fi silẹ.

Eyi le wa ni ọwọ ni ọran ti o fẹ ṣatunṣe aṣiṣe ti o ti ṣẹlẹ. Fun irọrun wa, yum-debug-dump fun orukọ ni faili bi yum_debug_dump- - .txt.gz, eyiti o fun wa laaye lati tọpinpin awọn ayipada ni akoko pupọ.

# yum-debug-dump

Bii pẹlu eyikeyi faili ọrọ ti a fisinuirindigbindigbin, a le wo awọn akoonu rẹ nipa lilo pipaṣẹ zless:

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

O yẹ ki o nilo lati mu pada alaye iṣeto ti a pese nipasẹ yum-debug-dump, o le lo yum-debug-mimu-pada sipo lati ṣe bẹ:

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

yumdownloader ṣe igbasilẹ awọn faili RPM orisun lati awọn ibi ipamọ, pẹlu awọn igbẹkẹle wọn. Wulo lati ṣẹda ibi ipamọ nẹtiwọọki lati wọle lati awọn ẹrọ miiran pẹlu wiwọle Ayelujara ti o ni ihamọ.

Yumdownloader n gba ọ laaye lati ṣe igbasilẹ awọn RPM alakomeji nikan ṣugbọn tun jẹ awọn orisun (ti o ba lo pẹlu aṣayan --source ).

Fun apẹẹrẹ, jẹ ki a ṣẹda itọsọna kan ti a npè ni htop-files nibiti a yoo tọju awọn RPM (s) ti o nilo lati fi eto sii nipa lilo rpm. Lati ṣe bẹ, a nilo lati lo iyipada - yanju pẹlu yumdownloader:

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

reposync ni ibatan pẹkipẹki si yumdownloader (ni otitọ, wọn ṣe atilẹyin fere awọn aṣayan kanna) ṣugbọn nfunni ni anfani akude. Dipo gbigba lati ayelujara alakomeji tabi orisun awọn faili RPM, o muuṣiṣẹpọ ibi ipamọ latọna jijin si itọsọna agbegbe.

Jẹ ki a muuṣiṣẹpọ ibi-ipamọ EPEL ti a gbajumọ si abẹ-kekere ti a pe ni epel-local inu itọsọna lọwọlọwọ iṣẹ:

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

Akiyesi pe ilana yii yoo gba igba diẹ bi o ti n ṣe igbasilẹ awọn idii 8867:

Lọgan ti amuṣiṣẹpọ ti pari, jẹ ki a ṣayẹwo iye aaye disiki ti a lo nipasẹ digi tuntun ti a ṣẹda ti ibi ipamọ EPEL nipa lilo pipaṣẹ du:

# du -sch epel-local/*

Bayi o wa si ọdọ rẹ ti o ba fẹ tọju digi EPEL yii tabi lo lati fi awọn idii sii dipo lilo ọkan latọna jijin. Ninu ọran akọkọ, jọwọ ranti pe iwọ yoo nilo lati yipada /etc/yum.repos.d/epel.repo ni ibamu.

idunadura-pari-yum jẹ apakan ti eto yum-utils eyiti o mu awọn iṣowo yum ti ko pari tabi ṣoki lori eto kan ki o gbiyanju lati pari wọn.

Fun apẹẹrẹ, nigba ti a ba ṣe imudojuiwọn awọn olupin Linux nipasẹ oluṣakoso package yum nigbakan o jabọ ifiranṣẹ ikilọ eyiti o ka bi atẹle:

Awọn iṣowo ti ko pari ti o ku. O le ronu ṣiṣe yum-pari-iṣowo akọkọ lati pari wọn.

Lati ṣatunṣe iru awọn ifiranṣẹ ikilọ ati yanju iru ọrọ bẹẹ, aṣẹ yum-pari-idunadura wa si aworan lati pari awọn iṣowo ti ko pari, o wa awọn ti ko pe tabi ti ṣetọju awọn iṣẹ yum ni iṣowo-gbogbo * ati awọn iṣowo ti a ṣe * eyiti o le rii ni/itọsọna var/lib/yum.

Ṣiṣe pipaṣẹ iṣowo-pari-yum lati pari awọn iṣowo yum ti ko pe:

# yum-complete-transaction --cleanup-only

Bayi awọn aṣẹ yum yoo ṣiṣẹ laisi awọn ikilọ idunadura ti ko pe.

# yum update

Akiyesi: A ṣe imọran aba yii nipasẹ ọkan ninu onkawe deede wa Ọgbẹni Tomas ninu apakan awọn ọrọ nibi.

Akopọ

Ninu nkan yii a ti bo diẹ ninu awọn ohun elo ti o wulo julọ ti a pese nipasẹ awọn ohun elo yum. Fun atokọ pipe, o le tọka si oju-iwe eniyan ( man yum-utils ).

Ni afikun, ọkọọkan awọn irinṣẹ wọnyi ni oju-iwe eniyan lọtọ (wo eniyan reposync, fun apẹẹrẹ), eyiti o jẹ orisun akọkọ ti iwe-aṣẹ ti o yẹ ki o tọka si ti o ba fẹ kọ diẹ sii nipa wọn.

Ti o ba gba iṣẹju kan lati ṣayẹwo oju-iwe eniyan ti awọn ohun elo yum, boya iwọ yoo wa ọpa miiran ti iwọ yoo fẹ ki a bo ni ijinle ti o tobi julọ ninu nkan lọtọ. Ti o ba bẹ bẹ, tabi ti o ba ni awọn ibeere, awọn asọye, tabi awọn didaba lori nkan yii, ni ọfẹ lati jẹ ki a mọ eyi ti o jẹ ki o sọ akọsilẹ wa silẹ nipa lilo fọọmu asọye ni isalẹ.