Cerca


stampa pdf

Tutto sulle Release Patch di OVH


Le Release Patch di OVH sono script bash che si scaricano ed eseguono su un server dedicato installato da OVH, al fine di aggiornarlo. Per fare gli aggiornamenti potete utilizzare la guida sulla Gestione in SSH e quella sulla Connessione in SSH per i server dedicati.

I vantaggi di queste Patch:

  • rapidità,

  • semplicità,

  • stabilità.

Attenzione: non applicare le Release Patch se avete una configurazione personalizzata del vostro server. Questo significa: php, apache, mysql. Tutte le opzioni di compilazione saranno perdute durante l'applicazione delle Patch. Alcune Release sono Patch di sicurezza, quindi se non aggiornate la vostra macchina, rischiate una violazione non autorizzata dall'esterno.


Semplicità

Non importa quale distribuzione utilizzate (Release 1 o Release 2), dovrete semplicemente lanciare un patch-all tramite ssh o attraverso Webmin.
wget ftp://ftp.ovh.net/made-in-ovh/release/patch-all.sh -O patch-all.sh; sh patch-all.sh

Nota: I dati sotto indicati si riferiscono alla Release 1 OVH.


Vocabolario

Release o patch: la Release è uno script che si scarica e si esegue. Per esempio:
wget ftp://ftp.ovh.net/made-in-ovh/release/patch-1.38-1.39.sh -O patch-1.38-1.39.sh; sh patch-1.38-1.39.sh

Quando si scarica ed esegue, lo script controlla se il numero di Release è corretto prima di applicare la Patch. Questo evita, ad esempio, di applicare la Release Patch 1.38 prima della Release Patch 1.34.

n° di Release: le Release sono rilasciate in ordine di versione. Storicamente abbiamo iniziato con la 1.04. Se si tenta di eseguire le Release Patch sbagliate, queste verranno rifiutate.


Filosofia

Per far funzionare le Release, abbiamo implementato un sistema di bloccaggio per permettere l'esecuzione nel modo giusto. Per questo motivo abbiamo creato il file /etc/ovhrelease dove è allocata l'attuale versione presente sulla macchina. La nuova Release Patch verifica che quella installata sulla vostra macchina sia precedente alla stessa e, solo in quel caso, procederà con l'esecuzione.
root@ns30096 root# cat /etc/ovhrelease
1.37

Ad ogni applicazione di Release Patch viene aggiornato il file /etc/issue che permette di vedere il n° di Release Patch semplicemente collegandosi alla macchina:
Red Hat Linux release 7.2 (Enigma)
Linux ns30096.ovh.net 2.4.19 #2 SMP mer nov 20 17:40:06 CET 2002 i686 unknown

machine: 2344
release: 1.37
ip: 213.186.42.25
hostname: ns30096.ovh.net
root@ns30096 root#

Questo ci permette di vedere il n° di Release (1.37) e l'IP della macchina attraverso la schermata della shell.


Changelog

Lo storico del changelog è disponibile in un file apposito su uno spazio FTP.


Applicare le Patch per Release

Per applicare una nuova Release Patch è sufficiente collegarsi in SSH alla vostra macchina, copiare e incollare il comando seguente:
root@ns30096 root# wget ftp://ftp.ovh.net/made-in-ovh/release/patch-1.37-1.38.sh -O patch-1.37-1.38.sh; sh patch-1.37-1.38.sh
[...]

La Patch avvierà l'esecuzione, che potrebbe richiedere alcuni minuti.
[...]
Arresto di sshd: [OK]
Riavvio di sshd: [OK]

OpenSSH_3.7.1p2, SSH protocols 1.5/2.0, OpenSSL 0.9.6i [engine] Feb 19 2003

[root@ns30096 root]# cat /etc/issue
Red Hat Linux release 7.2 (Enigma)
Linux ns30096.ovh.net 2.4.19 #2 SMP mer nov 20 17:40:06 CET 2002 i686 unknown

machine: 2344
release: 1.38
ip: 213.186.42.25
hostname: ns30096.ovh.net

Voilà... siamo passati dalla Release 1.37 a 1.38 e il server sshd è stato aggiornato correttamente.


Applicare tutte le Release Patch

Per evitare di dover controllare ogni volta quale Release installare sul vostro server, avete la possibilità di eseguire il patch-all.sh che installa automaticamente tutte le Release Patch, senza che sia richiesto alcun vostro intervento ulteriore.

[root@ns30096 root]# wget ftp://ftp.ovh.net/made-in-ovh/release/patch-all.sh -O patch-all.sh; sh patch-all.sh
[...]

patch-all.sh lancia tutti i rilevamenti ed esegue le Patch
[...]
Red Hat Linux release 7.2 (Enigma)
Linux ns30096.ovh.net 2.4.19 #2 SMP mer nov 20 17:40:06 CET 2002 i686 unknown

machine: 2344
release: 1.39
ip: 213.186.42.25
hostname: ns30096.ovh.net

Ed ecco effettuate le installazioni fino alla 1.39.


