15 de Marzo, 2004

RELEASE, STABLE y CURRENT

Eran tres amigos :D.

No, veamos. La gente que viene de Linux a *BSD siempre se arma un poco de lío con estas cosas. El amigo r0sk ha tenido problemas porque ha llevado un OpenBSD a CURRENT y ha metido paquetes binarios para dos ports desde 3.4-RELEASE. Voy a explicar porqué el Apache no arrancaba con esa estrategia :P.

Linux siempre tiene 2 ramas principales: stable y testing, que corresponden con el kernel estable y que se recomienda usar (2.6.x en este momento) y el kernel de desarrollo (en este momento no hay, pero toca la 2.7.x).

En *BSD hay tres ramas diferenciadas, y además tienen significados ligeramente distintos dependiendo del sistema del que hablemos: FreeBSD, OpenBSD y NetBSD.

Cada sistema tiene sus páginas web al respecto explicando las diferencias entre cada rama, así que no voy a profundizar demasiado en el tema, pero sí dar algunas pistas.

Digamos que las versiones marcadas como RELEASE corresponden con CURRENT en un momento concreto del tiempo. Esas versiones RELEASE se meten en un CD y son lo que comocemos como FreeBSD 4.9, OpenBSD 3.4 y NetBSD 1.6.2, por ejemplo.

Las versiones STABLE son aquellas que parten de una RELEASE (o también llamada versión base), con todos los parches y correciones disponibles hasta el momento.

Por último la rama CURRENT es la rama en desarrollo, donde se introducen los últimos cambios y mejoras del sistema para probarlos y, tras un periodo de tiempo prudencial sin introducir cambios, convertir esa CURRENT en RELEASE para empaquetar una nueva versión del sistema.

Las únicas versiones instalables y de las que disponemos de paquetes binarios son las RELEASE (aunque de vez en cuando se publiquen snapshots de la rama CURRENT cuando las nuevas RELEASE se retrasan demasiado, por ejemplo, como pasa a veces con NetBSD). Esto implica que si queremos llevar el sistema a la rama STABLE tenemos que bajar los fuentes del sistema (mediante CVS anónimo, CVSync, CVSup, etc.) y recompilar las partes que creamos necesario. Y lo mismo sería para CURRENT, aunque las necesidades no son las mismas.

Sí es buena idea usar STABLE, pero no tanto trabajar con CURRENT si no podemos arriesgarnos a que en una de nuestras actualizaciones nada funcione :D (a no ser que necesitemos algo que solo está en CURRENT y no podemos esperar a la próxima versión del sistema).

No tiene mayor historia, aun teniendo en cuenta que esto también es aplicable a los ports (una colección de software preparado para funcionar en los distintos *BSD), aunque aquí los cambios son más radicales entre los distintos *BSD.

El problema está cuando queremos usar paquetes binarios para los ports y a la vez queremos trabajar con CURRENT, no se puede generalmente porque los ports están preparados para funcionar con su rama correspondiente. Esto le ha pasado a r0sk ;).

Espero haber dejado el tema un poco más claro.

Anotación por Juan J. Martínez.

Hay 1 comentario

Gravatar

¿Te he inspirado todo ésto? ;). Genial, ahora ya tengo más claro el tema de las RELEASES. A ver si doy conseguido algo maś de tiempo para meterle caña a la OpenBSD y te " inspiro" más cosillas.

por r0sk, en 2004-03-18 11:46:16

Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 30 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.