Upgrade da Debian Buster a Bullseye

From RVM Wiki
Jump to navigation Jump to search
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

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