Repository 32bit  Forum
Repository 64bit  Wiki

Come aggiornare dalla 12.1 alla 12.2

Da Slacky.eu.

###################################################################

ATTENZIONE!!!

Documento sotto revisione e non definitivo. Del resto la 12.2 non è ancora uscita :-)

Può contenere errori e può essere cambiato in ogni momento.

Non utilizzare fino a che ci sarà questo avviso

###################################################################

Questo mini Howto spiega come aggiornare dalla versione 12.1 alla versione 12.2 di Slackware Linux. Non spiega invece come installare ex-novo la distribuzione.

Se desiderate integrarlo potete leggere Current for Dummies, che abbinato alla lettura del file UPGRADE.TXT che trovate nel DVD della Slackware, vi guida nel download e nell'installazione della versione -current. Del resto, come da tradizione Slackware, la versione stabile è una current "ghiacciata", cioè bloccata ad un punto del suo sviluppo.

Questo documento infatti non è altro che il riassunto (in alcuni casi addirittura una replica) di ciò che potete trovare nei due documenti sopra citati e negli altri documenti all'interno del CD, come CHANGES_AND_HINTS.TXT, Slackware-HOWTO ed ANNOUNCE.12_2


Indice

Disclaimer

L'autore di questa guida, i suoi collaboratori e slacky.eu non si riterranno responsabili di eventuali danni provocati al vostro computer.


Prerequisiti

Do per scontato che chi si accinge ad aggiornare una Slackware abbia le conoscenze almeno base per usare tale distribuzione: come installare, aggiornare o rimuovere i pacchetti, configurare la distribuzione, risolvere gli errori, trovare informazioni, etc...

Prima di procedere vi consiglio di:

  • stampare questa guida prima di procedere al suo utilizzo. In modo da avere sempre le informazioni sottomano
  • stampare i file UPGRADE.TXT ed il file CHANGES_AND_HINTS.TXT


Avvertimenti

Il metodo che spiegherò di seguito non contempla l'uso di software come Slackpkg, Swaret, Slapt-Get e simili, ma descrive e cerca di spiegare, ed in alcuni casi integrare, il procedimento consigliato da Pat nel suo UPGRADE.TXT

Io sconsiglio sempre l'uso di software come Slackpkg, Slapt-Get, Swaret o simili per aggiornare l'intera distribuzione, a meno di non conoscere bene i pregi ed i difetti di tali software e sapere come procedere. Questo perché non sempre rispecchiano il corretto ordine di aggiornamento e non sempre installano i "nuovi" pacchetti. Se proprio si vuole usare uno di questi software, quel che posso consigliare è di usare slackpkg (entrato a far parte ufficialmente della Slackware) leggere bene la sua documentazione e di prestare attenzione a quel che vuole aggiornare.

Inoltre in questo documento do per scontato che si abbia già la distribuzione: in DVD, CD o in qualche parte del vostro HD. Se non sapete come reperirla nel sito ufficiale o in questo sito potete trovare tutte le informazioni a riguardo. Anche nel documento Current for dummies spiego come scaricare la -current, per la 12.2 il procedimento è simile.


Fare un backup

Prima di qualsiasi cosa fate un backup del vostro sistema. Se non dell'intero sistema almeno della directory /etc, della $HOME e dei vostri file importanti.

Perché cominciare con un backup? Perché c'è sempre la possibilità che qualcosa vada storto, ed anche se tutto andasse per il meglio, potreste per sbaglio cancellare qualche file importante, avere dei ripensamenti, anche solo controllare la vecchia impostazione. In ogni caso con un backup completo potete sempre ripristinare le informazioni come erano prima di iniziare l'aggiornamento.

Per effettuare il backup potete seguire una delle guide presenti in questo wiki o in rete.

Una volta fatto il backup procediamo con l'aggiornamento :-)


Procedura di aggiornamento

