Anexo a la guía de instalación y del principiante de Arch Linux

Escrito por el , actualizado el .
gnu-linux planeta-codigo software software-libre
Enlace permanente Comentarios

Arch Linux es una distribución que deja al usuario decidir en gran medida los componentes que quiere usar. Desde el sistema de arranque, el entorno de escritorio hasta los programas. Para ello no proporciona un instalador ni en modo texto ni con interfaz gráfica que guíe al usuario en diferentes pasos en la instalación de la distribución, en vez de eso proporciona una guía con la información relevante que el usuario necesita conocer para el mismo mediante comandos instale y configure el sistema con los componentes que desee. Este anexo complementa y reúne los comandos que sigo para instalar Arch Linux desde la imagen de instalación hasta el entorno de escritorio GNOME.

Nota: Si quieres instalar Arch Linux de forma desatendida, automatizada y personalizable te recomiendo usar un script en bash que he desarrollado. La instalación que realiza el script no es distinta de la que harías tu introduciendo los comandos uno detrás de otro pero si mucho más fácil, rápida y probada.

Arch Linux

Antes de migrar a una distribución como Arch Linux es recomendable ver si esta distribución GNU/Linux es la adecuada para nosotros en función de su filosofía (The Arch Way), sus principales características y las preguntas frecuentes. Arch Linux es una distribución orientada a personas que no les importa dedicar un tiempo a aprender como instalarla y posteriormente mantenerla actualizada, esto tampoco debe asustarnos, la wiki de arch es de las mejores fuentes de información que hay para cualquier cosa que necesitemos. Si la wiki no es suficiente ayuda en los foros muy posiblemente encontraremos la solución. Pero para alguien que vaya a migrar de Windows o Mac a Linux creo que es más recomendable empezar con alguna distribución que lo pone más fácil para empezar con unos pocos clics, las más conocidas son Ubuntu, Fedora, Debian, openSUSE, o al menos primeramente probarla en un máquina virtual como VirtualBox.

Dado que Arch Linux es una distribución «rolling release» hacer una guía de instalación detallada para ella haría que se quedase obsoleta en ciertos aparatados al cabo de un tiempo. Por ello y aunque a continuación escribiré una guía de instalación es muy recomendable leer la guía oficial de Arch Linux y la guía de principiante más detallada y en cualquier caso entendamos las acciones que estamos haciendo con cada comando.

Arch Linux no tiene un asistente de instalación y la misma se hace desde la terminal introduciendo comandos, además no hay una guía oficial única que sirva para todos los sistemas ya que algunas cosas cambian dependiendo de las características de nuestro sistema o preferencias, deberemos dedicar algo de tiempo a leer las guías oficiales y alguna otra guía en alguna bitácora como esta, quizá también alguna sección de la wiki. A cambio de este tiempo tendremos un sistema tal y como nosotros queremos y no como los desarrolladores del instalador quisieron. Una vez sabemos que pasos hay que realizar y que comandos hay que introducir y en que orden la instalación no es complicada, lo difícil está en que comandos son dependiendo de nuestro sistema, si tiene BIOS o EFI, si tiene una gráfica AMD, Intel o NVIDIA, si tiene un disco mecánico o SSD, y de nuestras preferencias si queremos una partición swap, el formato de las particiones (ext4, btrfs, …) y tamaño para cada una.

A pesar de que la guía oficial de Arch Linux está muy bien hay que leer varias páginas de la wiki y hay algunas cosas importantes que hay que tener en cuenta. Lo que aportará esta guía sobre la oficial son esos pequeños detalles a tener en cuenta y mi experiencia con la instalación en mi ordenador.

Instalación base

Sin más, comencemos con la guía. Lo primero que deberemos hacer es descargar el medio de instalación de algún espejo de la red. Los medios con la coletilla -dual nos servirán tanto para sistemas de x86 (32 bits) como para sistemas x86_64 (64 bits). Una vez descargado deberemos grabarlo en un CD o más recomendable en una memoria USB.

Para grabarlo en una memoria USB deberemos usar el comando dd reemplazando /dev/sdx por el dispositivo de la memoria USB en la que queramos grabar el medio cosa que en linux podemos conocer usando el comando lsblk:

1
2
$ lsblk
# dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx && sync
script-0.sh

Una vez disponemos del CD o memoria USB deberemos iniciar el sistema con él. La forma de hacerlo cambiará según la marca de nuestro ordenador pero normalmente es usando alguna tecla de entre ESC, F2, F8, F10, F10, en el caso de mi Sony Vaio es usando la tecla ASSIST y con el sistema apagado.

Menú instalación Arch Linux Inicio instalación Arch Linux

Una vez estemos en el prompt inicial de la instalación deberemos cargar el mapa según nuestro teclado, para un teclado español usaremos normalmente:

1
2
# loadkeys es

script-1.sh

Modificamos también el archivo locale.gen y descomentamos el dato es_ES.UTF-8 UTF-8, finalmente lo exportamos para el shell:

1
2
# nano /etc/locale.gen
# export LANG=es_ES.UTF-8
script-2.sh

Particionar el disco

El siguiente paso es particionar el disco duro y antes de hacerlo deberemos asegurarnos de que hemos hecho una copia de seguridad de los datos ya que en el siguiente paso se perderá el contenido del disco duro o SSD. Usaremos el siguiente comando para hacer el particionado usando GPT. En función de si nuestro sistema tiene BIOS o EFI las particiones son distintas, si es un ordenador de unos dos años o menos o venía con Windows 8 preinstalador probablemente tenga EFI.

1
2
# cgdisk /dev/sda

script-3.sh

Para un sistema con BIOS

En un sistema BIOS usando GPT el esquema de particiones será el siguiente:

1
2
3
Tamaño     Tipo
10 MiB     BIOS Boot Partition (ef02)
resto      Linux filesystem (8300)
script-42.txt

Para un sistema con EFI

En un sistema EFI las particiones deberán ser las siguientes:

1
2
3
Tamaño     Tipo
512 MiB    EFI System Partition (ef00)
resto      Linux filesystem (8300)
script-43.txt

Si tenemos un sistema con 8 GiB o más de memoria probablemente podamos prescindir de la partición de swap. Sino podemos crear una tal que:

1
2
Tamaño     Tipo
4 GiB      swap (8200)
script-44.txt

Formatear las particiones

Una vez tenemos las particiones creados deberemos formatearlas, sustituimos sdaX por lo que corresponda según el orden en que hemos creado las particiones:

1
2
# mkfs.fat -F32 /dev/sda1
# mkfs.ext4 /dev/sda2
script-4.sh

Y si tenemos partición de swap:

1
2
# mkswap /dev/sdaX
# swapon /dev/sdaX
script-5.sh

Montar las particiones

Lo siguiente que haremos es montar las particiones para empezar a usarlas, primero la partición root (/), que en esta guía es sda2 y luego la partición boot (/boot):

1
2
3
# mount /dev/sda2 /mnt
# mkdir -p /mnt/boot
# mount /dev/sda1 /mnt/boot
script-6.sh

Si nuestro sistema tiene EFI hacemos:

1
2
3
# mount /dev/sda2 /mnt
# mkdir -p /mnt/boot
# mount /dev/sda1 /mnt/boot
script-7.sh

Si tenemos un disco SSD montamos las particiones usando las opciones de montaje adecuados para que se use TRIM:

1
2
3
# mount -o noatime,discard /dev/sda2 /mnt
# mkdir -p /mnt/boot
# mount -o noatime,discard /dev/sda1 /mnt/boot
script-8.sh

Establecer el mirror

Debemos seleccionar un espejo del que se descargarán los paquetes del sistema base, modificamos el archivo /etc/pacman.d/mirrrorlist y ponemos el primero el que deseemos, yo suelo usar:

Server = http://mirrors.kernel.org/archlinux/$repo/os/$arch

1
2
# nano /etc/pacman.d/mirrrorlist

script-9.sh

Instalar paquetes del sistema base

Lo siguiente será instalar los archivos del sistema base el siguiente comando que descargará del espejo de paquetes que hayamos elegido los paquetes del sistema base:

1
2
# pacstrap /mnt base base-devel

script-10.sh

Generar de fstab

