162 lines
3.8 KiB
Markdown
162 lines
3.8 KiB
Markdown
# Gestione dei pacchetti
|
|
|
|
## dpkg
|
|
|
|
*Debian Package* (dpkg) e' il comando per installare e rimuovere pacchetti su sistemi basati su Debian.
|
|
|
|
### Installazione
|
|
|
|
```bash
|
|
dpkg -i PACKAGENAME.deb
|
|
```
|
|
dpkg, se le dipendenze del pacchetto non sono soddisfatte, non installera' il pacchetto. Elenchera' quali dipendenze mancano, ma sara' compito dell'utente installarle.
|
|
|
|
Per forzare l'installazione usare il parametro `-f` o `--force`.
|
|
|
|
### Disinstallazione
|
|
|
|
```bash
|
|
dpkg -r PACKAGENAME
|
|
```
|
|
|
|
Un pacchetto non puo' essere rimosso, se non sia stato rimosso anche ogni altro pacchetto che dipende da esso.
|
|
|
|
```bash
|
|
dpkg -P PACKAGENAME
|
|
```
|
|
|
|
In questo modo vengono rimossi anche i file di configurazione, che altrimenti restano nel sistema.
|
|
|
|
### Ottenere informazioni sui pacchetti
|
|
|
|
```bash
|
|
dpkg -I PACKAGENAME
|
|
```
|
|
|
|
### Elencare i pacchetti
|
|
|
|
Per avere una lista di tutti i pacchetti installati sul sistema:
|
|
|
|
```bash
|
|
dpkg --get-selections
|
|
```
|
|
Per avere un elenco di tutti i file installati da un pacchetto:
|
|
|
|
```bash
|
|
dpkg -L PACKAGENAME
|
|
```
|
|
|
|
### Riconfigurare i pacchetti
|
|
|
|
Per ripristinare le impostazioni di un pacchetto allo stato iniziale:
|
|
|
|
```bash
|
|
dpkg-reconfigure PACKAGENAME
|
|
```
|
|
|
|
## APT
|
|
|
|
*Advanced Package Tool* e' un sistema di gestione dei pacchetti che *risolve in automatico le dipende*. E' come un *front-end* di dpkg, che ne semplifica l'utilizzo e ne colma diverse lacune.
|
|
|
|
Esistono diverse utility:
|
|
|
|
- **apt-get**
|
|
- **apt-cache**
|
|
- **apt-file**
|
|
- **apt**: combina le funzionalita' di apt-get e apt-cache
|
|
|
|
### Aggiornare l'indice dei pacchetti
|
|
|
|
```bash
|
|
apt-get update
|
|
```
|
|
|
|
### Installare e rimuovere pacchetti
|
|
|
|
Prima di installare un pacchetto, buona prassi e' quella di aggiornare gli indici
|
|
|
|
```bash
|
|
apt-get install PACKAGENAME
|
|
|
|
apt-get remove PACKAGENAME
|
|
```
|
|
APT risolve automaticamente le dipendenze. Verranno quindi installati anche degli eventuali pacchetti aggiuntivi richiesti dal pacchetto che si sta installando. Verranno anche rimossi i pacchetti che dipendono dal pacchetto che si sta rimuovendo.
|
|
|
|
I file di configurazione rimangono sul sistema. Per eliminare qualsiasi cosa associata la pacchetto:
|
|
|
|
```bash
|
|
apt-get purge PACKAGENAME
|
|
```
|
|
|
|
### Riparare dipende
|
|
|
|
Per risolvere dipendenze errate o mancanti:
|
|
|
|
```bash
|
|
apt-get install -f
|
|
```
|
|
|
|
### Aggiornare i pacchetti
|
|
|
|
Per aggiornare tutti i pacchetti:
|
|
|
|
```bash
|
|
apt-get upgrade
|
|
```
|
|
|
|
Per aggiornare un singolo pacchetto:
|
|
|
|
```bash
|
|
apt-get upgrade PACKAGENAME
|
|
```
|
|
|
|
### Cache locale
|
|
|
|
Quando si installa o aggiorna un pacchetto, il corrispondente file *.deb *viene scaricato in una cartella locale di cache, che di default e': `/var/cache/apt/archives/`. I file parzialmente scaricati si trovano invece in `/var/cache/apt/archives/partial`. Per svuotare la directory di cache usare il comando `apt-cache clean`.
|
|
|
|
### Ricercare pacchetti
|
|
|
|
```bash
|
|
apt-cache search
|
|
```
|
|
|
|
Il comando seguente mostra i dettagli su un determinato pacchetto:
|
|
|
|
```bash
|
|
apt-cache show PACKAGENAME
|
|
```
|
|
|
|
### Elencare il contenuto di un pacchetto
|
|
|
|
```bash
|
|
apt-file list PACKAGENAME
|
|
```
|
|
|
|
### Repository
|
|
|
|
APT utilizza una lista di fonti (*repository*) per sapere da dove ottenere i pacchetti. Questo fonti sono memorizzate nel file `/etc/apt/sources.list` e nei file contenuti nella directory `/etc/apt/sources.list.d/`.
|
|
|
|
la sintassi:
|
|
|
|
```bash
|
|
cat /etc/apt/sources.list
|
|
|
|
# Debian SID
|
|
deb http://deb.debian.org/debian/ unstable main contrib non-free non-free-firmware
|
|
|
|
# Tipo archivio URL distribuzione componenti
|
|
```
|
|
#### Tipo
|
|
|
|
File binari (.deb) o sorgenti, *deb-src*
|
|
|
|
#### Componenti
|
|
|
|
Diversi tra le distribuzioni, su Debian i componenti principali sono:
|
|
|
|
- **main**: pacchetti conformi alle *Debian Free Software Guidelines* (DFSG)
|
|
- **contrib**: pacchetti conformi alle DFSG, ma che dipendono da pacchetti che non sono in main
|
|
- **non-free**: pacchetti non conformi alle DFSG
|
|
- **security**: aggiornamenti di sicurezza
|
|
- **backports**: versioni piu' recenti dei pacchetti che si trovano in main
|
|
``` |