Il primo passo, e più importante, è quello di leggere il file UPGRADE.TXT e possibilmente ogni file di testo presente nel DVD. Questo perché in quel file ci sono le istruzioni per aggiornare con sicurezza.

A questo punto l'how-to potrebbe essere finito, in quanto è scritto tutto in tale file, ma voglio dare ugualmente una spiegazione più dettagliata dell'aggiornamento, con alcune trucchi che uso io stesso (che segnalerò al momento opportuno). Prendete pertanto quanto scritto come infarinatura per capire il file UPGRADE.TXT o integrazione dello stesso.


Andare in single user mode

La prima cosa da fare è passare in modalità singolo utente, cosa che si fa con questo comando

# telinit 1

A questo punto effettuiamo il log in come root e procediamo


Posizionarsi nella directory slackware

Per rendere omogenei gli esempi seguenti e facilitare l'aggiornamento, consiglio di posizionarsi nella sottodirectory slackware all'interno della directory in cui avete "montato" il DVD. Diamo per scontato che è stato fatto in /mnt/dvd

# cd /mnt/dvd/slackware

Se non avete il DVD, ma avete i file in un HD o in altro supporto cambia solamente il percorso.

Una volta "dentro" la directory slackware possiamo procedere


Aggiornare le GLIBC e PKGTOOL

Il primo pacchetto da aggiornare sono le librerie glibc. Questo perché sono librerie essenziali al funzionamento dell'intero sistema, e quando nei vari forum si trovano messaggi di persone che si sono trovate con il computer fuori uso durante un aggiornamento, spesso la causa è dovuta al mancato aggiornamento delle glibc come primo passo di tutta la procedura.

Quindi per prima cosa procediamo ad aggiornare le librerie glibc.

# upgradepkg a/glibc-solibs-*tgz


Dopo le Glibc, altro componente essenziale da aggiornare prima di tutti gli altri, è il gestore dei pacchetti della Slackware stessa, Pkgtool

# upgradepkg a/pkgtools-*.tgz

Questi primi due passi sono importanti e vanno eseguiti, in questo ordine, prima di tutto il resto. Altrimenti si rischia di non poter continuare, ritrovandoci con il sistema fuori uso.


Aggiornamento di tutti i pacchetti

Una volta aggiornati i pacchetti di supporto si può procedere all'aggiornamento totale della distribuzione. In questo caso ci sono due metodi: il primo consigliato da Pat, il secondo da me.

Capite già da questo qual è il più seguito dagli utenti Slackware ;-)


Primo metodo: Installazione di tutti i pacchetti

Questo è il metodo suggerito da Pat all'interno del file UPGRADE.TXT.

Per fare questo dall'interno della directory /mnt/dvd/slackware, dove ci siamo posizionati in precedenza, bisogna dare il comando

# upgradepkg --install-new */*.tgz

Siccome in questo modo si installeranno anche tutti i file di localizzazione del KDE, che sono circa 500Mb, Pat nel nuovo UPGRADE.TXT consiglia di usare questo script

#!/bin/sh
for dir in a ap d e f k kde l n t tcl x xap y ; do
 ( cd $dir ; upgradepkg --install-new *.tgz )
done

che installerà ogni cosa, tranne appunto i file di localizzazione, cosa che potremmo fare in seguito con semplicità. Vedremo in seguito come.


Secondo metodo: Aggiornare solamente i pacchetti nuovi o modificati

Questo è il metodo che uso io, e che è stato testato da altre persone della community slacky.eu, quindi a voi la scelta :-)

Per questa procedura dobbiamo avere davanti il file CHANGES_AND_HINTS.TXT che si trova nel DVD o in uno dei tanti mirror della Slackware. Tanto lo avete stampato come vi ho suggerito all'inizio vero?


Per prima cosa procediamo alla rimozione dei pacchetti obsoleti, cioè dei pacchetti non più presenti nella nuova Slackware.

La lista dei pacchetti eliminati dalla nuova Slackware si trova nel file CHANGES_AND_HINTS.TXT, ma per completezza la riporto anche qui, escludendo i pacchetti in /extra

Nella 12.2 sono stati eliminati (o rinominati) tali pacchetti.

d/bin86 (sostituito da dev86)
n/pine (sostituito da alpine)

Per la rimozione di un pacchetto bisogna dare questo comando

# removepkg nomepacchetto

Sostituendo a nomepacchetto il nome del pacchetto che trovate nella lista. Per esempio:

# removepkg bin86


A questo punto, dopo aver rimosso i pacchetti non più presenti nella 12.2, effettuiamo l'aggiornamento dei soli pacchetti che abbiamo nel sistema dando il comando:

# upgradepkg */*.tgz


Dopodiché procediamo all'installazione dei nuovi pacchetti.

Anche questa lista si trova nel file CHANGES_AND_HINTS.TXT

a/kernel-firmware (prima integrato nel kernel-image)
ap/gphoto2
ap/libx86
ap/pm-utils
ap/radeontool
ap/slackpkg
ap/sqlite
ap/vbet
d/dev86 (sostituisce bin86)
d/intltool
l/beecrypt
l/enchant
l/gst-plugins-base
l/gstreamer
l/gtkspell
l/libcap
l/libgphoto2
l/liboil
l/libraw1394
l/libvisual-plugins
l/parted
n/alpine (sostituisce pine)
n/iwlwifi-5000-ucode
x/dri2proto
x/xdg-utils
x/xf86-input-acecad
x/xf86-input-dmc
x/xf86-input-synaptics
x/xf86-input-void
x/xf86-video-mach64
x/xf86-video-openchrome
x/xf86-video-r128
xap/xmms


Per installare questi pacchetti consiglio upgradepkg --install-new e non direttamente installpkg perché è possibile che alcuni di questi pacchetti li avevamo già nel sistema in quanto scaricati da altri repository, come quello di slacky.eu per esempio.

Nota: Chi avesse il pacchetto synpatics, deve aggiornarlo con il pacchetto xf86-input-synaptics (adesso incluso in Xorg ufficialmente) tramite l'operatore % di upgradepkg.

Quindi procediamo con

# upgradepkg --install-new nomepacchetto.tgz

In questo caso però bisogna sostituire a nomepacchetto il nome che trovate, aggiungendo l'asterisco per il numero versione e l'estensione .tgz, necessaria al corretto funzionamento del comando.

Per esempio

# upgradepkg --install-new a/kernel-firmware*.tgz


Visto che questa procedura serve per non replicare una installazione full, potete benissimo non installare i pacchetti che non utilizzate. Per esempio consiglio di non installare scim, che serve per il supporto alle lingue orientali. Ma la scelta spetta a voi e per evitare di non installare software importante consiglio di leggere il file Changelog.txt o direttamente il TXT del pacchetto

Questa procedura la preferisco perché mi evita di installare pacchetti che non uso e che possono interferire con i pacchetti che invece ho nel sistema. Per esempio sendmail che sovrascrive alcuni file di postfix.

Naturalmente si può benissimo, anzi forse è meglio :-), seguire la procedura di Pat e dopo rimuovere ciò che non ci serve e reinstallare successivamente i pacchetti che usiamo. Questo evita anche di dimenticarsi di installare pacchetti essenziali al funzionamento del sistema. Personalmente cerco di evitare questo anche se allungo il processo di aggiornamento della distribuzione e se volete seguire il mio metodo dovete essere sicuri di aver installato tutti i nuovi pacchetti. Per esempio se non installate parted, non funzionerà più l'automounting di HAL.

Come sempre l'esperienza e la conoscenza del sistema permettono di effettuare scelte personali.

Quali sono i vantaggi di questa procedura? Aggiornando manualmente, possiamo evitare l’installazione dei pacchetti che non ci servono, che possono essere molti o pochi a seconda del proprio grado di personalizzazione della Slackware. Con l'altro metodo invece ci ritroveremo con installati anche questi pacchetti, che possono andare in conflitto con alcuni dei "nostri" oppure essere semplicemente inutili. Niente che non si possa risolvere in secondo momento comunque.

