Repository 32bit  Forum
Repository 64bit  Wiki

Come aggiornare dalla 12.1 alla 12.2: differenze tra le versioni

Da Slacky.eu.
 
(22 revisioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
[[categoria:Install_e_Upgrade]]
+
[[categoria:Install_e_Upgrade-12]]
Questo mini Howto spiega come aggiornare dalla versione 12.0 alla versione 12.1 di Slackware Linux.
+
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.
Non spiega invece come installare ex-novo la distribuzione.
Se desiderate integrarlo potete leggere [[Current_for_Dummies|Current for Dummies]], che abbinato alla lettura del file UPGRADE.TXT che trovate nel DVD della Slackware (in questo wiki trovate anche una sua [[Slackware_12.0_to_12.1_Upgrade_HOWTO|traduzione]]), 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 non è altro che una spiegazione (in alcuni casi addirittura una replica) di ciò che potete trovare nei due documenti presenti all'interno del CD/DVD, come UPGRADE.TXT (in questo wiki trovate anche una sua [[Slackware_12.1_to_12.2_Upgrade_HOWTO|traduzione]], CHANGES_AND_HINTS.TXT, Slackware-HOWTO ed ANNOUNCE.12_2
 
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_1
 
 
== Disclaimer ==
== Disclaimer ==
Riga 18: Riga 18:
* stampare questa guida prima di procedere al suo utilizzo. In modo da avere sempre le informazioni sottomano
* stampare questa guida prima di procedere al suo utilizzo. In modo da avere sempre le informazioni sottomano
* stampare i file UPGRADE.TXT (o la sua [[Slackware_12.0_to_12.1_Upgrade_HOWTO|traduzione]]) ed il file CHANGES_AND_HINTS.TXT
+
* stampare i file UPGRADE.TXT ed il file CHANGES_AND_HINTS.TXT
== Avvertimenti ==
== 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 [http://it.wikipedia.org/wiki/Patrick_Volkerding Pat] nel suo UPGRADE.TXT
+
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 [http://it.wikipedia.org/wiki/Patrick_Volkerding 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 leggere bene la documentazione e di aggiornare prima di tutto <tt>glibc</tt> e <tt>pkgtool</tt>
+
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 [http://www.slackware.com sito ufficiale] o in [http://www.slacky.eu/index.php?option=com_content&task=view&id=5312&Itemid=63 questo sito] potete trovare tutte le informazioni a riguardo.
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 [http://www.slackware.com sito ufficiale] o in [http://www.slacky.eu/index.php?option=com_content&task=view&id=5312&Itemid=63 questo sito] potete trovare tutte le informazioni a riguardo. Anche nel documento [[Current_for_Dummies|Current for dummies]] spiego come scaricare la -current, per la 12.1 il procedimento è simile.
 
Riga 43: Riga 43:
== Procedura di 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.
+
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.
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.
 
Una [[Slackware_12.0_to_12.1_Upgrade_HOWTO|sommaria traduzione del file UPGRADE.TXT]] potete leggerla in questo wiki
 
Riga 58: Riga 56:
</code>
</code>
A questo punto effettuiamo il ''log in'' come <tt>root</tt> e procediamo
+
A questo punto effettuiamo il ''log in'' come <tt>root</tt> e procediamo.
  +
  +
Nota:
  +
Come dice lo stesso Pat questo ''non è strettamente necessario'', e ci sono state segnalazioni di successo di aggiornamenti effettuati da remoto su macchine ancora in modalità multiutente. Tuttavia, essendo più facile sbagliare in modalità multiutente e specialmente se si sta pensando di aggiornare un computer da remoto in modalità multiutente, si consiglia di clonare la macchina in locale in modo da fare una prova per scoprire eventuali problemi e trovare le soluzioni.
Riga 97: Riga 95:
=== Aggiornamento di tutti i pacchetti ===
=== 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.
+
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 ;-)
Capite già da questo qual è il più seguito dagli utenti Slackware ;-)
Riga 129: Riga 127:
Questo è il metodo che uso io, e che è stato testato da altre persone della community slacky.eu, quindi a voi la scelta :-)
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 [ftp://ftp.slackware.com/pub/slackware/slackware-current/CHANGES_AND_HINTS.TXT CHANGES_AND_HINTS.TXT] che si trova nel DVD o in uno dei tanti mirror della Slackware.
+
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?
Tanto lo avete stampato come vi ho suggerito all'inizio vero?
Per prima cosa procediamo ad un '''aggiornamento delicato''', il pacchetto '''<tt>util-linux</tt>''', sostituito nella 12.1 con <tt>util-linux-ng</tt>. Siccome non conviene disinstallarlo, perché contiene programmi necessari anche all'aggiornamento degli altri pacchetti, bisogna procedere con un aggiornamento "particolare", tramite l'operatore <tt>%<tt> dell'utility <tt>upgradepkg</tt>
+
Per prima cosa procediamo alla '''rimozione dei pacchetti obsoleti''', cioè dei pacchetti non più presenti nella nuova Slackware.
<code>
+
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 <tt>/extra</tt>
# upgradepkg util-linux%a/util-linux-ng-2.13.1-i486-1.tgz
 
</code>
 
+
Nella 12.2 sono stati eliminati (o rinominati) tali pacchetti.
Successivamente 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 <tt>/extra</tt> e <tt>util-linux</tt> che abbiamo già aggiornato
 
 
Nella 12.1 sono stati eliminati (o rinominati) tali pacchetti.
 
<code>
<code>
ap/espgs
+
d/bin86 (sostituito da dev86)
ap/gimp-print
+
n/pine (sostituito da alpine)
e/emacs-info
 
e/emacs-leim
 
e/emacs-lisp
 
e/emacs-misc
 
e/emacs-nox
 
l/libmusicbrainz
 
l/libtunepimp
 
l/mcs
 
x/dejavu-ttf
 
x/xorg-server-xdmx
 
x/xf86-input-acecad
 
x/xf86-input-void
 
</code>
</code>
Per la rimozione di un pacchetto bisogna dare questo comando
Per la rimozione di un pacchetto bisogna dare questo comando
<code>
<code>
# removepkg nomepacchetto.tgz
+
# removepkg nomepacchetto
</code>
</code>
Sostituendo a ''nomepacchetto'' il nome del pacchetto che trovate nella lista. Per esempio:
Sostituendo a ''nomepacchetto'' il nome del pacchetto che trovate nella lista. Per esempio:
<code>
<code>
# removepkg espgs
+
# removepkg bin86
</code>
</code>
+
A questo punto, dopo aver rimosso i pacchetti non più presenti nella 12.2, effettuiamo l''''installazione dei nuovi pacchetti'''.
A questo punto, dopo aver rimosso i pacchetti non più presenti nella 12.1, effettuiamo l''''aggiornamento dei soli pacchetti che abbiamo nel sistema''' dando il comando:
 
 
<code>
 
# upgradepkg */*.tgz
 
</code>
 
 
 
 
Dopodiché procediamo all''''installazione dei nuovi pacchetti'''.
 
Anche questa lista si trova nel file CHANGES_AND_HINTS.TXT
Anche questa lista si trova nel file CHANGES_AND_HINTS.TXT
<code>
<code>
a/inotify-tools
+
a/kernel-firmware (prima integrato nel kernel-image)
a/ntfs-3g
+
ap/gphoto2
a/util-linux-ng
+
ap/libx86
ap/foomatic-filters
+
ap/pm-utils
ap/ghostscript
+
ap/radeontool
ap/gutenprint
+
ap/slackpkg
ap/ntfsprogs
+
ap/sqlite
l/dbus-python
+
ap/vbet
l/fuse
+
d/dev86 (sostituisce bin86)
l/icon-naming-utils
+
d/intltool
l/libaio
+
l/beecrypt
l/libcddb
+
l/enchant
l/libcdio
+
l/gst-plugins-base
l/libmcs
+
l/gstreamer
l/libmowgli
+
l/gtkspell
l/libwnck
+
l/libcap
l/pycairo
+
l/libgphoto2
l/pygobject
+
l/liboil
l/pygtk
+
l/libraw1394
l/pyrex
+
l/libvisual-plugins
l/tango-icon-theme
+
l/parted
l/tango-icon-theme-extras
+
n/alpine (sostituisce pine)
l/wavpack
+
n/iwlwifi-5000-ucode
n/ipw2100-fw
+
x/dri2proto
n/ipw2200-fw
+
x/xdg-utils
n/iwlwifi-3945-ucode
+
x/xf86-input-acecad
n/iwlwifi-4965-ucode
+
x/xf86-input-dmc
n/rt61-firmware
+
x/xf86-input-synaptics
n/rt71w-firmware
+
x/xf86-input-void
n/zd1211-firmware
+
x/xf86-video-mach64
x/anthy-9100e
+
x/xf86-video-openchrome
x/dejavu-fonts-ttf
+
x/xf86-video-r128
x/liberation-fonts-ttf
+
xap/xmms
x/libhangul
 
x/libpciaccess
 
x/m17n-lib
 
x/pixman
 
x/sazanami-fonts-ttf
 
x/scim
 
x/scim-anthy
 
x/scim-bridge
 
x/scim-hangul
 
x/scim-m17n
 
x/scim-pinyin
 
x/scim-tables
 
x/sinhala_lklug-font-ttf
 
x/tibmachuni-font-ttf
 
x/wqy-zenhei-font-ttf
 
x/xbacklight
 
x/xcompmgr
 
x/xf86-input-citron
 
x/xf86-input-dynapro
 
x/xf86-input-elo2300
 
x/xf86-video-geode
 
x/xf86-input-microtouch
 
x/xf86-input-penmount
 
x/xf86-video-radeonhd
 
x/xinput
 
</code>
</code>
Per installare questi pacchetti consiglio <tt>upgradepkg --install-new</tt> e non direttamente <tt>installpkg</tt> 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.
Per installare questi pacchetti consiglio <tt>upgradepkg --install-new</tt> e non direttamente <tt>installpkg</tt> 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.
  +
  +
<em>Nota: Chi avesse il pacchetto synpatics, deve aggiornarlo con il pacchetto xf86-input-synaptics (adesso incluso in Xorg ufficialmente) tramite l'operatore <tt>%</tt> di upgradepkg.</em>
Quindi procediamo con
Quindi procediamo con
Riga 205: Riga 205:
Per esempio
Per esempio
<code>
<code>
# upgradepkg --install-new a/inotify-tools*.tgz
+
# upgradepkg --install-new a/kernel-firmware*.tgz
</code>
</code>
''Naturalmente alla lista manca <tt>a/util-linux-ng</tt> che abbiamo provveduto ad aggiornare precedentemente.''
+
  +
Visto che questa procedura serve per non ''replicare'' una installazione ''full'', potete benissimo non installare i pacchetti che non utilizzate o che non vi servono.
  +
  +
  +
Dopodiché procediamo con l''''aggiornamento completo della Slackware''', aggiornando comunque '''solamente i pacchetti che abbiamo nel sistema''' dando il comando:
  +
  +
<code>
  +
# upgradepkg */*.tgz
  +
</code>
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''.
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.
+
  +
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'''.
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 <tt>pixman</tt>, Xorg non funzionerà nella nuova Slackware.
+
Per esempio se non installate <tt>parted</tt>, non funzionerà più l'automounting di HAL.
Come sempre l'esperienza e la conoscenza del sistema permettono di effettuare scelte personali.
Come sempre l'esperienza e la conoscenza del sistema permettono di effettuare scelte personali.
Riga 223: Riga 222:
Quali sono i vantaggi di questa procedura?
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.
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.
+
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.
Niente che non si possa risolvere in secondo momento comunque.
Riga 235: Riga 234:
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.
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 <tt>initrd</tt> (per esempio perch&eacute; utilizziamo il kernel generic o perch&eacute; abbiamo bisogno di moduli specifici) bisogna anche aggiornare l'immagine <tt>initrd</tt> prima di aggiornare il boot manager
  +
Se usiamo LILO una volta modificato il file <tt>/etc/lilo.conf</tt> diamo il comando
Se usiamo LILO una volta modificato il file <tt>/etc/lilo.conf</tt> diamo il comando
Riga 244: Riga 246:
Per Grub una volta modificato il file <tt>/boot/grub/menu.lst</tt> non c'è bisogno di nessun comando
Per Grub una volta modificato il file <tt>/boot/grub/menu.lst</tt> non c'è bisogno di nessun comando
N.B.
 
Siccome la Slackware 12.1 utilizza il ''kernel 2.6.24.5'' e quest'ultimo di default ha la console in UTF8 potrebbe essere necessario aggiungere al file lilo.conf la riga
 
 
<code>
 
append = "vt.default_utf8=0"
 
</code>
 
 
in modo da disabilitare tale opzione, che in alcune circostanze e con alcuni software può creare problemi.
 
 
A chi usa Grub sarà sufficiente aggiungere l'opzione <tt>vt.default_utf8=0</tt> ai parametri del kernel. Per esempio
 
<code>
 
kernel /boot/vmlinuz root=/dev/hdx ro vt.default_utf8=0
 
</code>
 
 
 
Se usate UTF-8 non avete bisogno di questa modifica
 
Riga 268: Riga 254:
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.
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.1 sono stati eliminati (o rinominati) tali pacchetti:
+
Nella 12.2 sono stati eliminati (o rinominati) tali pacchetti:
<code>
<code>
a/util-linux
+
d/bin86 (sostituito da dev86)
ap/espgs
+
n/pine (sostituito da alpine)
ap/gimp-print
 
e/emacs-info
 
e/emacs-leim
 
e/emacs-lisp
 
e/emacs-misc
 
e/emacs-nox
 
l/libmusicbrainz
 
l/libtunepimp
 
l/mcs
 
x/dejavu-ttf
 
x/xorg-server-xdmx
 
x/xf86-input-acecad
 
x/xf86-input-void
 
</code>
</code>
Riga 281: Riga 267:
# ls -lt | less
# ls -lt | less
</code>
</code>
in modo da "capire" quali sono i pacchetti vecchi, obsoleti o non seguiti.
+
in modo da "capire" quali sono i pacchetti vecchi, obsoleti o non seguiti.
Riga 291: Riga 277:
# removepkg nomepacchetto
# removepkg nomepacchetto
</code>
</code>
 
Consiglio come prima di '''fare attenzione al pacchetto util-linux'''.
 
 
Una volta disinstallato tale pacchetto, bisogna reinstallare util-linux-ng usando ''installpkg'' e non ''upgradepkg --reinstall''
 
 
<code>
 
# installpkg util-linux-ng-2.13.1-i486-1.tgz
 
</code>
 
 
Riga 308: Riga 285:
Pat suggerisce ai più temerari di usare questo script:
Pat suggerisce ai più temerari di usare questo script:
<code>
+
<code>
#!/bin/sh
+
#!/bin/sh
cd /etc
+
cd /etc
find . -name "*.new" | while read configfile ; do
+
find . -name "*.new" | while read configfile ; do
if [ ! "$configfile" = "./rc.d/rc.inet1.conf.new" \
+
if [ ! "$configfile" = "./rc.d/rc.inet1.conf.new" \
-a ! "$configfile" = "./group.new" \
+
-a ! "$configfile" = "./rc.d/rc.local.new" \
-a ! "$configfile" = "./passwd.new" \
+
-a ! "$configfile" = "./group.new" \
-a ! "$configfile" = "./shadow.new" ]; then
+
-a ! "$configfile" = "./passwd.new" \
cp -a $(echo $configfile | rev | cut -f 2- -d . | rev) \
+
-a ! "$configfile" = "./shadow.new" ]; then
$(echo $configfile | rev | cut -f 2- -d . | rev).bak 2> /dev/null
+
cp -a $(echo $configfile | rev | cut -f 2- -d . | rev) \
mv $configfile $(echo $configfile | rev | cut -f 2- -d . | rev)
+
$(echo $configfile | rev | cut -f 2- -d . | rev).bak 2> /dev/null
fi
+
mv $configfile $(echo $configfile | rev | cut -f 2- -d . | rev)
done
+
fi
  +
done
</code>
</code>
Riga 328: Riga 305:
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 <tt>/etc</tt>. Al tempo stesso dovrete immettere i vostri vecchi dati nei nuovi file per mantenere le vecchie configurazioni.
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 <tt>/etc</tt>. 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 <tt>udevadm</tt>. In realtà erano dei link simbolici sempre verso <tt>udevadm</tt>, 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.
Bisogna stare attenti a questo passo perché si rischia di perdere utenti o configurazioni che avevamo in precedenza.
Riga 333: Riga 312:
Comunque come vedete lo script non rinomina i file
Comunque come vedete lo script non rinomina i file
* /etc/rc.d/rc.inet1.conf.new
* /etc/rc.d/rc.inet1.conf.new
  +
* /etc/rc.d/rc.local.new
* /etc/group.new
* /etc/group.new
* /etc/passwd.new
* /etc/passwd.new
* /etc/shadow.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.
+
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 <tt>.new</tt> e soprattutto '''non sostituiteli a quelli vecchi''' se non sapete bene cosa state facendo.
Quindi sta a voi modificare, se necessario, i vecchi file
Quindi sta a voi modificare, se necessario, i vecchi file
* /etc/rc.d/rc.inet1.conf
* /etc/rc.d/rc.inet1.conf
  +
* /etc/rc.d/rc.local.new
* /etc/group
* /etc/group
* /etc/passwd
* /etc/passwd
* /etc/shadow
* /etc/shadow
facendo un confronto con quelli con estensione .new
+
facendo un confronto con quelli con estensione <tt>.new</tt>
 
Normalmente modificare questi file non serve, potete lasciarli come sono.
 
Una modifica è ad esempio nel file <tt>group.new</tt>, dove Pat ha aggiunto l'utente <tt>root</tt> ad alcuni gruppi necessari al funzionamento dell'''automounting''. La maggior parte degli utenti conosceva già il problema ed aveva già tale modifica.
+
Normalmente modificare questi file non serve, potete lasciarli come sono.
Riga 352: Riga 333:
Oltre alle modifiche di questi file bisogna andare a vedere e controllare le modifiche effettuate ad UDEV nel file all'interno di <tt>/etc/udev</tt>. [[#Cambiamenti_in_UDEV|Successivamente]] vedremo meglio questo passo.
+
Oltre alle modifiche di questi file bisogna andare a vedere e controllare le modifiche effettuate ad UDEV nel file all'interno di <tt>/etc/udev</tt>. Successivamente vedremo meglio questo passo.
Riga 439: Riga 420:
A volte al termine della procedura di riavvio non compare la shell, ma niente paura, basta premere invio per visualizzarla.
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.1 sul vostro computer''' e potete accertarvi che tutto sia ok
+
'''Ora avete la Slackware 12.2 sul vostro computer''' e potete accertarvi che tutto sia ok
== Consigli e problemi noti ==
== Consigli e problemi noti ==
Prima di riavviare accertatevi di aver "risolto" alcuni problemi noti di questa versione e della procedura di aggiornamento
+
Prima di riavviare accertatevi di aver "risolto" alcuni problemi noti di questa versione e della procedura di aggiornamento.
=== Problemi nell'aggiornare Xorg ===
+
=== Cambiamenti in UDEV ===
Nel seguire il secondo metodo di aggiornamento, ma è presumibile che possa succedere anche seguendo il primo metodo, è stato segnalato un problema con <tt>xorg</tt> relativo in particolare ai font, risolvibile installando nuovamente tutta la directory <tt>/x</tt>
+
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 <tt>/lib/udev/rules.d</tt> (nuova directory dove risiedono le regole di udev) e di <tt>/etc/udev/rules.d</tt>, 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 <tt>/lib/udev/rules.d</tt>, mentre le regole personali rimarranno in <tt>/etc/udev/rules.d</tt>. A questo proposito Pat ci suggerisce che non c’è nessuna ragione per cambiare le regole in <tt>/lib/udev/rules.d</tt> (se vi è questo bisogno c’è un errore a monte) e se vogliamo sovrascrivere un file, basta crearne uno con lo stesso nome sotto <tt>/etc/udev/rules.d</tt>, un po’ come succede per HAL.
Quindi se riscontrate problemi nell'avviare o nell'usare Xorg dopo l'aggiornamento, date il comando
+
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.
<code>
+
I file più “importanti” da controllare, in quanto normalmente i più modificati, sono il file delle schede di rete e quello dei dispositivi ottici.
# installpkg x/*.tgz
 
</code>
 
Importante è usare <tt>installpkg</tt> e non <tt>upgradepkg --install-new</tt>
+
Soprattutto nel caso che si ha più di una scheda di rete va controllato bene il nuovo file.
Questo spiegherebbe anche il motivo per il quale Pat, nel file CHANGES_AND_HINTS.TXT, tra i file aggiunti ha segnalato <tt>x/*</tt>
+
Le regole sono sempre contenute in <tt>/etc/udev/rules.d/70-persistent-net.rules</tt> il quale è adesso però generato dal file <tt>/lib/udev/rules.d/75-persistent-net-generator.rules</tt>
In alternativa provare tramite pkgtool->setup a rieseguire gli script
+
Stesso discorso per i dispositivi ottici, le regole adesso si trovano nel file <tt>/etc/udev/rules.d/70-persistent-cd.rules</tt> a sua volta generato da </tt>/lib/udev/rules.d/75-cd-aliases-generator.rules</tt>.
* 04.mkfontdir
 
* 05.fontdir
 
  +
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.
=== Console in UTF8 ===
+
=== Cambiamenti di HAL ===
Del problema della console in UTF8 ne abbiamo parlato per la configurazione di LILO.
+
HAL ormai non è una novità per gli utenti Slackware, ma Pat ci tiene a precisare alcune cose
La soluzione è usare UTF8 come LANG, e se si riscontrano problemi aggiungere la riga
+
1. Gli utenti per avere il permesso di montare le periferiche removibili devono essere nel gruppo <tt>plugdev</tt>, e se devono eseguire lo shutdown ed il reboot via HAL è raccomandato inserire tali utenti anche nel gruppo <tt>power</tt>.
<code>
 
append = "vt.default_utf8=0"
 
</code>
 
al file <tt>lilo.conf</tt> e tornare al proprio sistema di codifica. Per esempio <tt>it_IT@euro</tt>
 
Naturalmente se avete il sistema in UTF8 e non avete software che "soffrono" di questo problema, non avete bisogno di quel comando.
+
2. HAL tiene conto delle impostazioni in <tt>/etc/fstab</tt> se queste sono presenti. Quindi bisogna stare attenti a modificare il file <tt>/etc/fstab</tt> per le periferiche che vogliamo gestire tramite HAL. Per esempio se <tt>/etc/fstab</tt> 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 <tt>.fdi</tt>, questi devono essere posizionati in <tt>/etc/hal</tt> e non in <tt>/usr/share/hal/</tt> e bisogna dargli lo stesso nome di quelli presenti in <tt>/usr/share/hal/</tt>.
  +
Per esempio per modificare il file <tt>/usr/share/hal/fdi/policy/10osvendor/10-ntfs-3g-policy.fdi</tt>, che contiene le opzioni di default per il montaggio dei dispositivi con ntfs-3g, bisogna creare un file <tt>/etc/hal/fdi/policy/10osvendor/10-ntfs-3g-policy.fdi</tt> con le opzioni che desideriamo
=== HPLIP e CUPS ===
+
==== Parted come dipendenza di HAL ====
Diverso il discorso per HPLIP e CUPS. Infatti ''hp-toolbox'' non lavora se la variabile <tt>LC_ALL</tt> non è settata a UTF8.
+
Come recita il ChangeLog dell’11 Settembre 2008
Quindi se non utilizzate un sistema UTF8 fate partire ''hp-toolbox'' in questo modo
 
<code>
 
LC_ALL=$LANG.UTF8 hp-toolbox
 
</code>
 
Naturalmente il vostro utente deve far parte del gruppo <tt>lp</tt>
+
l/parted-1.8.8-i486-1.tgz: Moved from /extra (this is now a HAL dependency).
Inoltre adesso HPLIP non necessita più del demone all'avvio, quindi lo script <tt>/etc/rc.d/rc.hplip</tt> può essere rimosso
+
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 ===
=== XFCE ===
+
Con il passaggio al kernel della serie 2.6.27 alcune unità che in precedenza erano considerate come <tt>/dev/hd?</tt> potrebbero ora essere viste come <tt>/dev/sd?</tt>, quindi bisogna essere preparati per questa possibilità, per esempio configurando LILO e fstab con UUID o LABEL.
  +
Per vedere come configurare fstab e lilo, rimando alle voci delle man pages, o ai documenti che si trovano in rete.
Il terminale di XFCE ed altre applicazioni XFCE, possono risultare molto lente se è abilitato il ''composite'' in Xorg. Quindi anche se non si usa esplicitamente il ''composite'' ma si ha il supporto attivato in xorg, cioè le righe:
+
Per fstab è presente [[Configurare_fstab|una guida]] in questo wiki.
<code>
 
Section "Extensions"
 
Option "Composite" "Enable"
 
EndSection
 
</code>
 
si posso avere tali problemi.
 
La soluzione consiste, o nel disabilitare il composite, cioè togliere quelle righe di cui sopra, o settare, prima di avviare X, la variabile <tt>XLIB_SKIP_ARGB_VISUALS</tt> ad 1, con il comando
 
<code>
+
Se capitassimo in una simile situazione e non abbiamo modificato LILO si può passare il parametro giusto al ''boot''.
export XLIB_SKIP_ARGB_VISUALS=1
+
Per esempio se avevamo in <tt>lilo.conf</tt> una voce tipo
</code>
+
root = /dev/hda1
  +
basterà, al ''boot'', passare a LILO il parametro <tt>root=/dev/sda1</tt> dopo il nome dell'immagine da avviare.
Potete mettere questo comando nel <tt>profile</tt>, in <tt>xinitrc</tt>, insomma dove volete, ma '''prima dell'avvio di X'''
+
In una situazione di ''default'' di Slackware, al boot bisogna premere TAB e inserire la voce dopo
  +
boot: Linux
  +
che quindi diventerà
  +
boot: Linux root=/dev/sda1
  +
Naturalmente ricordarsi di modificare la voce corrispondente in <tt>lilo.conf</tt> una volta avviato il sistema e fatto login
=== Cambiamenti in UDEV ===
 
UDEV è stato aggiornato in modo evidente per cercare di '''allinearlo alle altre distribuzioni''', quindi non dimenticatevi di controllare i file *.new all'interno di <tt>/etc/udev</tt> e di controllare ad ogni aggiornamento le avvertenze, in modo da non avere problemi.
+
Questo cambiamento non si verifica in ogni sistema, ma potrebbe avvenire su macchine che hanno utilizzato ''libata'' con <tt>hd?=noprobe</tt>, ma non solo, in quanto CONFIG_PATA_LEGACY (libata, /dev/sd?) è ora di default per i controller PATA che richiedono un driver generico.
I file più "importanti" da controllare, in quanto normalmente i più modificati, sono il file delle schede di rete e quello dei dispositivi ottici.
+
Per sapere in anticipo come viene visto il device, si può fare il boot con un CD/DVD di Slackware 12.2 e vedere con il comando
  +
# fdisk -l
  +
come viene "visto" il ''device''.
Soprattutto nel caso che si ha '''più di una scheda di rete''' va controllato bene il nuovo file.
+
Tutto questo con i kernel standard di Slackware (per avviare e configurare il sistema la prima volta consiglio l'utilizzo del kernel Huge), se utilizziamo un kernel compilato da noi sappiamo già come vengono viste le periferiche ;-)
Le regole che prima erano contenute nel file <tt>75-network-devices.rules</tt> adesso sono in <tt>'''70-persistent-net.rules'''</tt> il quale è generato dal file <tt>75-persistent-net-generator.rules</tt>
+
=== Partizioni criptate e tastiere USB ===
Stesso discorso per i dispositivi ottici, le regole adesso si trovano nel file <tt>70-persistent-cd.rules</tt> a sua volta generato da <tt>75-cd-aliases-generator.rules</tt>.
+
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 <tt>uhci-hcd</tt> e <tt>usbhid<tt>/ nell’immagine initrd
Se avete ancora i vecchi file, <tt>75-optical-devices.rules</tt> e <tt>75-network-devices.rules</tt>, ricordatevi di cancellarli dopo aver modificato i nuovi file, in quanto vanno in conflitto con gli stessi.
+
Se si sta utilizzando una tastiera non-US, si può utilizzare il parametro “-l” del comando <tt>mkinitrd</tt> al fine di aggiungere il supporto per questo tipo di tastiera nel file d’immagine initrd.
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 stesse, se sapete come fare.
+
=== Aggiunta dei driver Synaptics e problemi noti ===
  +
I driver Synaptics sono entrati a far parte di Xorg con il nome <tt>xf86-input-synaptics</tt> 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 <tt>xf86-input-synaptics</tt> 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
=== Cambiamenti nel caricamento dei moduli ===
+
#options psmouse proto=imps
Ci sono vari cambiamenti in <tt>'''/etc/rc.d/rc.modules'''</tt>.
+
Dal prossimo riavvio il modulo psmouse sarà caricato senza opzioni. Per ricaricarlo senza riavviare basta eseguire da root questi due comandi
Uno di questi è il non caricamento del modulo ''pcspkr'' e dei commenti sui vari moduli ACPI (anche se molti di questi dovrebbeero essere automaticamente caricati nel ''kernel 2.6.24.x'' se necessario).
+
# modprobe -r psmouse
  +
# modprobe psmouse
''Do per scontato che il lettore sappia cosa vuole dire aver commentato un comando in uno script bash :-)''
+
=== Errori di compilazione ===
Quindi attenzione a modificare correttamente questi file in base alle proprie esigenze.
+
Se durante la compilazione di alcuni programmi si riscontrano errori come questi
Se i cambiamenti non sono rari, Pat consiglia di creare uno script chiamato <tt>rc.modules.local</tt>.
+
/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'
Ricordo che la sequenza di caricamento dei moduli prevede che il primo file ad essere "cercato" sia proprio <tt>'''/etc/rc.d/rc.modules.local'''</tt>, il quale non sarà sovrascritto da futuri aggiornamenti. Quindi se volete un file personalizzato per i vostri moduli create un file con questo nome.
+
vedere http://patchwork.ozlabs.org/patch/316/ per informazioni e soluzione.
Nella Slackware 12.1 la versione dei '''module-init-tools''' rispetta i moduli blacklistati in <tt>/etc/modprobe.d/blacklist</tt>, anche se ci sono degli alias ad essi; quindi ''pcspkg'' ed altri moduli non dovrebbero essere più caricato automaticamente contro le richieste di <tt>/etc/modprobe.d/blacklist</tt>.
+
=== Uso del Kernel ''generic'' ===
Il '''modulo del mouse''' non è più blacklistato di default, e viene caricato con il protocollo ''imps'' da <tt>/etc/modprobe.d/psmouse</tt>. Quindi se si necessita di altro protocollo o della sua disabilitazione va modificato il file <tt>/etc/modprobe.d/psmouse</tt>
+
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 [[Slackware_Linux_initrd_HOWTO|initrd]].
Inoltre il file <tt>'''/etc/modprobe.d/blacklist'''</tt> è stato cambiato. Quindi bisogna rinominare il file <tt>/etc/modprobe.d/blacklist.new</tt> in <tt>/etc/modprobe.d/blacklist</tt> ed effettuare le modifiche necessarie.
+
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.
 
Siccome ogni file presente nella directory <tt>/etc/modprobe.d/</tt> viene processato, disabilitando ogni modulo trovato, bisogna fare attenzione a non lasciare qualche file di backup nella stessa directory, altrimenti potremmo ritrovarci con moduli non caricati senza volerlo.
 
 
 
=== Uso del Kernel generici ===
 
 
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 [[Slackware_Linux_initrd_HOWTO|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.
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 <tt>/extra/linux-2.6.24.5-nosmp-sdk/</tt>.
+
Se invece si vuole comunque utilizzare un kernel non SMP tutte le info, le patch e gli ''header'' si trovano nella directory <tt>/extra/linux-2.6.27.7-nosmp-sdk/</tt>.
Utilizzando un kernel huge si possono riscontrare errori come questo
+
Utilizzando un ''kernel huge'' si possono riscontrare errori come questo
<code>
<code>
kobject_add failed for uhci_hcd with -EEXIST, don't try to register.
kobject_add failed for uhci_hcd with -EEXIST, don't try to register.
</code>
</code>
Questo succede perché i rispettivi driver sono compilati staticamente nei kernel huge, ma ''udev'' cerca ugualmente di caricarli.
+
Questo succede perché i rispettivi driver sono compilati staticamente nei ''kernel huge'', ma ''udev'' cerca ugualmente di caricarli.
Si possono ignorare tranqullamente questi errori o mettere in blacklist (vedi sopra) 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.
+
Si possono ignorare tranquillamente questi errori o mettere in blacklist (<tt>/etc/modprobe.d/blacklist</tt>) 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 ===
=== Kernel con CONFIG_SCSI_MULTI_LUN ===
+
Se sorgono errori di permessi quando si prova a masterizzare un cdrom o un dvd come questo:
  +
<code>
  +
/usr/bin/cdrecord: Operation not permitted. Cannot send SCSI cmd via ioctl
  +
</code>
  +
allora probabilmente c'è bisogno di aggiungere il ''suid root'' ai programmi <tt>cdrecord</tt> e <tt>cdrdao</tt>.
  +
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.
Nella nuova versione della Slacware il kernel è stato compilato con l'opzione CONFIG_SCSI_MULTI_LUN=y così che non dovrebbe essere necessario il lo script <tt>/etc/rc.d/rc.scanluns</tt>, il quale andrebbe rimosso se presente. Se questa configurazione causa problemi con le periferiche SCSI si può aggiungere al kernel, tramite la modifica del file lilo.conf, l'opzione
+
Un esempio possibile potrebbe essere:
<code>
<code>
append = "max_luns=1"
+
chown root:cdrom /usr/bin/cdrecord /usr/bin/cdrdao
  +
chmod 4750 /usr/bin/cdrecord /usr/bin/cdrdao
</code>
</code>
+
Se non si vuole che tutti i membri del gruppo <tt>cdrom</tt> possano usare questi due programmi, come alternativa si può anche creare un gruppo apposito (come ad esempio <tt>burning</tt>, consigliato anche da k3b) ed aggiungere a quello gli utenti che possono masterizzare e quindi utilizzare <tt>cdrecord</tt> e <tt>cdrdao</tt>.
=== Estensioni PHP ===
 
 
Nella nuova Slackware tutte le estensioni PHP sono abilitate di default. Quindi a differenza delle precedenti versioni occorre disabilitarle se non le vogliamo.
 
Naturalmente se non si è sostituito il vecchio <tt>/etc/httpd/php.ini</tt> con il nuovo file <tt<php.ini.new</tt> non occorre fare niente. Tutto rimarrà come lo avevamo impostato.
 
Riga 560: Riga 549:
</code>
</code>
  +
=== Stampanti multifunzione HP ===
  +
Per far funzionare le stampanti multifunzione HP (stampante/scanner) il vostro utente deve essere nel gruppo "lp", in modo da far funzionare correttamente <tt>hp-toolbox</tt>. Anche per far funzionare lo scanner devi essere nel gruppo "lp", questo perché le regole UDEV per HPLIP impostano ad "lp" il gruppo del device.
  +
  +
=== Rallentamenti con Xfce Terminal ===
  +
  +
Se notate che il terminale di Xfce, e forse alcune altre applicazioni, vengono visualizzate molto lentamente in X, allora si dovrebbe provare a disattivare esplicitamente le estensionei per il Composite in <tt>/etc/X11/xorg.conf</tt>, o impostare <tt>XLIB_SKIP_ARGB_VISUALS = 1</tt> in uno dei file di iniziliazzazione della vostra sessione prima di far partire X
  +
Potreste usare <tt>~/.profile</tt>, <tt>./.bash_profile</tt>, esportarla da linea di comando o magari creare un apposito <tt>~/.xinitrc</tt> con dentro la variabile. Dipende dal vostro ambiente e dal runlevel con cui partite.
  +
  +
Per maggiori informazioni su questo bug vedere h
  +
ttp://bugzilla.xfce.org/show_bug.cgi?id=2792
  +
  +
  +
=== Stampanti con driver Gutenprint ===
  +
  +
Dopo aver aggiornato il pacchetto <tt>gutenprint</tt>, ogni stampante che utilizza con CUPS i driver <tt>gutenprint</tt> va reinstallata.
  +
Questo è un problema che chi segue il ramo current ed utilizza i driver <tt>gutenprint</tt> conosce bene.
=== Altri consigli e problemi noti ===
=== Altri consigli e problemi noti ===
Potete leggere una descrizione di questi e di altri "problemi noti" nel file
+
Potete leggere una descrizione di questi e di altri "problemi noti" nel file
[ftp://ftp.slackware.com/pub/slackware/slackware-current/CHANGES_AND_HINTS.TXT CHANGES_AND_HINTS.TXT]
+
[ftp://ftp.slackware.com/pub/slackware/slackware-12.2/CHANGES_AND_HINTS.TXT CHANGES_AND_HINTS.TXT]
== Riavviare il sistema ==
== Riavviare il sistema ==
A questo punto possiamo riavviare e se tutto è andato per il verso giusto "goderci" la nuova Slackware 12.1 :-)
+
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 ==
== 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.1
+
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 [http://rlworkman.net/howtos/glibc-recovery ripristinare le glibc], solitamente il punto critico del sistema, e successivamente reinstallare l'intero sistema con una delle procedure sopra descritte.
+
Per fare questo bisogna per prima cosa [http://rlworkman.net/howtos/glibc-recovery 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.
+
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???
E se non si è fatto il backup? Come non avete fatto il backup???
Riga 594: Riga 599:
== Ringraziamenti ==
== Ringraziamenti ==
Ringrazio gli utenti del forum e non che mi hanno dato una mano o che mi hanno semplicemente incoraggiato, in particolare danix85, Marta, shark1500, slucky e Webbino per l'aiuto con la traduzione ed i refusi, e soprattutto d4z_c0nf che ha testato il tutto trovando alcuni bug :-)
+
Ringrazio gli utenti del forum per il feedback, in particolare Shark1500 per l'aiuto nella traduzione di alcune sezioni e per i consigli, e ZeroUno per i consigli sulla sezione del cambiamento del nome del device.
Naturalmente ringrazio Patrick Volkerding e tutto il team Slackware per la nuova versione.
 
  +
Naturalmente ringrazio Patrick Volkerding e tutto il team Slackware per la nuova versione.
== Voci correlate ==
== Voci correlate ==
* [[Slackware_12.0_to_12.1_Upgrade_HOWTO|Traduzione del file UPGRADE.TXT]]
 
* [[Current_for_Dummies|Current for Dummies]]
 
* [[Aggiornare_Slackware_con_SWARET_e_SLAPT-GET|Spiegazione di Swaret e Slapt-Get]]
* [[Aggiornare_Slackware_con_SWARET_e_SLAPT-GET|Spiegazione di Swaret e Slapt-Get]]
* [[Creare_CD/DVD_ISO_Slackware|Creare CD o DVD della Slackware]]
* [[Creare_CD/DVD_ISO_Slackware|Creare CD o DVD della Slackware]]
* [[Slackware_Linux_initrd_HOWTO|initrd]]
* [[Slackware_Linux_initrd_HOWTO|initrd]]
+
* [[Slackware_12.1_to_12.2_Upgrade_HOWTO | Traduzione di UPGRADE.TXT dalla 12.1 alla 12.2]]
Script per backup
Script per backup
* [[Backup_by_Tongiu|Backup by Tongiu]]
* [[Backup_by_Tongiu|Backup by Tongiu]]
* [[Organizzare un backup completo]]
* [[Organizzare un backup completo]]
 
== Collegamenti Esterni ==
== Collegamenti Esterni ==
* (en) [ftp://ftp.slackware.com/pub/slackware/slackware-12.1/UPGRADE.TXT Il file UPGRADE.TXT della 12.1]
+
* (en) [ftp://ftp.slackware.com/pub/slackware/slackware-12.2/UPGRADE.TXT Il file UPGRADE.TXT della 12.2]
* (en) [ftp://ftp.slackware.com/pub/slackware/slackware-current/CHANGES_AND_HINTS.TXT CHANGES_AND_HINTS.TXT]
+
* (en) [ftp://ftp.slackware.com/pub/slackware/slackware-12.2/CHANGES_AND_HINTS.TXT CHANGES_AND_HINTS.TXT]
  +
* (en) [http://www.linuxquestions.org/questions/slackware-14/howto-upgrade-to-slackware-12.2-690454/ HowTo: Upgrade to Slackware 12.2]
* [http://www.slackware.com/getslack Scelta del mirror]
* [http://www.slackware.com/getslack Scelta del mirror]
* [http://www.slacky.eu/index.php?option=com_content&task=view&id=21&Itemid=42 Slackware for Dummies]
* [http://www.slacky.eu/index.php?option=com_content&task=view&id=21&Itemid=42 Slackware for Dummies]
+
* [http://www.slackers.it/current-for-dummies Current for Dummies]
 
----
 
--[[Utente:Conraid|Conraid]]
--[[Utente:Conraid|Conraid]]

Versione attuale delle 13:23, 22 apr 2011


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.

Questo documento non è altro che una spiegazione (in alcuni casi addirittura una replica) di ciò che potete trovare nei due documenti presenti all'interno del CD/DVD, come UPGRADE.TXT (in questo wiki trovate anche una sua traduzione, CHANGES_AND_HINTS.TXT, Slackware-HOWTO ed ANNOUNCE.12_2

Indice

[modifica] Disclaimer

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


[modifica] 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


[modifica] 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.


[modifica] 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 :-)


[modifica] 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.


[modifica] 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.

Nota: Come dice lo stesso Pat questo non è strettamente necessario, e ci sono state segnalazioni di successo di aggiornamenti effettuati da remoto su macchine ancora in modalità multiutente. Tuttavia, essendo più facile sbagliare in modalità multiutente e specialmente se si sta pensando di aggiornare un computer da remoto in modalità multiutente, si consiglia di clonare la macchina in locale in modo da fare una prova per scoprire eventuali problemi e trovare le soluzioni.


[modifica] 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


[modifica] 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.


[modifica] 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 ;-)


[modifica] 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.


[modifica] 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'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 sostiture 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 o che non vi servono.


Dopodiché procediamo con l'aggiornamento completo della Slackware, aggiornando comunque solamente i pacchetti che abbiamo nel sistema dando il comando:

# upgradepkg */*.tgz


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



[modifica] 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


[modifica] 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


[modifica] 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" = "./rc.d/rc.local.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/rc.d/rc.local.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/rc.d/rc.local.new
  • /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.


[modifica] 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.


[modifica] 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


[modifica] 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


[modifica] 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 :-)


[modifica] 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.


[modifica] 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


[modifica] Consigli e problemi noti

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


[modifica] 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.

[modifica] 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

[modifica] 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

[modifica] Cambiamento nome device degli Hard Disk con i nuovi kernel

Con il passaggio al kernel della serie 2.6.27 alcune unità che in precedenza erano considerate come /dev/hd? potrebbero ora essere viste come /dev/sd?, quindi bisogna essere preparati per questa possibilità, per esempio configurando LILO e fstab con UUID o LABEL. Per vedere come configurare fstab e lilo, rimando alle voci delle man pages, o ai documenti che si trovano in rete.

Per fstab è presente una guida in questo wiki.


Se capitassimo in una simile situazione e non abbiamo modificato LILO si può passare il parametro giusto al boot. Per esempio se avevamo in lilo.conf una voce tipo

root = /dev/hda1

basterà, al boot, passare a LILO il parametro root=/dev/sda1 dopo il nome dell'immagine da avviare.

In una situazione di default di Slackware, al boot bisogna premere TAB e inserire la voce dopo

boot: Linux

che quindi diventerà

boot: Linux root=/dev/sda1

Naturalmente ricordarsi di modificare la voce corrispondente in lilo.conf una volta avviato il sistema e fatto login


Questo cambiamento non si verifica in ogni sistema, ma potrebbe avvenire su macchine che hanno utilizzato libata con hd?=noprobe, ma non solo, in quanto CONFIG_PATA_LEGACY (libata, /dev/sd?) è ora di default per i controller PATA che richiedono un driver generico.

Per sapere in anticipo come viene visto il device, si può fare il boot con un CD/DVD di Slackware 12.2 e vedere con il comando

# fdisk -l

come viene "visto" il device.

Tutto questo con i kernel standard di Slackware (per avviare e configurare il sistema la prima volta consiglio l'utilizzo del kernel Huge), se utilizziamo un kernel compilato da noi sappiamo già come vengono viste le periferiche ;-)

[modifica] 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.

[modifica] 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

[modifica] 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.

[modifica] 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.

[modifica] 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.


[modifica] 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"

[modifica] Stampanti multifunzione HP

Per far funzionare le stampanti multifunzione HP (stampante/scanner) il vostro utente deve essere nel gruppo "lp", in modo da far funzionare correttamente hp-toolbox. Anche per far funzionare lo scanner devi essere nel gruppo "lp", questo perché le regole UDEV per HPLIP impostano ad "lp" il gruppo del device.

[modifica] Rallentamenti con Xfce Terminal

Se notate che il terminale di Xfce, e forse alcune altre applicazioni, vengono visualizzate molto lentamente in X, allora si dovrebbe provare a disattivare esplicitamente le estensionei per il Composite in /etc/X11/xorg.conf, o impostare XLIB_SKIP_ARGB_VISUALS = 1 in uno dei file di iniziliazzazione della vostra sessione prima di far partire X Potreste usare ~/.profile, ./.bash_profile, esportarla da linea di comando o magari creare un apposito ~/.xinitrc con dentro la variabile. Dipende dal vostro ambiente e dal runlevel con cui partite.

Per maggiori informazioni su questo bug vedere h ttp://bugzilla.xfce.org/show_bug.cgi?id=2792


[modifica] Stampanti con driver Gutenprint

Dopo aver aggiornato il pacchetto gutenprint, ogni stampante che utilizza con CUPS i driver gutenprint va reinstallata. Questo è un problema che chi segue il ramo current ed utilizza i driver gutenprint conosce bene.

[modifica] Altri consigli e problemi noti

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


[modifica] Riavviare il sistema

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


[modifica] 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 ;-)


[modifica] 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.


[modifica] Ringraziamenti

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

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

[modifica] Voci correlate

Script per backup

[modifica] Collegamenti Esterni

--Conraid

Strumenti personali
Namespace

Varianti