Upgrade da Debian Buster a Bullseye: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
Created page with "{{Stub}} it's recommended to upgrade openssh-server before upgrading the full system. Start from “pure” Debian The upgrade process described in this chapter has been d..."
 
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Stub}}
{{Stub}}


it's recommended to upgrade openssh-server before upgrading the full system.


Start from “pure” Debian
=Backup del Sistema=
Come sempre ...


The upgrade process described in this chapter has been designed for “pure” Debian stable systems. APT controls what is installed on your system. If your APT configuration mentions additional sources besides buster, or if you have installed packages from other releases or from third parties, then to ensure a reliable upgrade process you may wish to begin by removing these complicating factors.  
* Fare una copia di comodo locale della etc:
sudo mkdir -p /files; sudo tar --exclude=.svn  --exclude=.git -cvf /files/etc-stretch.tar /etc


Remove non-Debian packages
* Fermare cfengine o puppet, se attivi
sudo systemctl stop cfengine2
sudo systemctl stop puppet
sudo puppet agent --disable
 
 
=Aggiornamento preventivo=
* Aggiornare ad ultimi rilasci
sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get clean
 
==Pulizia Pacchetti==
 
* Rimuovere manualmente i pacchetti non più necessari
 
* Rimuovere i pacchetti che non hanno dipendenze necessarie:
 
if [ ! -e /usr/bin/deborphan ]; then sudo apt-get install deborphan; fi
 
<pre>
if [ -z "$(deborphan)" ]; \
  then \
      echo "Nothing to Remove"; \
  else \
    sudo apt-get remove --purge $(deborphan)
fi
</pre>
 
sudo apt-get --purge  autoremove
 
* Nel caso l'autoremove voglia rimuovere pacchetti che in realtà si vogliono tenere, marcarli come installati manualemente
 
sudo apt-mark unmarkauto packagename
 
* Ripetere
 
sudo apt-get --purge  autoremove
 
* Rimuovere le configurazione dei pacchetti disinstallati:
<pre>
if [ -z "$(dpkg -l | grep ^rc | tr -s ' ' | cut -f 2 --delim=' ')" ]; \
  then \
      echo "Nothing to Purge"; \
  else \
      sudo dpkg --purge $(dpkg -l | grep ^rc | tr -s ' ' | cut -f 2 --delim=' '); \
fi
</pre>
 
* Rimuovere eventuali vecchie configurazioni:
cd /etc
sudo etckeeper commit -m "Pre remove dpkg old"
 
sudo git rm $(sudo find . -name \*.dpkg-dist)
sudo git rm $(sudo find . -name \*.dpkg-old)
sudo git rm $(sudo find . -name \*.dpkg-new)
 
sudo git rm $(sudo find . -name \*.ucf-old)
sudo git rm $(sudo find . -name \*.ucf-new)
 
sudo rm $(sudo find . -name \*.dpkg-dist)
sudo rm $(sudo find . -name \*.dpkg-old)
sudo rm $(sudo find . -name \*.dpkg-new)
 
sudo rm $(sudo find . -name \*.ucf-old)
sudo rm $(sudo find . -name \*.ucf-new)
 
sudo etckeeper commit -m "Removed dpkg old"
 
find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'
 
* Verificare se ci sono pacchetti in hold o marcati per la rimozione. Se ci sono holds, disabilitarli:
sudo dpkg --audit
sudo aptitude search "~ahold"
sudo dpkg --get-selections | grep 'hold$'
 
* To unset the “hold” state:
echo package_name install | sudo dpkg --set-selections
 
=Pulizia Fonti APT=
 
* Disabilitare temporaneamente tutte le fonti APT non Debian
 
cd /etc/apt/sources.list.d
 
mv reponame.list reponame.list.disabled
 
=Rimozione non-Debian packages=


Below there are two methods for finding installed packages that did not come from Debian, using either aptitude or apt-forktracer. Please note that neither of them are 100% accurate (e.g. the aptitude example will list packages that were once provided by Debian but no longer are, such as old kernel packages).
Below there are two methods for finding installed packages that did not come from Debian, using either aptitude or apt-forktracer. Please note that neither of them are 100% accurate (e.g. the aptitude example will list packages that were once provided by Debian but no longer are, such as old kernel packages).


$ aptitude search '?narrow(?installed, ?not(?origin(Debian)))'
aptitude search '?narrow(?installed, ?not(?origin(Debian)))'
$ apt-forktracer | sort
apt-forktracer | sort
   
 
   
* In particolare, rimuovere zabbix
    Remove obsolete packages
apt remove zabbix-agent
 
* Annotare i pacchetti accesso ri di zabbix rimossi, per reinstallarli al termine
 
=Rimozione packages obsoleti=


It is a good idea to remove obsolete packages from your system before upgrading. They may introduce complications during the upgrade process, and can present security risks as they are no longer maintained.  
It is a good idea to remove obsolete packages from your system before upgrading. They may introduce complications during the upgrade process, and can present security risks as they are no longer maintained.  


# aptitude search '~o'
aptitude search '~o'
# aptitude purge '~o'
aptitude purge '~o'


. Clean up leftover configuration files
=Upgrade=


A previous upgrade may have left unused copies of configuration files; old versions of configuration files, versions supplied by the package maintainers, etc. Removing leftover files from previous upgrades can avoid confusion. Find such leftover files with:
==Sistemazione fonti apt==


# find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'
* Sostituire "buster" con "'''bullseye'''" in
   
    The proposed-updates section


If you have listed the proposed-updates section in your APT source-list files, you should remove it before attempting to upgrade your system. This is a precaution to reduce the likelihood of conflicts.
/etc/apt/sources.list
   
    Unofficial sources


If you have any non-Debian packages on your system, you should be aware that these may be removed during the upgrade because of conflicting dependencies. If these packages were installed by adding an extra package archive in your APT source-list files, you should check if that archive also offers packages compiled for bullseye and change the source item accordingly at the same time as your source items for Debian packages.
sudo sed -i 's/buster/bullseye/g' /etc/apt/sources.list
   
sudo sed -i 's_bullseye/updates_bullseye-security_g' /etc/apt/sources.list
    Check package status


Regardless of the method used for upgrading, it is recommended that you check the status of all packages first, and verify that all packages are in an upgradable state. The following command will show any packages which have a status of Half-Installed or Failed-Config, and those with any error status.
* La lista delle sorgenti dovrebbe essere simile a:
<pre>
deb http://ftp.it.debian.org/debian/ bullseye main contrib non-free
deb http://security.debian.org/debian-security bullseye-security main contrib non-free
deb http://ftp.it.debian.org/debian/ bullseye-updates main contrib non-free
deb http://ftp.it.debian.org/debian/ bullseye-backports main contrib non-free
</pre>


# dpkg --audit
* Aggiornare le fonti:
    aptitude search "~ahold"
apt update
   
 
    dpkg --get-selections | grep 'hold$'
=Verifica spazio=
   
* Make sure you have sufficient space for the upgrade
    Make sure you have sufficient space for the upgrade
  apt -o APT::Get::Trivial-Only=true full-upgrade
  apt -o APT::Get::Trivial-Only=true full-upgrade


