[ precedente ] [ Contenuti ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ successivo ]

Note di Release per Debian GNU/Linux 3.0 ("woody"), Motorola 680x0
Capitolo 3 - Aggiornamenti da release precedenti


3.1 Cambiamenti apportati al sistema in dettaglio


3.1.1 Cambiamenti importanti nella sintassi dei programmi

Debian si preoccupa di evitare differenze con i pacchetti a monte ["upstream" in gergo Debian, cioè i pacchetti originali degli autori dei programmi da cui vengono ricavati quelli Debian NdT], quindi eventuali cambiamenti in essi saranno riportati in Debian GNU/Linux

Nella release 2.2 ("Potato") di Debian GNU/Linux, tar utilizzava l'opzione

     -I

per la compressione con bzip, ora comunque si utilizza

     -j

. Si potrebbe dover modificare in modo appropriato i propri script.


3.2 Preparazione all'aggiornamento

Prima di aggiornare il proprio sistema, si raccomanda caldamente di effettuare un backup completo, o come minimo un backup di tutti i dati e le informazioni di configurazione che non devono andar persi in nessun caso. I tool e il processo di aggiornamento sono decisamente affidabili, ma un problema grave all'hardware nel mezzo di un aggiornamento potrebbe risultare in un sistema fortemente danneggiato.

Le cose principali che si vorranno salvare sono i contenuti di /etc, /var/lib/dpkg e l'output di dpkg --get-selections \*.

È saggio informare in anticipo tutti gli utenti di qualunque aggiornamento si stia pianificando, sebbene quelli che accedono al sistema via ssh (perlomeno) non dovrebbero notare granché durante l'aggiornamento e potrebbero voler continuare a lavorare. Se si vogliono prendere precauzioni extra, si faccia il backup o si smontino le partizioni degli utenti (/home) prima di procedere. Normalmente non dovrebbe essere necessario riavviare il sistema.

L'aggiornamento della distribuzione dovrebbe essere fatto in locale da una console virtuale in modo testo (o da un terminale seriale connesso direttamente), o da remoto attraverso un collegamento ssh.

Importante: Non si dovrebbe in ogni caso effettuare l'aggiornamento usando telnet, rlogin, rsh o da una sessione X gestita da xdm sulla macchina in aggiornamento. Questo perché ciascuno di tali servizi potrebbe venir terminato durante l'aggiornamento rendendo inaccessibile il sistema, che si troverebbe aggiornato solo a metà.


3.2.1 Controllo dello stato dei pacchetti

Qualunque metodo venga usato per l'aggiornamento, si raccomanda di controllare prima lo stato di tutti i pacchetti e di verificare che siano tutti in uno stato che ne consenta l'aggiornamento. Con il comando che segue si otterranno eventuali pacchetti in "Half-Installed" o "Failed-Config" e quelli in uno stato problematico.

     
                 # dpkg --audit

Si potrebbe anche ispezionare lo stato di tutti i pacchetti presenti sul sistema tramite dselect o con comandi tipo

              
                 # dpkg -l | pager

o

     
                 # dpkg --get-selections > ~/curr-pkgs.txt

È fortemente raccomandata la rimozione di blocchi sui pacchetti. Se un pacchetto essenziale per l'aggiornamento è bloccato ["Hold"], esso fallirà. Si possono identificare i pacchetti bloccati con

     
                 # dpkg --audit

Se si ha modificato e ricompilato sulla propria macchina un pacchetto e non lo si è rinominato o contrassegnato nella versione, lo si dovrà bloccare per evitare che venga aggiornato. Lo stato Bloccato ["Hold"] di un pacchetto può essere modificato usando dselect (nel menù Seleziona, si usino "H" e "G" rispettivamente per bloccare e sbloccare) o sostituendo nel file prodotto con:

             
                 dpkg --get-selections > ~/curr-sels.txt

"hold" a "install" (o viceversa) per poi dare, come root:

              
                dpkg --set-selections < ~/curr-sels.txt

