Upgrade di Debian da Wheezy a Jessie

From RVM Wiki
Jump to navigation Jump to search

Preparazione

  • Avviare screen
  • Registrare la sessione:
script -t 2>~/upgrade-jessie.time -a ~/upgrade-jessie.script

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-wheezy.tar /etc
  • Fermare cfengine o puppet, se attivi
sudo invoke-rc.d cfengine2 stop
sudo invoke-rc.d puppet stop

Aggiornamento Wheezy

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

Pulizia Pacchetti

  • Rimuovere i pacchetti non 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 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"
  • 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

Upgrade

Sistemazione fonti apt

  • Cambiare wheezy in jessie in sources.lists
  • Sostituire "wheezy" con "jessie" in /etc/apt/sources.list
sudo sed -i 's/wheezy/jessie/g' /etc/apt/sources.list
  • La lista delle sorgenti dovrebbe essere simile a:
sudoedit /etc/apt/sources.list
deb http://ftp.it.debian.org/debian	jessie		main contrib non-free
deb http://ftp.it.debian.org/debian	jessie-updates	main contrib non-free
deb http://security.debian.org		jessie/updates	main contrib non-free
  • Sostituire, se presenti, le sorgenti backports con
deb     http://mirrors.kernel.org/debian jessie-backports main contrib
deb-src http://mirrors.kernel.org/debian jessie-backports main contrib


  • Se sono presenti fonti agguntive, verificare se è necessario aggiornarle (virtualbox, per webmin, rimane ancora valido sarge)
ls /etc/apt/sources.list.d

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-get install apt

Aggiornamento Kernel

  • Installare i firmware non free per ogni hardware che li necessita :
sudo apt-get 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
  • Kernel flavor selection: Debian's 686 kernel configuration has been replaced by the 686-pae.
You can check whether your computer has PAE by running. If it does not (i.e. the command outputs no), you should install linux-image-486 and then remove linux-image-686 and/or linux-image-2.6-686 if they are currently installed.
grep -q '^flags.*\bpae\b' /proc/cpuinfo && echo sudo apt-get install linux-image-686-pae || echo sudo apt-get install linux-image-486


  • Installare la versione più recente nel caso di kernel standard, oppure quello adeguato:
sudo apt-get 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

  • Aggiornare i pacchetti che non richiedono rimozioni, oppure proseguire con i singoli:
sudo apt-get upgrade

Aggiornamento restanti pacchetti

  • Aggiornare gli altri pacchetti:
sudo apt-get dist-upgrade
  • Se rimangono dei pacchetti held back, aggiornarli usando ancora
sudo apt-get dist-upgrade

oppure

sudo apt-get -f install package

oppure, VERIFICANDO le eventuali rimozioni proposte

sudo apt-get dist-upgrade

Preparazione al riavvio

  • Ora è installato systemd, quindi il riavvio va fatto con
sudo systemctl reboot
  • Testare il tutto dopo il riavvio
  • Rimuovere i pacchetti non necessari
sudo apt-get autoremove --purge
  • 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
  • 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 pacchetti obsoleti:
sudo apt-get autoremove --purge $(dpkg -l | grep 'deb7\|wheezy' | tr -s ' ' | cut -f 2 --delimiter=' ')
  • Riavviare e ritestare:
sudo systemctl reboot

Note per pacchetti specifici

nagios-nrpe-server

  • La versione di Jessie è stata compilata per ignorare la direttiva
dont_blame_nrpe=1
  • Quindi se un server nagios passa dei parametri ai check, vengono ignorati anche se si setta la variabile dont_blame_nrpe=1
  • Occorre riscrivere i check per funzionare senza parametri

mediawiki

  • Mediawiki è ora disponibile SOLO nei jessie-backports.
  • Se non si abilitano i jessie-backports, rimane installata la versione di wheezy
  • Se si aggiorna, vengono eliminate le estensioni dal pacchetto mediawiki.extensions
  • Aggiornare il DB puntando a http://server.example.com/mediawiki/mw-config