D.3. Instalar Debian GNU/Linux desde un sistema Unix/Linux

Esta sección explica cómo 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, Mandriva 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] 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 desee 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 506 MB de espacio disponible para una instalación de consola o por lo menos 1536 MB 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/sda6 (es nuestra partición raíz de ejemplo):

# mke2fs -j /dev/sda6

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/sda5
# sync
# swapon /dev/sda5

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/sda6 /mnt/debinst

[Nota] 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. Usa wget y ar, pero, salvo esto, sólo depende de /bin/sh y algunas herramientas básicas de Unix/Linux[22]. Si aún no lo ha hecho, instale wget y ar en su sistema actual, y luego descargue e instale debootstrap.

Por otra parte, puede usar el siguiente procedimiento para instalarlo manualmente. Cree un directorio temporal trabajo para extraer el fichero «.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 paquete 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/mirror/list.

Puede utilizar una dirección de fichero si tiene un CD de la versión jessie 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 para la orden debootstrap: amd64, arm64, armel, armhf, i386, mips, mipsel, powerpc, ppc64el, o s390x.

# /usr/sbin/debootstrap --arch ARQ jessie \
     /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.UTF-8 chroot /mnt/debinst /bin/bash

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

D.3.4.1. Crear ficheros de dispositivos

Llegados a este punto el directorio /dev/ contiene solamente ficheros de dispositivo 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; si desea usar un núcleo modular o no, si pretende usar ficheros de dispositivo dinámicos (p.ej. con udev) o estáticos en el sistema nuevo.

Algunas de las opciones disponibles son las siguientes:

  • instale el paquete makedev, y cree un conjunto predeterminado de ficheros de dispositivo estáticos (después de acceder a la jaula chroot) con

    # apt-get install makedev
    # mount none /proc -t proc
    # cd /dev
    # MAKEDEV generic
    

  • cree manualmente sólo 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 dispositivo. 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 según sus necesidades:

# /etc/fstab: información estática del 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 extraíbles 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

Si se define la tercera línea del fichero /etc/adjtime como UTC o LOCAL, se determina si el sistema interpreta el reloj de hardware como UTC o como hora local. Las siguientes órdenes le permiten configurar ésto.

# editor /etc/adjtime

Here is a sample:

0.0 0 0.0
0
UTC

La siguiente orden le permite elegir su zona horaria.

# dpkg-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 que permita IPv6 sería:

127.0.0.1 localhost 
127.0.0.1 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 adicionales. 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 jessie main

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

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

D.3.4.6. Configurar la localización y el teclado

Instale el paquete de funcionalidad 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 codificados en UTF-8.

# aptitude install locales
# dpkg-reconfigure locales

Para configurar su teclado (si lo necesita):

# aptitude install console-setup
# dpkg-reconfigure keyboard-configuration 

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

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

A continuación, instale el paquete del núcleo deseado usando el nombre del paquete.

# aptitude install linux-image-arch-etc

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 («chroot») Debian para hacer esto.

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

D.3.7. Acceso remoto: instalación de SSH y configurar una contraseña

In case you can login to the system via console, you can skip this section. If the system should be accessible via the network later on, you need to install SSH and set up access.

# aptitude install ssh

Root login with password is disabled by default, so setting up access can be done by setting a password and re-enable root login with password:

# passwd
# editor /etc/ssh/sshd_config

This is the option to be enabled:

PermitRootLogin yes

Access can also be set up by adding an ssh key to the root account:

# mkdir /root/.ssh
# cat << EOF > /root/.ssh/authorized_keys
ssh-rsa ....
EOF

Lastly, access can be set up by adding a non-root user and setting a password:

# adduser joe
# passwd joe

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

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

# aptitude clean



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