Può capitare di voler aggiungere un repository alternativo, ad esempio il famoso 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 <package>
e poi si forza l'installazione della versione esatta:
apt-get install --reinstall <package>=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 <package>
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).
apt -t bullseye-backports install nomepacchetto. L'impostazione rimane memorizzata ed ogni aggiornamento successivo agirà di conseguenza. 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.
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'