Upgrade da Sarge ad Etch: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
Line 221: Line 221:


==Ottenere le firme dei pacchetti==
==Ottenere le firme dei pacchetti==
Aggiungere la chiave di debian volatile:
  wget -O - http://volatile.debian.org/etch-volatile.asc | sudo apt-key add -


Dopo l'aggiornamento, con la nuova versione di apt si può ora aggiornare le informazioni dei pacchetti, che comprenderanno il nuovo meccanismo di verifica delle firme dei pacchetti:
Dopo l'aggiornamento, con la nuova versione di apt si può ora aggiornare le informazioni dei pacchetti, che comprenderanno il nuovo meccanismo di verifica delle firme dei pacchetti:

Revision as of 14:00, 20 April 2007

Documentazione

Raccolta note importanti

Cambio nelle caratteristiche predefinite per ext2/ext3

I nuovi filesystem ext2 e ext3 saranno creati con le caratteristiche dir_index e resize_inode abilitate di default. La prima caratteristica accelera le operazioni su directory con molti file; la seconda rende possibile ridimensionare un filesystem on-line (ovvero mentre è montato).

Utenti che aggiornino da sarge potrebbero prendere in considerazione l'aggiunta manuale del parametro dir_index mediante l'utilizzo di tune2fs[4]; il parametro resize_inode non può essere aggiunto ad un filesystem già esistente. È possibile controllare quali parametri sono impostati per un filesystem con il comando dumpe2fs -h.


La codifica predefinita per etch è UTF-8

La codifica predefinita per nuove installazioni di Debian GNU/Linux è UTF-8. Anche parecchie applicazioni saranno impostate per l'utilizzo di UTF-8 per default.

Utenti che con l'aggiornamento a etch desiderino passare a UTF-8 necessiteranno di riconfigurare il loro ambiente e le definizioni delle locale. Il default di sistema può essere cambiato con dpkg-reconfigure locales; si selezioni prima una locale UTF-8 per la propria lingua e la si imposti quindi come default. Si noti che passare a UTF-8 significa dover probabilmente convertire file preesistenti dalla codifica precedente ("legacy") a UTF-8.

Il pacchetto utf8-migration-tool contiene uno strumento che potrebbe aiutare nella migrazione, tuttavia tale pacchetto è disponibile solamente nella distribuzione unstable, dal momento che non era pronto in tempo per etch. Si raccomanda vivamente di fare un backup dei propri dati e configurazione prima di utilizzare tale tool.

Si noti che alcune applicazioni potrebbero non funzionare ancora correttamente in un ambiente UTF-8, soprattutto a causa di problemi di visualizzazione.

Il wiki di Debian contiene delle informazioni aggiuntive sui cambiamenti tra sarge e etch.

Pacchetti del kernel rinominati

Tutti i pacchetti del kernel Linux sono stati rinominati da kernel-* a linux-* perché fosse ripulito lo spazio dei nomi. Ciò renderà più agevole l'inclusione di kernel non-Linux in Debian in futuro.

Nuove utility per la generazione di initrd

I pacchetti delle immagini del kernel di Debian per Intel x86 richiedono un initrd per l'avvio del sistema. A causa di cambiamenti nel kernel, l'utility utilizzata per generare initrd in sarge, initrd-tools non può più essere utilizzata ed è stata resa deprecata. Sono state sviluppate due nuove utility che la rimpiazzano: initramfs-tools e yaird. I concetti che sottendono alle nuove utility sono molto differenti; un sommario è fornito nel wiki di Debian. Entrambe genereranno un initrd utilizzando il filesystem initramfs, che è un archivio cpio compresso. L'utility predefinita e raccomandata è initramfs-tools.

L'aggiornamento a un kernel di etch causerà automaticamente l'installazione di initramfs-tools.

Se si sta passando da un kernel 2.4 a un kernel Debian 2.6, si deve usare initramfs-tools. L'utilizzo di yaird farà fallire installazioni di linux-image-2.6 se si sta facendo girare un kernel 2.2 o 2.4.

Il pacchetto initrd-tools è comunque incluso in etch poiché è necessario per aggiornamenti da sarge. Sarà eliminato per il prossimo rilascio.

Gestione dinamica di /dev e rilevamento dell'hardware

etch non fornisce più il supporto per devfs.

udev è montato sulla directory /dev e popolerà tale directory con i dispositivi supportati dal kernel. Esso inoltre aggiungerà e rimuoverà dinamicamente i dispositivi rispettivamente al caricamento e de-caricamento dei moduli, in base ad eventi generati dal kernel. udev è molto più versatile di devfs ed offre servizi che sono utilizzati da altri pacchetti come hal (layer di astrazione sull'hardware).

In combinazione con il kernel, udev si occupa anche del rilevamento dell'hardware e del caricamento dei moduli per l'hardware rilevato. A causa di ciò esso entra in conflitto con hotplug. In sarge, anche discover poteva essere utilizzato per il caricamento dei moduli durante il processo di avvio, ma la sua nuova versione in etch non fornisce più tale funzione. discover è ancora utilizzato da X.Org per il rilevamento del controller grafico presente nel sistema.

Se si installa un'immagine del kernel di Debian, udev sarà installato di default, dal momento che initramfs-tools dipende da esso.

Si può evitare l'installazione di udev compilando un kernel personalizzato non modulare o utilizzando un generatore alternativo di initrd, come yaird. Tuttavia, initramfs-tools è il generatore di initrd raccomandato.

Modalità di ripristino

Si può utilizzare l'installatore per risolvere problemi con il proprio sistema, per esempio quando non si avvia. I primi passaggi saranno esattamente come per un'installazione normale, ma l'installatore non avvierà lo strumento di partizionamento. Offrirà invece all'utente un menù di opzioni di ripristino.

Si attivi la modalità di ripristino facendo avviare l'installatore con il parametro rescue, o aggiungendo un parametro di avvio rescue/enable=true.

Avvio della sessione screen

* Se si aggiorna via SSH, avviare screen, per potersi riconnettere:
screen -DR

Registrazione della sessione

Si raccomanda vivamente di utilizzare il programma /usr/bin/script per registrare una trascrizione della sessione di aggiornamento. In tal modo, se si verificasse un problema, si disporrà di una registrazione di quanto accaduto, e, ove necessario, si potrà fornire le informazioni esatte in un'eventuale segnalazione su un bug. Per avviare la registrazione, si digiti:

script -t 2>~/upgrade-etch.time -a ~/upgrade-etch.script


Aggiornamento versione precedente

  • Aggiornare gli ultimi pacchetti di sarge:
sudo apt-get update && sudo apt-get upgrade

Controllare le azioni in sospeso nel gestore dei pacchetti

In alcuni casi, l'utilizzo di apt-get per installare pacchetti in luogo di aptitude potrebbe far sì che aptitude consideri un pacchetto come "inutilizzato" e ne programmi la rimozione. In generale, ci si dovrebbe assicurare che il sistema sia completamente aggiornato e "pulito" prima di procedere con l'aggiornamento.

A causa di ciò bisognerebbe controllare se vi sono azioni in sospeso nel gestore dei pacchetti aptitude. Se di un pacchetto è programmata la rimozione o l'aggiornamento nel gestore dei pacchetti, esso potrebbe avere un impatto negativo sulla procedura di aggiornamento. Si noti che la correzione è possibile soltanto se il file sources.list punta ancora a sarge, e non a stable o a etch: si veda Controllo della lista delle fonti, Sezione A.2.

Per fare questo, si dovrebbe eseguire l'interfaccia utente di aptitude e premere 'g' ("Go"). Se questo visualizza delle azioni, si dovrebbero controllare queste ultime e correggere o implementare le azioni suggerite. Se non è suggerita alcuna azione sarà presentato un messaggio che dice "No packages are scheduled to be installed, removed, or upgraded".

Verifica dello stato dei pacchetti

Il seguente comando visualizzerà eventuali pacchetti che siano in uno stato “Half-Installed” o “Failed-Config”, e quelli che abbiano uno status problematico.

dpkg --get-selections | grep hold

Si possono identificare pacchetti tenuti bloccati per aptitude con

sudo aptitude search "~ahold" | grep "^.h"

Lo stato “bloccato” [“hold”] dei pacchetti per aptitude può essere cambiato con il comando:

sudo aptitude hold nome_del_pacchetto

Si sostituisca hold con unhold per rimuovere lo stato “bloccato”.

Impostazione delle fonti APT

  • Cambiare sources.lists impostando etch e volatile.debian.org (non .net); togliere gli eventuali riferimenti di backports:
sudoedit /etc/apt/sources.lists

deb http://ftp.it.debian.org/debian etch main non-free contrib
deb http://security.debian.org/ etch/updates main contrib non-free
deb http://volatile.debian.net/debian-volatile etch/volatile main contrib non-fr
deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-fr
deb http://support.rvmgroup.it/debian binary/
  • Togliere qualsiasi pinning di backports
  • Impostare le priorità per etch
  • Cambiare volatile.debian.net in .org
  • Ora è disponibile anche postgrey in volatile. Aggiungerlo se necessario
sudoedit /etc/apt/preferences

Package: clamav
Pin: origin volatile.debian.org
Pin-Priority: 1100

Package: postgrey
Pin: origin volatile.debian.org
Pin-Priority: 1100

Package: *
Pin: release a=etch
Pin-Priority: 700
  • Impostare il valore della cache APT per evitare errori tipo E: Dynamic MMap ran out of room:
sudoedit /etc/apt/apt.conf

APT::Cache-Limit "12500000";

Assicurarsi di avere spazio a sufficienza per l'aggiornamento

Prima di eseguire effettivamente l'aggiornamento si può vedere questa stima con:

    sudo aptitude -y -s -f --with-recommends dist-upgrade
    [ ... ]
    XXX pacchetti aggiornati, XXX installati, XXX da rimuovere e XXX non aggiornati.
    È necessario prelevare xx.xMB/yyyMB di archivi. Dopo l'estrazione, verranno occupati AAAMB.
    Saranno scaricati/installati/rimossi pacchetti.

Se non si ha abbastanza spazio per l'aggiornamento, ci si accerti di liberare dapprima dello spazio. Si può rimuovere pacchetti che sono stati precedentemente scaricati per l'installazione (in /var/cache/apt/archive), Ripulendo la cache dei pacchetti mediante esecuzione di

sudo apt-get clean 

o

sudo aptitude clean


Scaricamento pacchetti

sudo apt-get update
sudo apt-get dist-upgrade -d


Aggiornamento minimo del sistema

Si esegua in primo luogo:

sudo aptitude upgrade

Questo ha l'effetto di aggiornare i pacchetti che possono essere aggiornati senza richiedere la rimozione o l'installazione di altri pacchetti.

Si segua la procedura di aggiornamento minimo con:

sudo aptitude install initrd-tools

Questo passaggio aggiornerà automaticamente libc6 e locales.

Alcuni pacchetti comuni che ci si aspetta siano rimossi comprendono

base-config, hotplug, xlibs, netkit-inetd, python2.3, xfree86-common e xserver-common

Aggiornamento del kernel

A meno che il sistema abbia il task desktop installato, o altri pacchetti che causarebbero un numero inaccettabile di rimozioni di pacchetti, è dunque raccomandato che si aggiorni a questo punto il solo kernel.

Per procedere con questo aggiornamento del kernel, si esegua:

sudo aptitude install linux-image-2.6-flavor

Aggiornamento del resto del sistema

Si è ora pronti per continuare con la parte principale dell'aggiornamento. Si esegua:

sudo aptitude dist-upgrade

Se si hanno problemi, consultare: 4.5.8 Problematiche che potrebbero emergere durante l'aggiornamento

Installazione del metapacchetto del kernel

Allorché si effettua un dist-upgrade da sarge a etch, è fortemente raccomandato che si installi un nuovo metapacchetto linux-image-2.6-*. Tale pacchetto potrebbe essere installato automaticamente dal processo di dist-upgrade. Lo si può verificare eseguendo:

dpkg -l "linux-image*" | grep ^ii

Se non si vede alcun output, si dovrà installare un nuovo pacchetto linux-image a mano. Per vedere un elenco dei metapacchetti linux-image-2.6 disponibili, si esegua:

apt-cache search linux-image-2.6- | grep -v transition

Rieseguire lilo

Se si sta utilizzando lilo come bootloader (è il bootloader predefinito per alcune installazioni di sarge), si raccomanda vivamente di rieseguire lilo dopo l'aggiornamento:

sudo /sbin/lilo -v

Aggiornamento di mdadm

mdadm necessita ora di un file di configurazione per l'assemblaggio di array MD (RAID) dal ramdisk iniziale e durante la sequenza di inizializzazione del sistema. Ci si accerti di leggere il file /usr/share/doc/mdadm/README.upgrading-2.5.3.gz e di leggere le istruzioni in esso contenute dopo l'aggiornamento del pacchetto e prima di riavviare. L'ultima versione di tale file è reperibile all'indirizzo http://svn.debian.org/wsvn/pkg-mdadm/mdadm/trunk/debian/README.upgrading-2.5.3?op=file; lo si consulti in caso di problemi.

Controllare che all'avvio partano tutti gli array


cat /etc/default/mdadm | grep INITRDSTART
# INITRDSTART:
INITRDSTART='all'

Controllare composizione ed UID degli array:

cat /etc/mdadm/mdadm.conf
sudo mdadm --detail /dev/md0
sudo mdadm --detail /dev/md1

Quando tutto è ok, togliere il file

sudo rm  -f /var/lib/mdadm/CONF-UNCHECKED

Aggiornare initrd:

sudo update-initramfs -u -k all

Ottenere le firme dei pacchetti

Aggiungere la chiave di debian volatile:

 wget -O - http://volatile.debian.org/etch-volatile.asc | sudo apt-key add -

Dopo l'aggiornamento, con la nuova versione di apt si può ora aggiornare le informazioni dei pacchetti, che comprenderanno il nuovo meccanismo di verifica delle firme dei pacchetti:

sudo aptitude update

Preparazione per il prossimo rilascio

Prima dell'aggiornamento vi sono diverse cose che si possono fare per preparare per il prossima rilascio.

  • Se si sta utilizzando grub, si editi /etc/kernel-img.conf e si corregga l'ubicazione del programma update-grub modificando /sbin/update-grub in /usr/sbin/update-grub.
  • Se il nuovo metapacchetto dell'immagine del kernel è stato incluso come dipendenza del vecchio, esso sarà marcato come automaticamente installato, il che andrebbe corretto:
sudo aptitude unmarkauto $(dpkg-query -W 'linux-image-2.6-*' | cut -f1)
  • Si rimuovano i metapacchetti di kernel di sarge con:
sudo aptitude purge kernel-image-2.6-<flavor>
  • Si spostino i valori di configurazione del kernel da /etc/network/options a /etc/sysctl.conf.
  • Si rimuovano i pacchetti obsoleti e non utilizzati come descritto in Pacchetti obsoleti, Sezione 4.9. Si dovrebbe controllare quali file di configurazione utilizzano e considerare l'opportunità di effettuare un "purge" dei pacchetti per rimuovere i loro file di configurazione.