Saltar a contenido

馃嚘馃嚪 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:

  • # iwctl Iniciar iwctl
  • # device list Busque el nombre de su dispositivo, por ejemplo, wlan0
  • # station wlan0 scan Buscar redes inal谩mbricas disponibles
  • # station wlan0 get-networks Obtener la lista de redes
  • # station wlan0 connect yournetworkname Conexi贸n con su red
  • # exit

Si en caso de que nuestros dispositivos est茅n deshabilitados y no podamos ejecutar iwctl :

  • # rfkill list Verifique el estado bloqueado o desbloqueado de los dispositivos
  • # rfkill unblock all Desbloquee todos nuestros dispositivos bloqueados
  • # systemctl restart iwd Reiniciar 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:

  • # 4Gib Crear una partici贸n para swap y seleccione el tipo de swap
  • # 124Gib Crear la partici贸n de Root
  • # write (yes) y quit Escriba los cambios y salga

Formateo de particiones

  • # mkswap /dev/sda1 Partici贸n de swap
  • # mkfs.ext4 /dev/sda2 Partici贸n de Root en EXT4

Montaje de particiones

  • # mount /dev/sda2 /mnt Montar la partici贸n de Root
  • # swapon /dev/sda1 Montar 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

  • # 512Mib Crear una partici贸n EFI y seleccione el tipo de partici贸n de sistema EFI
  • # 4Gib Crear una partici贸n para swap y seleccione el tipo de swap
  • # 23.5Gib Cree la partici贸n Root
  • # 100Gib Cree la partici贸n de Home
  • # write (yes) y quit Escriba los cambios y salga

Formateo de particiones

  • # mkfs.vfat -F32 /dev/sda1 Partici贸n del sistema EFI en FAT32 para el arranque
  • # mkswap /dev/sda2 Partici贸n de swap
  • # mkfs.ext4 /dev/sda3 Partici贸n de Root en EXT4
  • # mkfs.ext4 /dev/sda4 Partici贸n de Home en EXT4

Montaje de particiones

  • # mount /dev/sda3 /mnt Montar la partici贸n de Root
  • # mkdir -p /mnt/{home,boot} Cree los directorios /home y /boot
  • # mount /dev/sda4 /mnt/home Montar la partici贸n de Home
  • # mount /dev/sda1 /mnt/boot Montar partici贸n de arranque
  • # swapon /dev/sda2 Montar 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

  • # 512Mib Crear una partici贸n EFI y seleccione el tipo de partici贸n de sistema EFI
  • # 27.5Gib Cree la partici贸n Root
  • # 100Gib Cree la partici贸n de Home
  • # write (yes) y quit Escriba los cambios y salga

Formateo de particiones

  • # mkfs.vfat -F32 /dev/sda1 Partici贸n del sistema EFI en FAT32 para el arranque
  • # mkfs.btrfs /dev/sda2 Partici贸n de Root en BTRFS
  • # mkfs.btrfs /dev/sda3 Partici贸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

  • # 512Mib Crear una partici贸n EFI y seleccione el tipo de partici贸n de sistema EFI
  • # 127.5GiB Cree una partici贸n y seleccione el tipo de LVM
  • # write (yes) y quit Escriba los cambios y salga

# cfdifk /dev/sdb

  • # 128GiB Cree una partici贸n y seleccione el tipo de LVM
  • # write (yes) y quit Escriba los cambios y salga

# cfdifk /dev/sdc

  • # 128GiB Cree una partici贸n y seleccione el tipo de LVM
  • # write (yes) y quit Escriba 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/sda1 Partici贸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 /mnt Montar 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 Linux
  • linux /vmlinuz-linux
  • initrd /initramfs-linux.img
  • options 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 Linux
  • linux /vmlinuz-linux
  • initrd /initramfs-linux.img
  • options 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-linux
  • initrd /initramfs-linux.img
  • options 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 NetworkManager Tenga 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