====== Aggiornamento da Debian 10 Buster a 11 Bullseye ====== Si modifica il file /etc/apt/sources.list sostituendo **buster** con **bullseye**: deb http://deb.debian.org/debian/ bullseye main contrib non-free deb-src http://deb.debian.org/debian/ bullseye main contrib non-free deb http://deb.debian.org/debian/ bullseye-updates main contrib non-free deb-src http://deb.debian.org/debian/ bullseye-updates main contrib non-free deb http://security.debian.org/debian-security bullseye-security main contrib non-free deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free Ricordiamo che la distribuzione **//codename//-updates** serve a contenere gli aggiornamenti che è opportuno integrare anche prima dei successivi rilasci minori; ad esempio gli aggiornamenti degli antivirus oppure delle timezone forniti con i pacchetti **clamav-base** e **tzdata**. La distribuzione **//codename//-security** contiene gli aggiornamenti urgenti relativi a problemi di sicurezza. È possibile quindi aggiornare la lista dei pacchetti disponibili e fare un **aggiornamento intelligente**, cioè vengono eventualmente rimossi dei pacchetti se è necessario per completare l'aggiornamento: apt update apt full-upgrade Si possono fare le stesse operazioni anche con il front-end ''apt-get'': apt-get update apt-get dist-upgrade Pare che i due comandi siano equivalenti, almeno stando a quanto riportato da **[[https://askubuntu.com/questions/770135/apt-full-upgrade-versus-apt-get-dist-upgrade|questo post]]**. Terminato l'upgrade dovrebbe essere possibile fare un **reboot** e quindi un normale **upgrade**: apt update apt upgrade Alcuni pacchetti installati in precedenza potrebbero risultare marcati per **deinstall**, è necessario esaminare la lista ed eventualmente procedere alla loro reinstallazione: dpkg --get-selections | egrep -v '\binstall\b' apt install ... ===== Problema con Python ===== Con Debian 11 si cerca di forzare il passaggio dall'obsoleto Python 2 al **Python 3**. L'eseguibile **python** non esiste, si deve esplicitamente lanciare **python2** oppure **python3**. In alternativa si pò installare il pacchetto **python-is-python2** oppure **python-is-python3** per definire qual è l'ambiente predefinito. Alcune librerie non sono più disponibili: * **python-gtk2** * ... ===== Problema con Unison ===== Dopo un aggiornamento da **Buster** a **Bullseye** (cioè da **Debian 10** a **Debian 11**) risulta un problema nell'esecuzione di **Unison** fra host con le due versioni: **2.48.4** per Buster e **2.51.3**, che ovviamente risultano **incompatibili**. In teoria in Bullseye il programma Unison è pacchettizzato includendo il numero di versione, cioè il pacchetto si chiama **unison-2.51+4.11.1** e contiene l'eseguibile **unison-2.51+4.11.1**, questo consentirebbe la coesistenza di versioni differenti; tuttavia pare che non esista un pacchetto Unison 2.48 per Bullseye. Per il momento la soluzione sembra che sia quella di **installare il pacchetto per Buster** sulla nuova Bullseye, non ci sono problemi di dipendenza. ===== Aggiornamento PostgreSQL ===== Con **pg_lsclusters** si vede che risultano installati i due cluster, ver. 11 e ver. 13: pg_lsclusters Ver Cluster Port Status Owner Data directory Log file 11 main 5432 online postgres /var/lib/postgresql/11/main /var/log/postgresql/postgresql-11-main.log 13 main 5433 online postgres /var/lib/postgresql/13/main /var/log/postgresql/postgresql-13-main.log Nel cluster nuovo non dovrebbero esserci database in esecuzione (a parte ovviamente **postgres**, **template0** e **template1**): su - postgres psql --cluster 13/main postgres=# \l Per tentare l'aggiornamento autmatico la procedura da utente root è la seguente (verificare dopo ogni operazione che i cluster attivi siano quelli attesi, sulla porta TCP attesa): pg_dropcluster --stop 13 main pg_upgradecluster 11 main pg_dropcluster 11 main ===== Icinga2 ===== In **Debian 11 Bullseye** esite il pacchetto **icinga2** versione **2.12.3-1** che dipende da **libreadline7**, ma quest'ultimo non è disponibile. Durante l'aggiornamento verrà mantenuto il pacchetto **libreadline7 7.0-5** dalla vecchia distribuzione **Buster**, che pare funzionare. Controllare inoltre che venga installato il pacchetto **php-pgsql** e la sua dipendenza dalla nuova versione PHP 7.4. ===== python-mysqldb ===== In **Debian 11 Bullseye** non esiste il pacchetto **python-mysqldb** per **Python 2**. ===== Pacchetti sostituiti ===== Alcuni pacchetti Debian 10 non hanno il corrispondente esatto in Debian 11, questa una tabella di possibili sostituti: ^ Debian 10 Buster ^ Debian 11 Bullseye ^ | iptraf | iptraf-ng | | android-tools-adb | adb | | xvnc4viewer | tigervnc-viewer | | python | python-is-python2 | | qemu-kvm | qemu-system-x86 | | fuse | fuse3 | | libreoffice-kde5 | libreoffice-kf5 | | libreoffice-gtk2 | N/A | | kvpnc | N/A | | orage | N/A | | python-mysqldb | N/A | Per il Python è possibile installare **python-is-python2** oppure **python-is-python3**, a seconda di quale interprete predefinito si voglia usare. Non è più prevista la dipendenza generica da **python**, ma un pacchetto dovrà indicare esplicitamente **python2** oppure **python3**. ===== Aggiornamento di vecchi backports ===== Può accadere che alcuni pacchetti installati dai **backports**, dagli **updates** oppure dai **security** della **vecchia distribuzione**, non vengano aggiornati automaticamente alla **nuova stabile**. Con questo comando si dovrebbe poter scoprire ciò che è stato installato dalla Debian 10 Backports: dpkg --list | grep '~deb10u' In generale dovrebbe essere sufficiente elencare in **sources.list** tutte le distribuzioni aggiuntive (''updates'', ''security'', ecc.) ed effettuare l'aggiornamento. È possibile chiedere quali saranno i pacchetti aggiornati con: apt update apt list --upgradable Raramente si dovrà ricorrere all'aggiornamento manuale come indicato al paragrafo precedente.