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 alte caracteristici și instrumente pentru actualizarea pachetelor deja instalate. Depozitele de pachete se asigură că codul a trecut verificarea necesara pentru utilizare în sistem și ce 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 Red Hat folosesc Fișiere RPM. CentOS folosește managerul yum pentru a interacționa cu pachetele și depozitele. ÎN ultimele versiuni Fedora yum a fost înlocuit cu un manager dnf modernizat. Pe sistemele bazate pe 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 utilitare front-end 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 mențin o bază de date locală a pachetelor disponibile în depozitele de la distanță. Este recomandat să actualizați această bază de date înainte de a instala sau actualiza pachetul. 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 laborioasă. Va trebui să urmăriți personal actualizările pachetelor și notificările de securitate pentru sute de pachete diferite. Desigur, un manager de pachete nu va rezolva toate problemele care pot apărea la actualizarea software-ului, dar va ajuta la menținerea la zi a majorității componentelor sistemului cu doar câteva comenzi.
ÎN Sistemul FreeBSD Actualizarea porturilor instalate poate 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 |
Caută 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, aceste pachete pot fi descărcate folosind un browser web sau utilități curl V Linie de comanda. Odată descărcat pachetul, acesta poate fi instalat folosind o singură comandă.
Pe sistemele asemănătoare Debian, fișierele de pachete 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 --> Terminat dependențe de rezolvare a dependențelor rezolvate ====== ==================================================== === ======================= 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 Stergere: 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 disponibile și pachetele instalate
Pentru a face acest lucru, utilizați comanda listă cu modificatori. Pentru retragere pachete disponibile: yum lista | mai puțin și pentru a afișa toate cele instalate - yum list installed | Mai puțin
Examinare actualizări 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, Server de nume DNS, 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” - actualizați un anumit pachet de grup, în în acest caz,– Baza;
- 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 listă, de exemplu). Toate arhivele active sunt afișate folosind comanda yum repolist; arhivele inactive sunt afișate și folosind comanda yum repolist all
Pentru a instala un pachet dintr-un anumit depozit, indiferent dacă este activ sau inactiv, utilizați cheia --enablerepo. Ca exemplu - instalare phpmyadmin: yum –enablerepo=epel instalează phpmyadmin
Yum terminal și istorie
Dacă urmează 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. (doar fără primul 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!
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 listă tsclient
Comanda de căutare caută numele și descrierea pachetului pentru șirul 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:
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 verificarea cheii GPG adăugând parametrul --nogpgcheck la sfârșitul comenzii
Actualizare de sistem
Sistemul este actualizat folosind o singură comandă - update. Prin urmare:
Yum actualizare
vă 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 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.
Folosind Yum pentru a instala un pachet local, verificând automat și satisfacând dependențele
yum --nogpgcheck localinstall packagename.arch.rpmAfiș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 "/^\)