Upgrade da Etch a Lenny: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
 
(25 intermediate revisions by the same user not shown)
Line 5: Line 5:


* Fare una copia di comodo locale della etc:
* Fare una copia di comodo locale della etc:
  sudo tar cvf /files/etc.tar /etc
  sudo mkdir -p /files; sudo tar cvf /files/etc.tar /etc


== Verifica stato APT==
== Preconfigurazione APT==
* Aggiornare all'ultimo rilascio di etch:
sudo apt-get update && sudo apt-get dist-upgrade
 
===Pulizia Pacchetti===
* Rimuovere i pacchetti non necessari
* Rimuovere i pacchetti non necessari


Line 30: Line 34:
</pre>
</pre>


* Disabilitare i pinning APT
===Disabilitazione Pinning APT===
Svuotare, se non si usano backports particolari, il file /etc/apt/preferences
Svuotare, se non si usano backports particolari, il file /etc/apt/preferences


Line 38: Line 42:
  sudo touch /etc/apt/preferences
  sudo touch /etc/apt/preferences


===Verifica Stato Pacchetti===
* Verificare se ci sono pacchetti con problemi di installazione:
* Verificare se ci sono pacchetti con problemi di installazione:
  dpkg --audit
  dpkg --audit
Line 45: Line 50:


* Per apt-get:
* Per apt-get:
  sudo dpkg --get-selections | grep holdù
  sudo dpkg --get-selections | grep hold


* Toglierli dallo stato HOLD con
* Toglierli dallo stato HOLD con
  aptitude unhold package_name
  sudo aptitude unhold package_name


* Togliere i pacchetti marcati come AUTO che invece vanno eliminati:
* Togliere i pacchetti marcati come AUTO che invece vanno eliminati:
  aptitude unmarkauto openoffice.org vim
  sudo aptitude unmarkauto vim


* Sostituire "etch" con "'''lenny'''" in  
* Sostituire "etch" con "'''lenny'''" in  
  sudoedit /etc/apt/sources.list
  sudoedit /etc/apt/sources.list
===Verifica Dimensione Cache APT===
* Impostare un valore alto per la cache APT se serve:
cat /etc/apt/apt.conf
echo 'APT::Cache-Limit "12500000";' | sudo tee -a /etc/apt/apt.conf >/dev/null
Altrimenti RIMUOVERE questo limite.
sudo rm /etc/apt/apt.conf ; sudo touch /etc/apt/apt.conf
===Impostazione Proxy APT===
Se si prevede di aggiornare più macchine, impostare l'utilizzo del proxy per apt:
echo "Acquire::http::Proxy \"http://proxy.$(cat /etc/resolv.conf | grep search | cut -f 2 --delim=' '):3128\";"


==Aggiornamento==
==Aggiornamento==
Line 68: Line 89:
*Installare/Aggiornare aptitude:
*Installare/Aggiornare aptitude:
  sudo aptitude install aptitude
  sudo aptitude install aptitude
