Guía de instalación de Arch Linux

-Orion-

He creado esta guía de instalación de Arch con la intención de que sirva como recurso extra para aquellos que quieran instalar Arch por primera vez y no se aclaren del todo con la guía oficial. En ningún momento deberás instalar Arch sin consultar la Guía de Instalación de Arch de la ArchWiki, ni a través de este tutorial ni con cualquier otro. Tampoco con otros métodos como instaladores automáticos o imágenes preconfiguradas.

En cada paso de la guía intentaré explicar la necesidad del paso en cuestión para que el usuario sepa exactamente lo que está haciendo (Y de paso yo aprendo cosas).

AVISO: Esta guía está en construcción y agradecería la colaboración de usuarios experimentados para terminarla y mejorarla. (Porque yo tampoco tengo mucha idea, como podréis ver). La estoy completando a base de calcar una guía que hice para un amigo hace ya mucho tiempo, cuando acababa de instalar Arch. Me voy a centrar primero en trascribir todo lo que viene en la guía y luego completaré los huecos que voy dejando.

Índice

Npi de cómo se genera un índice

¿Quién debería instalar Arch?

(Gente que quiere saber lo que su SO tiene de cabo a rabo, tanto configuración como software. Y gente experimentada en entornos Linux que hayan usado bash, coeutils, redimensionado particiones, instalado paquetes desde la consola, etc.)

Instalación

En esta sección instalaremos nuestro sistema Arch en el disco duro.

Comprobaciones de seguridad

Distribución de teclado

Por defecto la distribución del teclado estará en inglés, para cambiarlo haremos uso del comando loadkeys.

loadkeys es

Conexión de internet

Para comprobar que tenemos conexión a internet haremos ping al servidor de Arch Linux (O a cualquier otro servidor) con el comando ping. En el ejemplo enviaremos 3 paquetes, si vuelven todos es que no hay problemas de conexión.

ping archlinux.org -c 3

Reloj

Para activar la sincronización del reloj a través de internet usaremos el comando timedatectl. Puede que la hora no corresponda con tu zona horaria, pero mientras los minutos estén sincronizados todo va bien.

timedatectl set-ntp true

Comprobar el sistema de booteo

Saber que sistema usa tu placa base para bootear es imprescindible para instalar bien el boot manager, paso que realizaremos más adelante. Para ello usaremos el comando ls que nos mostrará una lista de archivos en la dirección que le demos. En este caso esa dirección es /sys/firmware/efi/efivars que es donde ¿se almacena el firmware de UEFI?, por lo tanto si el comando funciona y devuelve una lista de archivos significa que tienes UEFI y en caso contrario es probable que tengas BIOS o CSM.

ls /sys/firmware/efi/efivars

Ver la organización de los discos

Con el comando lsblk podrás ver qué discos hay conectados a tu PC y sus datos.

lsblk

Realizar las particiones del disco

Existen varios programas para realizar las particiones. En este caso usaremos cfdisk y seleccionaremos el disco en el que queremos instalar nuestro nuevo sistema (De los que hemos visto antes con lsblk, no te confundas o acabarás borrando algo que no quieres).

cfdisk /dev/sda

Crear una partición para el bootloader.

Si estás usando BIOS deberás crear una partición de 1Gb de tipo BIOS boot.
En caso de estar usando UEFI deberás crear una partición de 1Gb de tipo EFI system.

Crear una partición para la memoria swap

La memoria swap es lo que usará tu sistema cuando se le acabe la RAM. Hoy en día su uso no es tan frecuente como antaño, pero nunca viene mal tenerla.
Lo recomendable es crear una partición del mismo tamaño que tu memoria RAM (Con un límite de 8Gb) tipo Linux Swap.

Crear una partición para el resto del sistema

En esta partición irán todos los archivos que componen tu sistema. Alguna gente prefiere dividirlo en varias particiones, pero por motivos de practicidad para esta guía usaremos una para todo.
Crea una partición con lo que te haya sobrado de disco duro tipo Linux Filesystem. Y en el caso de usar BIOS, marcarla como booteable.

Grabar los datos y salir de cfdisk

Para que las particiones se realicen has de grabar los datos y luego podrás salir de la interfaz de cfdisk para seguir con la instalación.

Activar la partición Swap

Para que una partición funcione como memoria Swap ha de activarse a través de los comandos mkswap y swapon (Una vez más puedes usar el comando lsblk para ver qué particion es cada una).

mkswap /dev/sd2
swapon /dev/sd2

Ajudicar un sistema de archivos a la partición Linux Filesystem

(Explicar de manera sencilla en lo que consiste un sistema de archivos). Entre los más usados están ext4, btfs y zfs.

mkfs.ext4 /dev/sd3

Montar la partición Linux Filesystem

(Explicar por qué necesitas montarla)

mount /dev/sd3 /mnt

(UEFI) Ajudicar en sistema de archivos a la partición EFI system y montarla

