Sfaturi pentru lucrul cu Yum și RPM. Extrageți un singur fișier. Căutați cu YUM un depozit de pachete pentru un șir dat

|

Cele mai moderne sisteme de operare asemănătoare Unix oferă mecanisme centralizate pentru găsirea și instalarea pachetelor. Software-ul este distribuit de obicei sub formă de pachete care sunt stocate în depozite. Pachetele conțin componentele principale sistem de operare, precum și biblioteci partajate, aplicații, servicii și documentație.

Sistem de management al pachetelor dincolo de instalare software, oferă multe mai multe funcții și instrumente pentru a vă actualiza existentul pachete instalate. Depozitele de pachete se asigură că codul a trecut verificările necesare pentru a fi utilizat pe sistem și că versiuni instalate software-ul a fost aprobat de dezvoltatori.

Când configurați un server sau un mediu de dezvoltare, este mai bine să căutați pachete în depozitele oficiale. Pachete în versiune stabilă distribuția poate fi învechită, mai ales dacă software-ul este actualizat rapid.

Gestionarea pachetelor este o abilitate vitală pentru administratorii de sistemși dezvoltatori.

Acest ghid acoperă elementele de bază ale managementului pachetelor: găsirea, instalarea și actualizarea pachetelor pentru diverse distribuții.

Sisteme de management al pachetelor: o scurtă prezentare generală

Majoritatea sistemelor de gestionare a pachetelor sunt construite pe seturi de fișiere de pachete. Un fișier pachet este de obicei o arhivă care conține fișierele binare compilate, scripturile de instalare și alte resurse care alcătuiesc programul. Pachetele conțin și metadate valoroase, inclusiv dependențele lor (o listă de pachete necesare pentru a rula programul).

sistem de operare Format
Debian .deb
Ubuntu .deb
CentOS .rpm
Fedora .rpm
FreeBSD porturi, .txz

CentOS, Fedora și alte sisteme palarie rosie utilizați fișiere RPM. CentOS folosește managerul yum pentru a interacționa cu pachetele și depozitele. Recent versiuni Fedora yum a fost înlocuit cu managerul dnf modernizat Pe sistemele Debian și Debian (Ubuntu, Linux Mint, Raspbian) utilizează formatul .deb. Managerul de pachete APT (Advanced Packaging Tool) oferă comenzi utilizate pentru cele mai comune operațiuni: căutarea în depozite, gestionarea actualizărilor, instalarea unui set de pachete și dependențele acestora. Comenzile APT funcționează ca un front-end pentru utilitarul de nivel inferior dpkg, care se ocupă de instalarea pachetelor individuale .deb pe sistem local; dacă este necesar, acest utilitar poate fi apelat în mod explicit.

Sistem fișiere binare FreeBSD este gestionat de comanda pkg. În plus, FreeBSD oferă o colecție de porturi, structura locala directoare și instrumente care vă permit să extrageți, să compilați și să instalați pachete din cod sursa folosind makefiles. De obicei, este mai ușor să utilizați managerul pkg, dar uneori pachetele precompilate nu sunt disponibile.

Actualizarea listei de pachete

Majoritatea sistemelor conțin baza de date locala datele pachetului disponibile în arhivele de la distanță. Se recomandă să actualizați această bază de date înainte de a instala sau actualiza un pachet. Excepții parțiale de la acest model sunt yum și DNF, care verifică actualizările pachetului înainte de a efectua unele operațiuni.

sistem de operare Echipă
Debian/Ubuntu sudo apt-get update
CentOS yum verificarea actualizare
Fedora dnf verificare actualizare
Pachete FreeBSD actualizare sudo pkg
Porturi FreeBSD sudo portsnap fetch update

Actualizarea pachetelor instalate

Menținerea la zi a software-ului instalat fără ajutorul unui sistem de gestionare a pachetelor este o sarcină destul de consumatoare de timp. Va trebui să urmăriți personal actualizările pachetelor și notificările de securitate pentru sute de pachete diferite. Cu siguranță, manager de pachete Nu va rezolva toate problemele pe care le-ați putea întâlni la actualizarea software-ului, dar va ajuta la menținerea la zi a majorității componentelor sistemului cu doar câteva comenzi.

În sistem Actualizare FreeBSD porturile instalate pot necesita setări manuale. Înainte de a actualiza portmaster, este recomandat să vă familiarizați cu /usr/ports/UPDATING.