Generamos el archivo fstab que contendrá las características de nuestras particiones y opciones de montaje:

1
2
# genfstab -U -p /mnt >> /mnt/etc/fstab

script-11.sh

Si usamos un disco SSD revisaremos el archivo asegurándonos que contiene las opciones noatime y discard.

Chroot y configuración de sistema base

Hacemos un chroot para cambiar el directorio root que estamos usando para configurar nuestro sistema.

1
2
# arch-chroot /mnt /bin/bash

script-12.sh

Editamos /etc/locale.gen, lo generamos y exportamos las variables:

1
2
3
# nano /etc/locale.gen
# locale-gen
# echo LANG=es_ES.UTF-8 > /etc/locale.conf
script-13.sh

Editamos el archivo /etc/vconsole.conf para cambiar el mapa de teclas de las terminales TTY:

1
2
# nano /etc/vconsole.conf

script-14.sh

Introducimos el siguiente contenido:

1
2
KEYMAP=es

script-15.txt

Establecer la zona horaria

Establecemos la zona horaria de nuestro sistema:

1
2
# ln -s /usr/share/zoneinfo/Europe/Madrid /etc/localtime

script-16.sh

Modificar el nombre de nuesta máquina

1
2
# echo archlinux > /etc/hostname

script-17.sh

Instalar el gestor de redes

NetworkManager puede servirnos, lo instalamos con el gestor de paquetes de arch pacman y activamos el servicio:

1
2
# pacman -S networkmanager
# systemctl enable NetworkManager.service
script-18.sh

Cambiar la contraseña de root

1
2
# passwd

script-19.sh

Instalar el gestor de arranque

Este es el punto más delicado y que más problemas puede dar, ya que si no lo hacemos bien probablemente nuestro sistema no arrancará y por desgracia está al final de todo el proceso.

Para un sistema con BIOS:

1
2
3
# pacman -S grub
# grub-install --target=i386-pc --recheck /dev/sda
# grub-mkconfig -o /boot/grub/grub.cfg
script-20.sh

Para un sistema con EFI:

En mi equipo que es un Sony Vaio SVE con EFI aún no he conseguido que GRUB me arranque correctamente (al inicial parece que se queda con la pantalla en negro y aparentemente bloqueado aunque puedo reiniciarlo con ctrl-alt-supr) y he tenido que usar rEFInd. Aún así también tengo instalado Grub que iniciándolo a través de rEFInd si funciona bien.

1
2
3
# pacman -S grub efibootmgr dosfstools
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub --recheck
# grub-mkconfig -o /boot/grub/grub.cfg
script-21.sh

Posteriormente instalo rEFInd:

1
2
3
4
5
6
# pacman -S rEFInd
# cp /usr/share/refind/refind_x64.efi /boot/EFI/refind/refind_x64.efi
# cp /usr/share/refind/refind.conf-sample  /boot/EFI/refind/refind.conf
# cp -r /usr/share/refind/icons /boot/EFI/refind/
# cp -r /usr/share/refind/fonts /boot/EFI/refind/
# cp -r /usr/share/refind/drivers_x64 /boot/EFI/refind
script-22.sh

Edito el archivo /boot/FI/refind/refind.conf modificando el timeout y la opción seleccionada por defecto:

1
2
timeout 5
default_selection "bzImage,vmlinuz"
script-23.txt

También debemos modificar el archivo /boot/refind_linux.conf

1
2
# cp /usr/share/refind/refind_linux.conf-sample /boot/refind_linux.conf
# blkid >> /boot/refind_linux.conf
script-24.sh

En el archivo sustituiremos los PARTUUID por los que correspondan en nuestro sistema, con el comando blkid los habremos añadido al final del archivo, el contenido debe quedarnos algo como:

1
2
3
4
5
## This file should be present in the same directory as the EFISTUB kernel and initramfs files
## More info at http://www.rodsbooks.com/refind/linux.html , http://www.rodsbooks.com/efi-bootloaders/efistub.html

"Boot with defaults"    "root=PARTUUID=4e1f91cf-0e6c-41df-82f0-a16134c5973a rootfstype=ext4 rw initrd=/boot/initramfs-linux.img"
"Boot to terminal"      "root=PARTUUID=4e1f91cf-0e6c-41df-82f0-a16134c5973a rootfstype=ext4 rw systemd.unit=multi-user.target initrd=/boot/initramfs-linux.img"
script-25.txt

Además, con rEFInd hemos de crear el gestor de arranque con el comando efobootmgr. Pero en mi caso para que funcione primero he de borrar todos los que ya existen sino parece que en mi caso se recrea y usa el gestor de arranque EFI de Windows y al inicial el sistema me sale el mensaje «Operating System Not Found», podemos ver los gestores de arranque con:

1
2
# efibootmgr

script-26.sh

Los borramos con el siguiente comando, donde xxxx se corresponde con el número de gestor de arranque:

1
2
# efibootmgr -b xxxx -B

script-27.sh

Finalmente, creamos el gestor de arranque para rEFInd:

1
2
# efibootmgr -c -d /dev/sda -p 1 -l /EFI/refind/refind_x64.efi -L "rEFInd"

script-28.sh

Finalizar la instalación

Finalmente, salimos del entorno enjaulado, desmontamos las particiones y reiniciamos el sistema:

1
2
3
# exit
# umount -R /mnt
# reboot
script-29.sh

Post instalación base

Ya tenemos el sistema base pero para usarlo seguramente queramos un entorno gráfico, un usuario propio para no usar el usuario root y los programas que solemos usar habitualmente. Para ellos continuaremos en la postinstalación.

Creación de usuario

Creamos un usuario para no usar el usuario root, sustituimos picodotdev por el nuestro:

1
2
# useradd -m -G wheel -s /bin/bash picodotdev
# passwd picodotdev
script-30.sh

Permitirmos a los usuarios del grupo wheel usar el comando sudo:

1
2
# pacman -S sudo
# visudo
script-31.sh

Descomentamos la siguiente linea:

1
2
%wheel ALL=(ALL) ALL

script-32.txt

Editamos el archivo pacman.conf según nuestras preferencias, por ejemplo, para permitir el color en la terminal y para mostrar el progreso global.

1
2
# nano /etc/pacman.conf

script-33.sh

Instalar el entorno gráfico

Instalamos los paquetes básicos del entorno gráfico, en este caso los controladores para una tarjeta gráfica intel:

1
2
$ sudo pacman -S xorg-server xorg-xinit xorg-server-utils mesa xf86-video-intel

script-34.sh

Instalar el entorno de escritorio

Instalamos el entorno de escritorio según nuestras preferencias, en mi caso GNOME:

1
2
$ sudo pacman -S gnome gnome-extra gnome-tweak-tool

script-35.sh

Habilitamos el servicio del gestor de escritorio GDM:

1
2
$ sudo systemctl enable gdm.service

script-36.sh

Instalación de yaourt

Si pretendemos usar algún paquete de AUR deberemos instalar la herramienta yaourt:

1
2
# nano /etc/pacman.conf

script-37.sh

Añadimos su repositorio:

1
2
3
[archlinuxfr]
SigLevel=Optional TrustAll
Server=http://repo.archlinux.fr/$arch
script-38.txt

Lo instalamos con:

1
2
$ sudo pacman -Syu
$ sudo pacman -S yaourt
script-39.sh

A partir de este momento podemos usar el comando yaourt en vez de pacman.

Instalar de programas

Los programas que instalaremos cambiarán según nuestras preferencias, estos son casi todos los que suelo utilizar:

1
2
$ yaourt -S vim vim-spell-es chromium firefox firefox-i18n-es-es ntfs-3g faenza-icon-theme gimp filezilla imagemagick gparted ufw shotwell libreoffice vlc gstreamer0.10-plugins calibre ntp flashplugin tomcat-native rsync jdk7-openjdk mariadb redis wget git subversion openssh unrar base-devel

script-40.sh

Activar el servicio de sincronización de hora

Para mantener la hora de nuestro sistema correctamente podemos usar un servicio que se encargue de mantenerla con un servicio a través de la red.

1
2
$ sudo systemctl enable ntpd.service

script-41.sh

El resultado de la instalación y usando GNOME es el siguiente:


Comparte el artículo: