Comandi e workflow APT (Advanced Package Tool) completi per la gestione dei pacchetti in Debian e Ubuntu.
Installazione e Aggiornamenti
Operazioni Base sui Pacchetti
| Comando | Descrizione |
|---|
sudo apt update | Aggiorna l’indice dei pacchetti |
sudo apt upgrade | Aggiorna tutti i pacchetti |
sudo apt full-upgrade | Aggiorna con risoluzione delle dipendenze |
sudo apt install package_name | Installa pacchetto |
sudo apt remove package_name | Rimuovi pacchetto |
sudo apt purge package_name | Rimuovi file di package e config |
sudo apt autoremove | Rimuovi dipendenze non utilizzate |
Installazione Avanzata
| Comando | Descrizione |
|---|
sudo apt install package1 package2 | Installa più pacchetti |
sudo apt install package=version | Installa versione specifica |
sudo apt install ./package.deb | Installa file .deb locale |
sudo apt reinstall package_name | Reinstalla pacchetto |
sudo apt install --no-install-recommends package | Installa senza pacchetti raccomandati |
| Comando | Descrizione |
|---|
apt search keyword | Cerca pacchetti |
apt show package_name | Mostra informazioni del pacchetto |
apt list --installed | Elenca pacchetti installati |
apt list --upgradable | Elenca pacchetti aggiornabili |
apt list package_name | Verifica se il package è disponibile |
dpkg -l | Elenca tutti i pacchetti installati |
| `dpkg -l | grep package` |
Dipendenze dei Pacchetti
| Comando | Descrizione |
|---|
apt depends package_name | Mostra dipendenze del package |
apt rdepends package_name | Mostra dipendenze inverse |
apt-cache policy package_name | Mostra policy del pacchetto |
Gestione Repository
Operazioni sui Repository
| Comando | Descrizione |
|---|
sudo add-apt-repository ppa:user/repo | Aggiungi repository PPA |
sudo add-apt-repository --remove ppa:user/repo | Rimuovi repository PPA |
sudo apt edit-sources | Modifica elenco fonti |
ls /etc/apt/sources.list.d/ | Elenca repository aggiuntivi |
Chiavi GPG
| Comando | Descrizione |
|---|
sudo apt-key list | Elenca chiavi GPG |
| `wget -qO - https://example.com/key.gpg \ | sudo apt-key add -` |
sudo apt-key del KEYID | Rimuovi chiave GPG |
Manutenzione del Sistema
Operazioni di Pulizia
| Comando | Descrizione |
|---|
sudo apt autoclean | Pulisci cache del pacchetto |
sudo apt clean | Rimuovi tutti i pacchetti in cache |
sudo apt autoremove --purge | Rimuovi pacchetti e configurazioni non utilizzati |
sudo apt-get check | Verifica delle dipendenze interrotte |
Riparare Pacchetti Danneggiati
| Comando | Descrizione |
|---|
sudo apt --fix-broken install | Correggere le dipendenze interrotte |
sudo dpkg --configure -a | Configurare pacchetti non configurati |
sudo apt-get -f install | Forza installazione per risolvere le dipendenze |
File di Configurazione
Configurazione APT
| File | Descrizione |
|---|
/etc/apt/sources.list | Lista principale dei repository |
/etc/apt/sources.list.d/ | File repository aggiuntivi |
/etc/apt/apt.conf | Configurazione APT |
/etc/apt/preferences | Blocco del pacchetto |
Esempio sources.list
# Ubuntu 22.04 LTS (Jammy Jellyfish)
deb http://archive.ubuntu.com/ubuntu/ jammy main restricted
deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted
deb http://archive.ubuntu.com/ubuntu/ jammy universe
deb http://archive.ubuntu.com/ubuntu/ jammy-updates universe
deb http://archive.ubuntu.com/ubuntu/ jammy multiverse
deb http://archive.ubuntu.com/ubuntu/ jammy-updates multiverse
deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted
deb http://security.ubuntu.com/ubuntu/ jammy-security universe
deb http://security.ubuntu.com/ubuntu/ jammy-security multiverse
Assegnazione Priorità Pacchetti
Bloccare Versione Pacchetto
# /etc/apt/preferences.d/package-pin
Package: package_name
Pin: version 1.2.3*
Pin-Priority: 1001
Bloccare Repository
# /etc/apt/preferences.d/repo-pin
Package: *
Pin: release o=Ubuntu,a=jammy-backports
Pin-Priority: 100
Utilizzo Avanzato
Simulazione e Test
| Comando | Descrizione |
|---|
apt list --upgradable -a | Mostra tutte le versioni disponibili |
sudo apt upgrade --dry-run | Simula aggiornamento |
sudo apt install package --dry-run | Simula installazione |
Registrazione e Cronologia
| Comando | Descrizione |
|---|
cat /var/log/apt/history.log | Visualizza cronologia installazione |
cat /var/log/apt/term.log | Visualizza log dettagliati |
grep " install " /var/log/dpkg.log | Visualizza log di installazione dpkg |
Risoluzione Problemi
Problemi Comuni
| Problema | Soluzione |
|---|
| Package conflicts | sudo apt --fix-broken install |
| Locked database | sudo rm /var/lib/dpkg/lock* |
| Corrupted cache | sudo apt clean && sudo apt update |
| Unmet dependencies | sudo apt -f install |
Recupero di Emergenza
| Comando | Descrizione |
|---|
sudo dpkg --force-depends --remove package | Rimuovi forzatamente il pacchetto problematico |
sudo apt-get download package | Scarica il pacchetto senza installarlo |
sudo dpkg -i --force-depends package.deb | Forza installazione file .deb |
Migliori Pratiche
Sicurezzasudo apt update && sudo apt upgradeAggiornamenti Regolari: Eseguire