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 |
---|---|
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. |
With your current *nix partitioning tools, repartition the hard drive as needed, creating at least one filesystem plus swap. You need around 701MB of space available for a console only install, or about 2486MB if you plan to install X (more if you intend to install desktop environments like GNOME or KDE Plasma).
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 |
---|---|
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. |
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[25]. 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
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 buster de Debian GNU/Linux montado en /cdrom
. Para ello utilice, en lugar de la dirección http, file:/cdrom/debian/
.
Substitute one of the following for ARCH
in the debootstrap command: amd64
, arm64
, armel
, armhf
, i386
, mips
, mips64el
, mipsel
, powerpc
, ppc64el
, or s390x
.
# /usr/sbin/debootstrap --arch ARCH buster \ /mnt/debinst http://ftp.us.debian.org/debian
If the target architecture is different than the host, you should add the --foreign
option.
Now you've got a real Debian system, though rather lean, on disk. chroot into it:
# LANG=C.UTF-8 chroot /mnt/debinst /bin/bash
If the target architecture is different from the host, you will need to first copy qemu-user-static to the new host:
# cp /usr/bin/qemu-ARCH-static /mnt/debinst/usr/bin # LANG=C.UTF-8 chroot /mnt/debinst qemu-ARCH-static /bin/bash
After chrooting you may need to set the terminal definition to be compatible with the Debian base system, for example:
# export TERM=xterm-color
Depending on the value of TERM, you may have to install the ncurses-term
package to get support for it.
If the target architecture is different from the host, you need to finish the multi-stage boot strap:
/debootstrap/debootstrap --second-stage
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 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.
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
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
To configure networking, edit /etc/network/interfaces
, /etc/resolv.conf
, /etc/hostname
and /etc/hosts
.
# editor /etc/network/interfaces
Here are some simple examples from /usr/share/doc/ifupdown/examples
:
###################################################################### # /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) # See the interfaces(5) manpage for information on what options are # available. ###################################################################### # The loopback interface isn't really required any longer, but can be used # if needed. # # auto lo # iface lo inet loopback # To use dhcp: # # auto eth0 # iface eth0 inet dhcp # An example static IP setup: (network, broadcast and gateway are optional) # # 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
Enter your nameserver(s) and search directives in /etc/resolv.conf
:
# editor /etc/resolv.conf
A simple example /etc/resolv.conf
:
search example.com nameserver 10.1.1.36 nameserver 192.168.9.100
Enter your system's host name (2 to 63 characters):
# echo DebianHostName > /etc/hostname
And a basic /etc/hosts
with IPv6 support:
127.0.0.1 localhost 127.0.1.1 DebianHostName # The following lines are desirable for IPv6 capable hosts ::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
If you have multiple network cards, you should arrange the names of driver modules in the /etc/modules
file into the desired order. Then during boot, each card will be associated with the interface name (eth0, eth1, etc.) that you expect.
Debootstrap will have created a very basic /etc/apt/sources.list
that will allow installing additional packages. However, you may want to add some additional sources, for example for source packages and security updates:
deb-src http://ftp.us.debian.org/debian buster main deb http://security.debian.org/ buster/updates main deb-src http://security.debian.org/ buster/updates main
Make sure to run apt update
after you have made changes to the sources list.
To configure your locale settings to use a language other than English, install the locales
support package and configure it. Currently the use of UTF-8 locales is recommended.
# apt install locales # dpkg-reconfigure locales
To configure your keyboard (if needed):
# apt 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.
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 search linux-image
A continuación, instale el paquete del núcleo deseado usando el nombre del paquete.
# apt install linux-image-arch-etc
To make your Debian GNU/Linux system bootable, set up your boot loader to load the installed kernel with your new root partition. Note that debootstrap does not install a boot loader, but you can use apt inside your Debian chroot to do so.
Consulte info grub
o man lilo.conf
para 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 para su grub2 existente editando el fichero grub.cfg
o lilo.conf
actual. También podría copiar lilo.conf
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).
Installing and setting up grub2
is as easy as:
# apt install grub-pc
# grub-install /dev/sda
# update-grub
The second command will install grub2 (in this case in the MBR of sda
). The last command will create a sane and working /boot/grub/grub.cfg
.
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.
Aquí tiene un ejemplo básico de /etc/lilo.conf:
boot=/dev/sda6
root=/dev/sda6
install=menu delay=20 lba32 image=/vmlinuz initrd=/initrd.img label=Debian
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.
# apt 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
As mentioned earlier, the installed system will be very basic. If you would like to make the system a bit more mature, there is an easy method to install all packages with “standard” priority:
# tasksel install standard
Of course, you can also just use apt to install packages individually.
Después de la instalación habrá muchos paquetes descargados en /var/cache/apt/archives/
. Puede liberar algo de espacio de disco ejecutando:
# apt clean