Sistem Echipă
Debian/Ubuntu sudo apt-get upgrade
sudo apt-get dist-upgrade
CentOS sudo yum update
Fedora sudo dnf upgrade
Pachete FreeBSD upgrade sudo pkg
Porturi FreeBSD mai puțin /usr/ports/UPDATING
cd /usr/ports/ports-mgmt/portmaster && sudo make install && sudo portmaster -a

Căutați pachete

Majoritatea distribuțiilor oferă o interfață grafică sau condusă de meniu pentru colecții de pachete. Vă permite să răsfoiți categorii și să căutați software nou. Cu toate acestea, cel mai adesea cel mai rapid și cel mai mod eficient Găsirea pachetelor este o căutare folosind instrumente de linie de comandă.

Sistem Echipă
Debian/Ubuntu cautare apt-cache search_string
CentOS yum căutare search_string
yum caută tot search_string
Fedora dnf search șir_căutare
dnf search all search_string
FreeBSD (pachete) pkg search șir_căutare
pkg search -f search_string
pkg search -D search_string
FreeBSD (porturi) cd /usr/ports && face căutare nume=pachet
cd /usr/ports && make search key=search_string

Informații despre pachet

Când decideți cum să instalați un pachet, solicitați ajutor de la descriere detaliata pachete. Acest text care poate fi citit de om conține adesea metadate utile: numere de versiune, listă de dependențe etc.

Sistem Echipă
Debian/Ubuntu pachetul de afișare apt-cache
pachetul dpkg -s
CentOS yum pachet informativ
yum pachet deplist
Fedora pachet informativ dnf
dnf repoquery --necesită pachet
FreeBSD (pachete) pachet cu informații
FreeBSD (porturi) cd /usr/ports/category/port && cat pkg-descr

Instalarea pachetelor din depozite

Cunoscând numele pachetului necesar, îl puteți instala foarte rapid folosind o singură comandă. De asemenea, puteți lista toate pachetele care trebuie instalate într-o singură comandă.

Sistem Echipă
Debian/Ubuntu pachetul de instalare sudo apt-get
sudo apt-get install package1 package2...
sudo apt-get install -y pachet
CentOS pachet de instalare sudo yum
sudo yum install package1 package2...
sudo yum install -y pachet
Fedora Pachetul de instalare sudo dnf
sudo dnf install package1 package2...
sudo dnf install -y package
FreeBSD (pachete) Pachetul de instalare sudo pkg
sudo pkg instalează pachetul 1 pachetul 2 ...
FreeBSD (porturi) cd /usr/ports/category/port && sudo make install

Instalarea unui pachet din sistemul de fișiere local

Uneori, dezvoltatorii sau furnizorii oferă fișiere batch pentru descărcare, chiar dacă aplicația nu este ambalată oficial pentru un anumit sistem de operare.

De obicei, astfel de pachete pot fi descărcate folosind un browser web sau utilitarul curl în Linie de comanda. Odată descărcat pachetul, acesta poate fi instalat folosind o singură comandă.

Pe sistemele asemănătoare Debian, fișierele pachet individuale sunt gestionate de dpkg. Dacă un pachet are dependențe care nu sunt instalate pe sistem, gdebi le poate descărca din depozitul oficial.

Pe sistemele CentOS și Fedora pentru instalare fişiere separateși procesarea dependențelor necesare, se folosesc yum și dnf.

Sistem Echipă
Debian/Ubuntu sudo dpkg -i package.deb
sudo apt-get install -y gdebi&& sudo gdebi package.deb
CentOS sudo yum install package.rpm
Fedora sudo dnf install package.rpm
FreeBSD (pachete) sudo pkg add package.txz
sudo pkg add -f package.txz

Eliminarea pachetelor

Managerul de pachete știe exact ce fișiere oferă fiecare pachet specific, astfel încât poate elimina cu ușurință toate programele inutile.

Astăzi aș dori să descriu pe scurt comenzile managerului de pachete yum- versiunea oficială FreePBX se bazează pe CentOS, care are instalat implicit yum. Este util pentru instalarea, dezinstalarea și actualizarea pachetelor.

Instalarea pachetului

De exemplu, pentru a instala un pachet mc trebuie să introduceți comanda yum install mc. După introducerea comenzii, sistemul va cere confirmarea. Pentru ca confirmarea să fie aprobată în mod implicit, trebuie să adăugați o cheie -y, de exemplu yum –y install mc:

