Management pachete

From Bucuresti Linux Users Group

Jump to: navigation, search

Managementul de pachete este probabil diferenţa cea mai distinctivă dintre toate distribuţiile Linux. Marile distribuţii tind să ofere utilitare grafice(Synaptic în Debian, Drakrpm în Mandriva) prin care utilizatorii pot instala software doar cu ajutorul câtorva click-uri, însă acestea sunt doar un front-end al aplicaţiilor care rulează în terminal. Deşi mulţi utilizatori folosesc aceste utilitare grafice pentru instalarea/dezinstalarea de pachete, nu există nicio îndoială că terminalul oferă două atuuri care lipsesc din utilitarele grafice: putere şi viteză.

Principala problemă a utilizatorilor este necesitatea de a reînvăţa comenzile managerului de pachete de fiecare dată când trece de la o distribuţie la alta. În plus managerele de pachete tind să evolueze, astfel încât la fiecare nouă versiune, i se mai adaugă o opţiune sau comandă. De aceea am considerat utilă crearea acestui tutorial care să cuprindă comenzile principalelor managere de pachete existente.

Contents

Distribuţii bazate pe pachete binare

Majoritatea distribuţiilor existente folosesc pachete binare. Acestea sunt pachete precompilate de către maintainerii şi dezvoltatorii distribuţiei respective şi sunt ţinute pe serverele repo(repository) ale distribuţiei respective. Instalarea este foarte simplă, deoarece utilizatorul nu trebuie să compileze întregul cod-sursă, iar dependinţele necesare sunt instalate automat.

Distribuţii Majore: Debian, openSUSE, Fedora, Mandriva

Primul tabel ilustrează comenzile managerelor de pachete implicite în distribuţiile principale - Debian (şi derivatele: Ubuntu, Linux Mint, KNOPPIX, Mepis etc.), openSUSE, Fedora (inclusiv RHEL, CentOS şi alte distribuţii derivate din Fedora) şi Mandriva Linux.

Distribuţii Majore: Debian, openSUSE, Fedora, Mandriva
Sarcina Debian (APT) openSUSE (ZYPPER) Fedora, CentOS (YUM) Mandriva (URPMI)
Instalare software din repository apt-get install <pachet> zypper install <pachet> yum install <pachet> urpmi <pachet>
Instalare software (pachet local) dpkg -i <pachet> zypper install <pachet> yum localinstall <pachet> urpmi <pachet>
Update software (un pachet anume) apt-get upgrade <pachet> zypper update -t package <pachet> yum update <pachet> urpmi <pachet>
Dezinstalare software apt-get remove <pachet> zypper remove <pachet> yum erase <pachet> urpme <pachet>
Update lista de pachete apt-get update zypper refresh yum check-update urpmi.update -a
Update sistem apt-get upgrade zypper update yum update urpmi --auto-select
Cautare pachet apt-cache search <pachet> zypper search <pachet> yum list <pachet>
yum search <pachet>
urpmq -Y <pachet>
Listare software instalat dpkg -l zypper search -is rpm -qa rpm -qa
Listare repository cat /etc/apt/sources.list zypper repos yum repolist urpmq --list-media
Adaugare repository (editare /etc/apt/sources.list) zypper addrepo <url> <nume> (adaugare *repo in /etc/yum.repos.d) urpmi.addmedia <nume> <url>
Stergere repository (editare /etc/apt/sources.list) zypper removerepo <nume> (stergere *repo din /etc/yum.repos.d) urpmi.removemedia <nume>


Slackware Linux si derivatele (Vector Linux, Zenwalk Linux)

Tabelul de mai jos ilustrează comenzile managerelor de pachete din Slackware Linux şi din distribuţiile derivate din Slackware. Spre deosebire de alte distribuţii, Slackware nu are un manager capabil să rezolve dependinţele pachetelor, iar instalarea şi dezinstalarea pachetelor se face folosind "pkgtools", un set de scripturi simple care nu s-a schimbat prea mult în ultimii ani. Cu toate acestea există un manager de pachete avansat, "slackpkg", care a fost introdus în Slackware Linux 12.2. VectorLinux, o distribuţie derivată din Slackware, a standardizat "slapt-get" , un manager avansat care imită comportamentul APT din Debian, în timp ce Zenwalk Linux, o altă distribuţie derivată din Slackware, a introdus propriul manager de pachete, "netpkg"

Slackware Linux si derivatele (Vector Linux, Zenwalk Linux)
Sarcina Slackware Linux (PKGTOOLS) Slackware Linux (SLACKPKG) Vector Linux (SLAPT-GET) Zenwalk Linux (NETPKG)
Instalare software din repository ----- slackpkg install <pachet> slapt-get --install <pachet> netpkg <pachet>
Instalare software (pachet local) installpkg <pachet> slackpkg install <pachet> slapt-get --install <pachet> netpkg <pachet>
Update software (un pachet anume) upgradepkg <pachet> slackpkg upgrade <pachet> slapt-get --install <pachet> netpkg <pachet>
Dezinstalare software removepkg <pachet> slackpkg remove <pachet> slapt-get --remove <pachet> netpkg remove <pachet>
Update lista de pachete ----- slackpkg update slapt-get --update (automata)
Update sistem ----- slackpkg upgrade-all slapt-get --upgrade netpkg upgrade
Cautare pachet ----- slackpkg search <pachet> slapt-get --search <pachet> netpkg <pachet> <repo>
Listare software instalat ls /var/log/packages ls /var/log/packages slapt-get --installed netpkg list I
Listare repository ----- cat /etc/slackpkg/mirrors cat /etc/slapt-get/slapt-getrc netpkg mirror
Adaugare repository ----- (editare /etc/slackpkg/mirrors) (editare /etc/slapt-get/slapt-getrc) (editare /etc/netpkg.conf)
Stergere repository ----- (editare /etc/slackpkg/mirrors) (editare /etc/slapt-get/slapt-getrc) (editare /etc/netpkg.conf)


Distribuţii Independente: Sabayon Linux, ArchLinux, rPath, Foresight Linux, Pardus Linux

În următorul grup avem distribuţiile independente care au câştigat popularitate în anii recenţi. Sabayon Linux, deşi derivat din Gentoo, a introdus managerul propriu de pachete numit "equo". Pacman din ArchLinux există de multă vreme şi este considerat deseori că fiind cel mai rapid manager de pachete existent. "Conary", dezvoltat de rPath şi popularizat de Foresight Linux, este o abordare complet nouă în privinţa managerelor de pachete, fiind creat de ingineri Redhat cunoscuţi, cu mulţi ani de experienţă în managementul de pachete. În contrast Pisi din Pardus Linux, este un manager relativ nou, însă distribuţia în şine a crescut repede în ultimii doi ani.

Distribuţii Independente: Sabayon Linux, ArchLinux, rPath, Foresight Linux, Pardus Linux
Sarcina Sabayon Linux (EQUO) ArchLinux (PACMAN) rPath, Foresight Linux (CONARY) Pardus Linux (PISI)
Instalare software din repository equo install <pachet> pacman -S <pachet> conary update <pachet> pisi install <pachet>
Instalare software (pachet local) equo install <pachet> pacman -U <pachet> conary update <pachet> pisi install <pachet>
Update software (un pachet anume) equo install <pachet> pacman -S <pachet> conary update <pachet> pisi install <pachet>
Dezinstalare software equo remove <pachet> pacman -R <pachet> conary erase <pachet> pisi remove <pachet>
Update lista de pachete equo update pacman -Sy ----- pisi update-repo
Update sistem equo world pacman -Su conary updateall pisi upgrade
Cautare pachet equo match <pachet> pacman -Ss <pachet> conary query <pachet> pisi search <pachet>
Listare software instalat equo list pacman -Q conary query pisi list-installed
Listare repository equo repoinfo cat /etc/pacman.d/mirrorlist ----- pisi list-repo
Adaugare repository ----- (editare /etc/pacman.conf) ----- pisi add-repo <nume> <url>
Stergere repository ----- (editare /etc/pacman.conf) ----- pisi remove-repo <nume>


Managere de Pachete Multi-Distribuţie: SMART, PackageKit(PKGCON)

În afară de managerele de pachet standard existente în fiecare distribuţie, mai există şi managere de pachete multi-distribuţie, capabile să ruleze cu succes pe diferite distribuţii şi cu tipuri diferite de pachete. Smart, dezvoltat iniţial de către Conectiva, nu a fost folosit o bună perioadă, însă se pare că mulţi îl preferă în locul URPMI în Mandriva şi în locul ZYPPER în openSUSE (de asemenea mai suportă şi distribuţii bazate pe Debian şi pe Slackware). Recent însă managerul PackageKit din Fedora a câştigat mult teren pe diferite distribuţii, fiind inclus deja în Fedora, Ubuntu, openSUSE, Mandriva şi altele.

Managere de Pachete Multi-Distribuţie: SMART, PackageKit(PKGCON)
Sarcina Mandriva, openSUSE (SMART) Fedora, Ubuntu, Mandriva, openSUSE (PKGCON)
Instalare software din repository smart install <pachet> pkgcon install <pachet>
Instalare software (pachet local) smart install <pachet> pkcon install-file <pachet>
Update software (un pachet anume) smart install <pachet> pkcon update <pachet>
Dezinstalare software smart remove <pachet> pkcon remove <pachet>
Update lista de pachete smart update pkcon refresh
Update sistem smart upgrade pkcon upgrade
Cautare pachet smart search <pachet> pkcon search name <pachet>
Listare software instalat smart query --installed -----
Listare repository smart channel --show pkcon repo-list
Adaugare repository smart channel --add <nume> <url> -----
Stergere repository smart channel --remove <nume> -----


Distribuţii bazate pe pachete cod-sursă

Există distribuţii care nu folosesc pachete binare. Acestea folosesc managere de pachete extrem de avansate, capabile să lucreze cu codul sursă al aplicaţiei. Cu toate acestea instalarea pachetelor este uşoară, însă durează un timp mai îndelungat. Managerul Portage din Gentoo Linux este foarte utilizat şi bine documentat, însă celelalte distribuţii bazate pe pachete cod-sursă nu sunt aşa de cunoscute. Sorcerer, o distribuţie care a existat chiar înainte Gentoo, folosea simple scripturi bash pentru a descărcă, compila şi instală pachetele. Ulterior au apărut două distribuţii bazate pe Sorcerer, Lunar Linux şi Sourge Mage GNU/Linux, ambele fiind incluse în tabelul de mai jos. Din nefericire Sorcerer nu oferă prea multe în materie de documentaţie online prin urmare nu este prezent în tabel.

Distribuţii bazate pe pachete cod-sursă
Sarcina Gentoo (PORTAGE) Lunar Linux (LUNAR) Sourge Mage GNU/Linux (SORCERY)
Instalare software din repository emerge <pachet> lin <pachet> cast <pachet>
Instalare software (pachet local) ----- ----- -----
Update software (un pachet anume) emerge <pachet> lin <pachet> cast <pachet>
Dezinstalare software emerge -aC <pachet> lrm <pachet> dispel <pachet>
Update lista de pachete emerge --sync lin moonbase scribe update
Update sistem emerge -NuDa world lunar update sorcery upgrade
Cautare pachet emerge --search <pachet> lvu search <pachet> gaze search -name <pachet>
Listare software instalat qlist -I lvu installed gaze installed
Listare repository layman -L ----- scribe index
Adaugare repository layman -a <repo> ----- scribe add repo
Stergere repository layman -d repo ----- scribe remove repo


FreeBSD

Deşi nu este o distribuţie Linux am ales să scriu şi despre FreeBSD din două motive. Primul este acela că FreeBSD foloseşte atât sistemul de pachete binare, cât şi sistemul de pachete cod-sursă. Al doilea motiv este faptul că sistemul "ports" din FreeBSD a fost sursa de inspiraţie a lui Daniel Robbins când a creat "portage" în Gentoo Linux.

FreeBSD
Sarcina FreeBSD (SISTEM BINAR) FreeBSD (SISTEM COD-SURSA: PORTS)
Instalare software din repository pkg_add -r <pachet> cd <port_dir> && make && make install
Instalare software (pachet local) pkg_add <calea catre pachet> -----
Update software (un pachet anume) pkg_add <calea catre pachet> portupgrade -R <pachet>
Dezinstalare software pkg_delete <pachet> pkg_delete <pachet>
Update lista de pachete ----- portsnap update
Update sistem freebsd-update fetch install portsnap fetch install
Cautare pachet ----- cd /usr/ports && make search <pachet>
Listare software instalat pkg_info pkg_info
Listare repository ----- -----
Adaugare repository ----- -----
Stergere repository ----- -----

Documentatie

Distrowatch - Package Management


Inițiator tutorial : : V3n3RiX

Personal tools