3.2.2 Considerazioni particolari per gli utenti SSH

La versione SSH commerciale contenuta nel pacchetto ssh prima della release 2.2 e in ssh-nonfree nella 2.2 è stata rimpiazzata dal pacchetto libero OpenSSH di DFSG, ssh, in questa release. La collezione commerciale di programmi SSH non è più presente. Il pacchetto ssh comprende un passo di configurazione di Debconf in grado di rigenerare una configurazione compatibile con OpenSSH.


3.2.3 Directory cui fare attenzione

È importante che la directory /etc/rcS.d esista prima dell'aggiornamento, altrimenti l'installazione del pacchetto libc6 fallirà.

La directory /usr/share/doc (se già esiste) non dovrebbe essere un link simbolico (p.e. a /usr/doc), per evitare la rottura di alcuni pacchetti. Ad ogni modo è permesso creare un link simbolico da /usr/doc a /usr/share/doc. Si noti che in tal caso si otterrano parecchi messaggi circa directory /usr/doc che non possono essere rimosse. Niente di tale, si possono tranquillamente ignorare.


3.3 Preparazione dei sorgenti per APT

Il metodo raccomandato per l'aggiornamento è usare apt-get con dselect, come ivi descritto. L'analisi delle dipendenze incorporata in APT permette aggiornamenti e installazioni tranquilli.

Non si dovrebbere fare aggiornamenti di pacchetti importanti con metodi di dselect diversi da apt, poiché gli altri metodi non compiono alcun ordinamento logico dei pacchetti durante l'installazione, perciò non sono altrettanto affidabili. In aggiunta gli aggiornamenti con tali metodi non sono stati testati a fondo e non sono supportati ufficialmente da Debian.

Qualsiasi operazione di installazione di pacchetti dev'essere eseguita con i privilegi di superutente, quindi è necessario fare il login come root o usare su o sudo per ottenere i diritti d'accesso necessari.

Prima di iniziare l'aggiornamento si dovrebbe sistemare in modo appropriato il file di configurazione di apt per le liste dei pacchetti, /etc/apt/sources.list.

apt prenderà in considerazione tutti i pacchetti che possono essere trovati tramite una qualsiasi riga "deb" e installerà il pacchetto con il numero di versione più alto, dando la priorità alle righe menzionate per prime (quindi in caso siano presenti più locazioni di mirror, si dovrebbe menzionare per primo un disco fisso locale, poi CD-ROM, infine i mirror HTTP/FTP).


3.3.1 Aggiungere fonti Internet per APT

La configurazione predefinita permette l'installazione dai principali server Debian su Internet, comunque si potrebbe voler modificare /etc/apt/sources.list allo scopo di utilizzare altri mirror, magari uno più "vicino".

In ogni caso, gli indirizzi dei mirror HTTP o FTP Debian sono riportati in http://www.debian.org/distrib/ftplist (si cerchi nella sezione "Full list of mirrors"). I mirror HTTP in genere sono più veloci di quelli FTP.

Ad esempio, si supponga che il mirror più vicino sia http://mirrors.kernel.org/debian/. Ispezionandolo con un browser web o un client FTP, si noterà che le directory principali sono organizzate nel modo seguente:

                
                  http://mirrors.kernel.org/debian/dists/woody/main/binary-m68k/...
                  http://mirrors.kernel.org/debian/dists/woody/contrib/binary-m68k/...

Per usare tale mirror con apt, si aggiunga la riga seguente al file sources.list :

                
                  deb http://mirrors.kernel.org/debian woody main contrib

Si noti che "dists" viene aggiunto implicitamente e che gli argomenti che seguono il nome della release sono usati per espandere il percorso su più directory.

