Aprendiendo Arch.

Ismael Royano Gómez
Enredando con Linux.
13 min readMay 24, 2016

--

Es una distribución linux independiente inspirada en CRUX, creada por Judd Vinet en el 2002 y controlada y mantenida por Aaron Griffin desde el 2007. Tiene unas características interesantes:

  • Se rige por el principio KISS, de las siglas Keep It Simple, Stupid!, es decir, mantener un sistema ligero y simple, evitando complejidades en la mayoría de lo posible. Es un sistema tipo “¡móntalo tu mismo!”.
  • El uso de interfaz gráficas hace mal acostumbrarse a los usuarios finales, eso hace que Arch sea una distribución un tanto peculiar, ya que no tiene instalador y casi todo se hace mediante scripts.
  • Se basa en el modelo Rolling Release, es decir, no tiene versiones cada 6 meses como hace otras distribuciones, simplemente cuando hay actualizaciones del sistema, se liberan, instalan y punto, sin complicaciones, sin enredos. Se generan mensualmente imágenes iso de mantenimiento con un sistema básico para crear una instalación nueva de Arch con todos los cambios recientes.
  • Otro punto fuerte es que tiene un repositorio de la comunidad, donde los usuarios hacen sus propios paquetes para que puedan ser instalados. Este repositorio se llama AUR, de la siglas Arch User’s Repository. Estos paquetes son votados por los usuarios y si tienen la suficiente popularidad se incluirán en el respositorio oficial community.

Instalación.

Lo primero y más primordial es bajarse la ISO de Arch de su página oficial, grabarlo y arranca desde la unidad óptica, dejar que arranque y empezamos la instalación:

Idioma del teclado.

#Configurar el teclado al idioma que corresponda. Por defecto está en inglés, us.
loadkeys es

Podemos ver la lista completa de mapeos del teclado con el siguiente comando.

localectl list-keymaps

Conectar a internet.

  • Si la linea está por cable se configurará automáticamente por dhcp.
  • Si la línea está por wifi hay que usar un comando para conectar a la red inalámbrica habitual.
#Conectar a una red inalámbrica.
iwctl
  • Los comandos básicos para poder conectarse a una red inalámbrica son los siguientes:
* help. Muestra la ayuda del comando.
* device list. Muestra todos los dispositivos wifi que hay en el sistema.
* station wlan0 get-networks. Muestra todas la redes disponibles para el dispositivo wlan0.
Vamos a suponer que se llama así el dispositivo, el nombre nos lo dirá el comando device list.
* station wlan0 connect SSID o nombre de la red y a continuación nos pedirá la contraseña de la red.

Los ingenieros de Arch han decido añadir un script hecho en python para poder facilitar la instalación sin que tengamos que tocar mucho más, es un poco más automática para que los usuarios no tan avanzados prueben este excelente distribución. Hay que decir que todavía está en fase de desarrollo, ¡Ojo con eso!.

Instalación con ArchInstall.

Como ya tenemos configurado el internet del apartado anterior, solo basta con que ejecutemos el script de instalación;

archinstall

Lo primero que hace el script es comprobar los servidores disponibles para escoger el más rápido según nuestra ubicación;

Configuramos el teclado;

Seleccionamos el disco duro que corresponda para la instalación.

Borramos el disco duro y todas sus particiones. La opción uno es para hacer las particiones manualmente, pero no he sido capaz de hacerlo funcionar, así que lo hacemos de forma automática con la opción 0.

Seleccionamos el sistema de archivos que vamos a utilizar

Si queremos encriptar la partición metemos una contraseña segura o lo dejamos en blanco si no queremos encriptar.

Si queremos utilizar Swap.

Introducimos el nombre del equipo para la red.

Contraseña del root.

Creamos usuarios adicionales y le asignamos una contraseña.

Añadimos el usuario adicional para que pueda hacer cosas en nombre de root.

Ahora toca seleccionar para que vamos a usar Arch, por norma general la opción 0, para instalar un entorno de escritorio.

Seleccionamos el escritorio que queramos instalar.

Controlador gráfico que vamos a utilizar.

Drivers para el audio.

Kernel que vamos a utilizar. Por norma general usaremos la opción por defecto.

Instalar paquetes adicionales, separados por espacio.

Configurar interfaz de poder tener internet. La opción gráfica de NetworkManager estaría bastante acertada.

Configurar zona horaria. Como yo estoy en España, yo escojo Europe/Madrid.

Sincronizar la hora mediante internet.

Ahora nos pregunta si queremos entra en modo root para configurar otras cosas de forma manual. Yo diría que no, se supone que esto es para hacerlo mas automático.

Ahora basta con dejar que instale todo el sistema con su entorno de escritorio y demás. Tardará un rato dependiendo de nuestro pc y de la conexión a internet.

Ahora sólo basta reiniciar y listo, ya podemos disfrutar de nuestro sistema Arch.

Instalación manual como dice la guia.

Actualizar el reloj.

  • Sincronizar la fecha a través de internet para poner correctamente el reloj del sistema;
timedatectl set-ntp true

Preparando Disco Duro.

Hay que averiguar que como se llaman nuestras unidades de disco duro. Para saber como se llaman los unidades podemos usar el comando lsblk. Voy a basarme en que no hay nada y solo vamos a instalar Linux. La estructura que voy montar en el disco es la siguiente:

Si no tenemos UEFI, es decir BIOS.

  • 100 MB para la partición /boot.
  • 2GB para la partición SWAP.
  • El resto para la partición raíz (/).

Si tenemos UEFI.

  • 512 MB UFI System(Vfat).
  • 2GB para la partición SWAP.
  • Resto para la partición raíz (/).

Bueno, y ¿Cómo se yo si mi placa tiene UEFI o es BIOS? Ejecutando el comando siguiente y nos mostrará que tipo de placa tenemos.

ls /sys/firmware/efi/efivars

Para ello se usará cfdisk. Si hay otro linux instalado se puede utilizar perfectamente alguno con entorno gráfico, como por ejemplo gparted, ya que las utilidades bajo la consola rara vez dejan redimensionar particiones:

  • Crear una tabla de particiones tipo dos si el disco está vacío. Si no es así pues saldrá directamente el espacio libre. El tipo de etiqueta que podemos crea puede ser dos o gpt. Yo estoy empezando a usar el standard nuevo, el gpt.
cfdisk /dev/sda

Ahora es desplazar el cursor por los menús de abajo:

  • New. Seleccionar la partición arriba y crear una nueva partición.
  • Quit. Salir del programa.
  • Help. Ayuda.
  • Write. Escribir cambios en el disco duro.

Ahora creamos las 3 particiones; /boot, SWAP y Raíz (/). Escribir los cambios y salir del programa.

Formatear Particiones.

#Formatear partición /boot.
mkfs.ext4 /dev/sda1

#Formatear partición raíz (/).
mkfs.ext4 /dev/sda3

#Crear la partición SWAP y activarla.
mkswap /dev/sda2 && swapon /dev/sda2

Montando Particiones.

Se va a trabajar sobre la carpeta /mnt.

#Crear una carpeta para la partición /boot.
mkdir /mnt/boot

#La partición raíz se montará en /mnt.
mount /dev/sda1 /mnt/boot #Montar /boot
mount /dev/sda3 /mnt #Montar Raíz (/)

Elegir un servidor rápido.

#Editor el archivo mirrorlist y poner almohadilla al servidor mas cercano.
nano /etc/pacman.d/mirrorlist

Instalar sistema base.

#Editar pacman.conf y quitar la almohadilla a los repositorios multilib.
nano /etc/pacman.conf

¿Para que sirve este repositorio?

En sistema de 64 bit se utilizan normalmente paquetes y librerías de 64 bits, pero activando este repositorio, lo que consigue es que utilice paquetes y librerías de 32 bits cuando sea necesario, por motivos de compatibilidad.

#Ejecutar el siguiente scripts para instalar el sistema base. pacstrap -i /mnt base base-devel linux linux-firmware nano usbutils pciutils

Configurar puntos de montajes.

  • Los puntos de montajes del sistema se almacena en un archivo que se llama fstab. Ahora toca configurar este archivo;
genfstab -U /mnt >> /mnt/etc/fstab

Entrar en el sistema por primera vez.

  • Ahora se pasa a entrar en el sistema;
arch-chroot /mnt /bin/bash

Idioma del sistema.

#Editar el archivo /etc/locale.gen  y descomentar el idioma que se vaya a utilizar. En mi caso son las 3 “es_ES” que hay en el archivo.
nano /etc/locale.gen

#Editar el archivo /etc/locale.conf.
nano /etc/locale.conf

# Añadir la siguiente línea.
LANG=es_ES.UTF-8

#Aplicar cambios.
locale-gen

Configurar Reloj.

#Elegir la zona horaria. En mi caso es Europe/Madrid.
tzselect

#Configurar el reloj en los bios. Si hay instalado un Windows mejor usar la opción "local" en vez de "utc".
hwclock --systohc --utc

Initramfs.

#Generar una imagen del núcleo para tenerlo preparado para su uso.
mkinitcpio -p linux

Instalar Gestor de Arranque.

Existen dos gestores de arranque, Grub y Syslinux, seguramente existirán más pero estos dos son los más populares. A mi grub no me gusta mucho, siempre me ha dado problemas y al final tengo que pegarme con él, así que yo prefiero usar syslinux, se instala sin complicaciones y funciona, así de simple sin configuraciones extras.

