Un sistem de gestionare a pachetelor este un set de instrumente care oferă o metodă unificată pentru instalarea, actualizarea și dezinstalarea software-ului în sistemul dvs. Distribuțiile Linux, inclusiv openSUSE, constau de obicei în mii de pachete software separate.
Software-ul este distribuit prin pachete cu metadate atașate. care conțin informații suplimentare: o descriere a scopului pachetului, o listă a dependențelor. necesare funcționării normale a programului etc. Pachetele sunt stocate în depozite. local (CD, DVD sau hard disk) sau de stocare în rețea. După instalarea pachetului, metadatele acestuia sunt stocate în baza de date locală și folosite pentru a găsi fișierele pachet.
Libzypp este implementarea unui sistem similar de administrare a pachetelor pentru openSUSE, oferă o interfață grafică pentru YaST Software Management și o interfață de linie de comandă Zypper.
Pachetele sunt arhive de fișiere. care conține toate componentele aplicației (aplicațiile în sine, bibliotecile partajate, pachetele de dezvoltare a aplicațiilor etc.) și instrucțiunile de lansare și configurare a acestora.
Pachetul este integrat în kitul de distribuție pentru care a fost construit, ținând cont de căile de instalare, de dependențele, de integrarea cu mediul, de scripturile de pornire pentru servere și așa mai departe. De aceea, trebuie să instalați întotdeauna pachete care sunt construite special pentru distribuția și versiunea sa (de exemplu, openSUSE 11.1). Nu utilizați pachete Fedora în pachetele openSUSE și chiar openSUSE 11.1 în openSUSE 11.2 (deși acestea sunt uneori posibile).
Metadate pachet
Pachetul conține, de asemenea, informații suplimentare, denumite în mod obișnuit metadate. Acestea includ:
- abstract
- descrierea
- lista cu conținutul pachetului
- numărul versiunii programului și eliberarea pachetului
- când, unde și de cine a fost colectat pachetul
- pentru care arhitectura este destinată ansamblului
- sumele de control ale fișierelor
- licențe software
- informații de dependență
- alte
Pachete dependente
O funcție importantă a pachetelor este aceea de a descrie relația aplicațiilor. Deoarece aplicațiile necesită un anumit mediu de lucru (alte programe, biblioteci etc.) pentru a fi executate, pachetele pot furniza fișiere destinate utilizării în alte pachete. Se utilizează dependențe de pachete pentru a exprima astfel de relații.
De exemplu, pachetul A poate necesita prezența pachetelor instalate B, C, D pentru o funcționare corectă.
- Dependentele de pachete sunt tranzitive. adică în cazul A la B și B la B, ambele B și B sunt necesare pentru instalarea A. Deci, nu fi surprins dacă trebuie să instalați mai multe pachete pentru a instala o singură aplicație.
- Bibliotecile sunt tipice. Aproape fiecare aplicație necesită mai multe biblioteci. De obicei, numele pachetelor care conțin biblioteci încep cu "lib".
Utilizarea unui sistem pachet este o caracteristică importantă a distribuțiilor Linux (precum și a sistemelor BSD și Unix), oferind o abordare modulară a gestionării sistemului de operare și a aplicațiilor. De exemplu, pachetul openssl conține biblioteci criptografice utilizate de multe alte aplicații și biblioteci (pentru criptarea SSL etc.). După lansarea noii versiuni a openssl cu îmbunătățiri și remedii, toate aplicațiile care o utilizează vor primi funcții noi ca urmare a unei singure actualizări a acestui pachet.
Această abordare este foarte eficientă pentru menținerea stabilității și securității sistemului: dacă o vulnerabilitate este corectată în biblioteca utilizată de alte aplicații, actualizarea acesteia va închide această vulnerabilitate pentru toate pachetele.
Formatele pachetelor
Software-ul pentru Linux este cel mai des distribuit într-unul din următoarele formate.
- tgz (fișiere gzip tar). Sunt doar arhive. Ele pot conține tot ceea ce un dezvoltator consideră necesar. Pe lângă formatul de arhivă în sine, nu există standarde pentru structura conținutului.
- deb (Debian). Formatul pachetului adoptat în Debian și distribuțiile sale derivate.
- rpm (Manager de pachete RPM). Creat de Red Hat și acceptat de LSB ca standard, rpm este folosit de openSUSE și de multe alte distribuții.
În sine, formatul pachetului nu oferă managementul dependenței, ci doar informează despre disponibilitatea acestuia, permițând utilizatorului să înțeleagă instalarea componentelor necesare, dacă acestea nu sunt disponibile.
Să presupunem că doriți să instalați pachetul A, care depinde de pachetul B. RPM nu va instala automat pachetul B, dar vă va spune că este necesar pentru instalarea lui A și nu va mai funcționa. Utilizatorul trebuie să instaleze mai întâi B și apoi să poată instala A. Este ușor? Acum, imaginați-vă că pachetul B depinde de pachetele B și F, iar T depinde de A și A. și așa mai departe. În cele din urmă, trebuie să urmăriți manual toate ramurile, probabil un copac destul de mare de dependențe.
Soluția la această problemă este și se numește managerul de pachete.
Manager de pachete
În distribuțiile moderne, cum ar fi openSUSE, instalarea programelor se face cel mai bine cu ajutorul managerului de pachete. Dacă rulează pe RPM, primește pachete din depozit (server de Internet, CD, DVD.), Găsește dependențe și le instalează în sistemul tău. Managerul de pachete facilitează, de asemenea, eliminarea și actualizarea pachetelor. Cantitatea de software disponibil depinde de depozitele pe care le-ați conectat.
Managerul de pachete native openSUSE este modulul de gestionare a software-ului YaST și instrumentul de linie de comandă Zypper. dar distribuția conține alte instrumente pentru gestionarea pachetelor. Unele dintre ele lucrează numai cu RPM, altele acoperă o gamă mai largă de posibilități.
Repositories de depozit
Înainte de instalarea pachetelor, arhivele trebuie să fie disponibile în sistemul dvs. - fie de pe discuri, fie prin Internet.
OpenSUSE sunt:
- Oficial - acestea includ pachete bine testate și acceptate.
- Terță parte. Cum ar fi depozitele Packman și Build Service. Acestea conțin diferite pachete suplimentare, unele au versiuni mai noi decât în distribuție, altele nu pot fi incluse în openSUSE din motive de licențiere. Pachetele din astfel de depozite sunt probabil mai puțin testate decât cele oficiale.