Dopo aver aggiunto le nuove fonti per apt, si disabilitino le righe "deb" preesistenti in sources.list, commentandole ponendo in testa un carattere cancelletto (#).

Qualsiasi pacchetto necessario all'installazione prelevato via rete viene conservato in /var/cache/apt/archives (e nella sottodirectory partial/ durante lo scaricamento). Ci si deve quindi assicurare di avere abbastanza spazio libero disponibile prima di tentare di avviare l'installazione. Per un'installazione Debian normale servono come minimo 300 MB per i dati scaricati.

Nota: se si stanno usando le versioni statiche di apt e dpkg, la risoluzione dell'hostname non funziona (una buona ragione per usare l'apt normale per aggiornamenti via rete). La soluzione è semplice: utilizzare l'indirizzo IP del mirror nella riga "deb". (Suggerimento: nslookup server-in-questione).


3.3.2 Aggiungere mirror locali come fonti APT

Invece di usare siti mirror FTP o HTTP dei pacchetti si potrebbe voler modificare /etc/apt/sources.list per utilizzare un mirror su un disco locale (magari montato tramite NFS).

Ad esempio, si ha un mirror dei pacchetti sotto /var/ftp/debian/ e una serie di directory principali:

                
                  /var/ftp/debian/dists/woody/main/binary-m68k/...
                  /var/ftp/debian/dists/woody/contrib/binary-m68k/...

Per usarlo con apt, si aggiunga la riga seguente al file sources.list:

                  deb file:/var/ftp/debian woody main contrib

Si noti che "dists" viene aggiunto implicitamente e che gli argomenti che seguono il nome di release sono usati per espandere il percorso su più directory.

