Kako instalirati i koristiti 'yum-utils' za održavanje Yuma i povećanje njegove izvedbe


Bez obzira na to što Fedora počinje usvajati dnf kao novi upravitelj paketa i zadanu biblioteku za upravljanje paketima, on neće zauvijek zamijeniti dobri stari upravitelj paketa yum u drugim spinoff distribucijama (kao što je Red Hat Enterprise Linux (RHEL) i CentOS) dok se ne pokaže pouzdanim kao yum i čvršćim (prema Fedora Project wiki, od 15. studenog, 2015, dnf je još uvijek u stanju za testiranje). Stoga će vas vaše vještine upravljanja ukusom dobro služiti još neko vrijeme.

Iz tog razloga, u ovom ćemo vam vodiču predstaviti yum-utils, zbirku uslužnih programa koji se integriraju s yumom kako bi proširili njegove izvorne značajke na nekoliko načina, čineći ga tako moćnijim i lakšim za korištenje.

Instaliranje yum-utils u RHEL/CentOS

Yum-utils uključen je u osnovni repo (koji je omogućen prema zadanim postavkama) tako da je njegovo instaliranje u bilo koju distribuciju temeljenu na Fedori jednako jednostavno:

yum update && yum install yum-utils

Svi uslužni programi koje nudi yum-utils automatski se instaliraju s glavnim paketom, što ćemo opisati u sljedećem odjeljku.

Istražite uslužne programe koje pruža paket yum-utils

Alati koje nudi yum-utils navedeni su na njegovoj man stranici:

man yum-utils

Evo 10 onih njam uslužnih programa za koje smo mislili da će vas zanimati:

1. Otklonite pogreške paketa

debuginfo-install instalira debuginfo pakete (i njihove ovisnosti) potrebne za otklanjanje pogrešaka u slučaju pada ili tijekom razvoja aplikacija koje koriste određeni paket.

Kako bismo debugirali paket (ili bilo koju drugu izvršnu datoteku), također ćemo morati instalirati gdb (GNU debugger) i koristiti ga za pokretanje programa u modu debugiranja.

Na primjer:

gdb $(which postfix)

Gornja naredba će pokrenuti gdb shell gdje možemo upisati radnje koje treba izvršiti. Na primjer, run (kao što je prikazano na slici ispod) pokrenut će program, dok će bt (nije prikazano) prikazati praćenje stoga (također poznato kao backtrace ) programa, koji će pružiti popis poziva funkcija koje su dovele do određene točke u izvršavanju programa (koristeći ove informacije, i programeri i administratori sustava mogu shvatiti što je pošlo po zlu u slučaju pada).

Ostale dostupne radnje i njihovi očekivani rezultati navedeni su u man gdb.

2. Pronađite repozitorij instaliranih paketa

Sljedeća naredba pokazuje iz kojeg repozitorija su trenutno instalirani paketi instalirani:

find-repos-of-install httpd postfix dovecot

Ako se pokrene bez argumenata, find-repos-of-install će vratiti cijeli popis trenutno instaliranih paketa.

3. Uklonite duplikate ili osiromašene pakete

package-cleanup upravlja čišćenjem paketa, duplikatima, napuštenim paketima (programi instalirani iz izvora koji nije trenutno konfigurirana spremišta) i drugim nedosljednostima ovisnosti, uključujući uklanjanje starih kernela kao što je prikazano u sljedećem primjeru:

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

Ne morate se brinuti da će zadnja naredba oštetiti vaš kernel. To će samo utjecati na stare pakete kernela (verzije starije od one koja se trenutno izvodi) koji više nisu potrebni.

4. Saznajte popis ovisnosti paketa

repo-graph vraća puni popis ovisnosti paketa u dot formatu za sve pakete koji su dostupni iz konfiguriranih repozitorija. Alternativno, repo-graph može vratiti iste informacije po repozitoriju ako se koristi s opcijom --repoid=.

Na primjer, pogledajmo ovisnosti za svaki paket u repozitoriju ažuriranja:

repo-graph --repoid=updates | less

U gornjoj naredbi šaljemo izlaz repo-grafa manje radi lakše vizualizacije, ali možete ga alternativno preusmjeriti na lokalnu datoteku za kasniju inspekciju:

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

U svakom slučaju, možemo vidjeti da paket iputils ovisi o systemd i openssl-libs.

5. Provjerite popis neriješenih ovisnosti

repoclosure čita metapodatke konfiguriranih repozitorija, provjerava ovisnosti paketa uključenih u njih i prikazuje popis nerazriješenih ovisnosti za svaki paket:

repoclosure

6. Kako provjeriti najnovije ili najstarije pakete u imeniku

repomanage postavlja upit direktoriju s rpm paketima i vraća popis najnovijih ili najstarijih paketa u direktoriju. Ovaj alat može dobro doći ako imate direktorij u koji pohranjujete nekoliko .rpm paketa različitih programa.

Kada se izvrši bez argumenata, repomanage vraća najnovije pakete. Ako se pokrene s oznakom --old, vratit će najstarije pakete:

ls -l
cd rpms
ls -l rpms
repomanage rpms

Imajte na umu da promjena naziva rpm paketa NEĆE utjecati na način rada repomanage.

7. Upitajte Yum repozitorije da biste dobili informacije o paketu

