Aggiorniamo la nostra Debian Wheezy alla nuova versione stable: Jessie. In genere non aggiorno mai un sistema che funziona prima che sia passato un po’ di tempo per i test. Questa attesa mi permette anche di trovare eventuali soluzioni a problemi che si possono incontrare durante il processo di aggiornamento. Potete leggere direttamente dal sito Debian.org quanto segue:
Debian 8.1 è stata rilasciata il 6 Giugno 2015. Debian 8.0 è stata inizialmente rilasciata il 26 Aprile 2015. Questo rilascio include i cambiamenti descritti nel comunicato stampa e nelle Note di rilascio.
Disclaimer: ogni sistema è diverso da un altro. Il processo di aggiornamento che segue è abbastanza generico e andrà sicuramente bene per moltissimi di voi. È, come logico aspettarsi, calibrato prettamente sul mio sistema, perciò fate un backup quanto più completo possibile di tutte le informazioni più importanti prima di procedere!
Fate un backup di tutti i file di configurazione. In questo tipo di aggiornamento, vale a dire nel passaggio da una versione ad un altra, faccio installare le versioni dei file di configurazione dei vari manutentori dei pacchetti. Questo permette di certo al sistema di stare in piedi e mi permette, con tutta calma di cambiare ciò che mi serve. Ricordate che lavoriamo in remoto e che il nostro sistema resti in piedi e fondamentale per non spendere quattrini inutilmente.
BACKUP
cd /tmp/ tar -pczf etc.tar.gz /etc tar -pczf www.tar.gz /var/www tar -pczf home.tar.gz /home mysqldump --defaults-file=/etc/mysql/debian.cnf -cCeQ --hex-blob --quote-names --routines --events --triggers --all-databases -r all_databases.sql
Spostate tutti i file *.tar.gz e quello .sql su un FTP esterno o sul vostro computer se non sono eccessivamente grandi. Se avete ISPConfig vi consiglio di fare un backup anche delle vostre email:
tar -pczf vmail.tar.gz /var/vmail
WHEEZY UPDATE
Controlliamo che nel nostro file /etc/apt/sources.list
non compaia la sorgente “stable” ma bensì “wheezy”. Evitiamo accidentali e parziali aggiornamenti a “Jessie”!
Il file dovrebbe somigliare a questo:
deb http://debian.mirror.iweb.ca/debian/ wheezy main contrib non-free deb-src http://debian.mirror.iweb.ca/debian/ wheezy main contrib non-free deb http://security.debian.org/ wheezy/updates main contrib non-free deb http://security.debian.org/debian-security wheezy/updates main contrib non-free deb-src http://security.debian.org/ wheezy/updates main contrib non-free deb http://ftp.de.debian.org/debian/ wheezy-updates main contrib non-free deb-src http://ftp.de.debian.org/debian/ wheezy-updates main contrib non-free
Fate un verifica anche con i file nella directory /etc/apt/sources.list.d/
. Finito il controllo procediamo con:
apt-get update apt-get upgrade apt-get dist-upgrade
Controlliamo lo stato dei pacchetti per sapere se ci sono pacchetti “hold” (bloccati) o non del tutto installati.
Questo test è importante perché il sistema e il database di apt devono essere in una buona forma prima di procedere con l’aggiornamento. Se vi fossero pacchetti rotti o “hold” dovrete procedere prima, dell’aggiornamento, alla risoluzione di questi problemi.
Controllate in questo modo:
dpkg --audit dpkg --get-selections | grep hold
JESSIE SOURCE
È giunto il momento di modificare il file /etc/apt/sources.list
sostituendo “wheezy” con “jessie”. Potete usare un editor ti testo oppure il comando sed
sed -i 's/wheezy/jessie/g' /etc/apt/sources.list
questo comando potra essere utilizzato anche all’interno della directory /etc/apt/sources.list.d/
sed -i 's/wheezy/jessie/g' /etc/apt/sources.list.d/*.list
JESSIE UPGRADE
il processo di aggiornamento alla nuova release avverrà in due successivi step. Il primo un aggiornamento parziale, a seguire quello totale.
apt-get upgrade apt-get dist-upgrade
I due processi dovrebbero terminare senza intoppi. A me sono capitati dei piccoli problemi e voi troverete alcune soluzioni. Vi consiglio di leggere quello che segue prima di riavviare il vostro server.
PROBLEMI
Ecco cosa mi è accaduto:
1. SSH
Come potete vedere dall’immagine sopra le nuove politiche di sicurezza consigliamo l’impostazione di “PermitRootLogin without-password”. Fate attenzione se non si sono già generate le chiavi per accedere al server rischiate di perdere l’accesso remoto attraverso ssh. Rispondete “NO”, generate le chiavi, provate ad accedere e se tutto funziona disattivate l’accesso all’utente root attraverso password.
2. ARNO IPTABLES FIREWALL
Non riavviate il firewall in fase di configurazione. Rispondete “NO” terminate l’aggiornamento, verificate la vostra configurazione e poi riavvierete il firewall in sede di reboot del server.
3. PHP5-JSON
Questo pacchetto potrebbe far fallire l’aggiornamento perché tenterà di sovrascrivere un file contenuto nel pacchetto php5-dev.
dpkg error: “trying to overwrite file, which is also in…”
Per superare l’ostacolo dovrete permette l’overwrite con il seguente comando.
dpkg -i --force-overwrite /var/cache/apt/archives/php5-json_1.3.6-1_i386.deb
a questo punto fate ripartire l’aggiornamento apt-get dist-upgrade
oppure apt-get -f dist-upgrade
4. PSAD
Il vecchio file di configurazionenon contiene diversi parametri necessari a permettere l’avvio del demone. In fase di installazione/configurazione fate installare il file di configurazione del manutentore del pacchetto e la procedura di aggiornamento non subirà interruzioni
5. SQUIDGUARD
questo pacchetto tenterà di aggiornare il proprio database eseguendo la procedura come utente con privilegi ridotti rispetto all’utente root. Viene richiamato in nasiera errato il comando “su”. Basterà modificare lo script /usr/sbin/update-squidguard
inserendo il comando corretto. Di seguito una patch che potete usare
--- /usr/sbin/update-squidguard 2014-09-22 16:37:17.000000000 +0200 +++ /usr/sbin/update-squidguard.new 2015-07-14 15:41:05.000000000 +0200 @@ -91,7 +91,7 @@ # rebuild database if needed if [ $REBUILD = "y" ]; then echo "Rebuild SquidGuard database - this can take a while." >&2 - su - proxy -c "squidGuard ${VBPAR} -C all" + su -l proxy -s /bin/bash -c "squidGuard ${VBPAR} -C all" # update info file with Berkeley DB version echo ${DB_ACT} >${DBVFILE} [ ! -z $VERBOSE ] && echo "Rebuild done." >&2
6. GRUB
È stato generato un errore relativo al file /boot/grub/device.map
Per rigenerare il corretto file basterà cancellare/rinominare il vecchio e successivamente dare il comando grub-mkdevicemap
7. RKHUNTER
Durante la fase di configurazione è stato generato il seguente errore
Invalid SCRIPTWHITELIST configuration option: Non-existent pathname: /usr/sbin/prelink
Modificate il file /etc/rkhunter.conf eliminado/commentando la riga SCRIPTWHITELIST=/usr/sbin/prelink
Questo uno dei motivi per accettare i file di configurazione dei manutentori.
REBOOT
Se tutto è filato secondo le aspettative, non vi resta che riavviare la vostra macchina e verificare che Jessie sia la vostra nuova versione di Debian.
PRETTY_NAME="Debian GNU/Linux 8 (jessie)" NAME="Debian GNU/Linux" VERSION_ID="8" VERSION="8 (jessie)" ID=debian HOME_URL="http://www.debian.org/" SUPPORT_URL="http://www.debian.org/support/" BUG_REPORT_URL="https://bugs.debian.org/"