Se per caso si ottiene l'errore:
<pre>
A non-dpkg owned copy of the C library was found in /lib/tls.
It is not safe to upgrade the C library in this situation;
please remove that copy of the C library and try again.
dpkg: error processing /var/cache/apt/archives/libc6_2.7-18lenny2_i386.deb (--unpack):
subprocess pre-installation script returned error exit status 1
Errors were encountered while processing:
/var/cache/apt/archives/libc6_2.7-18lenny2_i386.deb
</pre>
Provare a cancellare i files incriminati:
sudo mkdir -p /files/old/lib/tls; sudo mv ld-2.3.2.so /files/old/lib/tls
sudo mkdir -p /files/old/lib/tls; sudo mv libc-2.3.2.so /files/old/lib/tls
Se non fosse sufficiente, vedere [http://forums.debian.net/viewtopic.php?f=17&t=47620#p272282 Debian User Forums • View topic - Problem upgrading to lenny (SOLVED)] che rimanda a quanto contenuto nel file
cat /var/lib/dpkg/info/libc6.preinst


*Installare/Aggiornare apt:
*Installare/Aggiornare apt:
Line 81: Line 121:


* Installare il nuovo kernel, ad esempio:
* Installare il nuovo kernel, ad esempio:
  sudo apt-get install linux-image-2.6-686
  sudo aptitude install linux-image-2.6-686


*Sistemare le dipendenze:
*Sistemare le dipendenze:
Line 96: Line 136:
  sudo aptitude dist-upgrade
  sudo aptitude dist-upgrade


* Riavviare
==Upgrade Pacchetti Specifici==
==Verifiche==
 
===Macchine con hard disk SCSI===
'''IMPORTANTE: MACCHINE CON HARD DISK SCSI''': nel caso di hdd scsi, [http://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.en.html#boot-timing è necessario impostare un ritardo nel mount della root], altrimenti il boot fallisce, impostando il parametro di avvio del kernel
rootdelay=x
 
Quindi:
sudoedit /boot/grub/menu.lst
 
# kopt=root=/dev/md0 ro rootdelay=30
 
sudo update-grub
 
===dhcp3-server===
Se esiste un server DHCP installato, ma disabilitato, esso viene riabilitato.
 
Fermarlo:
  sudo invoke-rc.d dhcp3-server stop
 
Disabilitarlo:
sudo update-rc.d -f dhcp3-server remove


===sysctl===
===sysctl===
Se la macchina fa routing, verificare che ci sia:
Se la macchina fa routing, verificare che ci sia in:
  sudoedit /etc/sysctl.conf
  sudoedit /etc/sysctl.conf


il parametro:
net.ipv4.ip_forward=1
Attivarlo:
  sudo sysctl -p
  sudo sysctl -p
===Merge delle configurazioni sovrascritte===
 
===Isdnutils===
L'upgrade di questo pacchetto comporta l'attivazione del servizio.
 
Fermarlo, altrimenti si rimarrà connessiin ISDN
 
sudo invoke-rc.d isdnutils stop
 
Disabilitare l'avvio in automatico:
sudo update-rc.d -f isdnutils remove
 
===Cups===
 
* Impostazione autenticazione stampanti
Occorre forzare a "none" la richiesta di autorizzazione per ognic oda IPP dichiarata:
 
sudoedit /etc/cups/printers.conf
 
<Printer ...>
AuthInfoRequired none
...
</Printer>
 
* Se la riavvio, in samba nons i vedono più le stampanti, controllare il log di CUPS:
tail /var/log/cups/error_log
Unsupported character set "iso-8859-1"
 
tail /var/log/cups/access_log
POST / HTTP/1.1" 200 134 CUPS-Get-Classes client-error-bad-request
 
Aggiungere quindi
sudoedit /etc/samba/smb.conf
 
[global]
    display charset = UTF8
 
* http://ubuntuforums.org/showpost.php?p=5641530&postcount=4
* http://daniel.mateos.cc/articles/2008/05/15/sambacups-charset-problems-in-debian-etch
 
===Sasl===
Fare il merge della configurazione sovrascritta.
 
Verificare se sasl autentica correttamente per il servizio SMTPD
sudo -u postfix testsaslauthd -s smtpd -f /var/spool/postfix/var/run/saslauthd/mux -u username -p password
 
0: OK "Success."
 
 
Verificare se l'autenticazioen SMTP funziona
sudo apt-get install swaks
 
swaks -to gabriele@rvmgroup.it -s ipserversmtp -au username -ap password
 
Se non funziona:
 
* Verificare che in
sudoedit /etc/default/saslauthd
ci sia l'opzione
  OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
 
* Fare l'override:
dpkg-statoverride --add root sasl 710 /var/spool/postfix/var/run/saslauthd
 
* Aggiungere postfix al gruppo sasl
sudo  adduser postfix sasl
 
* Killare tutte le istanze di sasl
sudo killall saslauthd; sudo killall saslauthd; sudo killall saslauthd
 
* Riavviare SASL
sudo invoke-rc.d saslauthd start
 
* Verificare che il socket sasl sia nella directory giusta:
sudo ls -al /var/spool/postfix/var/run/saslauthd/
<pre>
total 940
drwx--x--- 2 root sasl  4096 Jul 15 15:57 .
drwxr-xr-x 3 root root  4096 Jan  4  2006 ..
-rw------- 1 root root      0 Jul 15 15:57 cache.flock
-rw------- 1 root root 945152 Jul 15 15:57 cache.mmap
srwxrwxrwx 1 root root      0 Jul 15 15:57 mux
-rw------- 1 root root      0 Jul 15 15:57 mux.accept
-rw------- 1 root root      6 Jul 15 15:57 saslauthd.pid
</pre>
 
*Verificare che smtpd abbia i flag corretti in master.cf
cat /etc/postfix/master.cf | grep ^smtp
smtp      inet  n      -      y      -      -      smtpd
 
* Controllare
sudoedit /etc/postfix/sasl/smtpd.conf
 
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
 
* Ritestare, magari facendo il debug di SASL
sudo killall saslauthd; sudo killall saslauthd; sudo killall saslauthd
sudo saslauthd -c -m /var/spool/postfix/var/run/saslauthd -a pam -d
 
<pre>
saslauthd[5420] :main            : num_procs  : 5
saslauthd[5420] :main            : mech_option: NULL
saslauthd[5420] :main            : run_path  : /var/spool/postfix/var/run/saslauthd
saslauthd[5420] :main            : auth_mech  : pam
saslauthd[5420] :cache_alloc_mm  : mmaped shared memory segment on file: /var/spool/postfix/var/run/saslauthd/cache.mmap
...
saslauthd[5420] :cache_init_lock : flock file opened at /var/spool/postfix/var/run/saslauthd/cache.flock
saslauthd[5420] :ipc_init        : using accept lock file: /var/spool/postfix/var/run/saslauthd/mux.accept
saslauthd[5420] :detach_tty      : master pid is: 0
saslauthd[5420] :ipc_init        : listening on socket: /var/spool/postfix/var/run/saslauthd/mux
...
saslauthd[5424] :do_auth        : auth success: [user=ufficio.spedizioni] [service=smtp] [realm=] [mech=pam]
saslauthd[5424] :do_request      : response: OK
saslauthd[5425] :rel_accept_lock : released accept lock
</pre>
 
==Merge delle configurazioni sovrascritte==
Usare lo script:
Usare lo script:


Line 116: Line 295:
</pre>
</pre>


/tmp/confronta /etc/nomefile
/tmp/confronta /etc/nomefile


==Operazioni finali==
==Operazioni finali==
Line 123: Line 302:
   
   
  sudo apt-get remove --purge package_name
  sudo apt-get remove --purge package_name
* Se non servono, rimuovere i seguenti pacchetti:
sudo apt-get remove --purge fam
sudo apt-get remove --purge portmap
sudo apt-get remove --purge avahi-daemon avahi-utils
sudo apt-get remove --purge dbus


* Rimuovere i pacchetti che non hanno dipendenze necessarie:
* Rimuovere i pacchetti che non hanno dipendenze necessarie:
sudo apt-get remove --purge $(deborphan)
<pre>
if [ -z "$(deborphan)" ]; \
  then \
      echo "Nothing to Remove"; \
  else \
    sudo apt-get remove --purge $(deborphan)
fi
</pre>
   
   
* Rimuovere le configurazione dei pacchetti disinstallati:
* Rimuovere le configurazione dei pacchetti disinstallati:
sudo dpkg --purge $(dpkg -l | grep ^rc | tr -s ' ' | cut -f 2 --delim=' ')
<pre>
if [ -z "$(dpkg -l | grep ^rc | tr -s ' ' | cut -f 2 --delim=' ')" ]; \
  then \
      echo "Nothing to Purge"; \
  else \
      sudo dpkg --purge $(dpkg -l | grep ^rc | tr -s ' ' | cut -f 2 --delim=' '); \
fi
</pre>
 
* Se non si desidera più utilizzare il proxy per APT, eliminarlo dalla configurazione:
sudo sed -i '/Acquire::http::Proxy/d' /etc/apt/apt.conf
 
==Riferimenti==
*[http://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.html Release Notes for Debian GNU/Linux 5.0 (lenny), Intel x86: Chapter 4. Upgrades from previous releases]

Latest revision as of 11:58, 14 June 2010

Vedere: Release Notes for Debian GNU/Linux 5.0 (lenny), Intel x86::Chapter 4. Upgrades from previous releases

Backup del Sistema

Come sempre ...

  • Fare una copia di comodo locale della etc:
sudo mkdir -p /files; sudo tar cvf /files/etc.tar /etc

Preconfigurazione APT

  • Aggiornare all'ultimo rilascio di etch:
sudo apt-get update && sudo apt-get dist-upgrade

Pulizia Pacchetti

  • Rimuovere i pacchetti non necessari
  • Rimuovere i pacchetti che non hanno dipendenze necessarie:
 
if [ -z "$(deborphan)" ]; \
  then \
      echo "Nothing to Remove"; \
  else \
     sudo apt-get remove --purge $(deborphan)
fi
  • Rimuovere le configurazione dei pacchetti disinstallati:
 
if [ -z "$(dpkg -l | grep ^rc | tr -s ' ' | cut -f 2 --delim=' ')" ]; \
  then \
      echo "Nothing to Purge"; \
  else \
      sudo dpkg --purge $(dpkg -l | grep ^rc | tr -s ' ' | cut -f 2 --delim=' '); \
fi

Disabilitazione Pinning APT

Svuotare, se non si usano backports particolari, il file /etc/apt/preferences

cat /etc/apt/preferences
sudo rm /etc/apt/preferences
sudo touch /etc/apt/preferences

Verifica Stato Pacchetti

  • Verificare se ci sono pacchetti con problemi di installazione:
dpkg --audit
  • Verificare se ci sono pacchetti in HOLD per aptitude:
sudo aptitude search "~ahold" | grep "^.h"
  • Per apt-get:
sudo dpkg --get-selections | grep hold
  • Toglierli dallo stato HOLD con
sudo aptitude unhold package_name
  • Togliere i pacchetti marcati come AUTO che invece vanno eliminati:
sudo aptitude unmarkauto vim
  • Sostituire "etch" con "lenny" in
sudoedit /etc/apt/sources.list

Verifica Dimensione Cache APT

  • Impostare un valore alto per la cache APT se serve:
cat /etc/apt/apt.conf
echo 'APT::Cache-Limit "12500000";' | sudo tee -a /etc/apt/apt.conf >/dev/null

Altrimenti RIMUOVERE questo limite.

sudo rm /etc/apt/apt.conf ; sudo touch /etc/apt/apt.conf


Impostazione Proxy APT

Se si prevede di aggiornare più macchine, impostare l'utilizzo del proxy per apt:

echo "Acquire::http::Proxy \"http://proxy.$(cat /etc/resolv.conf | grep search | cut -f 2 --delim=' '):3128\";"

Aggiornamento

  • Avviare la registrazione della sessione:
script -t 2>~/upgrade-lenny.time -a ~/upgrade-lenny.script
  • Aggiornare le nuove fonti APT:
sudo aptitude update

Aggiornamento di Aptitude

  • Installare/Aggiornare aptitude:
sudo aptitude install aptitude

Se per caso si ottiene l'errore:

A non-dpkg owned copy of the C library was found in /lib/tls.
It is not safe to upgrade the C library in this situation;
please remove that copy of the C library and try again.
dpkg: error processing /var/cache/apt/archives/libc6_2.7-18lenny2_i386.deb (--unpack):
 subprocess pre-installation script returned error exit status 1
Errors were encountered while processing:
 /var/cache/apt/archives/libc6_2.7-18lenny2_i386.deb

Provare a cancellare i files incriminati:

sudo mkdir -p /files/old/lib/tls; sudo mv ld-2.3.2.so /files/old/lib/tls
sudo mkdir -p /files/old/lib/tls; sudo mv libc-2.3.2.so /files/old/lib/tls

Se non fosse sufficiente, vedere Debian User Forums • View topic - Problem upgrading to lenny (SOLVED) che rimanda a quanto contenuto nel file

cat /var/lib/dpkg/info/libc6.preinst
  • Installare/Aggiornare apt:
sudo aptitude install apt
  • Aggiornare i puntatori del database aptitude:
sudo aptitude search "?false"

Aggiornamento del Kernel

  • Veriricare quel kernel è in uso:
dpkg -l "linux-image*" | grep ^ii
  • Installare il nuovo kernel, ad esempio:
sudo aptitude install linux-image-2.6-686
  • Sistemare le dipendenze:
sudo aptitude unmarkauto $(dpkg-query -W 'linux-image-2.6-*' | cut -f1)

Aggiornamento del sistema

  • Durante l'aggiornamento, accettare con Y la sovrascrittura dei files di configurazione, ed annotarne i nomi.
  • Aggiornare senza rimuovere:
sudo aptitude safe-upgrade
  • Aggiornare il resto del sistema:
sudo aptitude dist-upgrade

Upgrade Pacchetti Specifici

Macchine con hard disk SCSI

IMPORTANTE: MACCHINE CON HARD DISK SCSI: nel caso di hdd scsi, è necessario impostare un ritardo nel mount della root, altrimenti il boot fallisce, impostando il parametro di avvio del kernel

rootdelay=x

Quindi:

sudoedit /boot/grub/menu.lst
# kopt=root=/dev/md0 ro rootdelay=30
sudo update-grub

dhcp3-server

Se esiste un server DHCP installato, ma disabilitato, esso viene riabilitato.

Fermarlo:

 sudo invoke-rc.d dhcp3-server stop

Disabilitarlo:

sudo update-rc.d -f dhcp3-server remove

sysctl

Se la macchina fa routing, verificare che ci sia in:

sudoedit /etc/sysctl.conf

il parametro:

net.ipv4.ip_forward=1

Attivarlo:

sudo sysctl -p

Isdnutils

L'upgrade di questo pacchetto comporta l'attivazione del servizio.

Fermarlo, altrimenti si rimarrà connessiin ISDN

sudo invoke-rc.d isdnutils stop

Disabilitare l'avvio in automatico:

sudo update-rc.d -f isdnutils remove

Cups

  • Impostazione autenticazione stampanti

Occorre forzare a "none" la richiesta di autorizzazione per ognic oda IPP dichiarata:

sudoedit /etc/cups/printers.conf
<Printer ...>
AuthInfoRequired none
...
</Printer>
  • Se la riavvio, in samba nons i vedono più le stampanti, controllare il log di CUPS:
tail /var/log/cups/error_log

Unsupported character set "iso-8859-1"

tail /var/log/cups/access_log

POST / HTTP/1.1" 200 134 CUPS-Get-Classes client-error-bad-request

Aggiungere quindi

sudoedit /etc/samba/smb.conf

[global]

   display charset = UTF8

Sasl

Fare il merge della configurazione sovrascritta.

Verificare se sasl autentica correttamente per il servizio SMTPD

sudo -u postfix testsaslauthd -s smtpd -f /var/spool/postfix/var/run/saslauthd/mux -u username -p password 
0: OK "Success."


Verificare se l'autenticazioen SMTP funziona

sudo apt-get install swaks
swaks -to gabriele@rvmgroup.it -s ipserversmtp -au username -ap password

Se non funziona:

  • Verificare che in
sudoedit /etc/default/saslauthd 

ci sia l'opzione

  OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
  • Fare l'override:
dpkg-statoverride --add root sasl 710 /var/spool/postfix/var/run/saslauthd
  • Aggiungere postfix al gruppo sasl
sudo  adduser postfix sasl
  • Killare tutte le istanze di sasl
sudo killall saslauthd; sudo killall saslauthd; sudo killall saslauthd
  • Riavviare SASL
sudo invoke-rc.d saslauthd start
  • Verificare che il socket sasl sia nella directory giusta:
sudo ls -al /var/spool/postfix/var/run/saslauthd/
total 940
drwx--x--- 2 root sasl   4096 Jul 15 15:57 .
drwxr-xr-x 3 root root   4096 Jan  4  2006 ..
-rw------- 1 root root      0 Jul 15 15:57 cache.flock
-rw------- 1 root root 945152 Jul 15 15:57 cache.mmap
srwxrwxrwx 1 root root      0 Jul 15 15:57 mux
-rw------- 1 root root      0 Jul 15 15:57 mux.accept
-rw------- 1 root root      6 Jul 15 15:57 saslauthd.pid
  • Verificare che smtpd abbia i flag corretti in master.cf
cat /etc/postfix/master.cf | grep ^smtp
smtp      inet  n       -       y       -       -       smtpd
  • Controllare
sudoedit /etc/postfix/sasl/smtpd.conf
pwcheck_method: saslauthd 
mech_list: PLAIN LOGIN
  • Ritestare, magari facendo il debug di SASL
sudo killall saslauthd; sudo killall saslauthd; sudo killall saslauthd
sudo saslauthd -c -m /var/spool/postfix/var/run/saslauthd -a pam -d
saslauthd[5420] :main            : num_procs  : 5
saslauthd[5420] :main            : mech_option: NULL
saslauthd[5420] :main            : run_path   : /var/spool/postfix/var/run/saslauthd
saslauthd[5420] :main            : auth_mech  : pam
saslauthd[5420] :cache_alloc_mm  : mmaped shared memory segment on file: /var/spool/postfix/var/run/saslauthd/cache.mmap
...
saslauthd[5420] :cache_init_lock : flock file opened at /var/spool/postfix/var/run/saslauthd/cache.flock
saslauthd[5420] :ipc_init        : using accept lock file: /var/spool/postfix/var/run/saslauthd/mux.accept
saslauthd[5420] :detach_tty      : master pid is: 0
saslauthd[5420] :ipc_init        : listening on socket: /var/spool/postfix/var/run/saslauthd/mux
...
saslauthd[5424] :do_auth         : auth success: [user=ufficio.spedizioni] [service=smtp] [realm=] [mech=pam]
saslauthd[5424] :do_request      : response: OK
saslauthd[5425] :rel_accept_lock : released accept lock

Merge delle configurazioni sovrascritte

Usare lo script:

cat > /tmp/confronta <<'EOFile'
#!/bin/bash
sudo vimdiff $1.dpkg-old $1
EOFile

chmod +x /tmp/confronta
/tmp/confronta /etc/nomefile

Operazioni finali

  • Rimuovere i vecchi kernel:
dpkg -l | grep linux-image | tr -s ' ' | cut -f 2 --delim=' ' | sort

sudo apt-get remove --purge package_name
  • Se non servono, rimuovere i seguenti pacchetti:
sudo apt-get remove --purge fam 
sudo apt-get remove --purge portmap 
sudo apt-get remove --purge avahi-daemon avahi-utils 
sudo apt-get remove --purge dbus
  • Rimuovere i pacchetti che non hanno dipendenze necessarie:
 
if [ -z "$(deborphan)" ]; \
  then \
      echo "Nothing to Remove"; \
  else \
     sudo apt-get remove --purge $(deborphan)
fi
  • Rimuovere le configurazione dei pacchetti disinstallati:
 
if [ -z "$(dpkg -l | grep ^rc | tr -s ' ' | cut -f 2 --delim=' ')" ]; \
  then \
      echo "Nothing to Purge"; \
  else \
      sudo dpkg --purge $(dpkg -l | grep ^rc | tr -s ' ' | cut -f 2 --delim=' '); \
fi
  • Se non si desidera più utilizzare il proxy per APT, eliminarlo dalla configurazione:
sudo sed -i '/Acquire::http::Proxy/d' /etc/apt/apt.conf

Riferimenti