D.3. 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.

Nota

Dado que este proceso es, en gran parte, manual ha de tener en cuenta que tendrá que hacer gran parte de la configuración básica del sistema por su cuenta. Para poder hacer esto necesitará más conocimientos de Debian y en general de Linux que si fuera a hacer una instalación normal. No espere que el resultado de este procedimiento sea un sistema idéntico al que uno obtendría si realizara la instalación normalmente. También debería tener en cuenta que este procedimiento solamente describe los pasos básicos para configurar un sistema. Es posible que puedan tener que realizarse pasos adicionales en la instalación y/o configuración.

D.3.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 350 MB de espacio disponible para una instalación de consola o por lo menos 1 GB si va a instalar el entorno X (más si quiere instalar entornos de escritorio como GNOME o KDE).

A continuación, 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.

D.3.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 esto, sólo depende de /bin/sh y algunas herramientas básicas de Unix/Linux[23]. Si aún no lo ha hecho, instale wget y ar en su sistema actual, y luego descargue e instale 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 de éste. Necesitará privilegios de superusuario para instalar los ficheros.

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

D.3.3. Ejecutar debootstrap

debootstrap descargará los ficheros necesarios directamente desde el archivo cuando lo ejecute. Puede sustituir ftp.es.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 lenny 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, amd64, arm, armel, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390 o sparc.

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

D.3.4. Configurar el sistema base

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

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

Después de haaber hecho esto puede que necesite establecer una definición de terminal compatible con el sistema base de Debian. Por ejemplo:

# export TERM=xterm-color

D.3.4.1. Crear ficheros de dispositivos

Llegados a este punto el directorio /dev/ contiene solamente ficheros de dispositivos muy básicos. Es posible que necesite ficheros de dispositivo adicionales para llevar a cabo los pasos siguientes de la instalación. Hay varias formas de hacerlo y el método que vaya a usar dependerá del sistema inicial que esté usando para la instalación, de si desea usar un núcleo modular o no, de si pretende usar dispositivos de archivos dinámicos (p.ej. con udev) o estáticos para el nuevo sistema.

Algunas de las opciones disponibles son las siguientes:

  • cree un conjunto predeterminado de ficheros de dispositivo estáticos con

    # cd /dev
    # MAKEDEV generic
    

  • cree manualmente solamente ficheros de dispositivos específicos con MAKEDEV

  • Monte /dev del sistema original encima del directorio /dev del sistema objetivo utilizando un enlace de montaje («bind mount», N. del T.) Ha de tener en cuenta que los programas de postinstalación de algunos paquetes pueden tratar de crear ficheros de dispositivos. Utilice esta opción con precaución.

D.3.4.2. 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         /media/floppy auto    noauto,rw,sync,user,exec 0    0
/dev/cdrom       /media/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

Los sistemas Debian actuales tienen puntos de montaje para medios removibles bajo /media, pero mantienen enlaces simbólicos por compatibilidad en /. Cree esto si los necesita, como por ejemplo:

# cd /media
# mkdir cdrom0
# ln -s cdrom0 cdrom
# cd /
# ln -s media/cdrom

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

D.3.4.3. Configurar la zona horaria

Una opción en el archivo /etc/default/rcS determina si el sistema interpreta el reloj de hardware como UTC o como hora local. La siguiente orden le permite configurar esto y elegir su zona horaria.

# editor /etc/default/rcS
# dkpg-reconfigure tzdata
 

D.3.4.4. Configurar la red

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

# 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 de ejemplo sería:

search hqdom.local
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

Y una /etc/hosts básico con soporte IPv6 sería:

127.0.0.1 localhost MaquinaDebian

# Las siguientes líneas son recomendables en equipos que pueden
# utilizar IPv6
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

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.

D.3.4.5. Configurar Apt

Debootstrap habrá creado un /etc/apt/sources.list muy básico que le permite instalar paquetes adicioanles. Seguramente querrá, sin embargo, tener algunas fuentes adicionales para poder acceder a paquetes fuente y a actualizaciones de seguridad:

deb-src http://ftp.us.debian.org/debian lenny main

deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main

Asegúrese de ejecutar aptitude update después de hacer cambios a la lista de fuentes.

D.3.4.6. Configure Locales and Keyboard

Instale el paquete de soporte de localización locales y configúrelo para poder definir los valores de localización para usar un idioma diferente al inglés. Actualmente se recomienda utilizar locales UTF-8.

# aptitude install locales
# dpkg-reconfigure locales

Para configurar su teclado (si lo necesita):

# aptitude install console-data
# 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.

D.3.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 linux-image

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

Si va a utilizar un núcleo pre-empaquetado puede querer crear su propio fichero de configuración /etc/kernel-img.conf antes de hacerlo. Aquí hay un fichero de ejemplo:

# Kernel image management overrides
# See kernel-img.conf(5) for details
do_symlinks = yes
relative_links = yes
do_bootloader = yes
do_bootfloppy = no
do_initrd = yes
link_in_boot = no

Consulte su página de manual si quiere información detallada de este fichero y de las distintas opciones. La página de manual estará disponible una vez instale el paquete kernel-package. Le recomendamos que revise si los valores son correctos para su sistema.

Después instale el paquete del núcleo que elija utilizando el nombre del paquete.

# aptitude install linux-image-2.6.26-arch-etc

Se le harán algunas preguntas referidas a /etc/kernel-img.conf durante la instalación si no creó ese fichero antes de instalar un núcleo pre-empaquetado.

D.3.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 aptitude dentro de su jaula Debian para hacer esto.

Estos ejemplos asumen que se ha creado el fichero de dispositov /dev/hda. Existen métodos alternativos para instalar grub, pero están fuera del alcance de este apéndice.

D.3.7. Toques finales

El sistema instalado, como se ha mencionado previamente, será muy básico. Si quiere que su sistema sea un poco más maduro puede hacerlo fácilmente instalando todos los paquetes de prioridad “standard”:

# tasksel install standard

Por supuesto, también puede utilizar aptitude para instalar individualmente todos los paquetes.

Despue de la instalación habrá muchos paquetes descargados en /var/cache/apt/archives/. Puede liberar algo de espacio de disco ejecutando:

# aptitude clean



[23] Esto incluye las utilidades principales de GNU y órdenes como sed, grep, tar y gzip.