Esta guía explica cómo instalar Hyperbola GNU/Linux-Libre, con cifrado completo del disco, incluido /boot (el directorio de inicio). En la mayoría de los sistemas, /boot debe dejarse sin cifrar, mientras que las otras particiones están cifradas. Esto es para que GRUB (y por lo tanto el kernel) se pueda cargar y ejecutar, porque la mayoría del firmware no puede abrir un volumen LUKS; sin embargo, con Libreboot, GRUB ya está incluido como una carga útil, por lo que incluso /boot se puede cifrar; esto protege a /boot de la manipulación por parte de alguien con acceso físico al sistema.
Puede encontrar los requisitos mínimos para ejecutar Hyperbola GNU/Linux-libre en la página de descarga.
Para esta guía estamos usando la versión Milky Way, la imagen en vivo está disponible en la página de descarga.
Consulte la guía para principiantes, para encontrar y elegir el dispositivo de instalación adecuado, si está utilizando un disco óptico, o en una unidad USB.
Después de descargar la ISO y crear algún tipo de medio de arranque, deberá iniciar la imagen en vivo. Si no está seguro de cómo hacerlo, consulte cómo iniciar un instalador de GNU/Linux, y continúe con el siguiente paso; de lo contrario, simplemente vaya al siguiente paso.
Para comenzar la instalación, primero debe seleccionar la distribución del teclado
También deberá configurar una conexión de red, para instalar los paquetes.
Debe preparar el dispositivo de almacenamiento que utilizaremos para instalar el sistema operativo. Puede usar el mismo nombre del dispositivo que usó anteriormente, para determinar el dispositivo de instalación para el ISO.
Desea asegurarse de que el dispositivo que está utilizando no contiene ninguna copia de texto simple de sus datos personales. Si la unidad es nueva, puede omitir el resto de esta sección; si no es nuevo, entonces hay dos maneras de manejarlo:
#dd if=/dev/urandom of=/dev/sdX; sync
# head -c 3145728 /dev/urandom > /dev/sdX; sync
Además, si estás usando un SSD, hay dos cosas que debes tener en cuenta:
Ahora que todos los datos personales se han eliminado del disco, es hora de formatearlos. Comenzaremos creando una partición grande y única en ella, y luego encriptándola usando LUKS.
Necesitará el módulo de kernel de mapeador de dispositivos durante la instalación; esto nos permitirá configurar nuestro disco cifrado. Para cargarlo, usa el siguiente comando:
# modprobe dm-mod
Luego debemos seleccionar el nombre del dispositivo de la unidad en la que estamos instalando el sistema operativo; vea el método anterior, si es necesario, para averiguar los nombres de los dispositivos.
Ahora que tenemos el nombre del dispositivo correcto, necesitamos crear la partición en él. Para esto, usaremos el comando cfdisk:
# cfdisk /dev/sdX
Ahora que ha creado la partición, es el momento de crear el volumen cifrado en ella, utilizando el comando cryptsetup, como este:
# cryptsetup -v --cipher serpent-xts-plain64 --key-size 512 --hash whirlpool --iter-time 500 --use-random --verify-passphrase luksFormat /dev/sdXY
Estos son solo los valores por defecto recomendados; Si desea utilizar algo más, o para averiguar qué opciones hay, ejecute man cryptsetup.
Ahora se te pedirá que ingreses una frase de contraseña; asegúrese de hacerlo seguro. Para la seguridad de la contraseña, la longitud es más importante que la complejidad (por ejemplo, correct-horse-battery-battery es más seguro que bf20$3Jhy3), pero es útil incluir varios tipos diferentes de caracteres (por ejemplo, mayúsculas/minúsculas, números, caracteres especiales). La longitud de la contraseña debe ser tan larga como sea posible de recordar, sin tener que escribirla o almacenarla en cualquier lugar.
Se recomienda el uso del método diceware para generar frases de contraseña seguras (en lugar de contraseñas).
El siguiente paso es crear dos volúmenes lógicos dentro de la partición cifrada LUKS: uno contendrá su instalación principal y el otro contendrá su espacio de intercambio o swap.
Crearemos esto utilizando, el Gestor de Volumen Lógico (LVM).
Primero, necesitamos abrir la partición LUKS, en /dev/mapper/lvm:
# cryptsetup luksOpen /dev/sdXY lvm
Entonces, creamos la partición LVM:
# pvcreate /dev/mapper/lvm
Asegúrese de que se creó la partición:
# pvdisplay
A continuación, creamos el grupo de volúmenes, dentro del cual se crearán los volúmenes lógicos. Para este ejemplo, llamaremos a este grupo matrix. Puedes llamar al tuyo como quieras; Solo asegúrate de recordar su nombre:
# vgcreate matrix /dev/mapper/lvm
Asegúrese de que se creó el grupo:
# vgdisplay
Por último, necesitamos crear los volúmenes lógicos en sí mismos, dentro del grupo de volúmenes; uno será nuestro swap, hábilmente llamado swapvol, y el otro será nuestra partición root, igualmente ingeniosamente nombrada como rootvol
# lvcreate -L 2G matrix -n swapvol
#lvcreate -l +100%FREE matrix -n rootvol
También puede ser flexible aquí, por ejemplo, puede especificar un /boot, un /, un /home, un /var, o un volumen /usr. Por ejemplo, si va a ejecutar un servidor web/mail, entonces desea /var (donde se almacenan los registros) en su propia partición, de modo que si se llena de registros, no bloqueará tu home/ de la computadora portátil (caso de uso típico), solo un root y un swap serán suficientes.
Verifique que los volúmenes lógicos fueron creados correctamente:
# lvdisplay
Los últimos pasos para configurar la unidad para la instalación son convertir swapvol en una partición de intercambio activa y formatear rootvol.
Para convertir swapvol en una partición de intercambio, ejecutamos el comando mkswap (es decir, crear swap):
# mkswap /dev/mapper/matrix-swapvol
Active el swapvol, permitiendo que ahora se use como intercambio, usando el comando swapon (es decir, active swap)
# swapon /dev/matrix/swapvol
Ahora tenemos que formatear rootvol, para que esté listo para la instalación; lo hacemos con el comando mkfs (es decir, crear el sistema de archivos). Elegimos el sistema de archivos ext4, pero puede usar uno diferente, depende de su uso:
# mkfs.ext4 /dev/mapper/matrix-rootvol
Por último, necesitamos montar rootvol. Afortunadamente, GNU/Linux tiene un directorio para este propósito: /mnt:
# mount /dev/matrix/rootvol /mnt
Ahora que ha montado rootvol, debe crear las dos carpetas más importantes: /boot y /home; estas carpetas contienen sus archivos de arranque, así como los documentos personales, videos, etc. de cada usuario.
Ya que montó rootvol en /mnt, aquí es donde debe crearlos; lo hará usando mkdir:
# mkdir -p /mnt/home
# mkdir -p /mnt/boot
También puede crear dos particiones separadas para /boot y /home, pero tal configuración sería para usuarios avanzados, y por lo tanto no se trata en esta guía. Para obtener más información sobre cómo hacer esto, consulte la wiki de Arch en particiones.
La configuración de la unidad y las particiones ahora están completas; es hora de instalar Hyperbola.
Necesitamos instalar las aplicaciones esenciales para que se ejecute su instalación de Hyperbola; consulte Instalar el sistema base, en nuestro wiki.
El siguiente paso en el proceso, es generar un archivo conocido como fstab; el propósito de este archivo es que el sistema operativo identifique el dispositivo de almacenamiento utilizado por su instalación. En la guía para principiantes está la instrucción para generar ese archivo.
Ahora, necesita chroot en su nueva instalación, para completar el proceso de instalación y configuración. Chrooting se refiere a cambiar el directorio raíz de un sistema operativo por otro diferente; en este caso, significa cambiar su directorio raíz al que creó en los pasos anteriores, para que pueda modificar los archivos e instalar el software en él, como si fuera el sistema operativo host.
Para entrar al Chroot, siga las instrucciones de la guía para principiantes.
La configuración regional se refiere al idioma que usará su sistema operativo, así como a algunas otras consideraciones relacionadas con la región en la que vive. Para configurar esto, siga las instrucciones en la guía para principiantes.
Esto determinará la distribución del teclado de su nueva instalación; siga las instrucciones en la guía para principiantes.
Deberá establecer su zona horaria actual en el sistema operativo; esto permitirá que las aplicaciones que requieren un tiempo preciso funcionen correctamente (por ejemplo, el navegador web). Para hacer esto, siga las instrucciones en la guía para principiantes.
Para asegurarse de que su computadora tenga la hora correcta, tendrá que configurar la hora en el reloj interno de su computadora. Siga las instrucciones en la guía para principiantes para hacer eso.
Ahora debemos asegurarnos de que el kernel tenga todos los módulos que necesita para iniciar el sistema operativo. Para hacer esto, necesitamos editar un archivo llamado mkinitcpio.conf. Puede encontrar más información sobre este archivo en la Arch wiki, pero para esta guía, simplemente debe ejecutar el siguiente comando.
# nano /etc/mkinitcpio.conf
Hay varias modificaciones que debemos hacer en el archivo:
# nano /etc/mkinitcpio.conf "base udev autodetect modconf block keyboard keymap consolefont encrypt lvm2 filesystems fsck shutdown"
Esto es lo que hace cada módulo:
Después de modificar el archivo y guardarlo, debemos actualizar el(los) núcleo(s) con la nueva configuración.
También instalaremos el paquete grub, que necesitaremos más adelante, para realizar nuestras modificaciones al archivo de configuración de GRUB:
# pacman -S grub
Luego, actualizamos el núcleo, usando el comando mkinitcpio:
# mkinitcpio -p linux-libre-lts
Ahora necesitamos configurar el nombre de host para el sistema; esto es para que nuestro dispositivo pueda ser identificado por la red. Consulte la sección de nombre de host de la guía para principiantes. Puedes hacer el nombre de host como quieras; por ejemplo, si quisiera elegir el nombre de host hyperbola, ejecutaría el comando echo, de la siguiente manera:
# echo hyperbola > /etc/hostname
Y luego modificaría /etc/hosts así, agregándole el nombre de host:
# nano /etc/hosts #<ip-address> <hostname.domain.org> <hostname> 127.0.0.1 localhost.localdomain localhost hyperbola ::1 localhost.localdomain localhost hyperbola
Ahora que tenemos un nombre de host, necesitamos configurar los ajustes para el resto de la red, sugerimos usar netifrc para configurar su conexíon cableado/inalámbrica. Consulte el Gentoo Handbook que explica los scripts de netifrc con un alto nivel de detalle.
La cuenta root tiene control sobre todos los archivos en la computadora; por seguridad, debemos protegerlo con una contraseña. Los requisitos de contraseña indicados anteriormente, para la frase de contraseña LUKS, también se aplican aquí. Establecerá esta contraseña con el comando passwd:
# passwd
Hay algunos cambios finales que podemos hacer en la instalación, para hacerla significativamente más segura; estos se basan en la sección de securidad de la wiki Arch.
Debemos abrir el archivo de configuración para configurar la contraseña y aumentar la solidez de nuestra contraseña root:
# nano /etc/pam.d/passwd
Agregue rounds=65536 al final de la línea de “password” sin comentarios. en términos simples, esto forzará a un atacante a tomarse más tiempo con cada conjetura de contraseña, mitigando la amenaza de ataques de fuerza bruta.
Puede evitar que cualquier usuario, que no sea el usuario root, acceda a los directorios más importantes del sistema mediante el comando chmod.
# chmod 700 /boot /etc/{iptables,arptables}
~ man chmod
También podemos configurar el sistema para bloquear la cuenta de un usuario, después de tres intentos fallidos de inicio de sesión.
Para hacer esto, tendremos que editar el archivo /etc/pam.d/system-login, y comentar esta línea:
auth required pam\_tally.so onerr=succeed file=/var/log/faillog*\
También puedes borrarlo. Por encima de ella, ponga la siguiente línea:
auth required pam\_tally.so deny=2 unlock\_time=600 onerr=succeed file=/var/log/faillog
Esta configuración bloqueará al usuario durante diez minutos. Puede desbloquear la cuenta de un usuario manualmente, utilizando la cuenta root, con este comando:
# pam_tally --user *theusername* --reset
Edit configuration in /etc/default/grub, remembering to use UUID when pointing to mbr/gpt partition. Use blkid to get list of devices with their respective UUIDs. Next generate grub.cfg with: Edite la configuración en /etc/default/grub, recuerde usar UUID cuando señale la partición mbr/gpt. Utilice blkid para obtener una lista de dispositivos con sus UUID respectivos. Luego genere grub.cfg con:
# grub-mkconfig -o /boot/grub/grub.cfg
Si tiene una partición separada /boot, no olvide agregar el enlace simbólico de arranque que apunta al directorio actual:
# cd /boot
# ln -s . boot
¡Felicidades! Ha finalizado la instalación de Hyperbola GNU/Linux-libre. Ahora es el momento de reiniciar el sistema, pero primero, hay varios pasos preliminares:
Salga del chroot, usando el comando exit:
# exit
Desmonte todas las particiones de /mnt, y “apague” el volumen de intercambio (swap):
# umount -R /mnt
# swapoff -a
Desactive los volúmenes lógicos rootvol y swapvol:
# lvchange -an /dev/matrix/rootvol
# lvchange -an /dev/matrix/swapvol
Bloquee la partición cifrada (es decir, ciérrela):
# cryptsetup luksClose lvm
Apague la máquina:
# openrc-shutdown -p now
Una vez que la máquina esté apagada, retire los medios de instalación y enciéndala.
Cuando olvida configurar o configure incorrectamente grub en su hdd, debe iniciar el sistema manualmente ingresando una serie de comandos en la linea de comandos de GRUB.
Después iniciar la computadora, presione C para que aparezca la línea de comando de GRUB Aquí están los comandos:
grub> cryptomount -a grub> set root='lvm/matrix-rootvol' grub> linux /boot/vmlinuz-linux-libre-lts root=/dev/matrix/rootvol cryptdevice=/dev/sda1:root grub> initrd /boot/initramfs-linux-libre-lts.img grub> boot
AHCI time out out
La solución es desconectar la unidad de DVD.
Edite /etc/pacman.conf y configure las opciones de pacman, también habilitando los repositorios que necesita.
Consulte Pacman y los Repositorios para obtener más información.
En este punto debes actualizar tu sistema.
Consulte Actualizar paquetes para obtener instrucciones.
Finalmente, agregue un usuario normal como se describe en la Gestión de usuarios.
Desde Hyperbola que eliminó todo el soporte de systemd, le sugerimos que lea sobre OpenRC que es nuestro principal sistema de inicio predeterminado.
Su nuevo sistema base Hyperbola GNU/Linux-libre ahora es un entorno GNU/Linux funcional.
Este artículo de wiki se publica bajo la Licencia de Documentación Libre de GNU 1.3 sin secciones invariantes, sin textos de portada y sin contraportada.
Este artículo de wiki se basa en la documentación de Libreboot.