Yum dhe RPM janë të dyja mjete të shkëlqyera të menaxhimit të paketave, por ato kanë disa opsione dhe veçori të paqarta që ju lejojnë të bëni disa gjëra mjaft interesante. Nuk është e nevojshme t'i përdorni ato, por mund t'ju vijnë në ndihmë një ditë.
1. Shfaqja e llojit të arkitekturës në RPM që rezulton
Kjo gjë e vogël e thjeshtë është mjaft e lehtë për t'u realizuar dhe do të jetë shumë e dobishme për njerëzit që përdorin sistemet x86_64. Një rresht në ~ / .rpmmacros do t'ju kursejë probleme më vonë.
Echo "% _query_all_fmt %% (emri) - %% (version) - %% (lëshim). %% (hark)" >> ~ / .rpmmakros
2. Kërkimi i paketave jo nga CentOS
Dëshironi të merrni një listë të paketave të instaluara nga depo të palëve të treta përveç CentOS?
Rpm -qa --qf "% (EMRI)% (SHITES) \ n" | grep -v CentOS
3. Rivendosni lejet e skedarëve
A keni një rrëmujë të plotë me lejet në skedarët në një paketë? Nuk ka rëndësi, RPM do të kujdeset për këtë.
Rpm --setperms
4. Shikoni ndryshimet
Meqenëse CentOS dhe shitësi origjinal i kodit lëshojnë përditësime sigurie, numrat e versionit mund të jenë konfuz kur shikoni rregullimet e CVE. Kontrollimi për ndryshime në paketë është mënyrë e mirë shikoni nëse janë bërë korrigjime apo jo. Edhe një herë, RPM vjen në shpëtim.
Rpm -q --ndryshimi | më pak
Përdorimi i "më pak" është opsional, por për disa paketa, siç është kerneli, ndryshimet mund të jenë mjaft të gjera. Prandaj, kjo shtesë e bën përfundimin më të lexueshëm.
5. Ku është dokumentacioni?
Për të marrë shpejt dokumentacionin e lidhur me një paketë, mund të përdorni dy opsionet e mëposhtme:
- Kjo do t'ju tregojë dokumentacionin e përfshirë në atë rpm. Nëse keni vetëm emrin e skedarit, atëherë:
- dhe rpm do t'ju tregojë dokumentacionin për paketën që zotëron atë skedar.
6. Origjina e paketimit
Ndonjëherë dëshironi të dini se ku keni marrë një paketë ose paketa, sa paketa janë në sistemin tuaj nga një depo ose shitës i caktuar. Ka disa parametra kërkimi që mund të përdorni. Ndërsa ata nuk janë 100% të përsosur, ata mund të ndihmojnë përsëri. Shumica e paketave nga magazinat kanë etiketa me një ID në linjën Release. Për shembull përdor rpmforge rf si identifikues. Ju mund ta përdorni këtë për të parë se çfarë keni instaluar nga atje:
Rpm -qa lëshimi = "* rf *"
dhe nëse doni të shihni sa paketa keni instaluar nga Johnny Hughes, mund të përdorni:
Rpm -qa paketuesi = "Johnny *"
Kjo metodë funksionon për shumicën e kategorive si rpm -qi
Kjo komandë do të kthejë të gjithë listën paketat e instaluara.
7. Ekstrakt vetëm një skedar
Nëse ju duhet të nxirrni vetëm një skedar nga rpm pa riinstaluar të gjithë paketën, mund ta bëni këtë me rpm2cpio. Për shembull, për të nxjerrë vetëm një skedar nga logrotate rpm, përdorni sa vijon:
Rpm2cpio logrotate-1.0-1.i386.rpm | cpio -ivd etj / logrotate.conf
8. Kërkesë për datën e instalimit të paketës
Është e dobishme të gjeni paketa të vjetra pas një përmirësimi që nuk janë përmirësuar.
Rpm -qa --last> ~ / RPMS_by_Install_Date
Mund të përdorni "më pak" në dalje për të gjetur të gjitha RPMS-të më të vjetra se data e instalimit. Duke përdorur gjithashtu grep - specifikoni paketat dhe datën e instalimit.
9. Kërkesë për paketat e disponueshme nga depoja
Gjeni të gjitha paketat e disponueshme nga një depo specifike, si RPMforge. Paketat e instaluara tashmë nga ky depo nuk do të shfaqen.
Yum --çaktivizo "*" --aktivizo listën "rpmforge" të disponueshme
10. Kërko me YUM në depon e paketës për një varg të caktuar
Kërkoni për paketa që përmbajnë vargun e dëshiruar në emrin ose përshkrimin e paketës.
Yum search buildrpmtree | më pak
11. Përdorimi i Yum me një server proxy
Në mënyrë që Yum të funksionojë përmes një serveri proxy, shtoni parametrin e mëposhtëm në /etc/yum.conf:
Proxy = http: // përfaqësuesi juaj: 8080 /
ku - yourproxy është emri i serverit proxy dhe 8080 është porta e serverit proxy. Nëse serveri kërkon vërtetim, mund të specifikoni hyrjen si:
Proxy = http: // emri i përdoruesit: [email i mbrojtur]:8080/
Menaxheri i paketës RPM ju lejon të përdorni variablat e mjedisit proxy. Mund të vendoset në profil / etc / ose specifik për përdorues specifik në skedarin ~ / .bash_profile ::
Eksporto http_proxy = http: // përfaqësuesin tuaj: 8080 / eksportoni ftp_proxy = http: // përfaqësuesin tuaj: 8080 /
Për të përdorur wget përmes një proxy add rreshtat e mëposhtëm në / etj / wgetrc
Http_proxy = http: // përfaqësuesi juaj: 8080 / ftp_proxy = http: // përfaqësuesi juaj: 8080 /
Në të dyja rastet, emri i përdoruesit dhe fjalëkalimi mund të specifikohen si në shembullin e mësipërm.
12. Përdorimi i Yum për të instaluar një paketë lokale, duke kontrolluar dhe plotësuar automatikisht varësitë
yum --nogpgkontrolloni emrin e paketës së instalimit lokal.arch.rpm13. Marrja dhe rindërtimi i një pakete pa qenë root
Ndonjëherë thjesht duhet të rindërtoni një paketë specifike - ndoshta thjesht shtoni opsione konfigurimi që thjesht nuk ekzistojnë në paketën kryesore. Ose sepse keni gjetur paketën e kërkuar që nuk është në depo, por në faqen e zhvilluesit të RPMs për një shpërndarje tjetër. Kështu që ju duhet të merrni src.rpm dhe ta rindërtoni atë për veten tuaj. Por ju me të vërtetë nuk dëshironi ta bëni këtë si një superpërdorues. Pra, si të rindërtoni paketat tuaja në tuaj drejtoria e shtëpisë nën llogarinë tuaj.
13.1 Metoda A
Së pari, duhet të konfiguroni drejtorinë për punë. Struktura e tij është mjaft e ngjashme me drejtorinë / usr / src / redhat:
$ cd $ mkdir -p redhat / (SRPMS, RPMS, SPECS, BUILD, BURIMET) $ ls redhat / BUILD RPMS BURIMET SPECS SRPMS $
Duke përdorur makronë rpm, ne do të bëjmë një zëvendësim në mënyrë që rpmbuild të mësojë rreth nesh dhe çfarë duhet të montohet:
$ echo "% _topdir / shtëpi / testuser / redhat" >> .rpmmacros $ echo "% paketuesi i përdoruesit testues" >> .rpmmacros $ cat .rpmmacros% _topdir / shtëpi / testuser / redhat% paketuesi Test Përdoruesi $
Pikërisht. Hapi tjetër është të vendosni rpmbuild --rebuild foo.src.rpm, dhe rezultati do të jetë në ~ / redhat / RPMS / i386 (ose çfarëdo arkitekture me të cilën keni ndërtuar paketën).
13.2 Metoda B
Për CentOS-4, konfiguroni repon kbs-Extras (opsionale shtoni kbs-Misk) nga faqja dhe "yum install fedora-rpmdevtools" si rrënjë duke përdorur "sudo" ose "su -". Krijoni një përdorues (mund të dëshironi të përdorni një llogari të veçantë për të shmangur problemet në direktorinë tuaj normale të shtëpisë) dhe ekzekutoni "fedora-buildrpmtree" dhe ~ / rpmbuild / ... në pemën e drejtorive dhe skedari ~ / .rpmmakros do të jetë automatikisht krijuar. (Vini re "rpmbuild" kundrejt "RedHat" në metodën A.)
Për CentOS-5, paketa rpmdevtools nuk është e disponueshme. Në FC6 SRPM rpmdevtools-5.3-1.fc6.src.rpm ndërton dhe ekzekuton.
Më poshtë është një makro për marrjen e emrave të duhur të disa paketave (zëvendësoni shpërndarjen e duhur për "el4" me tuajin):
$ echo "% dist .el4" >> .rpmmacros
14. Shfaqja e prioriteteve për të gjitha depot e instaluara
Ju mund të merrni një listë të të gjitha depove që keni instaluar - yum repolist të gjitha... Megjithatë, ai nuk tregon indeksin e përparësisë. Këtu është linja e kërkuar për këtë. Nëse nuk specifikohet asnjë numër, ai vendoset në prioritetin më të ulët (99).
Cat /etc/yum.repos.d/*.repo | sed -n -e "/ ^ \ # yum list" vim * "Paketat e instaluara vim-minimal.i386 2: 7.0.109-7.el5 të instaluara Paketat e disponueshme vim-X11.i386 2: 7.0.109-7.el5 bazë vim-augeas.i386 0.9.0-2.el5.rf rpmforge vim-clustershell.noarch 1.5.1-1.el5 epel vim-common.i386 2: 7.0.109-7.el5 bazë vim-përmirësuar.i386 2: 7.0.109-7.el5 bazë vim-halibut.i386 1.0-2.20100504svn8934.el5.1 epel vim-kukull.noarch 2.7.9-1.el5.rf rpmforge
16. Shfaq të gjithë çelësat e instaluar GPG
Trego një listë të të gjithë çelësave me informacionin përkatës të depove:
Rpm -q gpg-pubkey --qf "% (emri) -% (version) -% (release) ->% (përmbledhje) \ n"
17. Nënshkrimi i paketave
Dëshironi të nënshkruani paketën tuaj që keni mbledhur në mënyrë që të tjerët të mund të verifikojnë vlefshmërinë e saj? Ju mund ta bëni këtë mjaft thjesht. Shikoni dokumentacionin.
Shënim: për CentOS 5 dhe 4, do të jetë më mirë nëse përdorni çelësin DSA për nënshkrim (pasi kishte probleme me verifikimin për versionin 4 të RSA).
18. Metapaketat YUM
Një metapaketë është një paketë e veçantë që nuk përmban asnjë softuer, por ka një grup të caktuar softuerësh në varësitë e saj. Për shembull: instalimi i X në server.
Për të parë një listë të të gjitha metapaketave, duhet të ekzekutoni komandën: listën e grupeve yum... Por nëse keni një vend rus, atëherë lista do të lëshohet në Rusisht. Për një listë të atyre që mund të instalohen (në anglisht), vendosni gjuhën e daljes së komandës në anglisht:
LANG = Lista e grupeve C yum
19. Si të listoni paketat e instaluara
Paketat e instaluara mund të shfaqin komanda
Lista Yum e instaluar
Shembull, për të marrë një listë të paketave të instaluara nga depoja:
# listë yum e instaluar | grep ius php71u-cli.x86_64 7.1.17-1.ius.el6 @ius php71u-common.x86_64 7.1.17-1.ius.el6 @ius php71u-embedded.x86_64 7.i. php71u-fpm.x86_64 7.1.17-1.ius.el6 @ius 7.1.17-1.ius.el6 @ius php71u-gd.x86_64 7.1.17-1.ius.el6 @ius php71u_6.7 4x. 17-1.ius.el6 @ius php71u-json.x86_64 7.1.17-1.ius.el6 @ius php71u-mbstring.x86_64 7.1.17-1.ius.el6 @ius php71u-pdo.7-86. 1.ius.el6 @ius 3.4.3-2.ius.el6 @ius php71u-pgsql.x86_64 7.1.17-1.ius.el6 @ius php71u-xml.x86_64 7.1.17-1.ius.el6 @ius php71u-xmlrpc.x86_64 7.1.17-1.ius.el6 @ius
Sot do të doja të përshkruaj shkurtimisht komandat e menaxherit të paketave yum- ndërtimi zyrtar i FreePBX bazohet në CentOS me yum të instaluar si parazgjedhje. Është i dobishëm për instalimin, heqjen, përditësimin e paketave.
Instalimi i një pakete
Për shembull, për të instaluar një paketë mc duhet të futni komandën yum install mc. Pas futjes së komandës, sistemi do të kërkojë konfirmim. Që konfirmimi të miratohet si parazgjedhje, duhet të shtoni një çelës -y, për shembull yum –y install mc:
# yum install mc Shtojcat e ngarkuara: fastestmirror Ngarkimi i shpejtësive të pasqyrës nga skedari host i ruajtur * bazë: mirror.corbina.net * epel: mirror.datacenter.by * shtesë: mirror.corbina.net * përditësime: mirror.corbina.net Zgjidhja e varësive - > Kontrolli i transaksionit në ekzekutim ---> Paketa mc.x86_64 1: 4.8.7-11.el7 do të instalohet -> Varësia e zgjidhjes së varësisë së përfunduar ================== == ====================================================================== =========== Madhësia e depove të versionit të harkut të paketës ============================== == =========================================== Instalimi: mc x86_64 1: 4.8.7-11.el7 bazë 1.7 M Përmbledhje e transaksionit ==================================== ======================================= Instalo 1 paketë Madhësia totale e shkarkimit: 1,7 M Madhësia e instaluar : 5,6 M A është në rregull: y Shkarkimi i paketave: mc-4.8.7-11.el7.x86_64.rpm | 1,7 MB 00:00 Ekzekutimi i kontrollit të transaksionit Në ekzekutim i testit të transaksionit Testi i transaksionit u krye me sukses. / 1 Instaluar: mc.x86_64 1: 4.8.7-11.el7 Kompletuar!
Heqja e një pakete
Për të hequr një paketë, përkatësisht, duhet të futni komandën yum remove mc. Po kështu, mund të përdorni tastin -y për të konfirmuar:
# yum hiqni mc Shtojcat e ngarkuara: fastestmirror Zgjidhja e varësive -> Ekzekutimi i kontrollit të transaksionit ---> Paketa mc.x86_64 1: 4.8.7-11.el7 do të fshihet -> Rezoluta e përfunduar e varësisë Varësitë e zgjidhura ====== == ====================================================================== ====================== Madhësia e depove të versionit të harkut të paketës ==================== == ====================================================================== ======= Heqja: mc x86_64 1: 4.8.7-11.el7 @base 5.6 M Përmbledhje e transaksionit ===================== == ====================================================================== ====== Hiq 1 paketë madhësia e instaluar: 5,6 M A është kjo në rregull: y Po shkarkon paketat: Kontrolli i transaksionit në ekzekutim Testi i transaksionit në ekzekutim Testi i transaksionit rezultoi i suksesshëm. 1 Verifikim: 1: mc-4.8.7-11.el7.x86_64 1/1 Hequr: mc.x86_64 1: 4.8.7-11.el7 I plotësuar!
Përditësimi i paketës
Supozoni se keni version i vjeter mysql dhe duhet ta përditësoni - këtu përdoret komanda përditësimi... E gjithë komanda do të duket kështu: yum update mysql.
Kërkoni për një paketë
Nëse dëshironi të kontrolloni nëse një paketë specifike është e instaluar në server dhe e disponueshme për instalim, përdorni komandën listë... E gjithë komanda do të duket kështu: yum list mysql. Ju gjithashtu mund të specifikoni versionin e saktë të paketës nëse keni nevojë për një kërkim më të detajuar.
Shfaqja e informacionit në lidhje me një paketë
Nëse dëshironi të shfaqni informacione për një paketë, përdorni komandën informacion... E gjithë komanda do të duket kështu: yum info mc.
Renditja e informacionit për të gjitha paketat e disponueshme dhe të instaluara
Për ta bërë këtë, përdorni komandën listë me modifikues. Për tërheqje paketat e disponueshme: yum list | më pak, dhe për të shfaqur të gjitha të instaluara - yum list installed | më pak
Ekzaminimi përditësimet e disponueshme për paketat dhe vetë përditësimin
Për të kontrolluar, përdorni komandën përditësimi i kontrollit, dhe për të përditësuar - përditësimi... Më poshtë janë tre shembuj të përdorimit të komandave:
- yum check-update mysql - kontrolloni për përditësime të paketës mysql;
- përditësimet e listës yum - shfaq listën e përditësimeve;
- yum update mc - Përditësimi i Midnight Commander;
- përditësim yum –y - përditësoni të gjitha paketat e instaluara;
Grupimi i paketave dhe operacioneve me ta
Në Linux, disa paketa mblidhen në të ashtuquajturat paketa grupore - për shembull, Serveri i emrit DNS, Redaktorët, Zhvillimi Java etj. Me yum, mund të instaloni paketa grupore duke përdorur komandën grupinstall- shembulli më poshtë yum groupinstall 'Clustering. Unë do të përshkruaj shkurtimisht pjesën tjetër të komandave për manipulimin e paketave të grupit:
- yum grouplist - shfaq të gjitha paketat e grupeve të disponueshme për instalim;
- yum groupupdate 'Baza' - përditësim i një pakete specifike grupi, në në këtë rast- Baza;
- yum groupremove 'Editors' - hiqni një paketë grupi;
Depot në yum
Kërkimi i paketave ndodh në të ashtuquajturat depo, më poshtë do të jap disa komanda për të punuar me to - parimi është i njëjtë si me paketat (komandat e listës, për shembull). Të gjitha depot aktive shfaqen duke përdorur komandën yum repolist, dhe depot joaktive shfaqen gjithashtu duke përdorur komandën yum repolist all
Për të instaluar një paketë nga një depo specifike, pavarësisht nëse është aktive apo joaktive, përdoret çelësi --enablerepo... Si nje shembull - instalimi i phpmyadmin: yum –enablerepo = epel install phpmyadmin
Terminali në yum dhe histori
Nëse do të kryeni shumë operacione me paketa, atëherë mund të futeni menjëherë në guaskën yum duke përdorur komandën yum shell dhe duke përdorur komandat që tashmë i dini (vetëm pa tre të parat letra, përkatësisht), mund të instaloni \ hiqni \ përditësimin \ çfarëdo pakete. Një veçori tjetër interesante është aftësia për të parë historinë e instalimit në yum - duke përdorur komandën yum history.
Ishte ky artikull i dobishëm për ju?
Te lutem me trego pse?
Na vjen keq që artikulli nuk ishte i dobishëm për ju: (Ju lutemi, nëse nuk e vështirëson, tregoni pse? Do t'ju jemi shumë mirënjohës për një përgjigje të detajuar. Faleminderit që na ndihmoni të bëhemi më të mirë!
Qëllimi i Yum
Yum u krijua për të zgjidhur detyrat e mëposhtme:
- Kërkimi i paketave në depo
- Instalimi i paketave nga magazinat
- Instalimi i paketave nga skedarët .rpm, zgjidhja e varësive duke përdorur depo
- Përditësimi i sistemit
- Heqja e paketave të panevojshme
- Në fakt, yum është një mbështjellës depo për rpm.
Operacionet bazë të paketës
Duke kërkuar në depo
Ekzistojnë tre komanda që përdoren për të kërkuar depo duke përdorur yum: list, kërko dhe ofron.
Mënyra më e lehtë për të gjetur është përdorimi i komandës list. Komanda e listës shikon emrat e paketave dhe versionet për ndeshjet. Për shembull, për të parë paketat me emrin tsclient, përdorni:
Lista Yum tsclient
Komanda e kërkimit kërkon emrin e paketës dhe përshkrimin për vargun e specifikuar. Për shembull, për të kërkuar paketa të lidhura me PalmPilot, shkruani:
Jum kërko PalmPilot
Komanda provide ju lejon të kërkoni për paketat që përmbajnë skedari i specifikuar... Për shembull, për të kërkuar paketa që përmbajnë libneon, shkruani:
Yum ofron libneon
A mbështesin të gjitha komandat e kërkimit shkronja të ngurta? dhe * (shpëtojini me \ për trajtimin e duhur të bash-it). Për shembull, për të kërkuar paketa që fillojnë me tsc, shkruani:
Lista e shijshme tsc \ *
për të kërkuar paketa që përmbajnë skedarë në drejtorinë / etc / httpd
Yum ofron / etj / httpd \ *
ose për të kërkuar komanda/programe specifike, për shembull për të kërkuar mc (komandant i mesnatës)
Yum ofron \ * / mc
si rezultat, marrim daljen e mëposhtme
1: mc-4.7.4-1.fc14.i686: tastierë teksti miqësore për përdoruesit menaxher skedari dhe shell vizuale Depoja: baza Përputhet nga: Emri i skedarit: / usr / share / mc Emri i skedarit: / usr / libexec / mc Emri i skedarit: / etc / mc Emri i skedarit: / usr / bin / mc
Instalimi i paketave me Yum
Parametri i instalimit përdoret për të instaluar paketat duke përdorur yum
Për të instaluar tsclient, futni:
Jum instaloni tsclient
Yum do të zgjidhë automatikisht (nëse mundet) varësitë dhe do të ofrojë instalimin e tyre:
Instalimi i paketave nga skedarët .rpm
Komanda localinstall është përdorur më parë për të instaluar paketën .rpm me rezolucion automatik të varësisë. Tani mund të përdorni instalimin e rregullt. Pra komanda:
Jum instaloni foo.rpm
do të gjejë automatikisht varësitë e paketës foo.rpm në depo (nëse mundet) dhe do të ofrojë instalimin e tyre.
Mund të ketë një problem në mungesë ose nënshkrim të panjohur GPG të paketës RPM, gjë që do të rezultojë në një refuzim të instalimit dhe, si pasojë, në gabimin e mëposhtëm
Çelësi publik për foo.rpm nuk është vendosur
Për ta kapërcyer këtë (nëse i besoni burimit që ofron paketën), duhet të çaktivizoni kontrollin e çelësave GPG duke shtuar parametrin --nogpgcheck në fund të komandës
Përditësimi i sistemit
Përditësimi i sistemit kryhet duke përdorur një komandë - përditësim. Në këtë mënyrë:
Përditësim i shijshëm
do të përditësojë të gjithë sistemin tuaj. Dhe ekipi
Yum update foo
Me të dyja metodat, performanca ruhet.
Përdorimi i Yum me një server proxy
Në mënyrë që Yum të funksionojë përmes një serveri proxy, shtoni parametrin e mëposhtëm në /etc/yum.conf:
Proxy = http: // përfaqësuesi juaj: 8080 /
ku - yourproxy është emri i serverit proxy dhe 8080 është porta e serverit proxy. Nëse serveri kërkon vërtetim, mund të specifikoni hyrjen si:
Proxy = http: // emri i përdoruesit: [email i mbrojtur]:8080/
Menaxheri i paketës RPM ju lejon të përdorni variablat e mjedisit proxy. Kjo mund të vendoset në profil / etc / ose specifik për përdoruesit në ~ / .bash_profile ::
Eksporto http_proxy = http: // përfaqësuesin tuaj: 8080 /
eksportoni ftp_proxy = http: // përfaqësuesi juaj: 8080 /
Për të përdorur wget përmes një përfaqësuesi, shtoni linjat e mëposhtme në / etc / wgetrc
Http_proxy = http: // përfaqësuesi juaj: 8080 /
ftp_proxy = http: // përfaqësuesi juaj: 8080 /
Në të dyja rastet, emri i përdoruesit dhe fjalëkalimi mund të specifikohen si në shembullin e mësipërm.
Përdorimi i Yum për të instaluar një paketë lokale, duke kontrolluar dhe plotësuar automatikisht varësitë
yum --nogpgkontrolloni emrin e paketës së instalimit lokal.arch.rpmShfaqja e prioriteteve për të gjitha depot e instaluara
Ju mund të merrni një listë të të gjitha depove që keni instaluar - yum repolist të gjitha... Megjithatë, ai nuk tregon indeksin e përparësisë. Këtu është linja e kërkuar për këtë. Nëse nuk specifikohet asnjë numër, ai vendoset në prioritetin më të ulët (99).
Cat /etc/yum.repos.d/*.repo | sed -n -e "/ ^ \)