(Explicar por qué es diferente de BIOS, por qué el sistema de archivos es fat32 y por qué se tiene que montar en una carpeta especial)

mkfs.fat32 -F32 /dev/sd1
mkdir /mnt/efi
mount /dev/sda1 /mnt/efi

(Opcional) Ordenar mirrors

(Explicar en qué consisten los mirrors y qué paquetes se pueden instalar para ordenarlos)

Instalar el sistema operativo

(Explicar en qué consiste pacstrap)
Existen muchos paquetes con los que crear tu sistema Arch. A continuación listaré con ejemplos todo el software que tienes que asegurarte de tener. (La lista la hice cuando estaba empezando con Arch, tengo que revisarla pero no me vendría mal ayuda)

pacstrap /mnt linux-lts linux-lts-headers linux-firmware base base-devel intel-ucode grub dhcpcd nano alsa-utils
  • Kernel + headers + firmware (linux-lts, linux-lts-headers, linux-firmware)
  • Herramientas del núcleo (base, base-devel)
    • Init system (SystemD)
    • Paquete de herramientas Unix (Coreutils)
    • Shell (Bash)
    • Gestor de paquetes (Pacman)
    • Herramientas para compilar C y generar paquetes (make, patch,
      autoconf, automake, pkgconfig, fakeroot, libtool)
    • Librerías básicas (glibc, gcc-libs, gettext)
    • Herramientas para ensamblar y manipular archivos binarios ( binutils)
    • Herramientas para buses PCI (pciutils)
    • Herramientas para sistemas de archivos procfs (psmisc)
    • Procesador de macros (m4)
    • Generador de analizadores sintácticos? (bison)
    • Herramientas varias para linux (util-linux)
    • Implementación del lenguaje de programación AWK (GAWK)
    • Identificador de tipo de archivo (file)
    • Herramienta para localizar la ubicación de un programa (which)
    • Editor de texto sin interfaz de usuario (SED)
    • Herramienta de búsqueda de texto plano (GREP)
    • Herramienta de generación de analizadores léxicos (flex)
    • Compresor y descompresor de archivos (tar, xz, gzip)
    • Herramienta de distribución de licencias? (licenses)
    • Enrutador de paquetes TCP/IP? (iproute2)
    • Herramientas para monitorear el sistema y los procesos ( procps-ng)
    • Herramientas para localizar archivos (findutils)
    • Archivos básicos de Arch (filesystem)
    • Gestor de cuentras y contraseñas (Shadow)
    • Herramienta de monitoreo de redes (iputils)
    • Herramienta de delegación de permisos de superusuario (sudo)
    • Documentación sobre los programas (texinfo)
    • Implementación del sistema de formateo de texto troff (groff)
  • Microcódigo para la CPU (amd cuenta con el suyo) (Intel-ucode)
  • Cliente dhcp (DHCPCD)
  • Editor de texto TUI (Nano)
  • Controlador de audio (ALSA-utils)
    (Me falta lo del wifi)

Generar el archivo FSTAB

El archvo FSTAB (File System TABle) es un archivo que los sistemas Linux usan de guía para localizar los discos duros y sus particiones. Lo generaremos con el comando genfstab, aunque también se podría escribir a mano.

genfstab -U /mnt > /mnt/etc/fstab

Configuración

En esta sección configuraremos nuestro sistema Arch recién instalado (Antes de reiniciar). Para ello haremos uso de arch-chroot, una herramienta que nos permite entrar en un entorno fakeroot (Explicar qué es fakeroot y por qué es útil para reparar nuestro sistema).

arch-chroot /mnt

Configurar el gestor de arranque

El gestor de arranque o bootloader es el primer programa que se ejecuta después de que BIOS decida con qué dispositivo de almacenamiento utilizar. Este prepara todo lo que el sistema operativo necesita para iniciarse, y los más elaborados además permiten seleccionar varios sistemas operativos, métodos de arranque, kernels e incluso shells de ayuda. Todo a través de una interfaz de usuario que puede ir desde una línea de comandos hasta una bonita página de bienvenida en 4k.
Existen muchos gestores de arranque, pero en este caso usaremos Grub, el más utilizado con diferencia.

Instalar el gestor de arranque

El paquete grub es el gestor de arranque, os-prober permitirá a grub detectar si hay más sistemas operativos en el PC, y efibootmgr es un paquete necesario para los sistemas UEFI.
Estos paquetes podrían haberse instalado junto al resto del sistema con pacstrap, pero he decidido dejarlo para ahora y así aprovechar para explicar en qué consisten.

pacman -S grub os-prober efibootmgr

Configurar gestor de arranque

En el caso de GRUB lo haremos a través de los comandos grub-install y grub-mkconfig. Asegúrate muy bien de que ha sido configurado correctamente, porque sin un gestor de arranque no podrás acceder a ningún sistema operativo (Aunque como he mencionado antes, siempre puedes volver a fakeroot y arreglarlo).

Para BIOSPara UEFI
grub-install --target=i386-pc /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg

Administrar usuarios y contraseñas

Definir el host del sistema

(Explicar en qué consiste el host)

echo nombredelhost > /etc/hostname

Crear un usuario

Gracias al comando useradd podemos crear nuevos usuarios. (Explicar en qué consiste el grupo wheel)

useradd -m -G wheel nombredelusuario

Establecer contraseñas

El comando passwd permite crear y reeditar las contraseñas de los usuarios. En este caso crearemos una para nuestro nuevo usuario y otra para el usuario root.

passwd nombredelusuario
passwd root

Configurar sudo

Como ya sabrás si te has aventurado a instalar Arch, el la herramienta sudo nos permite ejecutar otros comandos en nombre de otros usuarios (Usualmente como usuario root). Su configuración se encuentra en una hoja de configuración en la que tan solo hemos de descomentar las líneas que nos interesen (Cortesía de Arch, sino te tocaba escribirlo desde 0).
Para editar dicha hoja de configuración sin corromperla usaremos el comando visudo justo después de especificar con qué editor queremos hacerlo.

EDITOR=nano visudo

Y descomentaremos la línea que permitirá usar sudo a los usuarios miembros del grupo wheel.

## Uncommento to allow members of group
%wheel=(ALL)ALL

Ajustar horario e idioma

El horario e idioma son datos que una gran variedad de programas necesitan para funcionar correctamente.

Seleccionar nuestra zona horaria

Crearemos un link simbólico usando el comando ln con el nombre de /etc/localtime (El archivo que los programas consultarán para saber la hora) y apuntando a /usr/share/zoneinfo/CiudadReferente/Región (Todos los archivos de /usr/share/zoneinfo han sido creados por el paquete filesystem del metapaquete base-devel para facilitar la configuración de la zona horaria(Comprobar si efectivamente era así)).

ln -sf /usr/share/zoneinfo/Madrid/Europe /etc/localtime

(Explicar para qué sirve systohc)

hwclock --systohc

Configurar idioma del teclado

(Explicar en qué consisten los archivos locale.conf y vconsole.conf)

echo LANG=es_ES.UTF-8 > /etc/locale.conf
echo KEYMAP=es > etc/vconsole.conf

Seleccionar idioma del sistema

(Explicar en qué consiste locale y por qué el idioma del sistema no es equivalente al idioma de la interfaz gráfica)
Encuentra y descomenta el idioma que quieras usar en el archivo /etc/locale.gen (Solo uno para evitar errores).

nano /etc/locale.gen

Una vez salvados los cambios, crea la configuración del idioma del sistema con el comando locale-gen.

locale-gen

Me he distraido un par de días, me falta poco para acabar la parte fácil

Post-instalación

3
preguntitas

Un truquete para tener navegador/entorno gráfico durante la instalación de Arch...

https://www.linuxenespañol.com/tutoriales/instalar-arch-gnu-linux-live-cd/

Por aportar algo

Y el microcode de amd es amd-ucode. También añadiría algún instalador de AUR.

Muy buena iniciativa.

1
B
#1-Orion-:

Crear una partición para el resto del sistema

En esta partición irán todos los archivos que componen tu sistema. Alguna gente prefiere dividirlo en varias particiones, pero por motivos de practicidad para esta guía usaremos una para todo.
Crea una partición con lo que te haya sobrado de disco duro tipo Linux Filesystem. Y en el caso de usar BIOS, marcarla como booteable.

Practicidad es palabra correcta?? quizás facilidad; home separado es mayor práctica en el futuro; ocurren menos molestias cuando hay que instalar próxima vez!!

1
desu

Gran hilo me gusta la idea, yo tengo poca idea de SO y quizás cuando este completo el tutorial básico me animo a probar arch y documentar las dudas de noob que me salgan.

1
garlor

que diferencia hay respecto por ejemplo esta? https://wiki.archlinux.org/index.php/installation_guide

no entiendo porque una persona poco experta pretende hacer una guia

2 respuestas
HeXaN

#5 Porque le sale de los cojones aportar al foro. Luego tú eres libre de seguirla o no.

5 1 respuesta
B

.

garlor

#6 pues a mi una guia hecha por una persona inexperta me parece mas un problema que una aportacion

2 respuestas
AikonCWD

#8 no es excluyente, sigue siendo una aportación

B

.

1
-Orion-

#5 #8 Mi intención es complementar la guía oficial con ejemplos y explicaciones de lo que pasa en cada paso de la instalación. No pretendo sustituir la guía oficial.

A pedar de que no soy experto, he instalado y arregldo mi máquina Arch varias veces. Aun así invito a todo aquel que desee ayudar a participar y corregirme (Era mi intención inicial, un trabajo colaborativo).

Usuarios habituales

Tags