FreeBSD: Actualizando el sistema
|
|
Por HnZeKtO
departamento BSD is alive , Sección Diarios Puesto a las Thu Oct 2nd, 2003 at 04:03:04 PM CET
|
|
Hoy en día, gracias sobre todo a internet, y a las conexiones de banda "ancha", lo más normal suele ser tener el sistema actualizado o bien a las últimas versiones de los programas (para sistemas no críticos) o bien con las últimas actualizaciones de seguridad (para sistemas en producción).
Como es de esperar, FreeBSD también dispone de cantidad de utilidades para mantener el sistema al día como sysinstall , pkg_add -r , cvsup o portupgrade .
|
Para aquellos que no conozcan FreeBSD, cabe decir que dispone de varios formas de instalar software: mediante paquetes precompilados o mediante el uso de los ports .
La instalación del sistema base se puede hacer desde las vías comunes, instalación del sistema base desde CD, instalación desde diskettes, instalación desde red,... Todas ellas debidamente documentadas en el handbook. Y en todas ellas se hace uso del programa /stand/sysinstall . Sysinstall se usa durante el proceso de instalación para crear las particiones, configurar el kernel o la red, y después del proceso de instalación permite instalar paquetes (y sus dependencias) vía FTP, CD o NFS.
También se puede usar pkg_add para la instalación de paquetes, tanto remota como local, los paquetes en formato tgz se pueden obtener desde la propia web de FreeBSD o en la distribución de 4 CDs del sistema.
Y ahora toca la parte guapa de FreeBSD, el uso de los ports y la actualización del sistema base. Los ports son un árbol de directorios de meta-aplicaciones, en la que se encuentran Makefiles con información necesaria y suficiente para descargar el código fuente del programa seleccionado, junto con sus dependencias, y compilarlo a medida; así el proceso de instalación de un port bastará con posicionarse en el directorio del programa seleccionado (por ejemplo /usr/ports/net/cvsup), ejecutar make && make install && make clean para compilar e instalar el programa y sus correspondientes dependencias. Evidentemente también se puede reinstalar (make reinstall ) o desinstalar paquetes instalados (make deinstall o pkg_delete o pkg_deinstall )
Con esto ya sabemos instalar ports , ahora toca el tema de la actualización, para ello se hace uso de cvsup que se puede utilizar tanto para actualizar el sistema base como para el árbol de ports.
Una vez actualizados vía cvsup los árboles de /usr/src y /usr/ports , ahora toca instalar el sistema. Para actualizar el sistema base nos podríamos colocar directamente en /usr/src y ejecutar make world , y nos podríamos ir a comer, dar un paseo y demás cosas (todo depende de la máquina en cuestión). Este comando compilaría e instalaría todo el sistema base salvo el kernel. Para hacer este paso en dos, y tener un mayor control, se ejecutaría primero make buildworld , que generaría un nuevo árbol bajo /usr/obj , y luego, make installworld , que instalaría ese árbol en el sistema.
Después de esto, deberíamos actualizar la nueva configuración del directorio /etc , se podría hacer a mano, pero para facilitar la tarea se usar el comando disponible en los ports , mergemaster , que nos irá mostrando y preguntado como ir actualizando los ficheros existentes en /etc del sistema base.
Para recompilar el kernel bastaría con ejecutar make buildkernel y make installkernel , aunque deberíamos personalizarlo para nuestra máquina y así aprovecharla al máximo. Y ya por último, sólo faltaría por actualizar sysinstall , y para hacerlo ejecutaremos make all install en el directorio /usr/src/release/sysinstall .
Para facilitar la instalación y actualización del árbol de ports , existe una herramienta llamada portupgrade , mediante la cual, con una simple llamada a portupgrade paquete después de haber ejecutado el cvsup , nos compilará e instalará la última versión disponible en los ports . O también con portinstall , se puede instalar un port por primera vez.
Conociendo todos estos comandos, nos podríamos crear un bash-script interactivo que ejecutara cada comando uno tras otro, automatizando así un poco la tarea :)
Ah y por cierto, para estar al día de las últimas versiones de los ports , imprescindible FreshPorts.
En próximas entregas, algunos trucos para facilitar y conocer más en profundidad el sistema de actualización de ports . |
|
|