# yum install mc Pluginuri încărcate: fastestmirror Vitezele de încărcare în oglindă din fișierul gazdă stocat în cache * bază: mirror.corbina.net * epel: mirror.datacenter.by * extra: mirror.corbina.net * actualizări: mirror.corbina.net Rezolvarea dependențelor -- > Rularea verificării tranzacției ---> Pachetul mc.x86_64 1:4.8.7-11.el7 va fi instalat --> Dependențe de rezolvare a dependențelor s-au rezolvat ================== ==================================================== === ============ Dimensiunea depozitului versiunii pachetului Arch =============================== ==== ================================================ =============== Instalare: mc x86_64 1:4.8.7-11.el7 baza 1.7 M Rezumatul tranzacției ================= =================== ================================ ============================= Instalează 1 pachet Dimensiunea totală a descărcarii: 1,7 M Dimensiune instalată: 5,6 M Este ok : y Descărcarea pachetelor : mc-4.8.7-11.el7.x86_64.rpm | 1,7 MB 00:00 Executarea verificării tranzacției Executarea testului tranzacției Testul tranzacției reușit Executarea tranzacției Instalare: 1:mc-4.8.7-11.el7.x86_64 1/1 Verificare: 1:mc-4.8.7-11.el7.x86_64 1 /1 Instalat: mc.x86_64 1:4.8.7-11.el7 Finalizat!

Scoaterea unui pachet

Pentru a elimina un pachet, în consecință, trebuie să introduceți comanda yum remove mc. Puteți utiliza comutatorul de confirmare -y în același mod:

# yum remove mc Pluginuri încărcate: fastestmirror Rezolvarea dependențelor --> Executarea verificării tranzacției ---> Pachetul mc.x86_64 1:4.8.7-11.el7 va fi șters --> Dependențe de rezolvare a dependențelor s-au rezolvat ====== ==================================================== === ======================= Dimensiunea depozitului versiunii pachetului Arch ==================== == ================================================== ===== ========= Eliminarea: mc x86_64 1:4.8.7-11.el7 @base 5.6 M Rezumatul tranzacției ================= ===== =============================================== ======== ======== Eliminați 1 pachet Dimensiune instalată: 5,6 M Este ok: y Descărcarea pachetelor: Executarea verificării tranzacției Executarea testului tranzacției Testarea tranzacției reușită Executarea tranzacției Stergerea: 1:mc-4.8 .7-11.el7.x86_64 1/1 Verificare: 1:mc-4.8.7-11.el7.x86_64 1/1 Eliminat: mc.x86_64 1:4.8.7-11.el7 Finalizat!

Actualizare pachet

Să presupunem că ai versiune veche mysql și trebuie să-l actualizați - aici este folosită comanda Actualizați. Întreaga comandă va arăta astfel: yum update mysql .

Căutați un pachet

Dacă doriți să verificați dacă un anumit pachet este instalat pe server și disponibil pentru instalare, utilizați comanda listă. Întreaga comandă va arăta astfel: yum list mysql . De asemenea, puteți specifica versiunea exactă a pachetului dacă aveți nevoie de o căutare mai amănunțită.

Afișarea informațiilor despre pachet

Dacă doriți să afișați informații despre un pachet, utilizați comanda info. Întreaga comandă va arăta astfel: yum info mc .

Afișează informații despre toate pachetele disponibile și instalate

Comanda folosită pentru aceasta este listă cu modificatori. Pentru retragere pachete disponibile: yum list | mai puțin și pentru a afișa toate cele instalate - yum list installed | Mai puțin

Verificarea actualizărilor disponibile pentru pachete și actualizarea în sine

Pentru a verifica, utilizați comanda verifica actualizarea, iar pentru actualizare - Actualizați. Mai jos sunt trei exemple de utilizare a comenzilor:

  • yum check-update mysql - verifică actualizările pachetului mysql;
  • yum list updates - afișează o listă de actualizări;
  • yum update mc - Actualizare Midnight Commander;
  • yum –y update - actualizați toate pachetele instalate;
Grupați pachetele și operațiunile cu acestea

În Linux, unele pachete sunt colectate în așa-numitele pachete de grup - de exemplu, Nume DNS Server, Editori, Dezvoltare Javași așa mai departe. Cu yum puteți instala pachete de grup folosind comanda groupinstall- exemplu de mai jos yum groupinstall „Clustering. Voi descrie pe scurt comenzile rămase pentru manipularea pachetelor de grup:

  • yum grouplist - afișează toate pachetele de grup disponibile pentru instalare;
  • yum groupupdate ‘Base’ - actualizarea unui pachet de grup specific, în acest caz, Base;
  • yum groupremove ‘Editori’ - eliminarea unui pachet de grup;
Arhivele în yum

Căutarea pachetelor are loc în așa-numitele depozite, mai jos voi da mai multe comenzi pentru a lucra cu ele - principiul este același ca și în cazul pachetelor (comenzi de listă, de exemplu). Toate depozitele active sunt afișate folosind comanda yum repolist;

Pentru a instala un pachet dintr-un anumit depozit, indiferent dacă este activ sau inactiv, utilizați cheia --enablerepo. De exemplu, instalați phpmyadmin: yum –enablerepo=epel install phpmyadmin

Yum terminal și istorie

Dacă aveți de gând să efectuați o mulțime de operațiuni cu pachete, atunci puteți intra imediat în shell-ul yum folosind comanda yum shell și folosind comenzi deja cunoscute de dvs. (numai fără primii trei litere, respectiv), puteți instala\elimina\actualiza\orice pachete. O altă caracteristică interesantă este capacitatea de a vizualiza istoricul instalărilor în yum folosind comanda yum history.

Ți-a fost util acest articol?

Te rog spune-mi de ce?

Ne pare rău că articolul nu v-a fost util: (Vă rugăm, dacă nu este dificil, indicați de ce? Vă vom fi foarte recunoscători pentru un răspuns detaliat. Vă mulțumim că ne ajutați să devenim mai buni!

Yum și RPM sunt instrumente grozave managementul pachetelor, dar au câteva opțiuni și capabilități puțin cunoscute care vă permit să faceți lucruri destul de interesante. Nu trebuie neapărat să le folosiți, dar s-ar putea să le găsiți utile la un moment dat.

1. Afișați tipul de arhitectură în RPM rezultat

Acest lucru mic simplu este destul de ușor de făcut și va fi foarte util pentru persoanele care folosesc sisteme x86_64. O singură linie din fișierul ~/.rpmmacros vă va scuti de probleme mai târziu.

Echo „%_query_all_fmt %%(name)-%%(version)-%%(release).%%(arch)” >> ~/.rpmmacros

2. Solicitați pachete nu de la CentOS

Doriți să obțineți o listă de pachete instalate din depozite terțe, nu CentOS?

Rpm -qa --qf „%(NUME) %(VÂNDOR)\n” | grep -v CentOS

3. Resetați permisiunile fișierelor

Sunteți complet confuz cu privire la permisiunile fișierelor dintr-un pachet? Nicio problemă, RPM se va ocupa de asta.

Rpm --setperms

4. Vizualizați modificările

Deoarece CentOS și furnizorul de cod original lansează actualizări de securitate, numerele de versiune pot induce în eroare atunci când se uită la patch-urile CVE. Este disponibilă verificarea modificărilor în pachet mod bun vezi dacă s-au făcut corecturi sau nu. Încă o dată RPM vine în ajutor.

Rpm -q --changelog | Mai puțin

Utilizarea lui „mai puțin” este opțională, dar pentru unele pachete, cum ar fi nucleul, modificările pot fi destul de extinse. Prin urmare, această adăugare face rezultatul mai lizibil.

5. Unde este documentația?

Pentru a obține rapid documentația asociată unui pachet, puteți utiliza următoarele două opțiuni:

  • Aceasta vă va afișa documentația conținută în acest rpm. Dacă aveți doar numele fișierului, atunci:
rpm -qdf /cale/la/fișier
  • iar rpm vă va arăta documentația din pachetul care deține acel fișier.

6. Originea pachetului

Uneori doriți să știți de unde aveți un pachet sau pachete sau câte pachete sunt în sistemul dvs. de la un anumit depozit sau furnizor. Există mai multe opțiuni de căutare pe care le puteți utiliza. Deși nu sunt 100% perfecte, totuși pot ajuta. Majoritatea pachetelor din depozite au etichete cu un ID în linia Release. De exemplu, rpmforge folosește rf ca identificator. Puteți folosi acest lucru pentru a vedea ce ați instalat de acolo:

Rpm -qa release="*rf*"

iar dacă vrei să vezi câte pachete ai instalat de la Johnny Hughes poți folosi:

Rpm -qa packager="Johnny*"

Această metodă funcționează pe majoritatea categoriilor precum rpm -qi

Această comandă va afișa întreaga listă de pachete instalate.

7. Extrageți un singur fișier

Dacă trebuie să extrageți doar un fișier dintr-un rpm fără a reinstala întregul pachet, puteți face acest lucru cu rpm2cpio. De exemplu, pentru a extrage doar un fișier din logrotate rpm, utilizați următoarele:

Rpm2cpio logrotate-1.0-1.i386.rpm |cpio -ivd etc/logrotate.conf

8. Cerere pentru data instalării pachetului

Este util după actualizare pentru a găsi pachete vechi care nu au fost actualizate.

Rpm -qa --last >~/RPMS_by_Install_Date

Puteți utiliza ieșirea „mai puțin” pentru a găsi toate RPMS mai vechi decât data instalării. Folosind și grep - specificați pachetele și data instalării.

9. Solicitați pachetele disponibile din depozit

Găsiți toate pachetele disponibile dintr-un anumit depozit, cum ar fi RPMforge. Pachetele deja instalate din acest depozit nu vor fi afișate.

Yum --disable "*" --enable "rpmforge" lista disponibilă

10. Căutați folosind YUM în depozitul de pachete pentru un șir dat

Căutați pachete care conțin șirul dorit în numele sau descrierea pachetului.

Yum căutare buildrpmtree | Mai puțin

11. Utilizarea Yum cu un server proxy

Pentru a forța Yum să lucreze printr-un server proxy, trebuie să adăugați următorul parametru la /etc/yum.conf:

Proxy=http://yourproxy:8080/

unde - yourproxy este numele serverului proxy, iar 8080 este portul serverului proxy. Dacă serverul necesită autentificare, puteți specifica autentificarea ca:

Proxy=http://nume utilizator:parola@proxy:8080/

Managerul de pachete RPM vă permite să utilizați variabile de mediu proxy. Acesta poate fi setat în /etc/profile sau specificat pentru utilizator specificîn fișierul ~/.bash_profile::

Exportați http_proxy=http://yourproxy:8080/ exportați ftp_proxy=http://yourproxy:8080/

Pentru a utiliza wget printr-un proxy, adăugați următoarele rânduriîn /etc/wgetrc

Http_proxy = http://yourproxy:8080/ ftp_proxy = http://yourproxy:8080/

În ambele cazuri, autentificarea și parola pot fi setate ca în exemplul de mai sus.

12. Utilizați Yum pentru a instala un pachet local, verificând și satisfăcând automat dependențele

yum --nogpgcheck localinstall packagename.arch.rpm

13. Obținerea și reconstruirea unui pachet fără a fi root

Uneori trebuie doar să reconstruiți un anumit pachet - poate doar să adăugați opțiuni de configurare, care pur și simplu nu există în pachetul principal. Sau pentru că ai găsit pachetul necesar, care nu se află în depozit, ci pe site-ul dezvoltatorului RPM-uri pentru o altă distribuție. Deci, ar trebui să obțineți src.rpm și să-l restaurați la nevoile dvs. Dar nu vrei să faci asta ca superutilizator. Deci, cum să vă reconstruiți pachetele în directorul dvs. de acasă sub propriul dvs. cont.

13.1 Metoda A

Mai întâi trebuie să configurați directorul pentru lucru. Este destul de asemănător ca structură cu directorul /usr/src/redhat:

$ cd $ mkdir -p redhat/(SRPMS,RPMS,SPECIFICAȚII,CONSTRUIRE,SURSE) $ ls redhat/ CONSTRUIRE SURSE RPMS SPECIFICAȚII SRPMS $

Folosind macro-ul rpm, vom face o înlocuire, astfel încât rpmbuild să știe despre noi și ce trebuie construit:

$ echo "%_topdir /home/testuser/redhat" >> .rpmmacros $ echo "%packager Test User" >> .rpmmacros $ cat .rpmmacros %_topdir /home/testuser/redhat %packager Test User $

Exact. Următorul pas este să setați rpmbuild --rebuild foo.src.rpm, rezultatul lucrării va fi în fișierul ~/redhat/RPMS/i386 (sau arhitectura cu care ați construit pachetul).

13.2 Metoda B

Pentru CentOS-4, configurați repo-ul kbs-Extras (adăugați opțional kbs-Misk) din pagină și „yum install fedora-rpmdevtools” ca root folosind „sudo” sau „su -”. Creați un utilizator (poate dori să utilizați un cont special pentru a evita problemele în directorul dvs. de pornire normal) și rulați „fedora-buildrpmtree” și ~/rpmbuild/...în arborele de directoare și fișierul ~/.rpmmacros va fi automat creată. (Rețineți „rpmbuild” vs „RedHat” în Metoda A.)

Pentru CentOS-5 - pachetul rpmdevtools nu este disponibil. În FC6 SRPM este construit și funcționează rpmdevtools-5.3-1.fc6.src.rpm.

Mai jos este o macrocomandă pentru a obține numele proprii ale unor pachete (înlocuiește versiunea de distribuție corespunzătoare pentru „el4” cu a ta):

$ echo "%dist .el4" >> .rpmmacros

14. Afișați prioritățile pentru toate depozitele instalate

Puteți obține o listă cu toate depozitele instalate pe dvs. - yum repolist toate. Cu toate acestea, nu arată indicele de prioritate. Iată linia necesară pentru asta. Dacă numărul nu este specificat, valoarea implicită este cea mai mică prioritate (99).

Cat /etc/yum.repos.d/*.repo | sed -n -e "/^\# yum list "vim*" Pachete instalate vim-minimal.i386 2:7.0.109-7.el5 instalat Pachete disponibile vim-X11.i386 2:7.0.109-7.el5 de 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 base vim-enhanced.i386 2: 7.0.109-7.el5 baza vim-halibut.i386 1.0-2.20100504svn8934.el5.1 epel vim-puppet.noarch 2.7.9-1.el5.rf rpmforge

16. Afișați toate cheile GPG instalate

Afișați o listă cu toate cheile cu informațiile corespunzătoare din depozit:

Rpm -q gpg-pubkey --qf „%(nume)-%(versiunea)-%(lansare) --> %(rezumat)\n”

17. Semnarea pachetelor

Doriți să semnați pachetul pe care l-ați pregătit pentru ca alții să-i poată verifica autenticitatea? Puteți face acest lucru destul de simplu. Utilizați documentația.

Notă: Pentru CentOS 5 și 4, va fi mai bine dacă utilizați o cheie DSA pentru semnare (deoarece au fost identificate probleme de verificare pentru versiunea 4 a RSA).

18. Metapachetele YUM

Un metapachet este un pachet special care nu conține niciun software, dar are dependențe set specific software De exemplu: instalarea X pe server.

Pentru a vedea o listă cu toate metapachetele, trebuie să rulați comanda: yum listă de grup. Dar dacă aveți o localitate rusă, atunci lista va fi afișată în limba rusă. Pentru a obține o listă potrivită pentru instalare (în engleză), setați limba de ieșire a comenzii la engleză:

LANG=C yum listă de grup

19. Cum se listează pachetele instalate

Pachetele instalate pot afișa comenzi

Lista Yum instalată

De exemplu, obțineți o listă de pachete instalate din depozit:

# lista yum instalată | 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.1.17-1.ius.el6 @ius 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-intl.x86_64 7.1. 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.x86_64 7.1.17- 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

Scopul lui Yum

Yum este conceput pentru a rezolva următoarele probleme:

  • Căutarea pachetelor în depozite
  • Instalarea pachetelor din depozite
  • Instalarea pachetelor din fișiere .rpm, rezolvarea dependențelor folosind depozite
  • Actualizare de sistem
  • Eliminarea pachetelor inutile
  • De fapt, yum este un wrapper pentru rpm care oferă lucru cu depozite.

Operațiuni de bază pe pachete

Căutați în depozite

Există trei comenzi folosite pentru a căuta în depozite folosind yum: list , search și provide .

Cel mai simplu mod de a căuta este să folosești comanda list. Comanda list analizează numele pachetelor și versiunile pentru potriviri. De exemplu, pentru a vizualiza pachetele numite tsclient, utilizați:

Yum lista tsclient

Comanda de căutare caută numele și descrierea pachetului linia specificată. De exemplu, pentru a căuta pachete legate de PalmPilot, introduceți:

Yum caută PalmPilot

Comanda provide vă permite să căutați pachete care conțin fișierul specificat. De exemplu, pentru a căuta pachete care conțin libneon, introduceți:

Yum oferă libneon

Toate comenzile de căutare acceptă metacaracterele? și * (scăpați-le cu un caracter \ pentru ca bash să le proceseze corect). De exemplu, pentru a căuta pachete care încep cu tsc, introduceți:

Yum list tsc\*

pentru a căuta pachete care conțin fișiere în directorul /etc/httpd

Yum oferă /etc/httpd\*

sau pentru a căuta anumite comenzi/programe, de exemplu pentru a căuta mc(midnight commander)

Yum oferă \*/mc

ca urmare, obținem următoarea ieșire

1:mc-4.7.4-1.fc14.i686: Consolă text ușor de utilizat manager de fișiereși Visual shell Depozitare: bază Se potrivește cu: Nume fișier: /usr/share/mc Nume fișier: /usr/libexec/mc Nume fișier: /etc/mc Nume fișier: /usr/bin/mc

Instalarea pachetelor folosind Yum

Pentru a instala pachete folosind yum, utilizați parametrul de instalare

Pentru a instala tsclient, introduceți:

Yum, instalează tsclient

Yum va rezolva automat (dacă poate) dependențele și se va oferi să le instaleze:

==================================================== === ========================================= Dimensiunea depozitului Versiunea Arch Pachet = ================= =================================== ==================== ========= Instalare: tsclient i386 0.132-6 bază 247 k Instalare pentru dependenţe: rdesktop i386 1.4.0-2 baza 107 k Rezumatul tranzacției =============== ============================== ======================= ============ Instalează 2 pachet(e) Actualizare 0 pachet(e) Eliminare 0 pachet (s) Dimensiunea totală a descărcarii: 355 k Este ok:

Instalarea pachetelor din fișiere .rpm

Comanda localinstall era folosită pentru a instala un pachet .rpm cu rezoluție automată a dependenței. Acum puteți utiliza instalarea obișnuită. Deci comanda:

Yum, instalează foo.rpm

va găsi automat dependențele pachetului foo.rpm în depozite (dacă poate) și se va oferi să le instaleze.
Poate apărea o problemă în absența sau semnătura GPG necunoscută a pachetului RPM, ceea ce va duce la refuzul instalării și, în consecință, la următoarea eroare

Cheia publică pentru foo.rpm nu este instalată

Pentru a ocoli acest lucru (dacă aveți încredere în sursa care furnizează pachetul), trebuie să dezactivați cecul chei GPG prin adăugarea parametrului --nogpgcheck la sfârșitul comenzii

Actualizare de sistem

Sistemul este actualizat folosind o singură comandă - update. Prin urmare:

Yum actualizare

va actualiza întregul sistem. Și echipa

Yum update foo

Când utilizați ambele metode, performanța este menținută.

Folosind Yum cu un server proxy

Pentru a forța Yum să lucreze printr-un server proxy, trebuie să adăugați următorul parametru la /etc/yum.conf:

Proxy=http://yourproxy:8080/

unde - yourproxy este numele serverului proxy, iar 8080 este portul serverului proxy. Dacă serverul necesită autentificare, puteți specifica autentificarea ca:

Proxy=http://nume utilizator:parola@proxy:8080/

Managerul de pachete RPM vă permite să utilizați variabile de mediu proxy. Acesta poate fi setat în /etc/profile sau specific utilizatorului în ~/.bash_profile::

Exportați http_proxy=http://yourproxy:8080/
exportați ftp_proxy=http://yourproxy:8080/

Pentru a utiliza wget printr-un proxy, adăugați următoarele linii în /etc/wgetrc

Http_proxy = http://yourproxy:8080/
ftp_proxy = http://yourproxy:8080/

În ambele cazuri, autentificarea și parola pot fi setate ca în exemplul de mai sus.

Folosind Yum pentru a instala un pachet local, verificând și satisfăcând automat dependențele

yum --nogpgcheck localinstall packagename.arch.rpm

Afișați prioritățile pentru toate depozitele instalate

Puteți obține o listă cu toate depozitele instalate pe dvs. - yum repolist toate. Cu toate acestea, nu arată indicele de prioritate. Iată linia necesară pentru asta. Dacă numărul nu este specificat, valoarea implicită este cea mai mică prioritate (99).

Cat /etc/yum.repos.d/*.repo | sed -n -e "/^\)