Faceți căutări pe acest blog

sâmbătă, 25 februarie 2012

Administrare pachete CLI

 Una din principalele unelte ale unei distribuții este administratorul de pachete folosit pentru căutarea, instalarea sau dezinstalarea pachetelor. Există și utilitare grafice pentru așa ceva, Gurpmi/ MCC, Kpackagekit, Synaptic, Ubuntu Software Center, etc., dar acestea sunt doar frontenduri, interfețe grafice pentru managere de pachete ca urpmi, pacman, yaourt, apt-get, apt-rpm, etc. Vreau să prezint începătorilor modalitatea de folosire a unor asemenea utilitare, cele din Mandriva (urpmi), Arch (pacman, yaourt, packer), Sabayon (equo) și Ubuntu (apt-get). Toate aceste aplicații pot fi folosite pentru instalări și dezinstalări multiple, în loc de ”pachet” trebuie trecute pachetele ce se doresc instalate sau dezinstalate (urpmi moc rtorrent audacious vlc colorprompt  sau pacman -Rsn mplayer firefox yakuake thunderbird de exemplu). Pentru detalii citiți în terminal manualul aplicației (man urpmi sau man pacman, etc., așa aflați toate opțiunile) ori pagina de help (yaourt -h, packer -h). Puteți combina comenzile, adăuga opțiuni, salva outputul unora, puteți rafina modul de afișare și multe altele. De exemplu vrem să aflăm ce pachete avem instalate în Arch Linux:
pacman -Q                                                        = listează pachetele instalate și versiunea acestora
pacman -Q | wc -l                                            = ne dă doar numărul de pachete instalat (opțiunea -l a wc/ word count ne arată doar numărul liniilor, și cum o linie = un pachet...)
pacman -Q | pr --column=2                          = listează pachetele pe două coloane
pacman -Q | sort -r | pr --column=3 > list.txt     = caută toate pachetele instalate, le sortează recursiv (z- a, nu a- z), le pune pe trei coloane și le copie în fișierul list.txt din ~; rezultatele nu vor fi afișate în terminal, doar în fișierul text.




 URPMI/ Mandriva (plus Rosa Linux și Mageia) este o aplicație foarte rapidă și inteligentă, ușor de folosit, sintaxa și opțiunile sunt ușor de memorat, rezolvă dependențele. Este una din preferatele mele!
urpmq --list                                                = afișează toate pachetele disponibile în mediile de aplicații/ repositories/ depozitele online cu pachete
urpmq -i pachet                                        = căutare aplicații în mediile de programe, afișare informații despre pachet
urpmi  pachet                                            = instalează (sau actualizează dacă e deja instalat) pachetul respectiv
urpmi ./pachet                                           = instalare pachet local, din folderul curent, nu din baza de date
urpme pachet                                            = dezinstalează pachetul respectiv
urpme --auto-orphans                             = dezinstalează pachetele orfane, dependențele ale căror ”surse”/ pachete mamă au fost șterse 
urpmf pachet                                             = caută în baza de date pentru găsirea pachetelor ce conțin un pachet dorit ce nu merge instalat. De exemplu dorim să instalăm pachetul slang și primim o eroare:
   urpmi slang        => cannot find slang.h
   urpmf slang.h    => libslang1-devel: /usr/include/slang
   urpmi libslang1-devel
   urpmi slang          => acum instalarea merge fără probleme! 
urpmi --auto-select                                   = update general pachete
urpmi --auto-update                                 = update general pachete după ce actualizează și mediile
rpm -qa                                                     = afișează toate pachetele instalate
urpmq --list-media                                     = afișare medii de programe setate
urpmi.addmedia --distrib http://...          = adăugare mediu pachete
urpmi.removemedia --distrib http://...    = ștergere mediu
urpmi.removemedia -a                               = ștergere completă medii



 PACMAN/ Arch Linux (+ Manjaro,deocamdată și Chakra Linux)
