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..."
 
mNo edit summary
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
 
 
=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
   
 
   
=Rimozione packages obsoleti=
    Remove obsolete packages


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'
 
=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:
<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>
 
* 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-get update


. Clean up leftover configuration files
* Scaricare i pacchetti necessari:
sudo apt-get dist-upgrade -d


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:


# find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'
==Aggiornamento APT==
   
sudo apt install apt
    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.
==Aggiornamento ssh=
   
sudo apt install ssh
    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.
==Aggiornamento Kernel==
   
    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.
* Installare i firmware non free per ogni hardware che li necessita :
sudo apt install firmware-linux firmware-linux-nonfree firmware-realtek


# dpkg --audit
* Identificare i kernel installati
    aptitude search "~ahold"
dpkg -l "linux-image*" | grep ^ii
   
*Identificare il kernel in uso
    dpkg --get-selections | grep 'hold$'
uname -r
   
 
    Make sure you have sufficient space for the upgrade
* Installare la versione più recente nel caso di kernel standard, oppure quello adeguato:
  apt -o APT::Get::Trivial-Only=true full-upgrade
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/stretch/buster/g' /etc/apt/sources.list.d/*
 
* Controllare:
tail -n+1 /etc/apt/sources.list.d/*
 
* Rieseguire upgrade:
apt update
apt full-upgrade
 
= 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-get 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 \*.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'


4.4.4. Minimal system upgrade
*Rimuovere eventuali pacchetti obsoleti che non s ervissero più
aptitude search '~o'


# apt upgrade --without-new-pkgs
=PAcchetti specifici?


# apt full-upgrade
==mldonkey-server==
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”.


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


=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)]

Revision as of 14:32, 7 September 2021

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


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

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-get update
  • Scaricare i pacchetti necessari:
sudo apt-get 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/stretch/buster/g' /etc/apt/sources.list.d/*
  • Controllare:
tail -n+1 /etc/apt/sources.list.d/*
  • Rieseguire upgrade:
apt update
apt full-upgrade

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-get 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 \*.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'
  • Rimuovere eventuali pacchetti obsoleti che non s ervissero più
aptitude search '~o'

=PAcchetti specifici?

mldonkey-server

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

Riferimenti