Development Kernel Networking Desktop Ports Aplicaciones Packages X11

Actualización por CVSUP

Introducción

Ahora vamos a describir como actualizar las diferentes partes de nuestro sistema operativo utilizando CVSUP (Concurrent Versions Systems UPdate). CVSUP es el sucesor de CVS, y por ende mas eficiente para actualizar. Vamos a demostrar como actualizar nuestro Kernel, sistema base, portes y xenocara (actual X), para esto vamos a necesitar estar conectados a Internet (o vía red si poseemos un servidor cvsupd en la misma), la aplicación cvsup y los archivos de configuración de cvsup.

Qué es CVSUP?

CVSup es un paquete de software para la distribución y actualización de los árboles de fuentes desde un repositorio de cvshttp://www.openbsd.org/cgi-bin/man.cgi?query=cvs&sektion=1 principal ubicado en un servidor remoto. El mantenimiento del código fuente de OpenBSD se lleva a cabo en un repositorio de CVS, ubicado en una máquina central de desarrollo en Canadá. Con CVSup, los usuarios de OpenBSD pueden mantener actualizados sus propios árboles de fuentes con gran facilidad.

CVSup usa el llamado modelo “pull” para actualizar. En este modelo, cada cliente pide las actualizaciones al servidor, siempre y cuando se requieran. El servidor espera pasivamente un requerimiento de sus clientes, por lo que todo inicio de actualización procede del cliente, y el servidor nunca envía actualizaciones sin un requerimiento previo. Los usuarios pueden ejecutar el cliente CVSup manualmente para obtener una actualización, o pueden configurar un script para utilizas con cron que se ejecute de forma automática según se requiera.

El término CVSup hace referencia a todo el paquete de software. Sus componentes principales son el cliente cvsup, que se ejecuta en la máquina de cada usuario, y el servidor cvsupd, que se ejecuta en cada uno de los mirrors de CVSup de OpenBSD.

CVSup fue creado con la idea de que fuera más rápido y más flexible que su predecesor, suphttp://www.openbsd.org/cgi-bin/man.cgi?query=sup&sektion=1&format=html.

Actualmente, el Proyecto OpenBSD dispone de seis repositorios principales de fuentes:

  • src - Código fuente del Sistema Operativo OpenBSD.
  • ports - Portes de OpenBSD.
  • www - Páginas web de OpenBSD.
  • x11 - Adaptación del proyecto XFree86-3 a OpenBSD. Esta en desuso.
  • xf4 - Adaptación del proyecto XFree86-4 a OpenBSD.
  • xenocara - X.org v7 en desarrollo de OpenBSD.

Descargar cvsup

Descargamos el paquete cvsup mediante pkg_add: Descarga de CVSUP

# pkg_add -v ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/cvsup-16.1hp0-no_x11.tgz

Podemos modificar la versión de OpenBSD según la que tengamos en nuestro sistema y podremos elegir el mirror más cercano según nuestra ubicación geográfica.

Actualizar el sistema base y el kernel

Para actualizar el sistema base y el kernel necesitamos 4 pasos fundamentales:

  1. Crear los archivos de configuración específicos para actualizar el sistema y el kernel
  2. Ejecutar cvsup utilizando nuestro archivo de configuración
  3. Actualizar y compilar el kernel
  4. Actualizar y compilar el sistema base

Comencemos…

1. Creamos un archivo de texto que podríamos llamar “cvsup-file-src” con lo siguiente: cvsup-file-src

# Defaults that apply to all the collections
  * default release=cvs
  * default delete use-rel-suffix
  * default umask=002
  * default host=anoncvs3.usa.openbsd.org
  * default base=/usr
  * default prefix=/usr
  * default tag=OPENBSD_4_2

  * default compress

# OpenBSD-ports
# OpenBSD-all
OpenBSD-src
# OpenBSD-www
# OpenBSD-x11
# OpenBSD-xenocara

En donde:

host - es el servidor de cvsup más cercano a nuestra ubicación geográfica

tag - es la versión de OpenBSD que estamos utilizando (otro ej. OPENBSD_4_1)

default compress - si no está comentado, comprimirá los datos para utilizar menos ancho de banda (para conexiones lentas)

OpenBSD-src - para que nos actualice sólo los fuentes del sistema base y kernel

2. Actualizamos los fuentes con el arhivo cvsup-file-scr: Actualización del Kernel y el sistema base

# cvsup -g -L 2 cvsup-file-src

La primera ves que ejecutemos este comando descargará aproximadamente 594Mb, luego dependerá de los fuentes a actualizar, pero eso sí, será mucho menos.

3. Compilando el nuevo kernel kernel

Hacemos una copia de resguardo del kernel actual: Copia de resguardo del Kernel

# cp /bsd /bsd.old

Ahora configuramos el nuevo kernel: Configuración del nuevo Kernel

# cd /usr/src/sys/arch/i386/conf/
# config GENERIC
Don't forget to run "make depend"

Y por último lo compilamos: Compilación del nuevo Kernel

# cd ../compile/GENERIC
# make clean && make depend && make && make install

Ahora reiniciamos para bootear con el nuevo kernel.

4. Compilando el sistema base: Compilación de sistema base

# rm -rf /usr/obj/*
# cd /usr/src
# make obj
# cd /usr/src/etc && env DESTDIR=/ make distrib-dirs
# cd /usr/src
# make build

El comando “make build” requerirá aproximadamente 75 minutos en una PC con un procesador de 2.60GHz.