Ed i contro? Il contro di questa procedura è la pazienza ed il tempo richiesto per effettuare la stessa. Ed anche l'attenzione di non scordarsi qualche pacchetto essenziale



Modificare il boot manager

Una volta installati tutti i nuovi pacchetti, qualsiasi metodo abbiate scelto, bisogna essere sicuri che il sistema faccia il boot correttamente, quindi modifichiamo LILO o Grub in base al nuovo kernel installato.

Se usiamo initrd (per esempio perché utilizziamo il kernel generic o perché abbiamo bisogno di moduli specifici) bisogna anche aggiornare l'immagine initrd prima di aggiornare il boot manager


Se usiamo LILO una volta modificato il file /etc/lilo.conf diamo il comando

# lilo -v

Per Grub una volta modificato il file /boot/grub/menu.lst non c'è bisogno di nessun comando


Rimozione pacchetti obsoleti

Se avete seguito la procedura "Aggiornare solamente i pacchetti nuovi o modificati" potete saltare questa sezione.

Se invece avete seguito la procedura consigliata da Pat dovete a questo punto rimuovere i pacchetti obsoleti, cioè quei pacchetti che non fanno più parte della Slackware e di cui quindi non è presente la versione aggiornata.

Nella 12.2 sono stati eliminati (o rinominati) tali pacchetti: d/bin86 (sostituito da dev86) n/pine (sostituito da alpine)

Anche in questo caso ho tralasciato quelli in /extra, per completezza leggere il file CHANGES_AND_HINTS.TXT


In alternativa si può anche andare in /var/log/packages e guardare la lista dei pacchetti

# ls -lt | less

in modo da "capire" quali sono i pacchetti vecchi, obsoleti o non seguiti.


Per rimuovere i pacchetti usare il comando removepkg come visto in precedenza.

La sintassi del comando è

# removepkg nomepacchetto


Modificare i file di configurazione

Arrivati a questo punto bisogna controllare quali modifiche hanno portato i nuovi file di configurazione all'interno di /etc e fare il merge con i propri.

Pat suggerisce ai più temerari di usare questo script:

#!/bin/sh
cd /etc
find . -name "*.new" | while read configfile ; do
if [ ! "$configfile" = "./rc.d/rc.inet1.conf.new" \
    -a ! "$configfile" = "./group.new" \
    -a ! "$configfile" = "./passwd.new" \
    -a ! "$configfile" = "./shadow.new" ]; then
  cp -a $(echo $configfile | rev | cut -f 2- -d . | rev) \
      $(echo $configfile | rev | cut -f 2- -d . | rev).bak 2> /dev/null
  mv $configfile $(echo $configfile | rev | cut -f 2- -d . | rev)
fi
done

ci ritroveremo così con i vecchi file con estensione .bak

A questo punto inseriamo le nostre modifiche nei nuovi file.

Questo va fatto perché i nuovi file potrebbero contenere informazioni che i vecchi non hanno, o potrebbero avere una sintassi diversa. I cambiamenti effettuati nei nuovi pacchetti possono infatti recare dei cambiamenti nel formato dei file di configurazione e negli script di avvio contenuti in /etc. Al tempo stesso dovrete immettere i vostri vecchi dati nei nuovi file per mantenere le vecchie configurazioni.

Questo discorso riguarda soprattutto il “pacchetto” UDEV, il quale ha sostituito i vecchi comandi (udevinfo, udevtrigger, etc…) con il solo udevadm. In realtà erano dei link simbolici sempre verso udevadm, ma adesso sono stati rimossi. Risulta quindi di vitale importanza sostituire il nuovo file di inizializzazione di udev (/etc/rc.d/rc.udev.new) con il vecchio, altrimenti il sistema non si avvia visto che non esistono più i comandi richiamati dal vecchio script di avvio.

Bisogna stare attenti a questo passo perché si rischia di perdere utenti o configurazioni che avevamo in precedenza.

Comunque come vedete lo script non rinomina i file

  • /etc/rc.d/rc.inet1.conf.new
  • /etc/group.new
  • /etc/passwd.new
  • /etc/shadow.new

Questo perchè sono i file in cui sono memorizzati i vostri utenti, i gruppi, le password e le informazioni sulla vostra rete. Quindi non allarmatevi se ritrovate ancora alcuni file con estensione .new e soprattutto non sostituiteli a quelli vecchi se non sapete bene cosa state facendo.

Quindi sta a voi modificare, se necessario, i vecchi file

  • /etc/rc.d/rc.inet1.conf
  • /etc/group
  • /etc/passwd
  • /etc/shadow

facendo un confronto con quelli con estensione .new

Normalmente modificare questi file non serve, potete lasciarli come sono.


Naturalmente anche in questo caso l'esperienza e la conoscenza del sistema sono la base per effettuare le modifiche come più ci piace.


Oltre alle modifiche di questi file bisogna andare a vedere e controllare le modifiche effettuate ad UDEV nel file all'interno di /etc/udev. Successivamente vedremo meglio questo passo.


Aggiornare i pacchetti delle localizzazioni di KDE

A seconda di come avete aggiornato il sistema, potreste ritrovarvi con tutti i file di localizzazione di KDE o con nessuno. Siccome occupano 500Mb conviene lasciare solamente quelli effettivamente utilizzati.

Vediamo caso per caso.


Se si è aggiornato tramite --install-new

Se si è aggiornato con il metodo consigliato da Pat

# upgradepkg --install-new */*.tgz

conviene disintallarli tutti e dopo installare solamente quelli veramente utilizzati.

Per fare ciò bisogna portarsi nella dir /var/log/packages e rimuovere tutto.

# cd /var/log/packages
# removepkg kde-i18n* koffice-l10n*

Successivamente, tornare nella directory /mnt/dvd/slackare ed installare quelli di cui si ha effettivamente bisogno tramite il comando

 # upgradepkg --install-new kdei/k*<your KDE locale>*tgz

Per esempio per installare quelli in lingua italiana, bisogna usare il comando

 # upgradepkg --install-new kdei/k*it*tgz


Se si è aggiornato tramite lo script di Pat

Se per aggiornare il sistema si è utilizzato lo script di Pat

#!/bin/sh
for dir in a ap d e f k kde l n t tcl x xap y ; do
 ( cd $dir ; upgradepkg --install-new *.tgz )
done

basta aggiornare solamente i file effettivamente utilizzati con il comando

 # upgradepkg kdei/*.tgz


Se si è aggiornato tramite il metodo alternativo

Se si è seguito il metodo consigliato da me, probabilmente non ci sarà da fare niente, in quanto si saranno aggiornati solamente i file di localizzazione precedentemente usati.

Controllare comunque non fa mai male :-)


Non si utilizzava nessuna localizzazione per KDE

Se prima non veniva utilizzata alcuna localizzazione per KDE naturalmente bisogna valutare se continuare così o installare le localizzazioni che vogliamo.

Stessa cosa se vogliamo aggiungerne (o rimuoverne) altre, per esempio per utilizzare varie lingue.

In questo caso bisogna spostarsi nella directory kdei e procedere all'installazione o rimozione dei pacchetti delle localizzazioni che ci interessano.


In tutti i casi l'importante è fare questo per i pacchetti kde, koffice e k3b, naturalmente questi ultimi due se sono utilizzati.


Tornare in multi user mode

Una volta fatte queste modifiche e dopo essere sicuri che tutto sia corretto si può tornare in modalità multiutente con il comando

# telinit 3

A volte al termine della procedura di riavvio non compare la shell, ma niente paura, basta premere invio per visualizzarla.