Altre Funzionalità

Patch-all.sh imposta l'ora esatta sul vostro server. In primo luogo, il tempo è in fusi orari, quindi il clockspeed, installato sul vostro server sincronizza periodicamente l'orologio con il fuso orario. Non è necessario sincronizzare l'ora troppo spesso, solo rare sincronizzazioni sono pienamente affidabili.


Release Non Aggiornate

Le macchine che sono state installate con le Release (prima di una certa data) possono essere aggiornate con le Patch. Le Patch sono script relativamente automatici, testati su piattaforme multiple (e dunque posseggono l'individuazione delle piattaforme). Ma visto che ogni macchina è diversa e ha il suo storico di operazioni, occorre adattare ogni Patch ad ogni macchina. È possibile scaricarle, modificarle e quindi eseguirle sulle suite. Se riscontrate errori di compilazione, consultate la mailing list sd@ml.ovh.net. Non inviate email al supporto, non potremo aiutarvi per questo tipo di problematiche, perché la soluzione del problema non è una risposta, ma una discussione.

Le Patch si trovano sullo spazio FTP di OVH in una sezione apposita. Potrete trovare:

  • Patch per Apache (server web):
    -rwxr-xr-x 3517 jui 7 2002 apache_1.3.26+mod_ssl-2.8.10+php_4.2.1.sh
    -rwxr-xr-x 3517 jui 22 2002 apache_1.3.26+mod_ssl-2.8.10+php_4.2.2.sh
    -rwxr-xr-x 3517 sep 11 2002 apache_1.3.26+mod_ssl-2.8.10+php_4.2.3.sh
    -rwxr-xr-x 3656 oct 4 2002 apache_1.3.27+mod_ssl-2.8.11+php_4.2.3.sh
    -rwxr-xr-x 4567 jun 20 2003 apache_1.3.27+mod_ssl-2.8.14+php_4.3.2.sh
    -rwxr-xr-x 4567 aoû 31 2003 apache_1.3.28+mod_ssl-2.8.15+php_4.3.3.sh
    -rwxr-xr-x 4601 déc 4 21:44 apache_1.3.29+mod_ssl-2.8.16+php_4.3.4.sh

  • Patch per Bind (named):
    -rwxr-xr-x 825 jui 7 2002 named_8.3.3.sh
    -rwxr-xr-x 2320 jui 22 15:55 named_9.2.1-noshell.sh
    -rwxr-xr-x 2407 jui 8 2002 named_9.2.1.sh

  • Patch per SSH:
    -rw-r--r-- 2481 sep 29 02:23 rebuild-ssh-auto.sh
    -rw-r--r-- 2188 mar 24 2003 rebuild-ssh-downgrad.sh
    -rw-r--r-- 2564 sep 28 20:10 rebuild-ssh.sh

  • Patch per SSL:
    -rw-r--r-- 1086 mar 24 2003 rebuild-ssl-downgrad.sh
    -rw-r--r-- 1079 mar 23 2003 rebuild-ssl.sh

  • Patch generiche:
    -rw-r--r-- 1234 jun 17 12:25 patch_reboot.sh
    -rw-r--r-- 403 mar 4 2002 patch_resolv.sh
    -rwxr-xr-x 627 jun 2 14:28 check_reboot.sh
    -rw-r--r-- 634 jui 10 2002 a_l_heure.sh
    -rwxr-xr-x 2230 aoû 22 2002 rc.sysinit.patch.sh


Esempio di applicazione Release

Qui abbiamo una macchina con SSH e OpenSSL non aggiornati:
# ssh -V
OpenSSH_3.4p1, SSH protocols 1.5/2.0, OpenSSL 0x0090600f
# openssl version
OpenSSL 0.9.6 24 Sep 2000


Prima ricompiliamo OpenSSL perché è utilizzato da altre applicazioni come apache, ssh, qmail etc.
# wget ftp://ftp.ovh.net/made-in-ovh/patch/rebuild-ssl.sh -O rebuild-ssl.sh
# sh rebuild-ssl.sh

Trascorsi circa 5 minuti
# openssl version
OpenSSL 0.9.6l [engine] 04 Nov 2003

Ecco la nuova versione di OpenSSL.

Ora passiamo all'installazione di SSH:
# wget ftp://ftp.ovh.net/made-in-ovh/patch/rebuild-ssh.sh -O rebuild-ssh.sh
# sh rebuild-ssh.sh
# ssh -V
OpenSSH_3.7.1p2, SSH protocols 1.5/2.0, OpenSSL 0.9.6l [engine] 04 Nov 2003

Installare un kernel più recente:
# uname -a
Linux ns3060.ovh.net 2.4.16 #1 lun déc 17 15:22:27 CET 2001 i686 unknown
# cat /proc/cpuinfo
cpu MHz : 846.870
# wget ftp://ftp.ovh.net/made-in-ovh/bzImage/bzImage-2.4.25-grs-piii
# wget ftp://ftp.ovh.net/made-in-ovh/bzImage/System.map-2.4.25-grs-piii
# pico /etc/lilo.conf
# /sbin/lilo
# reboot
# logout
$ ping xxxxxx
$ ssh xxxxxx
# uname -a
Linux nsxxxx.ovh.net 2.4.21-grsec #1 mer jun 18 01:41:51 CEST 2003 i686 unknown


Ricompilare Apache manualmente:
# wget ftp://ftp.ovh.net/made-in-ovh/patch/apache_1.3.29+mod_ssl-2.8.16+php_4.3.4.sh
# sh apache_1.3.29+mod_ssl-2.8.16+php_4.3.4.sh
cat: /etc/ovhrelease: Nessun file di questo tipo per la release del sistema

IMPORTANTE:

verificare la versione installata di OpenSSL:
OpenSSL 0.9.6l [engine] 04 Nov 2003
OpenSSL 0.9.6d 9 May 2002


E' presente una versione di OpenSSL compilato a mano:
# rm -rf /usr/local/ssl


# cd
# sh apache_1.3.29+mod_ssl-2.8.16+php_4.3.4.sh
cat: /etc/ovhrelease: Nessun file di questo tipo per la release del sistema

IMPORTANTE:

verificare la versione installata di OpenSSL:
OpenSSL 0.9.6l [engine] 04 Nov 2003
[...]

Trascorsi 15 minuti circa:
make: uscire dalla directory '/home/ovh/src/apache_1.3.29'
src

se la compilazione è andata a buon fine, potete installarla con il seguente comando:
cd /home/ovh/src/apache_1.3.29
make install
/etc/rc.d/init.d/httpd restart

si può verificare la version attualmente in uso
/usr/local/apache/bin/httpd -v
/usr/local/bin/php -v
#
#
# cd /home/ovh/src/apache_1.3.29
# make install
# /etc/rc.d/init.d/httpd restart
Stopping httpd: [OK]
Starting httpd: Syntax error on line 191 of /usr/local/apache/conf/httpd.conf:
Missing, invalid, or non-numeric port
[FAILED]
# pico /usr/local/apache/conf/httpd.conf
# /etc/rc.d/init.d/httpd restart
Stopping httpd: [FAILED]
Starting httpd: [OK]
# /usr/local/apache/bin/httpd -v
Server version: Apache/1.3.29 (Unix)
Server built: Nov 12 2003 20:31:33
# /usr/local/bin/php -v
Zend Optimizer requires Zend Engine API version 20001224.
The Zend Engine API version 20021010 which is installed, is newer.
Contact Zend Technologies at http://www.zend.com/ for a later version of Zend Optimizer.

PHP 4.3.4 (cgi) (built: Nov 12 2003 20:30:11)
Copyright (c) 1997-2003 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2003 Zend Technologies


Release 3



Puoi aggiornare la tua release 3 accedendo in SSH al tuo server dedicato e digitando questo comando:

ftp://ftp.ovh.net/made-in-ovh/release/patch-all-release-3.sh && sh patch-all-release-3.sh


Se la tua release è aggiornata, dovresti visualizzare questo messaggio durante l'esecuzione del comando:


... found OVH-Release 3
+-------------------------------+

! OVH-Release is up to date ! !

+-------------------------------+



Per l'aggiornamento dei tuoi pacchetti, accedi al tuo webmin: se è disponibile un aggiornamento verrà visualizzato questo messaggio nella tua home

Aggiornamento pacchetto 1 aggiornamento di pacchetto disponibile


Clicca su 1 package update available e poi su upgrade package.

Dovresti ottenere un risultato come:


Building complete list of updates ..

Now updating tzdata ..

Installing package(s) with command yum -y install tzdata ..

Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
* base: mirror.ovh.net
* epel: mirror.muntinternet.net
* extras: mirror.ovh.net
* rpmforge: mirror.nl.leaseweb.net
* updates: mirror.ovh.net
1398 packages excluded due to repository priority protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package tzdata.noarch 0:2013c-2.el6 will be updated
---> Package tzdata.noarch 0:2013g-1.el6 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
Package Arch Version Repository Size
==========================================================================
Updating:
tzdata noarch 2013g-1.el6 updates 457 k

Transaction Summary
=============================================================================
Upgrade 1 Package(s)

Total download size: 457 k
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : tzdata-2013g-1.el6.noarch 1/2
Cleanup : tzdata-2013c-2.el6.noarch 2/2
Verifying : tzdata-2013g-1.el6.noarch 1/2
Verifying : tzdata-2013c-2.el6.noarch 2/2

Updated:

Complete!

.. install complete.


Per informazioni, per sapere quale versione della release è presente sul tuo server, esegui questo comando in SSH:

cat /etc/ovhrelease


Il changelog è disponibile a questo indirizzo
ftp://ftp.ovh.net/made-in-ovh/release/

Seleziona la versione che hai scelto come ad esempio: update_3.25-3.26/CHANGELOG

Questo sarà l'url all'update della versione 3.25 alla 3.26.

ftp://ftp.ovh.net/made-in-ovh/release/update_3.25-3.26/CHANGELOG