# Gestione dei pacchetti ## RPM E' lo strumento per la gestione dei pacchetti su sistemi RedHat e derivati. ### Installare, aggiornare e rimuovere pacchetti ```bash rpm -i PACKAGENAME.rpm rpm -u PACKAGENAME # Aggiornamento ``` L'opzione `-h` mostra una barra di avanzamento. ```bash rpm -u PACKAGENAME # Rimozione del pacchetto ``` ### Gestire le dipendenze rpm non installa un pacchetto in mancanza delle dipendenze. Elenchera' solamente i pacchetti mancanti, ma non risolvera' in automatico le dipendenze. ### Elencare i pacchetti installati ```bash rpm -qa # query all: elenca tutti i pacchetti presenti nel sistema ``` ### Ottenere informazioni sui pacchetti ```bash rpm -qi PACKAGENAME # query info: informazioni su un pacchetto installato rpm -qip PACKAGENAME # query info: informazioni su un pacchetto NON installato rpm -ql PACKAGENAME # query list: informazioni su quali file si trovano all'interno di un pacchetto installato rpm -ql PACKAGENAME # query list: informazioni su quali file si trovano all'interno di un pacchetto NON installato ``` ## YUM Funziona similmente ad APT, essendo in grado di cercare, installare, aggiornare e rimuovere pacchetti, *gestendo in automatico le dipendenze*. ### Ricercare pacchetti ```bash yum search PATTERN ``` ### Installare, aggiornare e rimuovere pacchetti ```bash yum install PACKAGENAME yum update PACKAGENAME yum update # Aggiorna tutti i pacchetti del sistema yum check-update PACKAGENAME yum check-update # Controlla gli aggiornamenti per tutti i pacchetti del sistema yum remove PACKAGENAME ``` ### Ottenere informazioni sui pacchetti ```bash yum info PATTERN ``` ### Gestire i repository I repository sono elencati nella directory `/etc/yum/repos.d/`. Ogni repository e' rappresentato da un file `.repo`. Il modo raccomandato per aggiungere repository e' attraverso l'utility `yum-config-manager`: ```bash yum-config-manager --add-repo URL.repo yum repolist all # Elenco di tutti i repository yum-config-manager --disable REPO_ID # Disabilita il repository REPO_ID yum-config-manager --enable REPO_ID ``` yum memorizza i pacchetti scaricati in `/etc/yum/cache`. Per recuperare lo spazio: ```bash yum clean packages yum clean metadata ``` ## DNF Fork di yum, e' il gestore predefinito di Fedora ```bash dnf search PATTERN dnf info PACKAGENAME dnf install PACKAGENAME dnf remove PACKAGENAME dnf upgrade PACKAGENAME dnf upgrade # Aggiorna tutti i pacchetti dnf list --installed dnf repoquery -l PACKAGENAME # Elencare il contenuto di un pacchetto ``` ### Gestire i repository ```bash dnf repolist # Lista di tutti i repository dnf --enabled repolist dnf --disabled repolist dnf-config-manager --add-repo URL.repo dnf-config-manager --set-disabled REPO_ID # Disabilita il repository REPO_ID dnf-config-manager --set-enabled REPO_ID ``` I repository sono elencati nella directory `/etc/yum/repos.d/`. Ogni repository e' rappresentato da un file `.repo`. ## Zypper Strumento di gestione dei pacchetti predefinito su SUSE Linux e OpenSUSE. Funziona similmente ad APT e YUM, essendo in grado di cercare, installare, aggiornare e rimuovere pacchetti, *gestendo in automatico le dipendenze*. ### Aggiornare l'indice dei pacchetti ```bash zypper refresh ``` ### Ricercare pacchetti ```bash zypper se PACKAGE # search zypper se -i # Lista di tutti i pacchetti installati sul sistema ``` ### Installare, aggiornare e rimuovere pacchetti ```bash zypper in PACKAGE zypper update # Aggiorna i pacchetti del sistema zypper list-updates # Elenca, senza installarli, i pacchetti con aggiornamenti disponibili zypper rm PACKAGE ``` ### Ottenere informazioni sui pacchetti ```bash zypper info PACKAGE ``` ### Gestire i repository ```bash zypper repos # Elenco di tutti i repository zypper addrepo URL zypper addrepo URL -f # Abilita gli aggiornamenti automatici zypper remove REPO_NAME # Disabilita il repository REPO_ID zypper setenabled REPO_ID ```