====== Debian Upgrade ====== * **[[debian_upgrade_11_12]]** * **[[debian_upgrade_10_11]]** * **[[debian_upgrade_9_10]]** ===== Conflitto fra repository diversi ===== Può capitare di voler aggiungere un repository alternativo, ad esempio il famoso **[[https://deb-multimedia.org/|Deb Multimedia]]**. Tale repository viene aggiunto nel file **/etc/apt/sources.list**, l'ordine in cui compare non fa differenza perché la priorità di installazione viene dal numero di versione. deb https://www.deb-multimedia.org bullseye main non-free deb https://www.deb-multimedia.org bullseye-backports main In particolari circostanze si potrebbe però preferire la versione fornita ufficialmente da Debian, per ottenere questo risultato si elencano le versioni disponibili nei vari repository: apt-cache showpkg e poi si forza l'installazione della versione esatta: apt-get install --reinstall =4.0.0-1 Per forzare invece la scelta di un pacchetto dai packports, bisogna specificare l'opzione **-t**: apt-get -t bullseye-backports install ===== Preferenze di installazione ===== In generale l'ordine in cui le //source// vengono elencate in **/etc/apt/sources.list** non è importante. Quello che conta è la priorità assegnata ad ognuna di esse. In generale le priorità delle sorgenti **//codename//**, **//codename//-updates**, **//codename//-backports** e **//codename//** sono predefinite in modo opportuno (vedi avanti). * Nel file **/etc/apt/sources.list** viene indicato una **source** (repository) per ogni riga; ogni source ha una priorità predefinita. * I pacchetti presenti in **security** e in **updates** vengono installati automaticamente perché hanno una versione superiore a quelli forniti dalla distribuzione standard (hanno la stessa priorità, ma versione superiore). * I pacchetti presenti in **backports** non vengono installati automaticamente perché hanno una priorità più bassa. È possibile installare un singolo pacchetto dai backports con ''apt -t bullseye-backports install nomepacchetto''. L'impostazione rimane memorizzata ed ogni aggiornamento successivo agirà di conseguenza. FIXME Come vedere i pinning attivi e come disattivarli? * A **parità di versione e di priorità** viene installato il pacchetto dal repository elencato per primo. È l'unico caso in cui l'ordine conta, ma in generale non dovrebbe mai accadere. * In generale anche i **repository alternativi** hanno la stessa priorità della distribuzione ufficiale e vengono preferiti tramite numero di versione superiore o pinning esplicito. Per vedere la policy con cui viene scelta la //source// da cui installare un pacchetto si usa il comando: apt-cache policy Per ogni //source// si hanno più sezioni relative alle varie //componenti// elencate (**main**, **non-free**, **contrib**, ...); inoltre se è attivo il multiarch si hanno altre sezioni relative alle //architetture// attivate (**i386**, **amd64**, ...). Ecco un estratto dell'output: 500 http://deb.debian.org/debian-security bullseye-security/main amd64 Packages release v=11,o=Debian,a=stable-security,n=bullseye-security,l=Debian-Security,c=main,b=amd64 origin deb.debian.org 500 http://deb.debian.org/debian bullseye-updates/main amd64 Packages release v=11-updates,o=Debian,a=stable-updates,n=bullseye-updates,l=Debian,c=main,b=amd64 origin deb.debian.org 500 http://deb.debian.org/debian bullseye/main amd64 Packages release v=11.0,o=Debian,a=stable,n=bullseye,l=Debian,c=main,b=amd64 origin deb.debian.org 100 https://www.deb-multimedia.org bullseye-backports/main amd64 Packages release v=11,o=Unofficial Multimedia Packages,a=stable-backports,n=bullseye-backports,l=Unofficial Multimedia Packages,c=main,b=amd64 origin www.deb-multimedia.org 500 https://www.deb-multimedia.org bullseye/main amd64 Packages release v=11,o=Unofficial Multimedia Packages,a=stable,n=bullseye,l=Unofficial Multimedia Packages,c=main,b=amd64 origin www.deb-multimedia.org Nella prima colonna viene mostrata la **priorità** di ciascuna //source//: numeri più grandi corrispondono ad una maggiore priorità; la priorità predefinita è **500**. Come si vede i pacchetti **bullseye-security** hanno la stessa priorità di quelli nella distribuzione ufficiale **bullseye**, quindi vengono installati perché hanno una **versione maggiore**. Stesso discorso vale per i **bullseye-updates**: hanno la **stessa priorità** e quindi dovranno avere una **versione maggiore**. Invece i **backports** hanno una priorità più bassa (**100**) e quindi non verranno mai installati automaticamente, sarà necessario fare un //pinning// manuale. A **parità di priorità** della //source// verrà selezionato il pacchetto con **numero di versione superiore**, questo ad esempio è il modo in cui viene preferito un pacchetto da Deb Multimedia piuttosto che da Debian ufficiale. === Web References === * **[[https://wiki.debian.org/SourcesList|SourcesList]]** * **[[https://wiki.debian.org/AptConfiguration|AptConfiguration]]** * **[[https://guide.debianizzati.org/index.php/Repository_&_pinning|Repository & pinning]]** ===== Rimozione pacchetti non più necessari e obsoleti ===== Al termine dell'aggiornamento conviene verificare ad esempio con ''dselect'' quali sono i pacchetti considerati **obsoleti**, e quindi disinstallarli. Inoltre dovrebbe essere possibile eliminare tutti i pacchetti installati per dipendenze precedenti, che non sono più necessari: apt autoremove Infine si possono cercare pacchetti marcati per essere disinstallati, per rimuovere anche loro: dpkg --get-selections | egrep -v '\binstall\b'