pacman -S pachet                                        = instalare pachet (cu tot cu dependențe)
pacman -S mediu/pachet                           = instalare pachet dintr-un mediu anumit (extra, testing, etc, așa alegem versiunea dorită)
pacman -U cale-către-pachet                    = instalare pachet descărcat local (putem folosi și makepkg -si pachet sau chiar compilarea clasică...)
pacman -R pachet                                        = dezinstalare pachet
pacman -Rsn pachet                                    = dezinstalare pachet, dependențe ce nu sunt folosite de alte aplicații (opțiunea s) și ștergerea fișierelor de configurare ale aplicației respective (opțiunea n)
pacman -Ss pachet                                      =căutare pachet în baza de date (medii)
pacman -Si pachet                                       = afișare informații despre pachet (mărime, dată creare, dependențe, descriere, packager, etc)
pacman -Syu                                                  = actualizare medii și sistem
pacman -Q                                                     = afișează lista pachetelor instalate local (pe mașina noastră)
pacman -Qs pachet                                     = căutare pachet instalat local
pacman -Qi pachet                                      = dă informații despre un pachet instalat local (descriere, mărime, dată creare și instalare, dependențe, packager, etc)
pacman -Ql pachet                                      = arată toate fișierele/ pachetele conținute de pachet
pacman -Ql | grep bin                                 = ne arată toate pachetele suitei pacman 
pacman -Qo cale-fișier                               = arată cărui pachet îi aparține fișierul respectiv, ”sursa”, ”proprietarul” acestuia
pacman Qdt                                                  = listare pachete orfane
pacman -Rs $(pacman -Qdt)                    = dezinstalare pachete orfane
pacman -Sc                                                   = curățare cache, pachete neinstalate (golire /var/cache/pacman/pkg)
pacman -Scc                                                 = curățare COMPLETĂ cache, deci și ștergerea versiunilor vechi ale pachetelor instalate; așa facem loc pe partiția /, dar nu mai putem downgrada pachete la versiunea anterioară!
pacman -S --noconfirm pachet =  instalare pachet fără confirmări/ ne- interactiv

 Pe lângă mediile oficiale Arch Linux mai folosește medii neoficiale, bine populate cu pachete noi și interesante, dar care nu pot fi administrate de pacman ci de alte package managers, precum yaourt și packer, care administrează atât pachetele din mediile oficiale, cât și pe cele din AUR (Arch User Repository- o chestie similară ppa-urilor din Ubuntu/ Personal Package Archives).



 YAOURT
yaourt -S pachet                    = instalare pachet (doar dacă știm numele exact...)
yaourt pachet                         = căutare și instalare pachet în mod interactiv
yaourt -Sb pachet                  = construire pachet din surse
yaourt -R pachet                    = dezinstalare pachet
yaourt -h                                  = pagina de ajutor (help)
yaourt -Syua                            = actualizare medii (inclusiv AUR) și sistem
yaourt -B                                  = facem backup bazei de date
yaourt -S  --noconfirm pachet    = instalare pachet fără editare fișiere și confirmări



 PACKER
packer -Ss pachet         = căutare pachet
packer -S pachet           = instalare pachet
packer -Si pachet          = afișează informații despre pachet
packer -Syu                     = actualizare medii și sistem
packer -S --noedit --noconfirm pachet      = instalare pachet fără editarea fișierelor și fără confirmarea instalării




 EQUO/ Sabayon. În Sabayon se poate folosi managerul creat de distribuție (Entropy/ Sulfur în interfața grafică și equo în linia de comandă), dar și managerul Gentoo, distribuția din care se trage Sabayon (Portage/ emerge în linie de comandă).
equo update                             = update bază date (medii pachete)
equo upgrade                           = actualizare pachete
equo search pachet                = căutare pachet
equo install pachet                 = instalare pachet
equo remove pachet               = dezinstalare pachet
equo cleanup                           = curăță pachetele descărcate local de Entropy/ equo
equo --resume                         = repornește o operație întreruptă
equo conf update                   = update fișiere de configurare
revdep-rebuild                        = reparare/ refacere fișiere și dependențe
equo database gentoosync  = dacă folosim și emerge, așa sincronizăm baza de date Portage cu cea a Entropy
equo query orphans               = căutare pachete orfane/ dependențe care nu mai aparțin altor pachete, pachete inutile
equo query list available      = listare pachete disponibile
equo query list installed      = afișare pachete instalate (qlist -i face același lucru)
mirrorselect -s 10                  = selectarea serverelor cele mai rapide (10, pentru un număr de n servere: -s n, de exemplu pentru șase: -s 6)



 APT-GET/ Ubuntu (și Debian și PCLinuxOS). PCLinuxOS folosește ca manager de pachete CLI apt-rpm, o variantă a apt-get ce lucrează cu pachete .rpm, dar comenzile sunt aceleași. Chiar dacă nu sunt utilizator de Ubuntu, nici măcar un mare fan, Ubuntu e cea mai utilizată distribuție, deci...
apt-cache search pachet     = căutare pachet
apt-get install pachet           = instalare pachet
apt-get remove pachet         = dezinstalare pachet
apt-get purge pachet            = dezinstalează și șterge pachetul și fișierele de configurare ale aplicației respective
apt-get autoremove pachet = dezinstalează pachet și dependențe
apt-get autoremove               = dezinstalează toate pachetele care nu mai trebuie (dependențele cerute de pachete dezinstalate), inclusiv versiunile vechi de kernel 
apt-get autoclean                  = șterge arhivele .deb ale pachetelor ce nu mai sunt instalate în sistem
apt-get clean                          = curăță tot cache-ul (pachetele .deb descărcate)
apt-get -f install                    = repară pachetele ”stricate” rezolvând dependențele lipsă
apt-get update                       = actualizează baza de date (repositories)
apt-get upgrade                     = actualizează pachetele instalate
apt-get dist-upgrade            = similar cu apt-get upgrade, dar mai inteligentă, în caz de conflicte actualizează pachetele mai importante în dauna celor mai puțin importante
dpkg -l  = listează toate pachetele instalate
apt-get install -y --install-recommends pachet = instalează ne- interactiv (răspunde automat cu yes/ da cererilor de confirmare) pachetul dorit și de asemenea pachetele recomandate


4 comentarii:

  1. Curățare siste arch (așa înțeleg eu):
    sudo pacman-color -R $(pacman -Qdtq)

    RăspundețiȘtergere
  2. Curățare sistem de pachete ce nu sunt cerute de alte pachete (orfane: le aflăm cu pacman -Qtd/ Q= căutare, d= limitează căutarea la dependențele instalate de alte pachete, t= pachete actualmente necerute de altele; combinatia dt= "real orphans"!/ yaourt cauta orfani similar: yaourt -Qdt !).
    E bine să folosim pentru dezinstalare pacman -Rsn ..., nu pacman -R ..., tocmai pentru a șterge direct dependențele (pachetele cerute/ instalate de pachetul "mamă") și fișierele de configurare ale aplicației, caz în care această comandă nu mai este necesară.

    RăspundețiȘtergere
  3. Sunt multe package managere... intrebarea mea este daca exista o comanda data in cli rezultatul careia sa ne dea raspunsul: "distributia foloseste pacman"... sau apt etc.

    O alternativa este asocierea; daca este distributie debian atunci foloseste apt, daca este o distributie mandriva atunci poloseste urpmi...
    O schita de script gasiti aici: http://unix.stackexchange.com/questions/46081/identifying-the-system-package-manager

    RăspundețiȘtergere
  4. ^ Mai e aici ceva folositor:
    http://linuxmafia.com/faq/Admin/release-files.html

    aici ce încerc eu să fac... se modifică... :)
    http://pastebin.com/raw.php?i=CZTE6TiE

    RăspundețiȘtergere

Back to top