Pacman
De la ArchWikiRo
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
- Improve Pacman Performance - Trebuie citit!
- Colored Pacman output
- Downgrade packages
- Redownloading all installed packages
- Server Configuration in pacman.conf
- ArchLinux User-community Repository (AUR)
- Local repository HOW-TO
- Custom local repository with ABS and gensync
- Howto Upgrade via Home Network (Network Shared Pacman Cache)
- Rucksack
- Pacman GUI Frontends
- Pacman Aliases (for Bash and Zsh)
- Mirrors
- Pacman rosetta (Pacman for yum/apt-get/rug/zypper converts)
Legături externe
- Using Pacman
- GUI Frontends
- Powerpill A wrapper and download accelerator for Pacman