repoquery ispituje yum repozitorije i dobiva dodatne informacije o paketima, bez obzira jesu li instalirani ili ne (ovisnosti, datoteke uključene u paket i više).

Na primjer, htop (Linux Process Monitoring ) trenutno nije instaliran na ovom sustavu, kao što možete vidjeti dolje:

which htop
rpm -qa | grep htop

Sada pretpostavimo da želimo ispisati ovisnosti htopa, zajedno s datotekama koje su uključene u zadanu instalaciju. Da biste to učinili, izvršite sljedeće dvije naredbe:

repoquery --requires htop
repoquery --list htop

8. Izbacite sve instalirane RPM pakete u Zip datoteku

yum-debug-dump omogućuje vam izbacivanje kompletnog popisa svih paketa koje ste instalirali, svih paketa dostupnih u bilo kojem repozitoriju, važne konfiguracije i informacija o sustavu u komprimiranu datoteku.

Ovo može biti korisno u slučaju da želite otkloniti problem koji se pojavio. Za našu pogodnost, yum-debug-dump imenuje datoteku kao yum_debug_dump--, što nam omogućuje praćenje promjena tijekom vremena .

yum-debug-dump

Kao i kod bilo koje komprimirane tekstualne datoteke, njen sadržaj možemo vidjeti pomoću naredbe zless:

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

Ako trebate vratiti informacije o konfiguraciji koje pruža yum-debug-dump, možete koristiti yum-debug-restore da to učinite:

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

9. Preuzimanje izvornih RPM-ova iz Yum repozitorija

yumdownloader preuzima izvorne RPM datoteke iz repozitorija, uključujući njihove ovisnosti. Korisno za stvaranje mrežnog repozitorija kojem će se pristupati s drugih računala s ograničenim pristupom Internetu.

Yumdownloader vam omogućuje ne samo preuzimanje binarnih RPM-ova već i izvornih (ako se koristi s opcijom --source).

Na primjer, stvorimo direktorij pod nazivom htop-files gdje ćemo pohraniti RPM-ove potrebne za instalaciju programa pomoću rpm-a. Da bismo to učinili, moramo koristiti prekidač --resolve zajedno s yumdownloaderom:

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

10. Sinkronizirajte udaljeno Yum spremište s lokalnim imenikom

reposync je usko povezan s yumdownloaderom (zapravo, podržavaju gotovo iste opcije), ali nudi znatnu prednost. Umjesto preuzimanja binarnih ili izvornih RPM datoteka, sinkronizira udaljeno spremište s lokalnim direktorijem.

Sinkronizirajmo dobro poznato EPEL spremište u poddirektorij pod nazivom epel-local unutar trenutnog radnog direktorija:

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

Imajte na umu da će ovaj proces potrajati dosta dugo jer se preuzimaju paketi 8867:

Nakon što je sinkronizacija dovršena, provjerimo količinu prostora na disku koji koristi naše novostvoreno ogledalo EPEL repozitorija pomoću naredbe du:

du -sch epel-local/*

Sada ovisi o vama želite li zadržati ovaj EPEL mirror ili ga koristiti za instaliranje paketa umjesto korištenja udaljenog. U prvom slučaju, imajte na umu da ćete morati modificirati /etc/yum.repos.d/epel.repo u skladu s tim.

11. Popravite nedovršene ili prekinute Yum transakcije

yum-complete-transaction je dio yum-utils programa koji hvata nedovršene ili prekinute yum transakcije na sustavu i pokušava ih dovršiti.

Na primjer, kada ažuriramo Linux poslužitelje preko yum upravitelja paketa ponekad izbaci poruku upozorenja koja glasi kako slijedi:

Ostale su nedovršene transakcije. Razmotrite prvo pokretanje yum-complete-transaction da ih završite.

Da biste popravili takve poruke upozorenja i riješili takav problem, pojavljuje se naredba yum-complete-transaction za dovršetak nedovršenih transakcija, ona pronalazi te nedovršene ili prekinute yum transakcije u transaction-all* i transaction-done* datoteke koje se mogu pronaći u direktoriju /var/lib/yum.

Pokrenite naredbu yum-complete-transaction da završite nedovršene yum transakcije:


yum-complete-transaction --cleanup-only

Sada će se naredbe yum izvoditi bez upozorenja o nepotpunoj transakciji.


yum update

Napomena: Ovaj savjet predložio je jedan od naših redovitih čitatelja Mr. Tomasu odjeljku za komentare ovdje.

Sažetak

U ovom članku pokrili smo neke od najkorisnijih uslužnih programa koje nudi yum-utils. Za potpuni popis možete pogledati stranicu priručnika (man yum-utils).

Osim toga, svaki od ovih alata ima zasebnu stranicu priručnika (pogledajte, na primjer, man reposync), što je primarni izvor dokumentacije na koji biste se trebali obratiti ako želite saznati više o njima.

Ako odvojite minutu da provjerite stranicu priručnika za yum-utils, možda ćete pronaći još jedan alat za koji biste željeli da ga detaljnije obradimo u zasebnom članku. Ako je tako, ili ako imate pitanja, komentara ili prijedloga o ovom članku, slobodno nam javite koji od njih tako da nam pošaljete poruku koristeći obrazac za komentare u nastavku.