Ora avete la Slackware 12.2 sul vostro computer e potete accertarvi che tutto sia ok


Consigli e problemi noti

Prima di riavviare accertatevi di aver "risolto" alcuni problemi noti di questa versione e della procedura di aggiornamento.


Cambiamenti in UDEV

UDEV è stato aggiornato in modo evidente con le ultime versioni, quindi non dimenticatevi di controllare (oltre allo script di avvio come segnalato sopra) i file all’interno di /lib/udev/rules.d (nuova directory dove risiedono le regole di udev) e di /etc/udev/rules.d, questo perché vari programmi scrivono ancora in questa directory. In pratica adesso ci sono due directory dove controllare. Vi è un graduale spostamento delle regole “generali” in /lib/udev/rules.d, mentre le regole personali rimarranno in /etc/udev/rules.d. A questo proposito Pat ci suggerisce che non c’è nessuna ragione per cambiare le regole in /lib/udev/rules.d (se vi è questo bisogno c’è un errore a monte) e se vogliamo sovrascrivere un file, basta crearne uno con lo stesso nome sotto /etc/udev/rules.d, un po’ come succede per HAL.

   The system udev rules now reside in /lib/udev/rules.d/ instead of
   /etc/udev/rules.d/ in older versions. There should never be a reason
   to edit anything in /lib/udev/rules.d/, so if you think you have a case
   where this is required, either you’re wrong or it needs to be addressed
   in the upstream source. However, you can override default rules by
   placing one with an identical name inside /etc/udev/rules.d/
   The rules files in /etc/udev/rules.d/ are still intended to (maybe) be
   edited as needed by local system administrators. 

I file più “importanti” da controllare, in quanto normalmente i più modificati, sono il file delle schede di rete e quello dei dispositivi ottici.

Soprattutto nel caso che si ha più di una scheda di rete va controllato bene il nuovo file.

Le regole sono sempre contenute in /etc/udev/rules.d/70-persistent-net.rules il quale è adesso però generato dal file /lib/udev/rules.d/75-persistent-net-generator.rules

Stesso discorso per i dispositivi ottici, le regole adesso si trovano nel file /etc/udev/rules.d/70-persistent-cd.rules a sua volta generato da </tt>/lib/udev/rules.d/75-cd-aliases-generator.rules</tt>.

Durante la fase di boot la Slackware controlla la presenza di questi file e se non li trova provvede a crearli automaticamente. Questo fa si che se in futuro vogliamo aggiornare una scheda di rete o un disco, o se stiamo clonando un sistema, basta cancellare questi due file per far ricreare le regole correttamente. Naturalmente potete modificarli voi stessi, se sapete come fare.

Cambiamenti di HAL

HAL ormai non è una novità per gli utenti Slackware, ma Pat ci tiene a precisare alcune cose

1. Gli utenti per avere il permesso di montare le periferiche removibili devono essere nel gruppo plugdev, e se devono eseguire lo shutdown ed il reboot via HAL è raccomandato inserire tali utenti anche nel gruppo power.

2. HAL tiene conto delle impostazioni in /etc/fstab se queste sono presenti. Quindi bisogna stare attenti a modificare il file /etc/fstab per le periferiche che vogliamo gestire tramite HAL. Per esempio se /etc/fstab non permette di montare le periferiche ai normali utenti (tramite le opzioni users o user) allora anche HAL/dbus non permetterà di farlo.

3. Se abbiamo bisogno di modificile i file .fdi, questi devono essere posizionati in /etc/hal e non in /usr/share/hal/ e bisogna dargli lo stesso nome di quelli presenti in /usr/share/hal/. Per esempio per modificare il file /usr/share/hal/fdi/policy/10osvendor/10-ntfs-3g-policy.fdi, che contiene le opzioni di default per il montaggio dei dispositivi con ntfs-3g, bisogna creare un file /etc/hal/fdi/policy/10osvendor/10-ntfs-3g-policy.fdi con le opzioni che desideriamo

