Kaip įdiegti ir naudoti „yum-utils“, kad išlaikytumėte „Yum“ ir padidintumėte jo našumą


Nepaisant to, kad „Fedora“ pradės taikyti dnf kaip naują paketų tvarkyklę ir numatytąją paketų valdymo biblioteką, ji nepakeis senos geros „yum“ paketų tvarkytuvės kituose šalutiniuose platinimuose (pvz., Red Hat Enterprise Linux ( >RHEL) ir CentOS), kol jis nepasirodys toks pat patikimas kaip yum ir tvirtesnis (pagal Fedora Project wiki, lapkričio 15 d., 2015 m., dnf vis dar testavimo būsena). Taigi jūsų yum-vadybos įgūdžiai jums dar ilgai tarnaus.

Dėl šios priežasties šiame vadove supažindinsime jus su yum-utils – paslaugų rinkiniu, kuris integruojamas su yum, kad keliais būdais praplėstų savo vietines funkcijas, kad būtų veiksmingesnė ir lengviau naudojama.

„Yum-utils“ diegimas RHEL/CentOS

Yum-utils yra įtrauktas į bazinį atpirkimą (kuris įgalintas pagal numatytuosius nustatymus), todėl jį įdiegti bet kuriame „Fedora“ pagrindu sukurtame paskirstyme taip pat paprasta:

yum update && yum install yum-utils

Visos yum-utils teikiamos paslaugos įdiegiamos automatiškai kartu su pagrindiniu paketu, kurį apibūdinsime kitame skyriuje.

Naršykite „yum-utils“ paketo teikiamas paslaugas

Įrankiai, kuriuos teikia yum-utils, yra išvardyti jo vadovo puslapyje:

man yum-utils

Štai 10 tų yum paslaugų, kurios, mūsų manymu, jus sudomins:

1. Paketo derinimas

debuginfo-install įdiegia debuginfo paketus (ir jų priklausomybes), reikalingus derinimui įvykus strigčiai arba kurdami programas, kurios naudoja tam tikrą paketą.

Norėdami derinti paketą (ar bet kurį kitą vykdomąjį failą), taip pat turėsime įdiegti gdb (GNU derintuvą) ir naudoti jį programai paleisti derinimo režimu.

Pavyzdžiui:

gdb $(which postfix)

Aukščiau pateikta komanda paleis gdb apvalkalą, kuriame galėsime įvesti vykdytinus veiksmus. Pavyzdžiui, vykdyti (kaip parodyta paveikslėlyje toliau) paleis programą, o bt (nerodomas) parodys dėklo pėdsaką (taip pat žinomas kaip backtrace ), kuriame bus pateiktas funkcijų iškvietimų, vedančių į tam tikrą programos vykdymo tašką, sąrašas (naudodami šią informaciją kūrėjai ir sistemos administratoriai gali išsiaiškinti, kas nutiko gedimo atveju).

Kiti galimi veiksmai ir laukiami jų rezultatai pateikiami man gdb.

2. Raskite įdiegtų paketų saugyklą

Ši komanda parodo, iš kurios saugyklos buvo įdiegti šiuo metu įdiegti paketai :

find-repos-of-install httpd postfix dovecot

Jei paleista be argumentų, find-repos-of-install pateiks visą šiuo metu įdiegtų paketų sąrašą.

3. Pašalinkite pasikartojančius arba našlaičių paketus

Package-cleanup tvarko paketų išvalymą, dublikatus, našlaičių paketus (programas, įdiegtas iš kito šaltinio nei šiuo metu sukonfigūruotos saugyklos) ir kitus priklausomybės neatitikimus, įskaitant senų branduolių pašalinimą, kaip parodyta šiame pavyzdyje:

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

Jums nereikia jaudintis, kad paskutinė komanda sugadins jūsų branduolį. Tai tik paveiks senus branduolio paketus (senesnes nei šiuo metu veikiančios versijos), kurių nebereikia.

4. Sužinokite paketo priklausomybių sąrašą

repo-graph pateikia visą paketų priklausomybės sąrašą taško formatu visiems paketams, kurie yra pasiekiami sukonfigūruotose saugyklose. Arba repo-graph gali grąžinti tą pačią informaciją pagal saugyklą, jei naudojama su parinktimi --repoid=.

Pavyzdžiui, peržiūrėkime kiekvieno paketo priklausomybes naujinimų saugykloje:

repo-graph --repoid=updates | less

Aukščiau pateiktoje komandoje mes siunčiame repo-graph išvestį į less, kad būtų lengviau vizualizuoti, tačiau galite peradresuoti ją į vietinį failą, kad galėtumėte vėliau patikrinti:

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

Bet kuriuo atveju matome, kad iputils paketas priklauso nuo systemd ir openssl-libs.

5. Patikrinkite neišspręstų priklausomybių sąrašą

Pakartotinis uždarymas nuskaito sukonfigūruotų saugyklų metaduomenis, patikrina į jas įtrauktų paketų priklausomybes ir rodo kiekvieno paketo neišspręstų priklausomybių sąrašą:

repoclosure

6. Kaip patikrinti naujausius arba seniausius paketus kataloge

Pakartotinis tvarkymas pateikia užklausą kataloge su rpm paketais ir pateikia naujausių arba seniausių katalogo paketų sąrašą. Šis įrankis gali būti naudingas, jei turite katalogą, kuriame saugote kelis skirtingų programų .rpm paketus.

Kai vykdoma be argumentų, pertvarkymas grąžina naujausius paketus. Jei paleista su vėliava --old, ji grąžins seniausius paketus:

ls -l
cd rpms
ls -l rpms
repomanage rpms

Atkreipkite dėmesį, kad rpm paketų pavadinimų pakeitimas NEturės įtakos pertvarkymo veikimui.

7. Pateikite užklausą Yum saugyklose, kad gautumėte informacijos apie paketą

repoquery užklausa „yum“ saugyklose ir gauna papildomos informacijos apie paketus, nesvarbu, ar jie įdiegti, ar ne (priklausomybės, į paketą įtraukti failai ir kt.).

Pavyzdžiui, htop („Linux Process Monitoring“) šiuo metu nėra įdiegtas šioje sistemoje, kaip matote toliau:

which htop
rpm -qa | grep htop

Tarkime, kad norime išvardyti htop priklausomybes kartu su failais, kurie yra įtraukti į numatytąjį diegimą. Norėdami tai padaryti, atitinkamai vykdykite šias dvi komandas:

repoquery --requires htop
repoquery --list htop

8. Iškelkite visus įdiegtus RPM paketus į ZIP failą

yum-debug-dump leidžia į suglaudintą failą iškelti visą visų įdiegtų paketų sąrašą, visus paketus, kuriuos galite rasti bet kurioje saugykloje, svarbią konfigūraciją ir sistemos informaciją.

Tai gali būti naudinga, jei norite derinti iškilusią problemą. Kad būtų patogiau, yum-debug-dump failą pavadina yum_debug_dump--, todėl galime stebėti pokyčius laikui bėgant .

yum-debug-dump

Kaip ir bet kurio suglaudinto teksto failo, jo turinį galime peržiūrėti naudodami komandą zless:

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

Jei reikia atkurti konfigūracijos informaciją, kurią pateikia yum-debug-dump, galite tai padaryti naudodami yum-debug-restore:

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

9. Šaltinio RPM atsisiuntimas iš Yum saugyklų

Programa yumdownloader atsisiunčia šaltinio RPM failus iš saugyklų, įskaitant jų priklausomybes. Naudinga kuriant tinklo saugyklą, kurią būtų galima pasiekti iš kitų įrenginių su ribota interneto prieiga.

Naudodami Yumdownloader galite ne tik atsisiųsti dvejetainius RPM, bet ir šaltinio (jei naudojami su parinktimi --source).

Pavyzdžiui, sukurkime katalogą pavadinimu htop-files, kuriame išsaugosime RPM, reikalingus programai įdiegti naudojant rpm. Norėdami tai padaryti, turime naudoti jungiklį --resolve kartu su yumdownloader:

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

10. Sinchronizuokite nuotolinę Yum saugyklą su vietiniu katalogu

reposync yra glaudžiai susijęs su yumdownloader (iš tikrųjų jie palaiko beveik tas pačias parinktis), tačiau suteikia didelį pranašumą. Užuot atsisiuntus dvejetainius arba šaltinio RPM failus, jis sinchronizuoja nuotolinę saugyklą su vietiniu katalogu.

Sinchronizuokite gerai žinomą EPEL saugyklą su pakatalogiu, pavadintu epel-local dabartiniame darbiniame kataloge:

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

Atminkite, kad šis procesas užtruks gana ilgai, nes atsisiunčiami 8867 paketai:

Kai sinchronizavimas bus baigtas, patikrinkime, kiek vietos diske naudoja mūsų naujai sukurtas EPEL saugyklos veidrodis, naudodami komandą du:

du -sch epel-local/*

Dabar jūs turite nuspręsti, ar norite pasilikti šį EPEL veidrodį, ar naudoti jį paketams įdiegti, o ne naudoti nuotolinį. Pirmuoju atveju atminkite, kad turėsite atitinkamai pakeisti /etc/yum.repos.d/epel.repo.

11. Pataisykite nebaigtas arba nutrauktas Yum operacijas

yum-complete-transaction yra programos yum-utils dalis, kuri užfiksuoja nebaigtas arba nutrauktas yum operacijas sistemoje ir bando jas užbaigti.

Pavyzdžiui, kai atnaujiname „Linux“ serverius naudodami yum paketų tvarkyklę, kartais išsiunčiamas įspėjamasis pranešimas, kuris skamba taip:

Liko nebaigtų operacijų. Pirmiausia galite paleisti „yum-complete-transaction“, kad juos užbaigtumėte.

Norint ištaisyti tokius įspėjamuosius pranešimus ir išspręsti tokią problemą, įvedama komanda yum-complete-transaction, kad užbaigtų nebaigtas operacijas, ji randa tas neužbaigtas arba nutrauktas yum operacijas transaction-all*. ir transaction-done* failus, kuriuos galima rasti kataloge /var/lib/yum.

Paleiskite komandą yum-complete-transaction, kad užbaigtumėte neužbaigtas yum operacijas:


yum-complete-transaction --cleanup-only

Dabar „yum“ komandos bus vykdomos be įspėjimų apie nebaigtą operaciją.


yum update

Pastaba: šį patarimą pasiūlė vienas iš mūsų nuolatinių skaitytojų p. Tomaskomentarų skiltyje čia.

Santrauka

Šiame straipsnyje aptarėme keletą naudingiausių paslaugų, teikiamų naudojant yum-utils. Išsamų sąrašą rasite vadovo puslapyje (man yum-utils).

Be to, kiekvienas iš šių įrankių turi atskirą vadovo puslapį (pvz., žr. man reposync), kuris yra pagrindinis dokumentų šaltinis, į kurį turėtumėte kreiptis, jei norite apie juos sužinoti daugiau.

Jei skirsite minutėlę ir patikrinsite yum-utils man puslapį, galbūt rasite kitą įrankį, kurį norėtumėte, kad išsamiau aptartume atskirame straipsnyje. Jei taip, arba jei turite klausimų, komentarų ar pasiūlymų dėl šio straipsnio, nedvejodami praneškite mums, kuris iš jų, parašydami mums pastabą naudodami toliau pateiktą komentarų formą.