Actualizar los ports

Para actualizar los ports necesitamos 4 pasos fundamentales:

  1. Crear los archivos de configuración específicos para actualizar los ports
  2. Ejecutar cvsup utilizando nuestro archivo de configuración
  3. Verificar que ports están desactualizados mediante el script out-of-date
  4. Actualizar y compilar los ports desactualizados

Comencemos

1. Creamos un archivo de texto que podríamos llamar “cvsup-file-ports” con lo siguiente: cvsup-file-ports

# Configuracion comun
  * default release=cvs
  * default delete use-rel-suffix
  * default umask=002
  * default host=anoncvs3.usa.openbsd.org
  * default base=/usr
  * default prefix=/usr
  * default tag=OPENBSD_4_2

  * default compress

OpenBSD-ports
# OpenBSD-all
# OpenBSD-src
# OpenBSD-www
# OpenBSD-x11
# OpenBSD-xenocara

En donde:

host - es el servidor de cvsup más cercano a nuestra ubicación geográfica

tag - es la versión de OpenBSD que estamos utilizando (otro ej. OPENBSD_4_1)

default compress - si no está comentado, comprimirá los datos para utilizar menos ancho de banda (para conexiones lentas)

OpenBSD-ports - para que nos actualice sólo el árbol de ports

2. Actualizamos el árbol de ports con el arhivo cvsup-file-ports: Actualización de los ports

# cvsup -g -L 2 cvsup-file-ports

La primera ves que ejecutemos este comando descargará aproximadamente 103Mb, luego dependerá de los ports a actualizar, pero eso sí, será mucho menos.

3. Verificando los ports desactualizados mediante el script “out-of-date”

La salida nos muestra que todos los ports están actualizados: Sin aplicaciones por actualizar

# cd /usr/ports/infrastructure/build/
# ./out-of-date
Collecting installed packages
Collecting port versions: complete
Collecting port signatures: complete
Outdated ports:
# 

Y esta nos muestra que hay ports desactualizados: Con aplicaciones para actualizar

# cd /usr/ports/infrastructure/build/
# ./out-of-date
Collecting installed packages
Collecting port versions: complete
Collecting port signatures: complete
Outdated ports:
www/mozilla-firefox         # 2.0.0.7 -> 2.0.0.7p1
# 

En este ejemplo el único port que necesita ser actualizado es el de Firefox.

4. Actualización y compilación de los ports desactualizados

Luego, para actualizar el port, debemos ingresar a la carpeta del mismo y ejecutar: Actualización de la aplicación

# make update

Actualizar xenocara

Para actualizar los ports necesitamos 3 pasos fundamentales:

  1. Crear los archivos de configuración específicos para actualizar xenocara
  2. Ejecutar cvsup utilizando nuestro archivo de configuración
  3. Compilar xenocara

Actualicemos nuestro X:

1. Creamos un archivo de texto que podríamos llamar “cvsup-file-xenocara” con lo siguiente cvsup-file-xenocara

# Configuracion comun
* default release=cvs
* default delete use-rel-suffix
* default umask=002
* default host=anoncvs3.usa.openbsd.org
* default base=/usr/src
* default prefix=/usr/src
* default tag=OPENBSD_4_2

* default compress

# OpenBSD-ports
# OpenBSD-all
# OpenBSD-src
# OpenBSD-www
# OpenBSD-x11
OpenBSD-xenocara

En donde:

host - es el servidor de cvsup más cercano a nuestra ubicación geográfica

tag - es la versión de OpenBSD que estamos utilizando (otro ej. OPENBSD_4_1)

default compress - si no está comentado, comprimirá los datos para utilizar menos ancho de banda (para conexiones lentas)

OpenBSD-xenocara - para que nos actualice sólo los fuentes de xenocara

2. Actualizamos los fuentes de nuestro sistema X con el arhivo cvsup-file-xenocara: Actualización del sistema X

# cvsup -g -L 2 cvsup-file-xenocara

La primera ves que ejecutemos este comando descargará aproximadamente 330Mb, luego dependerá de los fuentes a actualizar, pero eso sí, será mucho menos.

3. Compilando Xenocara Nota: OpenBSD 4.1 y anteriores requieren tener instalado los paquetes “tk” y “tcl” para la compilación de xenocara. Luego no serán más necesarios.

Para compilar ejecutamos: Compilación del sistema X

# rm -rf /usr/xobj/*
# mkdir -p /usr/xobj
# cd /usr/src/xenocara
# make obj
# make build

El comando “make build” requerirá aproximadamente 75 minutos en una PC con un procesador de 2.60GHz.

Problemas

  1. No bootea el nuevo kernel

Si el nuevo kernel no bootea en el inicio, podemos bootear con el kernel anterior.

Cuando inicia OpenBSD se verá algo similar a esto: Booteo del sistema operativo

Using drive 0, partition 3.
Loading...
probing : pc0 com0 apm mem[[634K|319M a20=on]]
disk: fd0 hd0+
>> OpenBSD/i386 BOOT 2.06
boot>

Aquí ingresaremos el nombre del kernel anterior “bsd.old” o el que hayamos utilizado: Booteo con el viejo Kernel

Using drive 0, partition 3.
Loading...
probing : pc0 com0 apm mem[[634K|319M a20=on]]
disk: fd0 hd0+
>> OpenBSD/i386 BOOT 2.06
boot> bsd.old

Cualquier otro problema, por favor comuniquenlo a través del foro.

Fuentes y Enlaces


Personal Tools