viernes, 8 de enero de 2010

Instalacion minima de Ubuntu usando debootstrap

La utilidad debootstrap instala un sistema Debian mínimo o básico. debootstrap instalará un sistema operativo basado en Debian en un subdirectorio. No necesitas un CD de instalación para hacer esto. Sin embargo lo que necesitas es tener acceso a los repositorios de la distribución de Linux correspondiente (por ejemplo Debian o Ubuntu).

En este articulo se vera como instalar Ubuntu usando debootstrap.

1) Preparando el disco duro

Para esto vas a necesitar un espacio sobrante en tu disco duro. Particiona tu disco o usa un dispositivo de almacenamiento externo (disco duro externo, memoria USB, etc). Para particionar el disco duro puedes usar el liveCD de Ubuntu o el Terminal. Este ultimo es mas rápido pero el anterior es mas fácil y si tienes toda tu data en una partición entonces no podras desmontar y ajustar el tamaño. Por eso mejor vamos a usar la herramienta que viene en el liveCD de Ubuntu.

Asegúrate que tu BIOS esta configurada para que arranque desde CD. Arranca con el liveCD y abre un Terminal, luego ejecuta lo siguiente:

$ sudo gparted&bg

Esto ejecutara editor de particiones GNOME como root y pondrá el proceso en segundo plano de tal forma que puedas seguir usando el Terminal. Desde aquí ya puedes modificar la tabla de particiones de tu disco duro. Solo necesitas algo de 5GB de espacio pero si planeas usar esto como tu sistema principal entonces quizás necesites mas espacio. Se sugiere que particiones usando ext3 o ext4 como sistema de ficheros.

2) Montar la partición root

Una vez que que ya lo tengas particionado le das salir al programa gparted. Ubica la partición root de tu actual sistema operativo y montalo usando los siguientes pasos:

$ sudo mkdir /mnt/mi_root && sudo mount -t ext3 /dev/sda1 /mnt/mi_root

Lo que hace esta linea es lo siguiente:

El comando mkdir crea un nuevo directorio en /mnt llamado mi_root. Las dobles ampersand (&&) indica al shell que inmediatamente ejecute el segundo comando una vez que haya terminado el primero.

El segundo comando monta la partición como root. El parámetro -t especifica el tipo de sistema de fichero. En este caso es ext3, pero podría ser diferente en tu caso.

Después de especificar el tipo de fichero debes apuntar al dispositivo o partición que deseas montar, en este caso es /dev/sda1. El ultimo parámetro es el que apunta en donde se montara la partición.

3) Modificar el fstab

Ahora edita el archivo /etc/fstab de tu sistema Linux actual para que una vez que salgas del liveCD esa partición se montara automáticamente. En el ejemplo se monto la partición root en /mnt/mi_root entonces se cambiara el directorio actual de esta manera:

$ cd /mnt/my_root

Utiliza el comando ls para listar el contenido de la partición. Deberías ver los directorios que se ven comúnmente en un sistema operativo tipo UNIX (bin, boot, etc). Ahora se crea un directorio para la nueva partición que se ha montado. Puedes llamar el directorio como quieras. Solo recuerda que es mejor que sea un nombre corto para poder recordarlo fácilmente.

$ mkdir mnt/min_buntu

Lo siguiente es cambiar del directorio actual a etc.

$ cd /mnt/my_root/etc && pwd

El comando pwd debería dar algo asi /mnt/mi_root/etc/. De otro modo has hecho algo mal. Ahora se edita el fstab.

$ sudo gedit fstab&bg

Esto abrirá el fstab en el editor de textos de GNOME. Ahora ya puedes editarlo.
El fstab contiene información sobre el sistema de fichero de tu maquina. Cada entra de fstab esta en esta forma:

Por ejemplo:

/dev/sda5 /mnt/FreeBSD/rewt ufs ro,ufstype=ufs2,noatime 0 0.


En este caso el sistema de archivos localizado en /dev/sda5 esta montado en /mnt/FreeBSD/rewt. El tipo de archivo es ufs y las opciones son solo lectura, ufstype=ufs2 y noatime. Lo que puedes hacer es copiar y pegar la primera entrada del fstab, que por lo general es la partición root, pero asegúrate de cambiar el UUID.

El siguiente comando te dirá el UUID de todas tus particiones de tu disco. Úsalo si lo necesitas:

$ blkid

Hasta el momento se ha creado una nueva partición para el Ubuntu mínimo y añadido la entrada apropiada en el fstab. Ahora es momento de reiniciar para volver a Ubuntu.

4) Instalando los paquetes apropiados y bootstrapping

Si aun no tienes instalado debootstrap has lo siguiente:

$ sudo apt-get install debootstrap && sudo apt-get install build-essential

Ahora estas listo para empezar el bootstrapping de la instalación mínima de Ubuntu. El debootstrap se usa generalmente de la siguiente forma:

$ debootstrap --arch $ARCH $RELEASE  $DIR $MIRROR

Donde:

  • $ARCH es la arquitectura que estas usando (i386, amd64, sparc, etc).
  • $RELEASE es la versión de Ubuntu que deseas usar (edgy, gusty, hardy, etc).
  • $DIR es el directorio que harás el bootstrapping.
  • $MIRROR deberia ser http://archive.ubuntu.com/ubuntu.

Basándose en la sintaxis anterior lo siguiente seria un ejemplo usando el debootstrap:

$ debootstrap --arch i386 gutsy /mnt/min_buntu http://archive.ubuntu.com/ubuntu

5) Configurando nuestra nueva instalación

Una vez que el comando debootstrap finaliza, necesitas hacer chroot en tu nueva instalación.

$ chroot /mnt/min_buntu /bin/bash

Luego debes crear el fstab. Antes de continuar con estos comandos. Una vez que hayas creado el fstab ejecuta el segundo comando para montar todos los sistemas de archivos listados en /etc/fstab. Crea el fstab usando el comando editor. O quizás te sientas mejor usando Vi o nano.

$ editor /etc/fstab

$ sudo mount -t proc proc /proc && sudo mount -t sysfs sysfs /sys

$ sudo mount -a

Ahora tienes que crear los ficheros /etc/network/interfaces, /etc/resolv.conf, /etc/hostname and /etc/hosts para que la red funcione adecuadamente. Hay ejemplos en /usr/share/doc/ifupdown/examples. También puedes aprender mas sobre estos archivos usando el comando man.

$ man interfaces
$ man resolv.conf
$ man hostname
$ man hosts

Después que hayas editado estos archivos apropiadamente todavía hay algunos paso importantes que se deben hacer.

6) Instalando el kernel de Linux, agregando usuarios y los archivos de sudo

Debes instalar un kernel. Usa el comando apt-cache search linux-image para encontrar el kernel apropiado y luego instalalo usando el comando aptitude install.

$ apt-cache search linux-image

$ aptitude install

Ahora ya puedes agregar usuarios y grupos. Primero añade el grupo administrador y luego añade tu usuario, no olvides de ponerle contraseña.

$ addgroup --system admin

$ useradd -s /bin/bash -g admin -m -k /dev/null user

$ passwd root

$ passwd user

Ahora se modifica los archivos del sudo de tal forma que cualquiera que este en el grupo administrador obtenga privilegios de root. Es seguro usar el comando visudo ya que revisa la sintaxis. Aquí un ejemplo:

Defaults        env_reset,insults,timestamp_timeout=0
%admin ALL=(ALL) ALL

Esto significa que el comando sudo siempre preguntara por contraseña, te insultara si es que poner una contraseña incorrecta y cualquier variable de ambiente sera reseteada cuando se usa sudo. Dependiendo de tus necesidades quizás deseas mantener env_reset o cambiarlo por env_keep.

Listo, ahora ya estas listo para instalar cualquier paquete que desees en tu maquina. Se recomienda build-essential y evitar cualquier paquete enorme como por ejemplo ubuntu-desktop, de tal forma se mantiene el sistema liviano.

No hay comentarios: