Todo sobre las releases OVH


Introducción

Las releases OVH son scripts bash que se descargan y ejecutan en un servidor dedicado instalado por OVH con el fin de actualizarlo.

Para aplicar estos parches necesita conectarse en SSH y utilizar los comandos de Bash. Puede conocer algunos comandos de Bash en nuestra guía ShellBash.

Las ventajas

  • rapidez
  • simplicidad
  • estabilidad


ATENCIÓN : Ciertos releases son parches de seguridad, es decir, si no actualiza su servidor, corre el riesgo de que un hacker acceda a su servidor.


Los inconvenientes

Las releases sólo incluyen versiones estables, por tanto si utiliza versiones inestables en su servidor, el soporte no podrá ayudarle.

Para las versiones inestables de los programas (fuera de release) hay que orientarse hacia otros clientes de OVH a través de nuestro foro (sección de dedicado) o a través de una búsqueda en google.com


Releases 1 y 2


Aplicar todas las releases automáticamente

Para evitar tener que comprobar cada vez en qué release se encuentra su servidor, tiene la posibilidad de ejecutar un patch-all.sh.

Este programa ejecuta automáticamente las releases en el orden correcto.
No tiene que preocuparse de nada.


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


El comando patch-all.sh lanza todas las detecciones y ejecuta lo que es necesario.


Ejemplo :

[...]
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.xx
hostname : nsxxxxx.ovh.net


Y ya estamos en la última versión (1.39).

  • Las releases Red Hat tienen la forma 1.xx
  • Las releases Gentoo tienen la forma 2.xx


Detalles

Vocabulario

  • Release o parche: la release es un script que se descarga y ejecuta en su servidor para actualizar el sistema.

Por ejemplo:

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


Cuando se descarga y ejecuta, el script comprueba primero si es la versión apropiada. Esto evita que ejecutemos la release 1.38 antes que la release 1.34.


  • Número de release : Las releases se ejecutan en un cierto orden. Históricamente hemos comenzado en la 1.04. (Red Hat) y en la 2.01 (Gentoo).

Si intenta instalar las releases en un orden incorrecto no se ejecutarán.

Filosofía

Para hacer funcionar las releases hemos puesto en marcha un sistema de bloqueo para permitir la ejecución en el orden correcto. Hemos creado el fichero /etc/ovhrelease donde se anota la release actual del servidor.

La nueva release va a verificar que la release instalada en el servidor es la precedente a ella misma.


[root@ns30096 root]# cat /etc/ovhrelease

1.37



Con cada ejecución de release se actualiza /etc/issue, lo que permite ver el número de release simplemente cuando nos conectamos al servidor.



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.xx
hostname : nsxxxxx.ovh.net
[root@nsxxxxx root]#


Otras funcionalidades

El script patch-all.sh pone en hora su servidor utilizando un sistema de cálculo de la variación del error. Es decir, que antes de ponerlo en hora obtiene la diferencia y actualiza este dato.

A continuación clockspeed, que está instalado en su servidor, utiliza este dato cada X minutos para corregir la hora con esta variación (delta).

Esto hace que su servidor esté siempre en hora y no solamente cuando usted lo actualiza.

No hace falta ejecutar demasiado a menudo la actualización de la hora, ya que el cálculo de la desviación es mejor sobre periodos largos.


Change-log

El histórico o Change-log está disponible en:


Aplicar release por release

Para aplicar una nueva release, basta con conectarse en SSH al servidor y de copiar pegar el comando.