Parted come dipendenza di HAL

Come recita il ChangeLog dell’11 Settembre 2008

l/parted-1.8.8-i486-1.tgz: Moved from /extra (this is now a HAL dependency).

Parted, che adesso si trova nella directory l e non più in /extra, è diventato una dipendenza di HAL, il quale non funzionerà come dovrebbe senza l’installazione di tale pacchetto. In particolare non sarà più attivo l’automount. Quindi se si notano problemi con HAL controllare prima di tutto di aver installato parted

Cambiamento nome device degli Hard Disk con i nuovi kernel

Con il passaggio al kernel 2.6.27.5 alcune unità che in precedenza erano considerati come /dev/hd? potrebbero ora essere visti come /dev/sd?, quindi bisogna essere preparati per questa possibilità, per esempio configurando LILO e fstab con UUID o LABEL

Ciò dovrebbe succedere su macchine che potrebbero avere utilizzato libata con hd?=noprobe, ma non solo.

CONFIG_PATA_LEGACY (libata, /dev/sd?) è ora di default per i controller PATA che richiedono un driver generico.


Partizioni criptate e tastiere USB

Se abbiamo una partizione criptata, soprattutto la partizione di root, dobbiamo accedere alla tastiera per immettere la password. Se la tastiera è USB bisogna caricare i moduli uhci-hcd e usbhid<tt>/ nell’immagine initrd

Se si sta utilizzando una tastiera non-US, si può utilizzare il parametro “-l” del comando <tt>mkinitrd al fine di aggiungere il supporto per questo tipo di tastiera nel file d’immagine initrd.

Aggiunta dei driver Synaptics e problemi noti

I driver Synaptics sono entrati a far parte di Xorg con il nome xf86-input-synaptics e quindi sono stati inclusi nella Slackware. Questo fa sì che per chi ha un notebook con touchpad che usa il driver Synaptics non deve più scaricare i driver da repository extra o compilarli. Va ricordato che in alcuni sistemi, i driver xf86-input-synaptics richiedono che il modulo del kernel psmouse deve essere caricato senza nessuna opzione. Di default in Slackware è caricato con il protocollo imps, tramite il file /etc/modprobe.d/psmouse, quindi va modificato questo file per non caricare tale protocollo. Per fare questo basta commentare l’ultima riga, in modo che diventi

#options psmouse proto=imps

Dal prossimo riavvio il modulo psmouse sarà caricato senza opzioni. Per ricaricarlo senza riavviare basta eseguire da root questi due comandi

# modprobe -r psmouse
# modprobe psmouse

Errori di compilazione

Se durante la compilazione di alcuni programmi si riscontrano errori come questi

 /usr/include/asm-generic/fcntl.h:117: error: redefinition of 'struct flock'
 /usr/include/bits/fcntl.h:142: error: previous definition of 'struct flock'
 /usr/include/asm-generic/fcntl.h:140: error: redefinition of 'struct flock64'
 /usr/include/bits/fcntl.h:157: error: previous definition of 'struct flock64'

vedere http://patchwork.ozlabs.org/patch/316/ per informazioni e soluzione.

Uso del Kernel generic

Pat consiglia di usare sempre il kernel generic smp e non il kernel huge, quest'ultimo da utilizzare come kernel di installazione o di emergenza, nel caso per esempio ci si dimenticasse di creare il file initrd.

Per la maggior parte dei sistemi va bene il kernel SMP generic (se funziona) anche se non si ha un processore SMP. Qualche nuovo hardware infatti necessita di aver abilitato l'APIC locale nell'SMP kernel e teoricamente non dovrebbero esserci cali prestazionali usando l'SMP kernel su macchine a singolo processore.

Inoltre i sorgenti del kernel della Slackware sono configurati per l'uso del kernel SMP, quindi se si vuole compilare un modulo esterno (ad esempio driver NVidia o ATI proprietari) non c'è bisogno di modifiche se si usa il kernel SMP.