#Instalar syslinux. Es otro gestor de arranque muy bueno, la diferencia es que funciona tanto con BIOS como UEFI
pacman -S syslinux gptfdisk

#Instalar y configurar el gestor de arranque.
syslinux-install_update -i -a -m
Es aconsejable editar el archivo nano /boot/syslinux/syslinux.cfg para ver que la nomenclatura de los dicos es la correcta, descomentar lo que nos interese, por ejemplo que se active el arranque de Windows cuando lo compartimos con linux (LABEL windows), ponerle fondo a syslinux para que quede mas bonito (MENU BACKGROUND splash.png, UI vesamenu.c32)..etc.

Configurar red.

#Editar el archivo /etc/hostname para configurar el nombre del equipo.
nano /etc/hostname voy a usar como nombre de equipo ismael-lnx

#Configurar hosts.
nano /etc/hosts y añadimos lasa siguientes líneas;
127.0.0.1 localhost
::1 localhost
127.0.1.1 ismael-lnx.localdomain ismael-lnx

#Configurar DNS
nano /etc/resolv.conf y añadimos las dns de Adguard, ya que son las que uso yo que te quitan toda la basura y te protege del malware y el phishing.

nameserver 94.140.14.14
nameserver 94.140.15.15

#Instalar estos paquetes para que al reiniciar funcione la wifi/cable.
pacman -S iw iwd wpa_supplicant dialog dhcpcd networkmanager
systemctl enable NetworkManager && systemctl start NetworkManager

Contraseña del ROOT.

#Configurar una contraseña para el usuario administrador.
passwd

Crear Usuarios.

Crear un usuario para las cosas cotidianas que se hace en un sistema operativo es esencial, no estaría bien hacer todo con el usuario administrador o ROOT ni tampoco nada seguro.

#Crear un usuario.
useradd -m -g users -G wheel -s /bin/bash ismael

#Creamos una contraseña para el nuevo usuario.
passwd ismael

#Configuramos sudo para que ese usuario pueda tener persmisos administrativos y no estar utilizando root.
nano /etc/sudoers y descomentamos quitando la almohadilla a la línea que pone %wheel ALL=(ALL) ALL. Con esto lo que hacemos e que le damos permisos administrativos a todos los usuarios que estén en ese grupo de trabajo.

Salimos y terminamos la instalación.

#Ejecutar la instrucción. 
exit && reboot

Ahora al arrancar, si no hay internet, lo que hay que hacer es configurar el internet de nuevo para seguir instalando paquetes.
Si usamos wifi volvermos a ejecutar iwctl para conectarnos.
Si usamos cable lo hará automáticamente networkmanager.

Interfaz Gráfica.

Existen dos tipos de pilares fundamentales para configurar un gestor gráfico;

Xorg. Es un clásico y el más estable y pulido sistema de sesión gráfica.Funciona con todos los escritorios.
Wayland. Es el nuevo sistema de sesión gráfica, está teniendo un fuerte soporte y pretende sustituir a la clásica Xorg. Funciona sólo con KDE y Gnome.

Configurar Xorg.

Es el pilar esencial para tener cualquier entorno de escritorio. Existen de formas de hacerlo:

  • Instalar todas las Xorg. De esta forma instala todos los paquetes, aplicaciones y controladores disponibles, de forma que cada vez que arranca autodetecta todo el hardware. Esto implica que va a instalar muchos paquetes que no vamos a utilizar y que no necesitamos;
#Instalar todas las xorg.
pacman -S xorg

#Instalar lo básico.
pacman -S xorg-server xorg-server-utils xorg-apps

¿Que gráfica tengo?.

  • Buscar la tarjeta gráfica que hay instalada en la categoría VGA;
lspci

¿Que controlador uso?. Buscar el controlador apropiado;

#Buscar controladores de vídeos.
pacman -Ss xf86-video

#Los controladores más comunes.
Amd/Ati; xf86-video-amdgpu, xf86-video-ati.
Intel; xf86-video-intel.
Nvida; xf86-video-nouveau, nvidia(controlador privado).

Configurar Wayland.

pacman -S weston #Instalar Wayland

#Si vamos a autilizar KDE y Wayland se debe instalar el paquete qt5-wayland

Configurar Gnome.

#Ejecutar la instrucción. 
pacman -S gnome gnome-extra

#Ahora se ejecuta en el arranque la sesión de inicio de gnome. systemctl enable gdm && systemctl enable NetworkManager

Configurar KDE.

#Instalar Kde. 
pacman -S plasma-meta kde-applications-meta plasma-nm