[root@nsxxxxx 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

[...]



El parche comenzará a ejecutarse. Su ejecución puede tomar varios minutos.

[...]
Parada de sshd : [ OK ]
Arranque de 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 : nsxxxxx.ovh.net


Hemos pasado de la release 1.37 a 1.38 y el servidor sshd a sido actualizado


Aplicar parche fuera de release

Los servidores que no han sido instalados en Release (antes de cierta fecha) o que han modificado ciertos componentes de su sistema que impiden aplicar el parche de forma automática, pueden ser actualizados a mano con los parches fuera de release.

Estos parches son scripts relativamente automatizados, probados sobre varias plataformas (y por tanto poseen una detección de plataforma). Pero como cada servidor es diferente y tiene su propio historial, hay que adaptarlos a cada servidor.

Puede descargarlos, editarlos y ejecutarlos como desee. Si tiene problemas de compilación, consulte nuestros foros (sección de dedicados). No envíe correos al soporte, porque la solución al problema no es una respuesta concreta, sino un diálogo. Por tanto hay que utilizar los foros.

Los parches se encuentran en ftp://ftp.ovh.net/made-in-ovh/patch

Encontrará (entre otros) :

  • los parches para apache (servidor 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 15:32 apache_1.3.27+mod_ssl-2.8.14+php_4.3.2.sh
-rwxr-xr-x 4567 aoû 31 19:59 apache_1.3.28+mod_ssl-2.8.15+php_4.3.3.sh


  • los parches para 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


  • los parches para 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


  • los parches para ssl

-rw-r--r-- 1086 mar 24 2003 rebuild-ssl-downgrad.sh
-rw-r--r-- 1079 mar 23 2003 rebuild-ssl.sh


  • y otros:

-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


Ejemplo fuera de Release

Ejemplo de un servidor con ssh y openssl que no está actualizada.

Comprobamos la versión:

# ssh -V
OpenSSH_3.4p1, SSH protocols 1.5/2.0, OpenSSL 0x0090600f
# openssl version
OpenSSL 0.9.6 24 Sep 2000


Vamos a recompilar primeramente openssl porque es utilizado por los otros programas como apache, ssh, qmail, etc.


# wget ftp://ftp.ovh.net/made-in-ovh/patch/rebuild-ssl.sh -O rebuild-ssl.sh
# sh rebuild-ssl.sh


5 minutos más tarde:

# openssl version
OpenSSL 0.9.6l [engine] 04 Nov 2003


Ya está, tenemos la versión correcta de openssl. Pasamos ahora a 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


Ponemos un núcleo más reciente:

# 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.21-grs-piii
# wget ftp://ftp.ovh.net/made-in-ovh/bzImage/System.map-2.4.21-grs-piii
# pico /etc/lilo.conf
# /sbin/lilo
# reboot
# logout


Esperamos a que se complete el reboot.

$ ping nsxxxx.ovh.net
PING nsxxxx.ovh.net (WWW.XXX.YYY.ZZZ): 56 data bytes
....
....

$ ssh root@nsxxxx.ovh.net
....

....

# uname -a
Linux nsxxxx.ovh.net 2.4.21-grsec #1 mer jun 18 01:41:51 CEST 2003 i686 unknown



Ahora recompilamos apache:

# wget ftp://ftp.ovh.net/made-in-ovh/patch/apache_1.3.28+mod_ssl-2.8.15+php_4.3.3.sh
# sh apache_1.3.28+mod_ssl-2.8.15+php_4.3.3.sh
cat: /etc/ovhrelease: Ningún fichero o directorio de este tipo
la release del sistema es

IMPORTANTE:

Verfique las versiones de openssl:
OpenSSL 0.9.6l [engine] 04 Nov 2003
OpenSSL 0.9.6d 9 May 2002


Mala señal. Significa que hay una versión de openssl compilada a mano. Hay que borrar todo.

# rm -rf /usr/local/ssl


Comenzamos de nuevo:

# cd
# sh apache_1.3.28+mod_ssl-2.8.15+php_4.3.3.sh
cat: /etc/ovhrelease: Aucun fichier ou répertoire de ce type
la release du systeme est

IMPORTANTE:

verificación de las versiones diponibles de openssl:

OpenSSL 0.9.6l [engine] 04 Nov 2003
[...]


15 minutos más tarde:

make[1]: salir del directiorio `/home/ovh/src/apache_1.3.28'
src


Si la compilación ha tenido éxito, puede instalar esta versión en producción con los comandos siguientes:


# cd /home/ovh/src/apache_1.3.28
# make install
# /etc/rc.d/init.d/httpd restart


y verificar la versión actualmente en curso:


#/usr/local/apache/bin/httpd -v
#/usr/local/bin/php -v



Procedemos con ello:


# cd /home/ovh/src/apache_1.3.28
# 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.28 (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.3 (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



La instalación ha terminado satisfactoriamente.


Release 3


Para actualizar su Release 3, utilice el acceso SSH de su servidor dedicado e introduzca el siguiente comando:



Si su release está actualizada, se mostrará el siguiente mensaje al ejecutar el siguiente comando:


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

! OVH-Release is up to date ! !

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


Para la actualización de los paquetes, acceda al webmin, en donde si una actualización está disponible usted encontrará en la página principal el siguiente mensaje:


Package Updates 1 package updates are available


Haga clic en «1 package update are available», y luego en «update upgrade package».

Lo que le dará un resultado de este tipo:


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.


Si desea conocer la versión de su release, puede ejecutar el siguiente comando a través del acceso ssh:

cat /etc/ovhrelease


El el registro de cambios está disponible en la siguiente dirección:
ftp://ftp.ovh.net/made-in-ovh/release/

En la página anterior, seleccione la versión deseada, por ejemplo: update_3.25-3.26/CHANGELOG

También puede acceder directamente introduciendo la URL. Por ejemplo, para la actualización de la versión 3.25 vers 3.26.

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


Más información

: ManualUtilizacionWebmin :: Todo acerca del programa de gestión Webmin
: ManualUtilizacionOVHm :: Todo acerca del módulo de gestión OVHM-Webmin
: InstalarOVHm :: Cómo instalar el módulo de OVHm
: TrucosOVHm :: Los trucos para hacer más fácil la vida al administrador