Instalación con BTRFS, encriptación, ZRAM y otros
1. Configuraciones
Arch Linux install medium (x86_64, UEFI)- Aumentar tamaño de fuente:
setfont ter-122bosetfont ter-132n - Opcional. Verificar que sea UEFI
cat /sys/firmware/efi/fw_platform_size - Opcional. Ver distribución de teclados disponible:
localectl list-keymaps - Opcional. Cambiar distribución de teclado (temporal):
loadkeys la-latin1 - Opcional. Cambiar idioma del instalador:
nano /etc/locale.gen # Descomentar el idioma local
locale-gen # Actualizar configuracion
export LANG=es_GT.UTF-8 # Definir el idioma descomentado
WiFi
Opción 1
iwctl # Ingresar a la configuración de red
station list # Ver tarjetas de red disponibles
station <name> get-networks # Ver redes disponibles
station <name> connect "network name" # Conectar a la red
exit
Opción 2
iwctl # Entrar a la configuracion de red
device list # Muestra las tarjetas de red
<mode> <name> scan # Elegir dispositivo y escaner las redes disponibles
<mode> <name> get-networks # Mostrar las redes escaneadas
<mode> <name> connect "network name" # Elegir red
<mode> <name> show # Información de la conección
exit
Opcional. Utilidades
ip link # Ver adaptadores
ip a | ip addr # Ver ip
ping [-c 5] google.com # Probar conexión
2. Discos
# Opción 1
fdisk -l
# Opción 2
lsblk
Comando útil para ver discos disponibles, particiones creadas, particiones montadas y también para confirmar cuál formatear si es necesario.
Formatear disco
wipefs -a /dev/<disk> # Formatear disco
Ejemplo 1. BTRFS y encriptación con Lux
Crear particiones
- Ejemplo con comandos:
gdisk - Crea y formatea las particiones
gdisk /dev/<disk> # Ingresar al disco a particionar
o # Crear nueva GUID tabla de particiones (GPT) (similar a formatear)
# Se crean dos particiones, una EFI y otra default
n # Crear/agregar particion
>>> # Partition number: por defecto
>>> # First sector: por defecto
>>> # Last sector: "+1G" para EFI, Enter para la particion principal
>>> # Hex code or GUID: "ef00" para EFI, Enter para default 8300
w # Aplicar cambios
Comandos útiles de gdisk
? # Ver ayuda
p # Ver tabla actual de particiones
l # Ver tipos de particiones
Encriptar disco con Lux
cryptsetup luksFormat /dev/<root-disk-part>
- Encriptar la partición principal/raíz con Lux
- La contraseña debería ser diferente de root o cualquier otro usuario
Abrir disco encriptado y crear subvolúmenes BTRFS
cryptsetup luksOpen /dev/<root-disk-part> <name>
Formatear particiones
mkfs.btrfs /dev/mapper/<name>
<name>es el mismo que se definió al Abrir disco encriptado
Montar/activar particiones
mount /dev/mapper/<name> /mnt
cd /mnt # Ingresar a /mnt
btrfs subvolume create @ # Crear subvolumen Raiz
btrfs subvolume create @home # Crear subvolumen para usuarios
cd - # Salir de /mnt
umount /mnt
mount -o noatime,ssd,compress=zstd,space_cache=v2,discard=async,subvol=@ /dev/mapper/<name> /mnt
mkdir /mnt/home
mount -o noatime,ssd,compress=zstd,space_cache=v2,discard=async,subvol=@home /dev/mapper/<name> /mnt/home
mkfs.fat -F 32 /dev/<efi-disk-part> # Formatear particion EFI
mkdir /mnt/boot
mount /dev/<efi-disk-part> /mnt/boot
Ejemplo 2. Particionado tradicional
Crear particiones
- Ejemplo con TUI:
cfdisk
cfdisk /dev/<disk>
Opcional en VM. Select label type -> gpt
- Nueva -> 300M -> Tipo -> Sistema EFI
- Nueva -> 8G -> Tipo -> Linux swap (Swap es opcional si se utiliza ZRAM)
- Nueva -> Resto -> Tipo -> Sistema de ficheros de Linux
Confirmar particionado: Escribir Salir: Salir
Formatear particiones
mkfs.ext4 /dev/<disk-part-root> # Raiz
mkswap /dev/<disk-part-swap> # Swap
mkfs.fat -F 32 /dev/<disk-part-efi> # EFI
Montar/activar particiones
mount /dev/<disk-part-root> /mnt # Montar la raiz primero
mkdir -p /mnt/boot # Crear directorio para EFI
mount /dev/<disk-part-efi> /mnt/boot # Montar EFI
mount --mkdir /dev/<disk-part-efi> /mnt/boot # Lo anterior en un solo paso
swapon /dev/<disk-part-swap> # Activar swap
Instalar/montar el sistema base
pacstrap -K /mnt base #linux linux-firmware networkmanager
Ocasionalmente suelen ocurrir errores al descargar los paquetes, solo es necesario reintentar hasta descargar todos los paquetes.
Configurar las particiones para el arranque
genfstab -U /mnt >> /mnt/etc/fstab
Notas
- Busca qué particiones están montadas en
/mnt(el nuevo sistema instalado). - Genera automáticamente el archivo
/etc/fstab, que le indica al sistema qué particiones debe montar al arrancar. - Con
-Uusa los UUIDs de las particiones, lo que es más seguro que usar nombres como/dev/sdaX.
Verificarlo con:
# Durante la instalación
cat /mnt/etc/fstab
# Con el sistema ya instalado
cat /etc/fstab
Cambiar al nuevo sistema
arch-chroot /mnt
2. Configuraciones básicas
Opcional. Habilitar NetworkManager
- Verificar conexión a internet
ping google.com - Instalarlo si no se copió junto al sistema base en los pasos anteriores
systemctl enable NetworkManager
Zona horaria
# Zona horaria
ln -sf /usr/share/zoneinfo/America/Guatemala /etc/localtime
# Reloj
hwclock --systohc
- Para ver las zonas disponibles se puede presionar Tab después de
/zoneinfo/America
Idioma
pacman -S [nano | micro] # Para editar archivos
# Buscar y descomentar el idioma local
nano /etc/locale.gen
#es_GT.UTF-8 UTF-8
#en_US.UTF-8 UTF-8
# Recargar configuracion
locale-gen
# Cambiar idioma
echo "LANG=es_GT.UTF-8" >> /etc/locale.conf
echo "KEYMAP=us" >> /etc/vconsole.conf
Nombre del host
echo "arch" >> /etc/hostname
nano /etc/hosts
127.0.1.1 arch.localdomain arch
Contraseña del root
passwd
Nuevo usuario
# Crear usuario con home, grupo wheel y shell bash
useradd -m -G wheel -s /bin/bash <user>
passwd <user>
# Instalar sudo
pacman -S sudo
# Editor temporal
export EDITOR=nano
# Editar sudoers de forma segura
visudo
# Desocmentar la siguiente linea
%wheel ALL=(ALL:ALL) ALL
# Opcional. Confirmar que el usuario puede usar sudo
sudo whoami # Debe mostrar 'root'
Notas
# Ver shell por defecto que se asigna a nuevos usuarios
cat /etc/default/useradd
# Verificar los grupos de un usuario
groups <user>
Sobre useradd
-m→ crea el home (/home/<user>).-G wheel→ agrega al grupowheel(permite sudo si se configura).-s /bin/bash→ define la shell por defecto.
Sobre sudo
visudoabre/etc/sudoerscon control de errores de sintaxis (evita romper sudo).
Habilitar sudo, método con grupo wheel (recomendado)
%wheel ALL=(ALL:ALL) ALL→ cualquier usuario en wheel puede usar sudo.- Permite agregar múltiples usuarios sin editar
sudoersde nuevo.
Habilitar sudo, método con usuario directo
<user> ALL=(ALL:ALL) ALL→ solo ese usuario puede usar sudo.- Si se agrega otro usuario, es necesario añadir otra línea manualmente.
- Riesgo de errores al editar directamente
/etc/sudoers.
Ejemplo con edición directa
# Crear usuario
useradd -m <user>
passwd <user>
# Instalaciones
pacman -S sudo
# Editar archivo sudoers (NO recomendado sin visudo)
nano /etc/sudoers
# Desocmentar la siguiente linea
root ALL=(ALL:ALL) ALL
<user> ALL=(ALL:ALL) ALL
Ejemplo con /etc/sudoers.d/
# Crear usuario con home, grupo wheel y shell bash
useradd -m -G wheel -s /bin/bash <user>
passwd <user>
# Crear el directorio /etc/sudoers.d si no existe, con permisos seguros
mkdir -m 755 /etc/sudoers.d
# Crear un archivo con la regla de sudo para el usuario
echo "<user> ALL=(ALL) ALL" > /etc/sudoers.d/<user>
# Ajustar permisos (0440 obligatorio)
chmod 0440 /etc/sudoers.d/<user>
# Instalar sudo
pacman -S sudo
Reflector
pacman -S reflector #rsync
# Opcional. Ver nombre de países
reflector --list-countries
sudo reflector -c "United States" -a 12 --sort rate --fastest 10 --save /etc/pacman.d/mirrorlist
-c "United States"→ filtra mirrors solo de Estados Unidos.-a 12→ solo usa mirrors actualizados en las últimas 12 horas.--sort rate→ ordena por velocidad de descarga estimada.--save /etc/pacman.d/mirrorlist→ guarda la lista generada como la lista principal de pacman.
Microcódigo de CPU
sudo pacman -S [intel-ucode | amd-ucode]
Cargador de arranque
Systemd-boot y BTRFS
Grub
# Instalar GRUB y herramientas EFI
pacman -S grub efibootmgr
# Instalar GRUB en la partición EFI
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ArchLinux
# Opcional: añadir --removable, crea un bootloader alternativo en caso de problemas de detección en algunas placas madre.
# Generar archivo de configuración de GRUB
grub-mkconfig -o /boot/grub/grub.cfg
Reiniciar sistema
exit # Salir de chroot
umount -R /mnt # Desmontar todas las particiones
swapoff -a # Desactivar swap si existe
poweroff # Apagar y retirar USB
Nota
- Packages 168 (pacman)
- Memory 344.67 MiB
sudo pacman -S base-devel linux linux-firmware linux-headers btrfs-progs mtools networkmanager network-manager-applet openssh git iptables-nft ipset firewalld acpid
There are 3 providers available for initramfs
1. mkinitcpio (core)
2. booster (extra)
3. dracut (extra)
man-db
man-pages
textinfo
bluez bluez-utils
pipewire
alsa-utils
pipeware-pulse
pipeware-jack
sof-firmware
ttf-firacode-nerd
kitty
firefox