Esa es una pregunta muy razonable. Tenemos sysinstall, una compilación del kernel que funciona sin sorpresas y tenemos también las herramientas de entorno de usuario.
El problema que tiene sysinstall es que está extremadamente limitado cuando se trata de qué, dónde y cómo queremos que haga la instalación.
Normalmente se usa para instalar distribuciones precompiladas
y “packages” desde diversas fuentes (CD, DVD,
FTP). No puede instalar el resultado de
make buildworld
.
No puede instalar un segundo sistema en un directorio de un sistema en funcionamiento.
No puede hacer una instalación en particiones Vinum.
No puede compilar “ports”, sólo instala “packages” precompilados.
Es difícil automatizar mediante “scripts” o incluso hacer de forma manual los cambios que considere necesarios después de la instalación
Por si todo esto fuera poco sysinstall está semioficialmente al final de su “Ciclo de Vida Útil”.
El archiconocido proceso de “construír/instalar el mundo” (“build/install world”), explicado en el Handbook, por defecto realiza la tarea de sustituír el sistema existente. Sólo respeta el kernel y los módulos. Los binarios del sistema, los ficheros de cabecera y muchos otros ficheros son sobreescritos; hay ficheros obsoletos que se quedan donde estaban y pueden causar sorpresas. Si el proceso de actualización falla por alguna razón puede ser difícil o incluso imposible volver a dejar el sistema en el estado inicial.
FreeBSD From Scratch resuelve todos esos problemas. La estrategia es
simple: utiliza un sistema en funcionamiento para instalar un nuevo
sistema en un árbol de directorios y montar nuevas particiones
limpiamente en ese árbol. Muchos ficheros de
configuración pueden copiarse al sitio que les corresponda y
mergemaster(8) se encargará de aquellos a los que
no. Pueden hacerse cambios discrecionales tras la
instalación del nuevo sistema desde el viejo,
como si el nuevo sistema estuviera dentro de un
“chroot”. El proceso tiene tres fases,
cada una de los cuales consiste en ejecutar un
“script de shell” o invocar
make
:
fase_1.sh
:
Crea un sistema nuevo y capaz de arrancar en un directorio
vacío y combina o copia tantos ficheros como sea
necesario. Una vez acabado esto arranca el nuevo sistema.
fase_2.sh
:
Instala los “ports” que hayamos elegido.
fase_3.mk
:
Remata la configuración del software instalado en la
fase anterior.
Una vez que ha usado FreeBSD From Scratch para construír un segundo sistema y ha comprobado que funciona satisfactoriamente durante unas cuantas semanas puede usarlo de nuevo para reinstalar el sistema original. Desde ese momento cada vez que crea que debe actualizar un sistema simplemente elija las particiones que hay que borrar y reinstalar.
Puede que haya oído hablar o incluso haya usado ya
Linux From Scratch,
LFS para ser más breve. LFS abarca también cómo
construír e instalar un sistema desde cero en particiones
vacías partiendo de un sistema en funcionamiento. El
objetivo de LFS parece ser mostrar la razón de ser y de estar
de todas y cada una de las partes del sistema (como el kernel,
el compilador, los dispositivos, la shell, la base de datos de
terminales, etc.) y los detalles de la instalación de cada
parte. FreeBSD From Scratch no entra en detalles tan exahustivos. Mi
intención es facilitar una instalación automatizada y
completa, no explicar cada detalle escabroso del ciclópeo
proceso que arrancamos cuando hacemos un
make world
. Si desea usted explorar FreeBSD de
modo tan profundo comience por leer
/usr/src/Makefile
y siga cuidadosamente lo
que sucede al teclear
make buildworld
.
Hay también algunos detalles delicados con los que me encontré durante el desarrollo de FreeBSD From Scratch que debería tener muy en cuenta.
El sistema no puede ser usado normalmente
durante la compilación de los “ports”
que tiene lugar en la segunda fase. Si va a ejecutar
el proceso en un servidor en producción tenga en cuenta
el tiempo de parada provocado por la fase dos. Los
“ports” compilados por
fase_2.sh
necesitan aproximadamente 4 horas
para acabar en un sistema SCSI AMD1800+ con discos de 10.000 rpm
y 1GB de RAM.
Puede descargar éste y muchos otros documentos desde ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Si tiene dudas sobre FreeBSD consulte la
documentación antes de escribir a la lista
<questions@FreeBSD.org>.
Envíe sus preguntas sobre la documentación a
<doc@FreeBSD.org>.