C.4. Instalar Debian GNU/Linux desde un sistema Unix/Linux

Esta sección explica como instalar Debian GNU/Linux desde un sistema Unix o Linux existente, sin usar el instalador basado en menús, como se explica en el resto de este manual. Los usuarios que se cambian a Debian GNU/Linux desde Red Hat, Mandrake y SuSE han solicitado este CÓMO de “instalación cruzada”. En esta sección se asume alguna familiaridad con la introducción de órdenes en *nix y navegación en el sistema de ficheros. En esta sección $ simboliza una orden a introducirse en el sistema actual del usuario, mientras que # se refiere a una orden introducida en la jaula (“chroot”, N. del t.) de Debian.

Una vez que tenga el nuevo sistema Debian configurado a su preferencia, puede migrar los datos existentes de sus usuarios (si fuese el caso) a éste y continuar funcionando. Esto es por tanto una instalación “sin parada” de Debian GNU/Linux. Es también una forma inteligente de tratar con hardware que no puede utilizarse de forma sencilla con los distintos mecanismos de instalación o arranque disponibles.

C.4.1. Primeros pasos

Reparticione el disco duro como lo necesita con las herramientas de particionado de *nix que disponga, debe crear por lo menos un sistema de ficheros más una partición de intercambio. Necesita por lo menos 150 MB de espacio disponible para una instalación de consola o por lo menos 300 MB si va a instalar el entorno X.

Deberá crear sistemas de ficheros en sus particiones. Por ejemplo, para crear un sistema de ficheros ext3 en la partición /dev/hda6 (es nuestra partición raíz de ejemplo):

# mke2fs -j /dev/hda6

En cambio para crear un sistema de ficheros ext2, omita -j.

Inicialice y active la partición de intercambio (sustituya el número de partición por la partición de intercambio de Debian que vaya a utilizar):

# mkswap /dev/hda5
# sync; sync; sync
# swapon /dev/hda5

Monte una partición como /mnt/debinst (el punto de instalación, que será el sistema de ficheros raíz (/) en su nuevo sistema). El nombre del punto de montaje es estrictamente arbitrario, pero se utilizará este mismo nombre más adelante.

# mkdir /mnt/debinst
# mount /dev/hda6 /mnt/debinst

Nota

Deberá crear y montar manualmente los directorios que sean necesarios antes de continuar con la siguiente parte del proceso si desea montar partes del sistema de ficheros (como por ejemplo “/usr”) en particiones distintas.

C.4.2. Instalar debootstrap

debootstrap es la herramienta que usa el instalador de Debian, es también la forma oficial de instalar un sistema base Debian. Éste usa wget y ar, pero, salvo ésto, sólo depende de /bin/sh. Si aún no lo ha hecho, instale wget y ar en su sistema actual, y luego descargue e instale debootstrap.

Si tiene un sistema basado en rpm, puede usar alien para convertir el .deb en .rpm, o descargar una versión adaptada a rpm de http://people.debian.org/~blade/install/debootstrap

O bien, puede usar el siguiente procedimiento para instalarlo manualmente. Cree un directorio temporal “trabajo” para extraer el .deb en él:

# mkdir trabajo
# cd trabajo

El binario de debootstrap se encuentra en el archivo de Debian (asegúrese de elegir el fichero adecuado para su arquitectura). Descargue el .deb de debootstrap desde el almacén de paquetes en http://ftp.debian.org/debian/pool/main/d/debootstrap/, copie el paquete al directorio “trabajo” y extraiga los ficheros binarios de éste. Necesitará privilegios de superusuario para instalar los binarios.

# ar -x debootstrap_0.X.X_arch.deb
# cd /
# zcat /ruta-completa-hasta-trabajo/trabajo/data.tar.gz | tar xv

Tenga en cuenta que puede necesitar tener al menos una versión de glibcigual o superior a la versión mínima soportada (actualmente GLIBC_2.3) para poder ejecutar debootstrap. Aunque debootstrap es un guión de línea de órdenes, tiene que llamar a distintas utilidades que necesitan que se disponga de glibc.

C.4.3. Ejecutar debootstrap

debootstrap descargará los ficheros necesarios directamente desde el archivo cuando lo ejecute. Puede sustituir http.us.debian.org/debian por cualquier servidor de réplica del archivo Debian, en la orden de ejemplo que se muestra a continuación. Es mejor que utilice un servidor de réplica cercano (es decir, en una red próxima). Puede encontrar una lista completa de los servidores de réplica en: http://www.debian.org/misc/README.mirrors.

Puede utilizar una dirección de fichero si tiene un CD de la versión sarge de Debian GNU/Linux montado en /cdrom. Para ello utilice, en lugar de la dirección http, file:/cdrom/debian/.

Sustituya ARQ por alguno de los valores mostrados a continuación en la orden debootstrap en función de su arquitectura: alpha, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390 o sparc.

# /usr/sbin/debootstrap --arch ARQ sarge \
     /mnt/debinst http://http.us.debian.org/debian

C.4.4. Configurar el sistema base

Ahora tiene instalado un sistema Debian, aunque algo limitado, en su disco. Ejecute la orden chroot en él:

# LANG= chroot /mnt/debinst /bin/bash

C.4.4.1. Montar particiones

Necesita crear /etc/fstab.

# editor /etc/fstab

Este es un ejemplo que puede modificar a sus necesidades:

# /etc/fstab: información estática de sistema de ficheros.
#
# file system    mount point   type    options                  dump pass
/dev/XXX         /             ext3    defaults                 0    1
/dev/XXX         /boot         ext3    ro,nosuid,nodev          0    2

/dev/XXX         none          swap    sw                       0    0
proc             /proc         proc    defaults                 0    0

/dev/fd0         /mnt/floppy   auto    noauto,rw,sync,user,exec 0    0
/dev/cdrom       /mnt/cdrom    iso9660 noauto,ro,user,exec      0    0

/dev/XXX         /tmp          ext3    rw,nosuid,nodev          0    2
/dev/XXX         /var          ext3    rw,nosuid,nodev          0    2
/dev/XXX         /usr          ext3    rw,nodev                 0    2
/dev/XXX         /home         ext3    rw,nosuid,nodev          0    2

Utilice mount -a para montar todos los sistemas de ficheros que ha especificado en /etc/fstab o móntelos individualmente usando:

# mount /ruta  # por ej.:  mount /usr

Puede montar el sistema de ficheros “proc” tantas veces como quiera y en cualquier ubicación, aunque la ubicación habitual es /proc. Asegúrese de montar proc antes de continuar si no usa mount -a:

# mount -t proc proc /proc

Si ejecuta la orden ls /proc debería ver que el directorio no está vacío. Si esto falla, puede intentar montar “proc” fuera del entorno chroot:

# mount -t proc proc /mnt/debinst/proc

C.4.4.2. Configurar el teclado

Para configurar el teclado ejecute:

# dpkg-reconfigure console-data

Tenga en cuenta que no puede configurar el teclado mientras esté dentro del chroot, pero se configurará en el siguiente rearranque.

C.4.4.3. Configurar la red

Para configurar la red, edite /etc/network/interfaces, /etc/resolv.conf y /etc/hostname.

# editor /etc/network/interfaces

Aquí hay algunos ejemplos sencillos que podrá encontrar en /usr/share/doc/ifupdown/examples:

######################################################################
# /etc/network/interfaces -- fichero de configuración para ifup(8), ifdown(8)
# Lea la página de manual de interfaces(5) para información sobre las
# opciones disponibles.
######################################################################

# Siempre necesitamos la interfaz loopback.
#
auto lo
iface lo inet loopback

# Para usar dhcp:
#
# auto eth0
# iface eth0 inet dhcp

# Un ejemplo de configuración de IP estática: (el broadcast y pasarela son
# opcionales)
#
# auto eth0
# iface eth0 inet static
#     address 192.168.0.42
#     network 192.168.0.0
#     netmask 255.255.255.0
#     broadcast 192.168.0.255
#     gateway 192.168.0.1

Introduzca su servidor o servidores de nombres así como las directivas de búsqueda en /etc/resolv.conf:

# editor /etc/resolv.conf

Un /etc/resolv.conf sencillo sería:

search hqdom.local\000
nameserver 10.1.1.36
nameserver 192.168.9.100

Escriba el nombre de máquina de su sistema (de 2 a 63 caracteres):

# echo MaquinaDebian > /etc/hostname

Si tiene múltiples tarjetas de red, debe añadir los nombres de los módulos de controlador en el fichero /etc/modules en el orden que desee. Luego durante el arranque, cada tarjeta será asociada con el nombre de la interfaz (eth0, eth1, etc.) que haya indicado.

C.4.4.4. Configurar zona horaria, usuarios y APT

Configure su zona horaria, añada un usuario común y elija sus fuentes apt ejecutando

# /usr/sbin/base-config

C.4.4.5. Configurar locales

Instale el paquete de soporte a locales y configúrelo para poder definir los valores de localización para usar un idioma diferente al inglés:

# apt-get install locales
# dpkg-reconfigure locales

NOTA: Debe haber configurado antes Apt, durante la fase base-config. Consulte el CÓMO de localización apropiado antes de utilizar valores de localización con juegos de caracteres distintos a ASCII o latin1.

C.4.5. Instalar un núcleo

Si intenta arrancar este sistema, probablemente querrá un núcleo Linux y un gestor de arranque. Identifique los núcleos previamente empaquetados disponibles con

# apt-cache search kernel-image

Luego instale su elección usando el nombre del paquete.

# apt-get install kernel-image-2.X.X-arquitectura-etc

C.4.6. Configurar el gestor de arranque

Para poder arrancar su sistema Debian GNU/Linux deberá configurar su gestor de arranque para cargar el núcleo instalado en su nueva partición raíz. Tenga en cuenta que debootstrap no instala un gestor de arranque, pero puede usar apt-get dentro de su jaula Debian para hacer esto.

Use info grub o man lilo.conf para leer las instrucciones sobre cómo configurar el gestor de arranque. Si desea mantener el sistema que utilizó para instalar Debian, simplemente añada una entrada para la instalación de Debian en el fichero menu.lst o lilo.conf actual. También podría copiarlo al nuevo sistema y editarlo allí. Ejecute lilo una vez termine de editar el fichero (recuerde que éste usará el lilo.conf relativo al sistema desde el cual lo ejecute).

Aquí tiene un ejemplo básico de /etc/lilo.conf:

boot=/dev/hda6
root=/dev/hda6
install=menu
delay=20
lba32
image=/vmlinuz
label=Debian