Guía de instalación de arch linux base
22 de marzo de 2016 • fjbalon
Adentrándonos en el vasto universo de Unix y GNU/Linux, en especial en su distributismo característico; Arch Linux se presenta como una distro recomendada a usuarios avanzados y con cierto conocimiento técnico dentro del cosmos de Linux. Arch presenta un enfoque minimalista y KISS (Keep It Simple, Stupid) y, en cierto modo, Do It Yourself.
Esta distribución tiene sus raíces en 2002, cuando Judd Vinet la construyó en un enfoque de entorno simple y elegante, permitiendo a sus usarios modelar su sistema de acuerdo a sus necesidades y preferencias. Se trata además de un sistema de actualización rolling release, lo que aporta un mantenimiento continuo sin necesidad de reinstalaciones periódicas; característica que, unida a su gestor de paquetes
Realmente, el uso de Arch es muy simple, siendo incluso más simple que distribuciones basadas en Debian (sobretodo, por su gestor de paquetes, que lo hace excesivamente sencillo de utilizar incluso para un novato). Sin embargo, si hay una barrera de entrada para comenzar a usar este sistema operativo no es otra que cosa que la instalación. La instalación del sistema no cuenta con formularios gráficos ni diálogos que guien al usuario; sino simplemente ofrece una sesión de shell y otorga libertad total sobre ella al usuario.
Es por esta razón que he compendiado los pasos que realizó personalmente a la hora de construir mi sistema de Arch.
El inicio es sencillo, el console keymap por defecto es US (inglés americano). Para modificar el diseño, se puede agregar el nombre de layout correspondiente. Por ejemplo, para establecer una distribución de teclado en español utilizo:
loadkeys es
En términos simples, la BIOS (Sistema Básico de Entrada/Salida) y UEFI (Interfaz de Firmware Extensible Unificada) son dos tecnologías diferentes utilizadas para iniciar un sistema operativo en una computadora.
La BIOS, que significa Sistema Básico de Entrada/Salida, ha sido la interfaz estándar durante décadas. Se encarga de las operaciones básicas del sistema, incluido el proceso de arranque. Sin embargo, tiene limitaciones en cuanto a la capacidad de manejar discos duros grandes y sistemas operativos modernos.
Por otro lado, UEFI, que significa Interfaz de Firmware Extensible Unificada, es una tecnología más reciente que reemplaza gradualmente a la BIOS. UEFI proporciona una interfaz más avanzada y versátil, permitiendo un arranque más rápido y una mayor capacidad para gestionar hardware y sistemas operativos modernos. Además, UEFI supera las limitaciones de tamaño de disco asociadas con la BIOS.
Para verificar el modo de arranque, bastaría listar el directorio
ls /sys/firmware/efi/efivars
Si la salida muestra el contenido del directorio (stdout) sin error, entonces el sistema de inicio es UEFI. Si por el contrario ofrece error (stderr) debido a que el directorio no existe, entonces el sistema se inicia en modo BIOS (ó CSM).
Si tenemos comunicación ethernet con salida a Internet, bastaría conectarlo; generalmente el DHCP trabajará solo. De lo contrario será necesario establecer conexión con la red a través de WiFi (siempre que el equipo cuente con el hardware necesario). Utilizaremos
iwctl
[iwd]# device list
[iwd]# station d scan
[iwd]# station d get-networks
[iwd]# station d connect SSID
Cuando son reconocidos por el sistema live, los discos son asignados a un dispositivo de bloques como
boot /dev/sda1 /boot 150MB *Bootable
root /dev/sda2 / -
home /dev/sda3 /home -
swap /dev/sda4 /swap 2GB Type: Linux Swap / SolarisUna vez particionados los discos y sus particiones, éstas deben ser formateadas con un sistema de archivos apropiado.
mkfs.vfat -F32 $boot # UEFI
mkfs.ext2 $boot # BIOS
mkfs.ext4 $root
mkfs.ext4 $home
mkswap $swap
swapon $swapEl montaje en el directorio /mnt debe comenzar siempre con la raíz:
mount $root /mnt
mkdir -p /mnt/boot/efi && mount $boot /mnt/boot/efi # UEFI
mkdir /mnt/boot && mount $boot /mnt/boot # BIOS
mkdir /mnt/home && mount $home /mnt/home
Los paquetes a instalar se descargarán de los servidores espejo, que se definen en
Use el script pacstrap para instalar el paquete base, el kernel de Linux y el firmware para hardware común:
pacstrap /mnt base linux linux-firmware
Puede sustituir linux por un paquete de kernel de su elección, por supuesto. Tenga en cuenta que el paquete base no incluye todas las herramientas de la instalación en vivo, por lo que la instalación de otros paquetes puede ser necesaria para mantener el sistema base funcional. Como es mi caso, que añado:
pacstrap /mnt base-devel grub networkmanager nano dhcpcd
pacstrap /mnt efibootmgr # UEFI
Generamos el archivo
genfstab -U -p /mnt >> /mnt/etc/fstab
arch-chroot /mnt
Una vez enjaulados, podemos proceder a realizar parametrizaciones y configuraciones propias del sistema operativo en instalación, como son la zona horario, la localización y el mapa de teclas (keymap):
ln -s /usr/share/zoneinfo/Europe/Madrid /etc/localtime
echo "LANG=es_ES.UTF-8" >> /etc/locale.conf
echo "es_ES.UTF-8 UTF-8" >> /etc/locale.gen
locale-gen
echo "KEYMAP=es" >> /etc/vconsole.conf
hwclock -w
También configuraremos el hostname e instalaremos los paquetes adicionales a través de pacman:
echo $hostname >> /etc/hostname pacman -Sy --noconfirm git tree openssh openvpn gnupg nmap ipcalc pulseaudio pulseaudio-alsa pavucontrol pamixer acpi acpid
La nueva instalación le dejará sólo con una cuenta de root. Iniciar sesión como root durante períodos prolongados de tiempo o exponerlo a través de SSH en un servidor es altamente inseguro. Por ello, le recomiendo (según sus necesidades) crear y usar una cuenta de usuario sin privilegios, que empleará en la mayoría de las tareas de usuario, dejando la cuenta root para la administración del sistema. Además, añadiremos al grupo
useradd -m -g users -G audio,lp,optical,storage,video,wheel,games,power,scanner -s /bin/bash $username
passwd # clave de root
passwd $username
echo "%wheel ALL=(ALL) ALL" >> /etc/sudoers
Si bien el Sistema de Compilación de Arch (Arch Build System) permite la capacidad de compilar software disponible en los repositorios oficiales, el Repositorio de Usuarios de Arch (Arch User Repository - AUR) es el equivalente para los paquetes enviados por el usuario. Para poder usarlo es necesario un software de gestión de paquetes especializado, como yay:
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
yay -Syu
Elija e instale un gestor de arranque compatible con Linux. En este caso yo uso grub:
grub-install --efi-directory=/boot/efi --bootloader-id='Arch Linux' --target=x86_64-efi # UEFI
grub-install /dev/sda # BIOS
grub-mkconfig -o /boot/grub/grub.cfg
Por lo general, no es necesario crear un nuevo initramfs, ya que
mkinitcpio -p linux