Pacman

De la ArchWikiRo

Salt la: navigare, căutare

Cuprins

Introducere

Managerul de pachete Pacman reprezinta una dintre cele mai mari realizări ale Arch Linux. El combină formatul pachetului binar simplu cu un sistem de construcție ușor de folosit (vezi makepkg și ABS). Pacman face posibil un management facil al pachetelor, fie ele din depozitele oficiale Arch sau construcții proprii ale utilizatorilor.

Pacman păstrează sistemul actualizat prin sincronizarea listelor de pachete cu serverul master. Acest model server/client dă posibilitatea, de asemenea, ca pachetele să poată fi descărcate doar cu o simplă comandă și completate cu dependențele necesare.

Pacman este scris în limbajul de programare C, fiind astfel rapid, "ușor" și extrem de flexibil. El folosește formatul de pachet .tar.gz, care este recunoscut pentru viteza sa; arhivele Gzip, desi puțin mai mari, sunt decomprimate mult mai repede decât cele Bzip și, de aceea, instalarea este mult mai rapidă..

Folosirea pacman în limba română

Pacman poate fi folosit și în limba română. Pentru aceasta, va trebui să editați fișierul /etc/locale.gen cu

nano /etc/locale.gen

sau

vi /etc/locale.gen

să scoateți comentariu (#) de la liniile

ro_RO.UTF-8 UTF-8

și

ro_RO ISO-8859-2

și să puneți semnul de comentariu (#) la liniile care încep cu "en" și care erau decomentate.

Apoi folosiți (ca root)

locale-gen

și

export LANG=ro_RO.utf8

Pentru ca modificările să rămână definitive, editați /etc/rc.conf în așa fel încât la LOCALE să aveți ro_RO.UTF8

Utilizare

Notă! Pentru a aprofunda ceea ce poate face pacman, citește documentația man pacman. Exemplele de mai jos sunt doar pentru a vă face o idee asupra operațiunilor pe care le poate efectua.

Instalarea Pachetelor

Înainte de instalarea și actualizarea pachetelor, este foarte bine să se faca o sincronizare a pachetelor locale cu depozitele de pe server.

pacman -Sy

...sau, echivalent:

pacman --sync --refresh

Pentru a instala sau actualiza un singur pachet sau o listă de pachete (inscusiv dependențele), se folosește următoarea comandă:

pacman -S nume_pachet1 nume_pachet2

Uneori, există mai multe versiuni ale unui pachet în diverse depozite (de exemplu, extra sau testing). Puteți specifica pe care anume îl veți instala:

pacman -S extra/nume_pachet
pacman -S testing/nume_pachet

De asemenea, puteți reîmprospăta baza de date a pachetului înainte de instalare, cu o singură comandă:

pacman -Sy nume_pachet

Eliminarea pachetelor

Pentru a elimina un singur pachet, lăsând instalate dependențele:

pacman -R nume_pachet

Pentru a elimina dependențele unui pachet care nu sunt cerute de nici un alt pachet instalat:

pacman -Rs nume_pachet

Implicit, pacman face backup la fișierele de configurare ale aplicațiilor eliminate, adăugându-le extensia *.pacsave. Dacă vreti să ștergeți și fișierele de configurare la eliminarea pachetului respectiv, puteți folosi:

pacman -Rn nume_pachet

Bineînțeles, aceasta poate fi extinsă cu -s pentru a șterge de asemenea dependențele care nu mai sunt necesare. Așadar, comanda care elimină într-adevăr un pachet, configurarea sa precum și toate dependențele care nu mai sunt necesare este:

pacman -Rsn nume_pachet

Notă! Pacman nu va elimina fișierele de configurare care sunt create după ce pachetul a fost instalat. Acestea pot fi eliminate doar manual.

Actualizarea Sistemului

Pacman poate actualiza toate pachetele din sistem doar cu o singură comandă. Executarea acesteia poate dura ceva timp, în funcție de gradul de actualizare la care se află sistemul în acel moment.

pacman -Su

Cu toate acestea, cea mai bună variantă este aceea de a sincroniza baza de date a depozitului ÎN ACELAȘI TIMP cu actualizarea sistemului, prin comanda:

pacman -Syu

Citiți Package Management FAQs pentru mai multe informații legate de actualizarea și menținerea sistemului cu ajutorul pacman.

Interogări ale bazei de date a pachetelor

Pacman poate căuta pachete în baza de date, căutarea făcându-se atât după dume, cât și după descrierea pachetelor:

pacman -Ss pachet

Pentru a căuta după pachete deja instalate:

pacman -Qs pachet

Atunci când știți numele pachetului pe care îl căutați, puteți obține mai multe informații despre acesta:

pacman -Si pachet  
pacman -Qi pachet

Pentru a obține o listă a fișierelor instalate de către pachet:

pacman -Ql pachet

Puteți, de asemenea, interoga baza de date pentru a ști cărui pachet aparține un fișier din sistem.

pacman -Qo /calea/catre/un/fisier

Pentru a lista toate pachetele care nu mai sunt necesare ca dependențe (orfane):

pacman -Qdt

Pacman interoghează baza de date pentru pachete locale cu -Q. Citiți în ajutor:

pacman -Q --help

...și interoghează bazele de date de sincronizare, sync, cu -S. Cititi în ajutor:

pacman -S --help

Pentru mai multe detalii vedeți și pagina man pacman(8).

Backup și listă de recuperare a pachetelor instalate pentru refacerea rapidă a software-ului

Este o practică foarte utilă aceea de a face, periodic, backup-uri ale tuturor pachetelor instalate cu pacman. În cazul unei căderi de sistem care nu permite recuperarea prin alte mijloace, pacman poate reinstala foarte ușor aceleași pachete pe o nouă instalare.

În primul rând, faceți backup-ul listei curente de pachete (care sunt disponibile în depozit):

pacman -Qqe | grep -v "$(pacman -Qmq)" > pkglist

Depozitați lista pe un stick USB sau pe alt mediu de stocare care vă convine.

Copiați fișierul pkglist în noua instalare și mergeți în directorul care îl conține.

Utilizați următoarea comandă:

pacman -S $(cat pkglist)

Informații suplimentare

Pacman este un instrument de management extins. Aici aveți doar o scurtă colecție a unor alte posibilități de utilizare.

  • Descărcarea unui pachet fără instalare:
pacman -Sw nume_pachet
  • Instalarea unui pachet de pe local (nu din depozit):
pacman -U /calea/catre/pachet/pachet_nume-versiune.pkg.tar.gz
  • Instalarea uni pachet dintr-o sursă îndepărtată, alta decât depozitul:
pacman -U http://www.exemplupachet/repo/examplupkg.tar.gz
  • Curăță cache-ul pachetelor care nu sunt instalate curent (/var/cache/pacman/pkg):
pacman -Sc
  • Curăță complet cache-ul pachetului
pacman -Scc 

Avertisment!Legat de pacman -Scc, veți face asta doar dacă sunteți siguri că nu va trebui să faceți downgrade pentru niciun pachet. pacman -Scc elimină toate pachetele din cache.

  • Pentru eliminarea orfanilor (recursiv; fiți atenți!):
pacman -Rs $(pacman -Qtdq)
  • Pentru reinstalarea tuturor pachetelor din sistem (care sunt disponibile într-un depozit):
pacman -S $(pacman -Qq | grep -v "$(pacman -Qmq)")
  • Pentru a obține o listă sortată a pachetelor locale și mărimii lor:
LANG=C pacman -Qi | sed -n '/^Name[^:]*: \(.*\)/{s//\1 /;x};/^Installed[^:]*: \(.*\)/{s//\1/;H;x;s/\n//;p}' | sort -nk2

Pentru o listă mai detaliată vedeți pacman --help sau man pacman.

Configurare

Configurația pacman este localizată în /etc/pacman.conf. Informații detaliate despre fișierul de configurare se găsesc în man pacman.conf.

Opțiuni generale

Opțiunile generale se găsesc în secțiunea [options]. Citiți pagina man sau uitați-vă în pacman.conf implicit pentru a afla ce se poate face aici.

Evitarea actualizării unui pachet

Dacăm dintr-un anume motiv, doriți evitarea actualizării unui pachet, puteți specifica asta în genul:

IgnorePkg = kernel26

Evitarea actualizării unui grup de pachete

Similar, pentru evitarea actualizării unui grup de pachete:

IgnoreGroup = gnome

Depozite

În această secțiune, veți defini ce depozite se vor folosi, cum este referit în /etc/pacman.conf. Acestea pot fi definite direct aici, sau pot fi incluse dintr-un alt fișier.

Toate depozitele oficiale folosesc același fișier /etc/pacman.d/mirrorlist care conține o variabilă '$repo', astfel încât nu trebuie decât să se mențină o listă.

Urmează un exemplu pentru folosirea depozitelor oficiale - care au o mulțime de mirrors. A se evita folosirea ftp.archlinux.org care este suprasolicitat.

[core]
# Adăugați serverele preferate aici; ele vor fi folosite primele
Include = /etc/pacman.d/mirrorlist

[extra]
# Adăugați serverele preferate aici; ele vor fi folosite primele
Include = /etc/pacman.d/mirrorlist

[community]
# Adăugați serverele preferate aici; ele vor fi folosite primele
Include = /etc/pacman.d/mirrorlist

Notă!Atenție mare când folosiți depozitul testing!


Erori

Dacă înregistrați următoarea eroare:

not found in sync db

...ea se datorează faptului că pachetele nu au putut fi găsite pentru că depozitul nu a fost setat corect.

De citit

Pagini de documentație

Articole corelate

Legături externe

Unelte personale