#Ahora se ejecuta en el arranque la sesión de inicio de KDE. systemctl enable sddm && systemctl enable NetworkManager

Configurar XFCE.

#Ejecutar la instrucción. 
pacman -S xfce4 xfce4-goodies networkmanager network-manager-applet lightdm lightdm-gtk-greeter

#Ahora se ejecuta en el arranque la sesión de inicio de LightDM y el gestor de red networkmanager.
systemctl enable lightdm && systemctl enable NetworkManager

¿Y ahora que?.

El gestor de paquetes de Arch, pacman.

pacman -Syu #Actualizar sistema.
pacman -S #Instalar paquetes.
pacman -Ss #Buscar paquetes.
pacman -R #Eliminar paquetes.
pacman -Rs #Eliminar paquetes y sus dependencias.
pacman -Qdt #Buscar dependencias huérfanas. Después se tienen que desinstalar con la opción -R ó -Rs.
pacman -U #Instalar paquetes locales.
pacman -Scc #Eliminar el caché de instalación de todos los paquetes.

Algunas herramientas necesarias.

pacman -S ntfs-3g # Sirve para poder escribir en unidades ntfs.
pacman -S samba # Compartir recursos con Windows.
pacman -S clamav # Antivirus.
pacman -S cups cups-pdf avahi #Administrador de impresión.

¿Que impresora tengo?.

Existen algunas herramientas muy útiles para averiguar el hardware que existe en el equipo.

#Se puede utilizar lsusb para averiguar que dispostivos se tiene por puerto usb.
pacman -S pciutils usbutils

#Controladores.
gutenprint #Una recolección de controladores para impresoras Canon, Epson, Lexmark, Sony, Olympus.
foomatic-db, foomatic-db-engine y foomatic-db-nonfree #Una base de datos con una gran variedad de controladores para impresoras para linux/unix.
hplip #Controladores HP y algunos modelos de impresoras impresoras Brother.
splix #Controladores para Samsung.

Configurar impresora.
Configurar samba. El archivo de configuración de samba se encuentra en /etc/samba/samba.conf. Si no existiera podemos encontrar un ejemplo aquí para configurar nuestra red.
Configurar antivirus.
Configurar cortafuegos.

Se puede observar una gran lista de aplicaciones aquí.

Una vez terminado las instalaciones y configuraciones, toca iniciar servicios correpondientes:

systemctl enable org.cups.cupsd cups-browsed #Iniciar cups. 
systemctl enable avahi-daemon # Para poder usar la impresora en red.
systemctl enable smbd && systemctl enable nmbd #Iniciar samba.
systemctl enable clamav-daemon #Iniciar antivirus.

AUR.

Arch User Repository. Es un repositorio especial cuyos paquetes no vienen de forma oficial en ArchLinux. Estos paquetes están preparados para ser compilados de forma manual. Existen una barbaridad de paquetes para ser instalados y creciendo cada día. Por ejemplo yo soy usuario de Yandex Browser, un paquete que no viene con casi ninguna distribución, pues desde aquí puedo compilarlo e instalarlo y tan feliz me quedo.

Se puedo hacer de la forma tradicional con el comando makepkg que tiene cualquier distribución o mediante gestores de paquetes diseñados por la comunidad de ArchLinux para facilitarnos el trabajo.

Existen varios gestores de paquetes que podemos utilizar para instalar paquetes de AUR:

Yo voy a utilizar yay. Esto requiere que tengamos que instalar el paquete manualmente y para ello vamos a descargar git de los repositorios oficiales;

pacman -S git #Instalamos git.
git clone https://aur.archlinux.org/yay.git #Clonamos el programa.
cd yay # Entramos en la carpeta que nos ha creado.
makepkg -sri #Compilamos el programa para poder usarlo.

Si no queremos instalar yay, esta forma es la tradicional para instalar paquetes manualmente, sin necesidad de usar ningún gestor de paquetes. Sólo hay que cambiar el paquete queremos instalar
git clone https://aur.archlinux.org/<paquete>.git #Clonar paquete.

Yay funciona de forma muy similar a pacman;

yay -S #Instalar un paquete.
yay -Ss #Buscar un paquete.
yay -R #Borrar un paquete.
yay -Rs #Borrar un paquete y sus dependencias.
yay -Syu #Actualiza los paquetes tanto de AUR como oficiales.
yay -Yc #Borra dependencias no deseadas.

Los paquetes de AUR sólo funcionan para ArchLinux si intentamos instalarlos en otras distribuciones nos van a salir errores en los errores.

--

--

Ismael Royano Gómez
Enredando con Linux.

Técnico Informático curioso, lector activo de las nuevas tecnologías, amante de las series de televisión y usuario del respetable mundo del enredo.