Se il mirror locale contiene le sezioni non-US/* sotto /var/ftp/debian-non-US, si aggiunga anche la riga seguente:

                 deb file:/var/ftp/debian-non-US woody/non-US main contrib

Dopo aver aggiunto le nuove fonti desiderate, si disabilitino quelle preesistenti in sources.list, anteponendo alle righe che iniziano con "deb" un carattere cancelletto (#).


3.3.3 Aggiungere CD-ROM come fonti APT

Si faccia riferimento a quanto riportato sopra in caso si debbano innanzitutto installare le versioni più recenti dei pacchetti apt e dpkg.

Se si desidera usare solo i CD come fonti per apt, si decommentino le righe "deb" presenti in /etc/apt/sources.list anteponendo loro un segno cancelletto (#).

Ci si assicuri che in /etc/fstab ci sia una riga che abilita il mount del proprio CD-ROM su /cdrom (apt-cdrom lo richiede per funzionare correttamente). Ad esempio, se /dev/hdc corrisponde al lettore CD, /etc/fstab dovrebbe contenere una riga tipo:

                  
                  /dev/hdc /cdrom auto defaults,noauto,ro 0 0

Si noti che non ci devono essere spazi tra le parole defaults,noauto,ro nel quarto campo.

Per verificare che funziona, si inserisca un CD e si provi a lanciare

      
                 mount /cdrom (monterà il CD sul mount point)
                 ls -alF /cdrom (dovrebbe elencare il contenuto della directory root del CD)
                 umount /cdrom (smonterà il CD)

Ora si esegua:

                 apt-cdrom add

per ciascun CD-ROM Debian di binari che si possiede, per aggiungere i dati sul contenuto di ciascun CD al database di APT.


3.4 Aggiornare con dselect

Il metodo di aggiornamento raccomandato per Debian GNU/Linux 3.0 comporta l'uso del tool di gestione dei pacchetti dselect, in grado di prendere decisioni più sicure sui pacchetti di quanto succeda con apt-get.

In caso dselect non sia installato, si prega di installare la versione fornita con la propria release di Debian GNU/Linux.

Il metodo di accesso per l'archivio (APT) è già stato configurato, ma lo si può modificare tramite la voce "[M]etodo" del menù. Se si è d'accordo con il metodo scelto, si proceda al passo successivo scegliendo "[A]ggiorna" dal menù, in modo da aggiornare il database dei pacchetti.

Se non ci sono stati problemi con l'aggiornamento del database, a questo punto si scelga "[S]eleziona" dal menù. Dselect esaminerà i pacchetti disponibili e discriminerà quali pacchetti già presenti debbano essere aggiornati e quelli nuovi da installare a necessario complemento. Darà anche indicazioni sui pacchetti da rimuovere. In caso la selezione dei pacchetti crei problemi di conflitti o dipendenze, premendo Invio invece di ritornare al menù principale si passerà automaticamente ad una schermata di risoluzione di conflitti e dipendenze, nella quale si potranno modificare le selezioni per poi uscire premendo nuovamente Invio). Si può ottenere un aiuto premendo "?".

Una volta effettuata la selezione dei pacchetti è necessario installare ciascun nuovo pacchetto. Per farlo si scelga "[I]nstalla" dal menù principale. Così facendo i pacchetti verranno scaricati dal supporto scelto e installati usando APT. Visto che le cose potrebbero andare per le lunghe, una buona idea a questo punto è rilassarsi davanti a una bella tazza di tè.

I due stadi finali sono "[C]onfigura" and "[R]imuovi", che termineranno il processo di aggiornamento con la configurazione dei nuovi pacchetti e la rimozione dei pacchetti che sono di troppo.


3.5 Aggiornare usando direttamente apt-get (non raccomandato)

Non si dimentichi di montare tutte le partizioni necessarie (specialmente le partizioni root e /usr) in lettura-scrittura, con un comando come:

                 mount -o remount,rw /mountpoint

Assunto che si abbia già configurato il file sources.list di apt, come spiegato in precedenza, si esegua (come root):

                 apt-get update

In tal modo verranno sincronizzati dalle fonti i file contenenti le informazioni sui pacchetti, aggiornandole con quelle dei pacchetti nuovi e aggiornati.

Si raccomanda caldamente di usare il programma /usr/bin/script per trascrivere la sessione di aggiornamento. In tal modo in caso di problemi si avrà una registrazione di quanto successo e si sarà in grado di fornire informazioni accurate in un eventuale rapporto. Per iniziare la registrazione, si esegua:

                 script -a ~/aggiornamento-a-woody.typescript

o simile. Si faccia attenzione a non porre la registrazione in una directory temporanea come /tmp o /var/tmp (i file presenti in tali directory potrebbero venir cancellati durante l'aggiornamento o al riavvio del sistema).

È importante aggiornare apt, dpkg e debconf prima di procedere con il grosso dell'aggiornamento. Apt è stato considerevolmente migliorato rispetto alle versioni precedenti. Debconf è un tool indispensabile, largamente usato nei pacchetti recenti.

                 apt-get install dpkg apt debconf

Con tale comando s'installeranno le versioni più recenti di dpkg, apt e debconf, necessari al resto dell'aggiornamento. Verranno inoltre aggiornate alle ultime versioni alcune librerie di sistema indispensabili.

Alla richiesta di debconf circa il tipo di domande da porre, non si scelga "critical", altrimenti se ne perderanno alcune importanti.

Alcuni preferiscono simulare prima un aggiornamento, per vedere cosa succede, con:

                 apt-get --fix-broken --show-upgraded --simulate dist-upgrade | pager

Sebbene possa costare un bel po' di tempo di elaborazione, potrebbe aiutare ad evitare brutte sorprese. Evidenzierà infatti eventuali problemi del proprio sistema (indicando come risolverli) o, più probabilmente, mostrerà ciò che esattamente verrà fatto durante l'aggiornamento. Si presti particolare attenzione: non dovrebbero comparire pacchetti essenziali tra quelli elencati come rimossi.

Dopo aver verificato che apt-get lavori correttamente, si lanci:

                 apt-get --fix-broken --show-upgraded dist-upgrade

Verrà così effettuato un aggiornamento completo del sistema. Verranno installate le ultime versioni disponibili di tutti i pacchetti e risolte tutte le eventuali variazioni nelle dipendenze tra pacchetti in release diverse. Ove necessario, verranno installati alcuni pacchetti nuovi (di solito nuove versioni di librerie o pacchetti rinominati) e rimossi tutti i pacchetti obsoleti che creano conflitti.

In caso di aggiornamento da una serie di CD-ROM, verrà chiesto di inserire uno specifico CD in parecchi punti dell'aggiornamento. Potrebbe capitare di dover inserire più volte lo stesso CD. Ciò accade a causa di pacchetti correlati tra loro che si trovano su CD diversi.

Pacchetti già installati sul sistema che non possono essere aggiornati alle loro nuove versioni senza influire sullo stato di installazione di altri pacchetti verranno lasciati alla versione corrente (contrassegnati come "held back"). Perciò potrebbe rivelarsi necessario usare dpkg o dselect per rimuovere e reinstallare pacchetti o dipendenze rotti. In alternativa si può usare apt-get dselect-upgrade dopo apt-get -f dist-upgrade. (Si veda la pagina di man apt-get(8).)

L'opzione --fix-broken (o semplicemente -f) farà sì che apt tenti di correggere un sistema con dipendenze rotte. apt non permette che sussistano dipendenze di pacchetti rotte.


3.5.1 Problemi che potrebbero emergere durante o dopo l'aggiornamento

A volte è necessario abilitare l'opzione APT::Force-LoopBreak affinché APT sia in grado di rimuovere temporaneamente un pacchetto essenziale per risolvere un circolo vizioso "è in conflitto con"/"pre-dipende da". Di norma in tali casi apt-get emette un avviso e cessa l'aggiornamento. Lo si può per l'appunto evitare specificando l'opzione -o APT::Force-LoopBreak=1 sulla riga di comando di apt-get.

C'è la possibilità che la struttura delle dipendenze di un sistema sia talmente corrotta da richiedere un intervento manuale. Di solito ciò significa usare dselect o

               
                 dpkg --remove nome_del_pacchetto

per eliminare alcuni dei pacchetti problematici, oppure

     
                 apt-get --fix-broken --show-upgraded install
                 dpkg --configure --pending

In casi estremi si potrebbe dover forzare una reinstallazione con un comando simile a:

     
                 dpkg --install /percorso/al/nome_del_pacchetto.deb

Dopo aver risolto il problema, si dovrebbe essere in grado di riprendere l'aggiornamento lanciando nuovamente i comandi dist-upgrade descritti in precedenza.

Durante l'aggiornamento verranno poste domande per la configurazione, o riconfigurazione, di parecchi pacchetti. In caso venisse chiesto se un qualsiasi file nelle directory /etc/init.d e /etc/terminfo o il file /etc/manpath.config debba venir rimpiazzato con quello fornito dal responsabile del pacchetto, di solito è necessario rispondere affermativamente, per garantire la coerenza del sistema. Si può sempre ritornare alle versioni precedenti, dato che verranno salvate con estensione .dpkg-old.

Se non si è sicuri di cosa fare, meglio annotarsi il nome del pacchetto o del file e sistemare le cose più avanti. Le informazioni presentate sullo schermo durante l'aggiornamento possono essere recuperate cercando nel file con estensione .typescript.


3.5.2 Cosa fare prima del prossimo riavvio

Quando apt-get dist-upgrade ha finito, l'aggiornamento formalmente può dirsi completo, ma ci sono delle altre cose cui si dovrebbe fare attenzione prima del prossimo riavvio.

Tra quelle più importanti, si potrebbe dover installare i pacchetti locales e util-linux. Lo si può fare con:

                 apt-get install locales util-linux

Se l'aggiornamento è stato fatto a partire da un sistema Debian versione 2.0 o precedenti, in tal modo verrà rimosso il pacchetto getty, dato che ora è compreso in util-linux.

Probabilmente ci sono parecchi altri pacchetti che dovrebbero essere installati malgrado apt-get non lo segnali, poiché apt-get non seleziona in automatico pacchetti da cui non ne dipendano altri, per esempio tutti quelli presenti nei campi Recommends: e Suggests: di un pacchetto [cioè bada solo a soddisfare le dipendenze NdT]. Questo invece si può ottenere tranquillamente usando dselect o un'altra interfaccia grafica. In dselect, si scelga il metodo "apt" nella schermata [M]etodo (se non lo si è già fatto) e si aggiorni il database con le informazioni sui nuovi pacchetti tramite l'opzione [A]ggiorna. Dopo di che, nella schermata [S]eleziona, si prema "o", "o", "v", Shift-d e si cerchi l'header

               
                 --- Pacchetti obsoleti e locali presenti nel sistema ---

In tale sezione verranno visualizzati tutti i pacchetti di questo tipo. Per esempio, il vecchio pacchetto gimp è stato rimpiazzato da gimp1.2. Si può installare il nuovo pacchetto tramite dselect (che di seguito visualizzerà una schermata di risoluzione dei conflitti di dipendenze che indicherà che tale vecchio pacchetto dovrebbe venir rimosso) o usando:

      
                 apt-get install gimp1.2

che rimuoverà le versioni antiquate al volo (in caso si dovrà solo darne conferma).

Un altro esempio, che spesso sfugge perfino a dselect, sono i server e i client telnet e talk e il server NFS, che sono stati rimossi dal vecchio pacchetto netstd. È possibile installarli con un comando del genere:

                 apt-get install telnet telnetd talk talkd nfs-server

La stessa cosa vale per manpages-dev, che è stato rimosso da manpages.

Per informazioni sui pacchetti suddivisi nelle varie release precedenti di Debian GNU/Linux si faccia riferimento alle versioni delle Note di Release ad esse associate. Per un elenco dei pacchetti suddivisi in questa release si ritorni al paragrafo Pacchetti rinominati, Sezione 6.1 e Pacchetti suddivisi, Sezione 6.2.

Se si sta effettuando un aggiornamento di un sistema Debian 2.0 o precedente con il sistema X Window installato, si diano i seguenti comandi:

     
                apt-get remove xbase
                apt-get install xfonts-base xfonts-75dpi xfonts-100dpi xfonts-scalable

Se non si desidera che all'avvio venga lanciato xdm ("X autostart"), si lanci anche:

              
                apt-get remove xdm

Si legga /usr/share/doc/xfree86-common/README.Debian-upgrade per maggiori informazioni sull'aggiornamento dei pacchetti del sistema X Window. Riguarda gli utenti di tutte le release precedenti di Debian; poche storie, lo si deve leggere per forza.

Il sistema di configurazione dei moduli del kernel è stato cambiato sin dalla release 2.0 di Debian GNU/Linux. Se l'aggiornamento è stato effettuato a partire da una Debian 2.0 o precedente, si deve convertire il proprio sistema prima del prossimo riavvio. Di solito sarà sufficiente lanciare update-modules force, nondimeno è raccomandata la lettura della pagina di man update-modules(8).

Si noti che il kernel Linux non è stato aggiornato dalle procedure sin qui descritte. In caso lo si desideri, lo si può fare in due modi: installando uno dei pacchetti kernel-image-* o compilando un kernel personalizzato dai sorgenti.

Debian GNU/Linux viene fornita con un kernel serie 2.2, 2.2.20. Si potrebbe voler utilizzare un kernel 2.4, che garantisce maggiori prestazioni e supporto all'hardware più recente. Basterà avviare il sistema dal terzo CD-ROM, che provvederà a farlo magicamente da sé, o installarne uno precompilato:

                apt-get install kernel-image-2.4.18-{386,586tsc,686}

Per gli utenti in cerca d'avventure, c'è una semplice strada per compilare un proprio kernel personalizzato su Debian GNU/Linux. Si installi kernel-package e si legga la relativa documentazione in /usr/share/doc/kernel-package.

Buon divertimento con la nuova Debian GNU/Linux 3.0! :-)


[ precedente ] [ Contenuti ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ successivo ]

Note di Release per Debian GNU/Linux 3.0 ("woody"), Motorola 680x0

$Id: release-notes.it.sgml,v 1.6 2002/10/17 12:37:57 joy Exp $
Josip Rodin, Bob Hilliard, Adam Di Carlo, Anne Bezemer, Rob Bradford
debian-doc@lists.debian.org