Actualizando a DragonFly BSD

By 7 de agosto de 2006 BSD No Comments

dfbsd_topic_mirror.pngIntroducción Este texto es una adaptación del original en inglés, que encontramos en un sistema DragonFly BSD en la ubicación /usr/src/UPDATING, en el que se explica como actualizar el sistema ya sea desde FreeBSD o desde el mismo DragonFly BSD. En lo personal, he llevado a cabo con éxito el paso desde

FreeBSD 4.9-RELEASE, supongo que debe funcionar hasta un FreeBSD 4.10-STABLE; no he probado en versiones más recientes, dado que se han dedicado a acercarse cada vez más a la serie 5.X. Para este documento suponemos que tenemos un sistema FreeBSD de cualquier versión mencionada arriba. Así que comencemos:

Usuarios y Grupos

Los siguientes usuarios no estarán en tu archivo de passwords. Usando vipw añadimos los siguientes:

smmsp:*:25:25::0:0:Sendmail Submission User:/var/spool/clientmqueue:/sbin/nologin _pflogd:*:64:64::0:0:pflogd privsep user:/var/empty:/sbin/nologin _ntp:*:65:65::0:0:ntpd privsep user:/var/empty:/sbin/nologin 

Los siguientes grupos faltarán en tu archivo de grupos. Usamos vi en /etc/group y añadimos los siguientes:

smmsp:*:25: authpf:*:63: _pflogd:*:64: _ntp:*:65: 

Actualizando a DragonFly BSD desde FreeBSD

Puedes construir las fuentes de DragonFly BSD y el kernel en una máquina FreeBSD-4.x o FreeBSD-5.x (cosa que no he intentado, y no se si funcione dados los cambios a los que la serie 5 ha sido sometida) y después instalar DragonFly BSD sobre FreeBSD, reemplazando FreeBSD. Nótese que el buildworld de DragonFly BSD no intenta reutilizar la información de make depend , comienza desde cero, así que no es necesario hacer una limpieza previa del árbol de "object".

# instalamos las fuentes desde el CVS (removemos primero las fuentes ya existentes de FreeBSD (500MB)

# cd /usr # rm -rf src 

# obtenemos las fuentes de DragonFly BSD, unos 500MB).

# cvsup -g -L 2 /usr/share/examples/cvsup/DragonFly-supfile 

# lo compilamos (500MB usados en /usr/obj)

# cd /usr/src # make buildworld # make buildkernel KERNCONF=TUKERNEL 

Una vez compilado DragonFly BSD tenemos que instalarlo sobre FreeBSD. Debido a que DragonFly BSD no sigue la pista de cambios hechos por FreeBSD a su jerarquía de archivos de "include" y la suciedad de la misma pueda causar toda una gama de errores de compilación, lo mejor es deshacernos del árbol de "include" antes de instalar DragonFly BSD. Nótese que no deberíamos quitar ningunos archivos de cabecera "headers" o binarios hasta que hayamos completado con éxito los pasos de construcción que indicamos arriba.

# rm -rf /usr/include # mkdir /usr/include # make installkernel KERNCONF=TUKERNEL # make installworld 

Entonces necesitamos actualizar nuestro /etc. El make upgrade de DragonFly BSD incondicionalmente actualizará los archivos contenidos en /etc con los que los sysops a menudo no se meten, así como los archivos en /etc/rc.d. Si estás inseguro de lo que haces, te recomendamos hacer un respaldo de tu /etc antes de aplicar este paso. Nótese que el sistema RC de DragonFly BSD es básicamente el RCNG de FreeBSD-5, pero hay algunas diferencias en los contenidos de los archivos RC.

# make upgrade 

Actualizando un sistema con DragonFly BSD

Este es uno de los procesos más sencillos que existen para actualizar nuestro sistema DragonFly BSD:

Primero, bajamos las fuentes del CVS de la siguiente forma:

# cvsup -g -L 2 /usr/share/examples/cvsup/DragonFly-supfile 

Y proseguimos a compilar el sistema:

# cd /usr/src # make buildworld # make buildkernel KERNCONF=TUKERNEL # make installkernel KERNCONF=TUKERNEL (reiniciamos) # cd /usr/src && make installworld # make upgrade (volvemos a reiniciar) 

Listo! Nuestro DragonFly BSD está al día. Así de fácil! :)

A continuación les dejo el contenido de mi archivo supfile para quien lo quiera tomar como referencia:

*default host=cvsup.dragonflybsd.org *default base=/usr *default prefix=/usr *default release=cvs tag=. *default delete use-rel-suffix *default compress  dragonfly-cvs-root dragonfly-cvs-src dragonfly-cvs-dfports 

Hasta aquí contaremos con un sistema actualizado en la rama -CURRENT. Dado que DragonFly BSD no tiene una rama estable definida, se ha creado el tag DragonFly_Stable, que podemos sustituír en nuestro archivo supfile.

Es posible, a la hora de compilar, hacer uso de los comandos:

# make quickworld 

para acelerar la compilación de las fuentes, o:

# make quickkernel 

para hacer más rápida la compilación de nuestro kernel. En caso de fallarnos alguna de ellas, recurriremos al método arriba descrito y nuestros problemas desaparecerán.

Los Ports

En un futuro, DragonFly BSD contará con su propio sistema de manejo de paquetes, pero por lo pronto se pueden usar los ports de FreeBSD de la manera habitual. Así que es recomendable dejar el árbol de ports en su lugar.

DragonFly BSD tiene su propio árbol de ports en /usr/dfports, los cuales se usarán alternativamente a los de FreeBSD según sea el caso. Así que el procedimiento para hacer algún port es el ya tan conocido por todos los usuarios de FreeBSD .

Conclusiones

Con esta pequeña guía habremos logrado pasar de FreeBSD a DragonFly BSD en muy pocos pasos y seremos capaces de mantener al día nuestro nuevo sistema DragonFly BSD. El sistema es muy bueno, sólido y estable, altamente recomendable para los que quieren un poco más de la gran serie 4 de FreeBSD y con buenas ideas tomadas de la rama 5. Puedes obtener más información en la página oficial de DragonFly BSD y en el Wiki del mismo proyecto.

a en muy pocos pasos y seremos capaces de mantener al día nuestro nuevo sistema . El sistema es muy bueno, sólido y estable, altamente recomendable para los que quieren un poco más de la gran serie 4 de y con buenas ideas tomadas de la rama 5. Puedes obtener más información en la página oficial de y en el del mismo proyecto.

Agradecimientos

Primero que nada un agradecimiento a Lili, mi esposa, por todo su apoyo, revisión y por su infinita paciencia en todos mis pequeños proyectos. Muchas Gracias!!!

A todos los integrantes del Proyecto DragonFly BSD por su gran labor en hacer de DragonFly BSD un gran proyecto y por su amabilidad para aclarar todas mis dudas, tanto en el canal #dragonflybsd de EFNet como en las listas de correo.

A todos, Muchas Gracias!!!


Cualquier duda, comentario o mejora, dirijirse con el autor.

Leave a Reply

Your email address will not be published.