Se invece si vuole comunque utilizzare un kernel non SMP tutte le info, le patch e gli header si trovano nella directory /extra/linux-2.6.27.7-nosmp-sdk/.


Utilizzando un kernel huge si possono riscontrare errori come questo

kobject_add failed for uhci_hcd with -EEXIST, don't try to register.

Questo succede perché i rispettivi driver sono compilati staticamente nei kernel huge, ma udev cerca ugualmente di caricarli. Si possono ignorare tranquillamente questi errori o mettere in blacklist (/etc/modprobe.d/blacklist) i moduli che il kernel cerca di caricare. Ad ogni modo ricordarsi di rimuovere dalla blacklist questi moduli se decidiamo di usare i kernel generic come raccomandato da Pat.

Problemi con cdrecord

Se sorgono errori di permessi quando si prova a masterizzare un cdrom o un dvd come questo:

/usr/bin/cdrecord: Operation not permitted. Cannot send SCSI cmd via ioctl

allora probabilmente c'è bisogno di aggiungere il suid root ai programmi cdrecord e cdrdao. Questo però può comportare grossi rischi di sicurezza, quindi Pat propone come soluzione alternativa quella di creare un gruppo apposito e dare i permessi di esecuzione (e di suid) solo al proprietario (root) e ai membri del gruppo.

Un esempio possibile potrebbe essere:

chown root:cdrom /usr/bin/cdrecord /usr/bin/cdrdao
chmod 4750 /usr/bin/cdrecord /usr/bin/cdrdao

Se non si vuole che tutti i membri del gruppo cdrom possano usare questi due programmi, come alternativa si può anche creare un gruppo apposito (come ad esempio burning, consigliato anche da k3b) ed aggiungere a quello gli utenti che possono masterizzare e quindi utilizzare cdrecord e cdrdao.


Shutdown su vecchi pc

Se si usa un pc con BIOS rilasciato prima del 2001 probabilmente la macchina non si spegnerà correttamente allo shutdown. Per ovviare si può provare ad aggiungere in lilo.conf la seguente riga

append = "acpi=force"


Altri consigli e problemi noti

Potete leggere una descrizione di questi e di altri "problemi noti" nel file CHANGES_AND_HINTS.TXT


Riavviare il sistema

A questo punto possiamo riavviare e se tutto è andato per il verso giusto "goderci" la nuova Slackware 12.2 :-)


Possibile errore della procedura di aggiornamento

Se il sistema non si riavvia correttamente, o si è fatto qualche danno durante la procedura di aggiornamento, niente drammi. Prima di formattare, come si usa in altri sistemi, è possibile sempre cercare di reinstallare sul sistema non funzionante la Slackware 12.2

Per fare questo bisogna per prima cosa ripristinare le glibc, solitamente il punto critico del sistema, e successivamente reinstallare l'intero sistema con una delle procedure descritte in questo how-to.

Se proprio non ci riuscite potete invece ripristinare il backup e ripetere la procedura dall'inizio.

E se non si è fatto il backup? Come non avete fatto il backup??? Questa è la prima cosa fare come abbiamo detto prima ;-)


Conclusioni

Spero che la guida possa essere stata di aiuto. Qualsiasi critica, modifica o aggiunta è ben accetta.

Se nonostante questa breve guida e la lettura del file UPGRADE.TXT avete ancora dubbi o problemi potete chiedere nel forum.


Ringraziamenti

Ringrazio gli utenti del forum per il feedback, in particolare Shark1500 per l'aiuto nella traduzione di alcune sezioni e per i consigli.

Naturalmente ringrazio Patrick Volkerding e tutto il team Slackware per la nuova versione.


Voci correlate

Script per backup


Collegamenti Esterni

--Conraid 19:11, 4 Dic 2008 (CET)

Strumenti personali
Namespace

Varianti