馃嚘馃嚪 Instalaci贸n de Arch Linux
Instalaci贸n de Arch Linux
1. Verificaci贸n de firma
Se recomienda verificar la firma de la imagen antes de usarla, especialmente al descargar desde un espejo HTTP, donde las descargas est谩n sujetas a interceptaci贸n para proporcionar im谩genes da帽inas.
En un sistema con GnuPG instalado, descargue la firma de ISO PGP en el directorio de ISO y verif铆quela con:
$ gpg --keyserver-options auto-key-retrieve --verify archlinux-version-x86_64.iso.sig
Alternativamente, desde una instalaci贸n existente de Arch Linux ejecute:
$ pacman-key -v archlinux-version-x86_64.iso.sig
2. Configuraci贸n inicial
Para empezar, necesitamos definir el idioma del teclado, el idioma predeterminado sin introducir el comando es US. Las distribuciones disponibles se pueden listar con:
# ls /usr/share/kbd/keymaps/**/*.map.gz
establezca el idioma de nuestro teclado con el comando:
# loadkeys es
Los caracteres de la consola se pueden encontrar en /usr/share/kbd/consolefonts/ y tambi茅n se pueden establecer con setfont. Por ejemplo, para usar uno de los caracteres m谩s grandes adecuados para pantallas HiDPI, ejecute:
# setfont ter-132b
3. Conexi贸n a internet
Si ha conectado la m谩quina a internet mediante cable o m谩quina virtual, puede verificar la direcci贸n IP adquirida con este comando:
# ip a
La conexi贸n se puede probar con un comando de prueba de ping:
# ping -c 3 archlinux.org
Con茅ctese a la red Wi-Fi utilizando la herramienta iwctl:
# iwctlIniciar iwctl# device listBusque el nombre de su dispositivo, por ejemplo, wlan0# station wlan0 scanBuscar redes inal谩mbricas disponibles# station wlan0 get-networksObtener la lista de redes# station wlan0connect yournetworkname Conexi贸n con su red# exit
Si en caso de que nuestros dispositivos est茅n deshabilitados y no podamos ejecutar iwctl :
# rfkill listVerifique el estado bloqueado o desbloqueado de los dispositivos# rfkill unblock allDesbloquee todos nuestros dispositivos bloqueados# systemctl restart iwdReiniciar el servicio iwd
Intente # iwctl de nuevo y proceda como se indica arriba.
4. Preparaci贸n del disco
Bios-MBR
Particionado
Identifique su disco para conocer la convenci贸n de nomenclatura que se utilizar谩. Por ejemplo, en el caso de una SSD /dev/sda o en el caso de M.2 /dev/nvme0n1 y, finalmente, el disco virtual /dev/vda.
# lsblk -l
Una vez identificada la nomenclatura de nuestro disco, use cfdisk, aqu铆 asumiremos tener /dev/sda. Se puede solicitar el tipo de tabla de particiones si el disco es crudo. En este caso, seleccione DOS:
# cfdisk /dev/sda
Cree las particiones necesarias para la instalaci贸n b谩sica, suponiendo que tenemos un SSD de 128 GiB:
# 4GibCrear una partici贸n para swap y seleccione el tipo de swap# 124GibCrear la partici贸n de Root# write (yes)yquitEscriba los cambios y salga
Formateo de particiones
# mkswap /dev/sda1Partici贸n de swap# mkfs.ext4 /dev/sda2Partici贸n de Root en EXT4
Montaje de particiones
# mount /dev/sda2 /mntMontar la partici贸n de Root# swapon /dev/sda1Montar la partici贸n de swap
UEFI ext4
Particionado del disco
Identifique su disco para conocer la convenci贸n de nomenclatura que se utilizar谩. Por ejemplo, en el caso de un SSD /dev/sda o en el caso de M.2 /dev/nvme0n1 y, finalmente, el disco virtual /dev/vda.
# lsblk -l
Suponiendo que tenemos una SSD de 128 GiB y usaremos la partici贸n GPT para la instalaci贸n UEFI:
# cfdisk /dev/sda
# 512MibCrear una partici贸n EFI y seleccione el tipo de partici贸n de sistema EFI# 4GibCrear una partici贸n para swap y seleccione el tipo de swap# 23.5GibCree la partici贸n Root# 100GibCree la partici贸n de Home# write (yes)yquitEscriba los cambios y salga
Formateo de particiones
# mkfs.vfat -F32 /dev/sda1Partici贸n del sistema EFI en FAT32 para el arranque# mkswap /dev/sda2Partici贸n de swap# mkfs.ext4 /dev/sda3Partici贸n de Root en EXT4# mkfs.ext4 /dev/sda4Partici贸n de Home en EXT4
Montaje de particiones
# mount /dev/sda3 /mntMontar la partici贸n de Root# mkdir -p /mnt/{home,boot}Cree los directorios /home y /boot# mount /dev/sda4 /mnt/homeMontar la partici贸n de Home# mount /dev/sda1 /mnt/bootMontar partici贸n de arranque# swapon /dev/sda2Montar la partici贸n de swap
UEFI btrfs
Particionado del disco
Identifique su disco para conocer la convenci贸n de nomenclatura que se utilizar谩. Por ejemplo, en el caso de un SSD /dev/sda o en el caso de M.2 /dev/nvme0n1 y, finalmente, el disco virtual /dev/vda.
# lsblk -l
Suponiendo que tenemos una SSD de 128 GiB y usaremos la partici贸n GPT para la instalaci贸n UEFI:
# cfdisk /dev/sda
# 512MibCrear una partici贸n EFI y seleccione el tipo de partici贸n de sistema EFI# 27.5GibCree la partici贸n Root# 100GibCree la partici贸n de Home# write (yes)yquitEscriba los cambios y salga
Formateo de particiones
# mkfs.vfat -F32 /dev/sda1Partici贸n del sistema EFI en FAT32 para el arranque# mkfs.btrfs /dev/sda2Partici贸n de Root en BTRFS# mkfs.btrfs /dev/sda3Partici贸n de Home en BTRFS
Montaje de particiones
Cree subvol煤menes @ y @home:
-
# mount /dev/sda2 /mnt -
# btrfs su cr /mnt/@ -
# umount /mnt -
# mount /dev/sda3 /mnt -
# btrfs su cr /mnt/@home -
# umount /mnt -
# mount -o noatime,ssd,space_cache=v2,compress=zstd,discard=async,subvol=@ /dev/sda2 /mnt -
# mkdir -p /mnt/{home,boot}Cree los directorios /home y /boot # mount /dev/sda1 /mnt/boot# mount -o noatime,ssd,space_cache=v2,compress=zstd,discard=async,subvol=@home /dev/sda3 /mnt/home
UEFI lvm-ext4
Partici贸n de disco
Identifique su disco para conocer la convenci贸n de nomenclatura que se utilizar谩. Por ejemplo, en el caso de una SSD /dev/sda o en el caso de M.2 /dev/nvme0n1 y, finalmente, el disco virtual /dev/vda.
# lsblk -l
Suponiendo que tenemos 3 discos de 128 GiB para LVM: sda sdb sdc use cfdisk para un disco a la vez:
# cfdifk /dev/sda
# 512MibCrear una partici贸n EFI y seleccione el tipo de partici贸n de sistema EFI# 127.5GiBCree una partici贸n y seleccione el tipo de LVM# write (yes)yquitEscriba los cambios y salga
# cfdifk /dev/sdb
# 128GiBCree una partici贸n y seleccione el tipo de LVM# write (yes)yquitEscriba los cambios y salga
# cfdifk /dev/sdc
# 128GiBCree una partici贸n y seleccione el tipo de LVM# write (yes)yquitEscriba los cambios y salga
Para crear particiones en LVM, primero necesitamos crear un volumen f铆sico:
Crear volumen f铆sico
# pvcreate /dev/sda2 /dev/sdb1 /dev/sdc1
Crear grupo de vol煤menes
Cree y extienda su grupo de vol煤menes; debe crear un grupo de vol煤menes en uno o m谩s vol煤menes f铆sicos # vgcreate volume_group physical_volume por ejemplo:
# vgcreate lvm /dev/sda2 /dev/sdb1 /dev/sdc1
Este comando primero configurar谩 las tres particiones como vol煤menes f铆sicos (si es necesario) y luego crear谩 el grupo de vol煤menes con los tres vol煤menes. El comando le alertar谩 si detecta un sistema de archivos existente en cualquier dispositivo.
Crear vol煤menes l贸gicos
Cree vol煤menes l贸gicos, para una configuraci贸n b谩sica, necesitar铆amos uno para Root, swap y home.
# lvcreate -L 120G lvm -n root# lvcreate -L 8G lvm -n swap# lvcreate -l 100%FREE lvm -n home
Formateo de particiones
# mkfs.vfat -F32 /dev/sda1Partici贸n del sistema EFI en FAT32 para el arranque# mkfs.ext4 /dev/lvm/root# mkfs.ext4 /dev/lvm/home# mkswap /dev/lvm/swap
Montaje de particiones
# mount /dev/lvm/root /mntMontar la partici贸n de Root# mkdir -p /mnt/{home,boot}Cree los directorios /home y /boot# mount /dev/lvm/home /mnt/home# mount /dev/sda1 /mnt/boot# swapon /dev/lvm/swap
Extender un grupo LVM
Si en el futuro desea agregar un nuevo volumen f铆sico al grupo, vea qu茅 comando debe usar, asumiendo un cuarto disco sdd y habi茅ndolo particionado como antes, ampliamos el espacio por ejemplo a /dev/lvm/home:
# pvcreate /dev/sdd1# vgextend lvm /dev/sdd1# lvextend -l +100%FREE /dev/lvm/home
5. Lista de espejos
Guarde la lista de espejos para los repositorios en /etc/pacman.d/mirrorlist utilizando la herramienta reflector, especificando el pa铆s para sincronizar los servidores, por ejemplo it. Se pueden agregar varios pa铆ses separ谩ndolos con una coma, por ejemplo, it,us:
# reflector --verbose -c it -a 12 --sort rate --save /etc/pacman.d/mirrorlist
6. Pacstrap
Instale el kernel linux y los paquetes base para crear nuestro sistema Arch, tambi茅n agregue un editor como vim. Si sigue la instalaci贸n para lvm, agregue el paquete lvm2 al siguiente comando:
# pacstrap -K /mnt base base-devel linux linux-firmware vim
7. Generar Fstab
El archivo /etc/fstab le permite controlar qu茅 sistemas de archivos se montan en su sistema Linux durante el inicio, incluidas las particiones de Windows y las compartidas en la red:
# genfstab -U /mnt > /mnt/etc/fstab
8. Chroot
Ingrese al chroot y configure los siguientes pasos: Configuraci贸n de la hora local, systemclock, idioma, asignaciones de teclado, localhost, contrase帽a de root, creaci贸n de usuario y contrase帽a.
Ingrese al chroot:
# arch-chroot /mnt
Zona horaria
# ln -sf /usr/share/zoneinfo/Europe/Italy /etc/localtime# hwclock --systohc
Configuraci贸n regional
# echo "es_AR.UTF-8 UTF-8" >> /etc/locale.gen# locale-gen# echo "LANG=es_AR.UTF-8" >> /etc/locale.conf# echo "KEYMAP=es" >> /etc/vconsole.conf
Hostname y Hosts
# echo "YOURMACHINENAME" > /etc/hostname# echo "127.0.0.1 localhost" >> /etc/hosts# echo "::1 localhost" >> /etc/hosts
Usuario y Root
Configure la contrase帽a de Root, 隆tenga cuidado!
# passwd
Configure un nuevo usuario en min煤sculas, creando el directorio /home/USERNAME con -m, el grupo wheel con -G y la shell con -s:
# useradd -mG wheel -s /bin/bash USERNAME
Configure el nombre real (que aparece en gr谩ficos con letra inicial en may煤scula, por ejemplo "Alessio")
# usermod -c 'NOMBREREAL' USERNAME
Configure una contrase帽a para el usuario reci茅n agregado, 隆tenga cuidado!
# passwd USERNAME
Configure el archivo sudoers para el grupo wheel:
# echo "USERNAME ALL=(ALL:ALL) ALL" >> /etc/sudoers.d/USERNAME
mkinitcpio para LVM
Agregar lvm2 en los hooks de /etc/mkinitcpio.conf
HOOKS="base udev ... block lvm2 filesystems"
luego usar el comando:
# mkinitcpio -p linux
9. Bootloader
GRUB (Bios-MBR)
# pacman -S grub# grub-install --target=i386-pc /dev/sda# grub-mkconfig -o /boot/grub/grub.cfg
GRUB (UEFI)
# pacman -S grub# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB# grub-mkconfig -o /boot/grub/grub.cfg
GRUB admite completamente el arranque seguro usando claves CA o shim, sin embargo, el comando de instalaci贸n es diferente dependiendo de cual se pretenda utilizar.
Para usar claves CA, el comando es:
# grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB --modules="tpm" --disable-shim-lock
Para usar shim-lock, el comando es:
# grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB --modules="normal test efi_gop efi_uga search echo linux all_video gfxmenu gfxterm_background gfxterm_menu gfxterm loadenv configfile tpm"
Systemd-boot (EXT4)
# pacman -S efibootmgr# bootctl --path=/boot install# echo "default arch-*" >> /boot/loader/loader.conf# vim /boot/loader/entries/arch.conf
Ahora cree la configuraci贸n del archivo arch.conf abierto con vim, es importante escribir la partici贸n de arranque ra铆z correctamente, como root=/dev/sdax donde x es el n煤mero de la partici贸n ra铆z.
title Arch Linuxlinux /vmlinuz-linuxinitrd /initramfs-linux.imgoptions root=/dev/sdax rw quiet loglevel=3 rd.systemd.show_status=auto rd.udev.log_level=3
Systemd-boot (BTRFS)
# pacman -S efibootmgr# bootctl --path=/boot install# echo "default arch-*" >> /boot/loader/loader.conf# vim /boot/loader/entries/arch.conf
Ahora cree la configuraci贸n del archivo arch.conf abierto con vim, es importante escribir la partici贸n de arranque ra铆z correctamente, como root=/dev/sdax donde x es el n煤mero de la partici贸n ra铆z, agregar la bandera para el subvolumen @.
title Arch Linuxlinux /vmlinuz-linuxinitrd /initramfs-linux.imgoptions root=/dev/sdax rootflags=subvol=@ rw quiet loglevel=3 rd.systemd.show_status=auto rd.udev.log_level=3
Systemd-boot (LVM)
# pacman -S efibootmgr# bootctl --path=/boot install# echo "default arch-*" >> /boot/loader/loader.conf# vim /boot/loader/entries/arch.conf
Ahora cree la configuraci贸n del archivo arch.conf abierto con vim, es importante escribir la partici贸n de arranque ra铆z correctamente, como para lvm root=/dev/mapper/lvm-root
title Arch Linux (LVM)linux /vmlinuz-linuxinitrd /initramfs-linux.imgoptions root=/dev/mapper/lvm-root rw quiet loglevel=3 rd.systemd.show_status=auto rd.udev.log_level=3
10. Paquetes Base
# pacman -S xorg wpa_supplicant wireless_tools netctl net-tools iw networkmanager alsa-utils pipewire-pulse mtools dosfstools mtools ntfs-3g f2fs-tools dosfstools exfatprogs fuse firewalld acpi cronie git reflector bluez bluez-utils cups reflector
11. Entorno de Escritorio
Elija entre algunos de los entornos de escritorio populares sugeridos:
Gnome
Gnome completo con el gestor de pantallas GDM
# pacman -S gnome gnome-extra gdm# systemctl enable gdm
Xfce4
Xfce4 con el gestor de pantallas Lightdm
# pacman -S xfce4 xfce4-goodies lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings# systemctl enable lightdm
Lxde
Lxde con el gestor de pantallas Lightdm
# pacman -S lxde lxde-common lxsession openbox# systemctl enable lightdm
Mate
Mate con el gestor de pantallas Lightdm
# pacman -S mate mate-extra# systemctl enable lightdm
Plasma
Plasma kde con el gestor de pantallas SDDM
# pacman -S plasma kde-applications sddm# systemctl enable sddm
Cinnamon
Cinnamon con el gestor de pantallas Lightdm
# pacman -S cinnamon nemo-fileroller gnome-terminal lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings xdg-user-dirs-gtk# systemctl enable lightdm
12. Servicios
Si ha habilitado el servicio para el gestor de pantalla, puede pasar a habilitar los dem谩s servicios necesarios.
# systemctl enable NetworkManagerTenga cuidado, es sensible a may煤sculas.# systemctl enable bluetooth# systemctl enable reflector# systemctl enable cronie# systemctl enable firewalld
13. Zram
El siguiente ejemplo describe c贸mo configurar el intercambio autom谩tico a zram en el arranque mediante una 煤nica regla udev. No deber铆an ser necesarios paquetes adicionales para que esto funcione.
Cargue expl铆citamente el m贸dulo en el arranque:
-
# vim /etc/modules-load.d/zram.conf -
zram
Cree la siguiente regla udev ajustando el atributo disksize seg煤n se requiera para el tama帽o del swap, en este ejemplo es 16G:
-
# vim /etc/udev/rules.d/99-zram.rules -
ACTION=="add", KERNEL=="zram0", ATTR{comp_algorithm}="zstd", ATTR{disksize}="16G", RUN="/usr/bin/mkswap -U clear /dev/%k", TAG+="systemd"
Agregue /dev/zram a fstab con una prioridad m谩s alta que la predeterminada:
-
# vim /etc/fstab -
/dev/zram0 none swap defaults,pri=100 0 0