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
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-
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ą.