==Scaricamento pacchetti==
*Aggiornare le nuove fonti APT:
sudo apt update
* Scaricare i pacchetti necessari:
sudo apt dist-upgrade -d
==Aggiornamento APT==
sudo apt install apt
=Aggiornamento ssh=
sudo apt install ssh
==Aggiornamento Kernel==
* Installare i firmware non free per ogni hardware che li necessita :
sudo apt install firmware-linux firmware-linux-nonfree firmware-realtek
* Identificare i kernel installati
dpkg -l "linux-image*" | grep ^ii
*Identificare il kernel in uso
uname -r
* Installare la versione più recente nel caso di kernel standard, oppure quello adeguato:
sudo apt install linux-image-amd64
:oppure:
sudo apt-get install linux-image-686-pae
* Assicurarsi che grub si installi correttamente. In particolare se la root è su un volume RAID, installarlo su ogni DISCO fisico:
sudo grub-install --recheck /dev/sda;  sudo grub-install --recheck /dev/sdb;
==Aggiornamento base==
* Durante gli aggiornamenti, prendere nota dei files di configurazione, e sostituirli con la nuova versione premendo '''Y'''
apt upgrade --without-new-pkgs
==Aggiornamento restanti pacchetti==
* Aggiornare gli altri pacchetti:
apt full-upgrade
=Ripristini Fonti APT esterne=
* Riabilitare tutte le fonti APT non Debian
* Se sono presenti fonti aggiuntive, verificare se è necessario aggiornarle (virtualbox, per webmin, rimane ancora valido sarge)
sudo sed -i 's/buster/bullseye/g' /etc/apt/sources.list.d/*
* Controllare:
tail -n+1 /etc/apt/sources.list.d/*
* Rieseguire upgrade:
apt update
apt full-upgrade
* Reinstallare zabbix-agent ed i pacchetti accessori
= Sistemazione files di configurazione =
* Fare il merge dei vecchi settaggi nei nuovi files di configurazione
sudo vimdiff /etc/cfgfile.dpkg.old /etc/cfgfile
* Rilanciare dist-upgrade per terminare configurazione
  sudo apt-get dist-upgrade
=Preparazione al riavvio=
=Riavvio=
systemctl reboot
=Pulizia=
apt clean
<pre>
if [ -z "$(deborphan)" ]; \
  then \
      echo "Nothing to Remove"; \
  else \
    sudo apt-get remove --purge $(deborphan)
fi
</pre>
sudo apt-get --purge  autoremove
* Rimuovere le configurazione dei pacchetti disinstallati:
<pre>
if [ -z "$(dpkg -l | grep ^rc | tr -s ' ' | cut -f 2 --delim=' ')" ]; \
  then \
      echo "Nothing to Purge"; \
  else \
      sudo dpkg --purge $(dpkg -l | grep ^rc | tr -s ' ' | cut -f 2 --delim=' '); \
fi
</pre>
* Rimuovere eventuali vecchie configurazioni:
cd /etc
sudo etckeeper commit -m "Pre remove dpkg old"
sudo git rm $(sudo find . -name \*.dpkg-dist)
sudo git rm $(sudo find . -name \*.dpkg-old)
sudo git rm $(sudo find . -name \*.dpkg-new)
sudo git rm $(sudo find . -name \*.dpkg-remove)
sudo git rm $(sudo find . -name \*.dpkg-bak)
sudo git rm $(sudo find . -name \*.ucf-dist)
sudo git rm $(sudo find . -name \*.ucf-old)
sudo git rm $(sudo find . -name \*.ucf-new)
sudo rm $(sudo find . -name \*.dpkg-dist)
sudo rm $(sudo find . -name \*.dpkg-old)
sudo rm $(sudo find . -name \*.dpkg-new)
sudo rm $(sudo find . -name \*.dpkg-remove)
sudo rm $(sudo find . -name \*.dpkg-bak)
sudo rm $(sudo find . -name \*.ucf-dist)
sudo rm $(sudo find . -name \*.ucf-old)
sudo rm $(sudo find . -name \*.ucf-new)
sudo etckeeper commit -m "Removed dpkg old"
find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'
*Rimuovere eventuali pacchetti obsoleti che non s ervissero più
aptitude search '~o'
=Pacchetti specifici=
==mediawiki==
* Assicurarsi che sia impostato:
vi /etc/mediawiki/LocalSettings.php
$wgServer = 'https://myserver.example.com/';


4.4.4. Minimal system upgrade
* Eseguire upgrade: https://myserver.example.com/mediawiki/mw-config/
==mldonkey-server==


# apt upgrade --without-new-pkgs
* Installare da backports
apt install -t bullseye-backports mldonkey-server


# apt full-upgrade
==zabbix-agent==
Remove newly redundant or obsolete packages as described in Section 4.4.3, “Make sure you have sufficient space for the upgrade” and Section 4.8, “Obsolete packages”. You should review which configuration files they use and consider purging the packages to remove their configuration files. See also Section 4.7.1, “Purging removed packages”.


* Non supporta Zabbix 4.0, usare il 5 presente nei repo debian:
apt install zabbix-agent


=Riferimenti=
*[https://www.debian.org/releases/bullseye/arm64/release-notes/ch-upgrading.en.html Chapter 4. Upgrades from Debian 10 (buster)]
*[https://www.debian.org/releases/bullseye/arm64/release-notes/ch-upgrading.en.html Chapter 4. Upgrades from Debian 10 (buster)]

Latest revision as of 10:39, 5 July 2022

Attenzione questo articolo è ancora incompleto.
Sentiti libero di contribuire cliccando sul tasto edit.


Backup del Sistema

Come sempre ...

  • Fare una copia di comodo locale della etc:
sudo mkdir -p /files; sudo tar --exclude=.svn  --exclude=.git -cvf /files/etc-stretch.tar /etc
  • Fermare cfengine o puppet, se attivi
sudo systemctl stop cfengine2
sudo systemctl stop puppet
sudo puppet agent --disable


Aggiornamento preventivo

  • Aggiornare ad ultimi rilasci
sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get clean

Pulizia Pacchetti

  • Rimuovere manualmente i pacchetti non più necessari
  • Rimuovere i pacchetti che non hanno dipendenze necessarie:
if [ ! -e /usr/bin/deborphan ]; then sudo apt-get install deborphan; fi
if [ -z "$(deborphan)" ]; \
  then \
      echo "Nothing to Remove"; \
  else \
     sudo apt-get remove --purge $(deborphan)
fi
sudo apt-get --purge  autoremove
  • Nel caso l'autoremove voglia rimuovere pacchetti che in realtà si vogliono tenere, marcarli come installati manualemente
sudo apt-mark unmarkauto packagename
  • Ripetere
sudo apt-get --purge  autoremove
  • Rimuovere le configurazione dei pacchetti disinstallati:
 if [ -z "$(dpkg -l | grep ^rc | tr -s ' ' | cut -f 2 --delim=' ')" ]; \
  then \
      echo "Nothing to Purge"; \
  else \
      sudo dpkg --purge $(dpkg -l | grep ^rc | tr -s ' ' | cut -f 2 --delim=' '); \
fi
  • Rimuovere eventuali vecchie configurazioni:
cd /etc
sudo etckeeper commit -m "Pre remove dpkg old"
sudo git rm $(sudo find . -name \*.dpkg-dist)
sudo git rm $(sudo find . -name \*.dpkg-old)
sudo git rm $(sudo find . -name \*.dpkg-new)
sudo git rm $(sudo find . -name \*.ucf-old)
sudo git rm $(sudo find . -name \*.ucf-new)
sudo rm $(sudo find . -name \*.dpkg-dist)
sudo rm $(sudo find . -name \*.dpkg-old)
sudo rm $(sudo find . -name \*.dpkg-new)
sudo rm $(sudo find . -name \*.ucf-old)
sudo rm $(sudo find . -name \*.ucf-new)
sudo etckeeper commit -m "Removed dpkg old"
find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'
  • Verificare se ci sono pacchetti in hold o marcati per la rimozione. Se ci sono holds, disabilitarli:
sudo dpkg --audit
sudo aptitude search "~ahold" 
sudo dpkg --get-selections | grep 'hold$'
  • To unset the “hold” state:
echo package_name install | sudo dpkg --set-selections

Pulizia Fonti APT

  • Disabilitare temporaneamente tutte le fonti APT non Debian
cd /etc/apt/sources.list.d
mv reponame.list reponame.list.disabled

Rimozione non-Debian packages

Below there are two methods for finding installed packages that did not come from Debian, using either aptitude or apt-forktracer. Please note that neither of them are 100% accurate (e.g. the aptitude example will list packages that were once provided by Debian but no longer are, such as old kernel packages).

aptitude search '?narrow(?installed, ?not(?origin(Debian)))'
apt-forktracer | sort
  • In particolare, rimuovere zabbix
apt remove zabbix-agent
  • Annotare i pacchetti accesso ri di zabbix rimossi, per reinstallarli al termine

Rimozione packages obsoleti

It is a good idea to remove obsolete packages from your system before upgrading. They may introduce complications during the upgrade process, and can present security risks as they are no longer maintained.

aptitude search '~o'
aptitude purge '~o'

Upgrade

Sistemazione fonti apt

  • Sostituire "buster" con "bullseye" in
/etc/apt/sources.list
sudo sed -i 's/buster/bullseye/g' /etc/apt/sources.list
sudo sed -i 's_bullseye/updates_bullseye-security_g' /etc/apt/sources.list
  • La lista delle sorgenti dovrebbe essere simile a:
deb http://ftp.it.debian.org/debian/			bullseye				main contrib non-free
deb http://security.debian.org/debian-security	bullseye-security		main contrib non-free
deb http://ftp.it.debian.org/debian/			bullseye-updates		main contrib non-free
deb http://ftp.it.debian.org/debian/			bullseye-backports 	main contrib non-free
  • Aggiornare le fonti:
apt update

Verifica spazio

  • Make sure you have sufficient space for the upgrade
apt -o APT::Get::Trivial-Only=true full-upgrade

Scaricamento pacchetti

  • Aggiornare le nuove fonti APT:
sudo apt update
  • Scaricare i pacchetti necessari:
sudo apt dist-upgrade -d

Aggiornamento APT

sudo apt install apt

Aggiornamento ssh

sudo apt install ssh

Aggiornamento Kernel

  • Installare i firmware non free per ogni hardware che li necessita :
sudo apt install firmware-linux firmware-linux-nonfree firmware-realtek
  • Identificare i kernel installati
dpkg -l "linux-image*" | grep ^ii
  • Identificare il kernel in uso
uname -r
  • Installare la versione più recente nel caso di kernel standard, oppure quello adeguato:
sudo apt install linux-image-amd64
oppure:
sudo apt-get install linux-image-686-pae
  • Assicurarsi che grub si installi correttamente. In particolare se la root è su un volume RAID, installarlo su ogni DISCO fisico:
sudo grub-install --recheck /dev/sda;  sudo grub-install --recheck /dev/sdb;

Aggiornamento base

  • Durante gli aggiornamenti, prendere nota dei files di configurazione, e sostituirli con la nuova versione premendo Y
apt upgrade --without-new-pkgs

Aggiornamento restanti pacchetti

  • Aggiornare gli altri pacchetti:
apt full-upgrade

Ripristini Fonti APT esterne

  • Riabilitare tutte le fonti APT non Debian
  • Se sono presenti fonti aggiuntive, verificare se è necessario aggiornarle (virtualbox, per webmin, rimane ancora valido sarge)
sudo sed -i 's/buster/bullseye/g' /etc/apt/sources.list.d/*
  • Controllare:
tail -n+1 /etc/apt/sources.list.d/*
  • Rieseguire upgrade:
apt update
apt full-upgrade
  • Reinstallare zabbix-agent ed i pacchetti accessori

Sistemazione files di configurazione

  • Fare il merge dei vecchi settaggi nei nuovi files di configurazione
sudo vimdiff /etc/cfgfile.dpkg.old /etc/cfgfile
  • Rilanciare dist-upgrade per terminare configurazione
 sudo apt-get dist-upgrade

Preparazione al riavvio

Riavvio

systemctl reboot

Pulizia

apt clean


if [ -z "$(deborphan)" ]; \
  then \
      echo "Nothing to Remove"; \
  else \
     sudo apt-get remove --purge $(deborphan)
fi
sudo apt-get --purge  autoremove
  • Rimuovere le configurazione dei pacchetti disinstallati:
 if [ -z "$(dpkg -l | grep ^rc | tr -s ' ' | cut -f 2 --delim=' ')" ]; \
  then \
      echo "Nothing to Purge"; \
  else \
      sudo dpkg --purge $(dpkg -l | grep ^rc | tr -s ' ' | cut -f 2 --delim=' '); \
fi
  • Rimuovere eventuali vecchie configurazioni:
cd /etc
sudo etckeeper commit -m "Pre remove dpkg old"
sudo git rm $(sudo find . -name \*.dpkg-dist)
sudo git rm $(sudo find . -name \*.dpkg-old)
sudo git rm $(sudo find . -name \*.dpkg-new)
sudo git rm $(sudo find . -name \*.dpkg-remove)
sudo git rm $(sudo find . -name \*.dpkg-bak)
sudo git rm $(sudo find . -name \*.ucf-dist)
sudo git rm $(sudo find . -name \*.ucf-old)
sudo git rm $(sudo find . -name \*.ucf-new)
sudo rm $(sudo find . -name \*.dpkg-dist)
sudo rm $(sudo find . -name \*.dpkg-old)
sudo rm $(sudo find . -name \*.dpkg-new)
sudo rm $(sudo find . -name \*.dpkg-remove)
sudo rm $(sudo find . -name \*.dpkg-bak)
sudo rm $(sudo find . -name \*.ucf-dist)
sudo rm $(sudo find . -name \*.ucf-old)
sudo rm $(sudo find . -name \*.ucf-new)
sudo etckeeper commit -m "Removed dpkg old"
find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'
  • Rimuovere eventuali pacchetti obsoleti che non s ervissero più
aptitude search '~o'

Pacchetti specifici

mediawiki

  • Assicurarsi che sia impostato:
vi /etc/mediawiki/LocalSettings.php
$wgServer = 'https://myserver.example.com/';

mldonkey-server

  • Installare da backports
apt install -t bullseye-backports mldonkey-server

zabbix-agent

  • Non supporta Zabbix 4.0, usare il 5 presente nei repo debian:
apt install zabbix-agent

Riferimenti