Apuntes mientras aprendo sobre software y computadoras.

Linux

Guía inmediata para empezar con Arch Linux

Contenidos ocultar

Introducción

Mi nombre es Gustavo. Y esta es mi “Guía inmediata para empezar con Arch Linux”.

Si, estoy repitiendo el nombre de la guía en el primer párrafo del texto. Pero es con un buen motivo, el título explica exactamente lo que vas a leer dentro de unos momentos. Voy a detallarlo palabra por palabra.

Se trata de una “guía” porque en ella desarrollo, paso a paso, las acciones necesarias para instalar Arch Linux en una computadora personal.

Utilizo la palabra “inmediata” porque voy a intentar que el texto sea lo más enfocado en la acción posible. Menor cantidad de vueltas, mayor cantidad de actividad e información.

Y al decir “para empezar” quiero decir que esta guía puede ayudarte si te encontrás con ganas de empezar a usar este sistema desde cero (o casi desde cero). Yo mismo soy un principiante utilizándolo, y si comparto toda esta información es para aprender a usarlo mientras escribo.

Vale agregar: conocer sobre la terminal de Linux y sus comandos hace que el proceso de instalación se vuelva mucho más sencillo. No es algo completamente necesario, pero no viene para nada mal para entender un poco mejor el porque de cada acción.

Ya que estamos en esto, te recomiendo alguna de las otras guías que escribí hasta el momento, en todas ellas vas a poder encontrar datos que de un modo u otro se relacionan con Arch Linux.

Importante: estos apuntes no son un sustituto de la guía oficial de Arch. Ni de cerca. La guía oficial es lo principal para leer en el tema, donde se revisa con profundidad todos los aspectos de la instalación.

¿Cuales son entonces las primeras diferencias que noté al empezar con Arch Linux?

Antes de instalar Arch, solamente tuve en mi computadora los sistemas operativos Ubuntu y Linux Mint. Entre esos sistemas y Arch, encontré estas tres principales diferencias al hacer la instalación:

1 -. Toda la primera interacción con el sistema es por medio de una terminal de comandos, algo que puede parecer difícil si nunca (o casi nunca) la utilizamos.

2 – Muchas opciones desde el primer momento. Otros sistemas presentan menos preguntas, haciendo que la instalación se vea como un proceso prácticamente automático. Arch pide que prestemos atención a lo que hacemos.

3 – Necesitamos conseguir un entorno de escritorio por separado. Tengo que disponer de los conocimientos para instalar una interfaz con ventanas y todo eso, a menos que me interese usar solamente comandos. Otra vez, esa es una diferencia con por ejemplo Ubuntu, donde un escritorio viene “dentro del paquete inicial” por decirlo de algún modo.

Cómo instalar Arch Linux en la computadora

Bueno, todo comienza consiguiendo una copia del sistema operativo para instalar. Entrando a este link de descarga para Arch Linux esto puede hacerse fácilmente.

El sitio de Arch ofrece varias opciones interesantes. Ejemplo, es posible verificar la autenticidad de archivo que vpy a usar por medio de la firma gpg que lo acompaña. Tiene ademas varias opciones de descarga, por torrent.

No voy a dar muchas vueltas con eso, simplemente hay que descargar el archivo y guardalo.

Preparar el medio de instalación:

Una vez más, se me ocurren tres posibles opciones.

  • Si utilizás Windows: Descargá el programa Rufus y creá un pendrive con la capacidad de iniciar el nuevo sistema.
  • Si vas a utilizar Virtualbox: Agregá el archivo ISO que descargaste como un medio óptico al iniciar la máquina virtual.
  • Si ya utilizás alguna versión de Linux: Seleccioná el archivo ISO de Arch, dale botón derecho con el ratón y seleccioná la opción “Make Bootable USB stick” “Crear USB booteable”.

Eso es todo. Lo siguiente es reiniciar la máquina, y hacerla levantar desde el medio de instalación. Y si es necesario, dale prioridad a la memoria USB al momento de iniciar el equipo.

Importante: antes de instalar Arch en virtualBox

Este es un detalle importante antes de instalar el sistema operativo Arch utilizando una máquina virtual en el programa VirtualBox.

Primero necesito crear la máquina virtual, en eso nada nuevo.

Pero tengo que recordar habilitar la opción UEFI. Tengo que ir a las opciones de la máquina virtual (settings window).

Luego necesito seleccionar sistema (System) en el panel izquierdo, y marcar la opción “ habilitar EFI” (Enable EFI).

¿Por qué es importante? Es lo que después va a permitirme instalar GRUB para seleccionar el sistema operativo al iniciar la máquina.

Un posible error que voy a recibir si no hago este cambio en la máquina virtual es:

grub install: error: install device isn't specified

Lo que en mi rápida traducción quiere decir que se dio un error porque el “dispositivo no fue especificado”.

Respetando esta modificación este problema no ocurre.

Instalar Arch: los comandos comienzan

Perfecto, en un caso ideal la máquina se inicio y me aparece una pantalla con el título de Arch. Otra vez, nuevos caminos se bifurcan.

Existe varias opciones. La primera es:

  • Arch Linux Install medium (BIOS)

Esa es la que voy a utilizar para instalar Arch. En realidad si no elijo ninguna opción rápidamente, esta es la que se activa por defecto.

Sin embargo hay dos opciones más, por lo que voy a mencionarlas:

  • Arch Linux Install medium (BIOS) with speech

Esta otra opción me permite instalar Arch utilizando la opción de lectura en voz. El sistema hace una lectura de texto escrito, convirtiendo en audio el contenido de la pantalla.

  • Arch Linux Install medium (BIOS), Copy to RAM

Esta alternativa se escapa un poco al objetivo inicial de este texto. Esa es la forma elegante para decir que no utilicé esta opción personalmente.

Pero por lo que entiendo, lo que hace es cargar el sistema en la memoria RAM (hay que tener al menos entre 500 MB o 1GB disponibles) para poder usarlo durante una única sesión. De este modo no es necesario intervenir el disco duro. Queda revisarlo en otra oportunidad.

Volviendo al tema centra, ya elegí la opción:

  • Arch Linux Install medium (BIOS)

Eso me lleva directamente hasta una nueva terminal. Primero se cargan distintos módulos, hasta que esto también finaliza y tengo la oportunidad de empezar a escribir. Eso va a tardar algunos segundos.

Bueno, esto parece algo extraño. Un cursor titila en la pantalla esperando a que escriba algo. Pero nada me dice que cosa necesito escribir. Solamente dice:

root@archiso ~#

Ahora todo lo que yo escriba va a ir luego del símbolo numeral.

Datos de interés: Si en la terminal de bash tengo una linea para ingresar texto que termina con los símbolos ~# quiere decir que se trata de una terminal root, con los mayores permisos para administrar el sistema. Por otra parte, cuando la linea termina en ~$ quiere decir que estoy utilizando una cuenta regular, con permisos de administración limitados a ese perfil específico.

IMPORTANTE: Lo primero que necesito hacer es configurar el teclado en español. De esta forma voy a poder escribir más fácilmente los símbolos que necesito… confieso que siempre que no sigo este paso termino perdiendo bastante tiempo.

Para hacerlo escribo:

loadkeys es

En mi caso la configuración del teclado es en español, así que ya puedo segur.
Algo importante que me dice la pequeña pantalla de bienvenida es que teniendo una conexión a
internet puedo ver el manual de instalación escribiendo:

Instalation_guide

Ahora puedo escribir el guion bajo porque cambie la configuración del teclado. Para escribir el guion bajo con el teclado en inglés tengo que hacer varias pruebas hasta dar con la combinación correcta.

Al escribir este comando el sistema se conecta a internet y me muestra la página con la guía oficial de Arch en inglés. Podríamos decir que eso le da un final a este texto, toda la información se encuentra ahí. Pero voy a seguir, porque ya empecé con esto y quiero completarlo.

Para cerrar la guía de instalación presiono la tecla q y listo.

Lo de conectarse a internet merece una mención extra. Para habilitar la red Wi-Fi necesito darle autenticidad con el comando

iwctl

Otro tipo de interfaces por cable se conectan automáticamente.

¿Dónde estoy ahora?

En este momento me encuentro en la terminal. Realmente puedo ejecutar cualquier comando que utilizo en el día a día. Por esto decía que tener alguna idea sobre la terminal es un conocimiento valioso.

Por ejemplo, puedo terminar la instalación apagando el equipo con el comando:

shutdown -h now

O puedo limpiar de texto la pantalla para que se vuelva un poco menos confuso con el comando:

clear

Pero ya me estoy alejando del tema principal de vuelta. Luego sigue…

Particionar el disco duro

¿Ya dije que NO soy un experto en esto?

Por lo que entiendo, una de las ventajas de Linux es la “distribución en módulos” de su árbol de directorio. Si algo le ocurre a alguno de estas partes, la totalidad del sistema no se ve afectada.

Pensándolo de esa forma, seguramente hay muchas formas de particionar un disco para distribuir la información. En este caso voy a hacer tres particiones. También voy a utilizar la totalidad del disco para la instalación.

Si bien es posible particionar el espacio de otros modos, usar el disco completo resulta en la forma más sencilla de hacer el trabajo. Otras opciones incluyen, por ejemplo, que dos sistemas operativos compartan el mismo disco duro. Pero no es este caso.

Importante: al completar este paso todos los datos del dispositivo anteriores a la instalación van a ser borrados. Voy a utilizar el disco completo. Eso es algo a tener en cuenta si el disco duro tiene información valiosa que merezca ser guardada en otro lugar.

Las particiones que voy a tener son:

/boot

En esta partición van a ubicarse todos los archivos necesarios para levantar el sistema.

/swap

La idea es crear un espacio de “intercambio”, es una zona que se utiliza para almacenar información de forma temporal. Crear o no esta partición depende de cuanta memoria RAM se dispone. A mayor cantidad de RAM, menor necesidad de crearla.

Personalmente voy a crear swap, aunque también se puede hacer de otros modos.

/mnt

Esta partición puede entenderse también como /root ya que aquí es donde el directorio de raíz va a ir montado luego. Va a ser el hogar de las cuentas personales (home), los programas que voy a usar y mis archivos. Es el espacio general del sistema, por lo que va a disponer de la mayor cantidad de espacio posible.

IMPORTANTE (de nuevo): Al trabajar en VirtualBox, recordá marcar la opción “Habilitar EFI ( solo SO especiales)” en “Configuración> Sistema > Placa Base”. Esa opción porque viene establecida como BIOS en un primer momento.

Empezar las particiones:

Para dar comienzo al gestor de particiones escribo:

cfdisk

Se puede usar también el comando fdisk que es ligeramente diferente. Siendo que cfdisk interactúa de una forma gráfica, lo encuentro un poco más sencillo para empezar.

Entonces me pide que elija “Select Label Type”. De las cuatro opciones yo elijo gpt.

Ahora esto me va a dar el tamaño total del espacio en el disco detectado. Yo tengo que seleccionar la opción new para agregar una nueva.

La primera partición boot es la sda1. Voy a crearlo de 512 megas. Para eso escribo 512M y selección Write. Luego selección la opción Type y elijo EFI System, para que coincida con el modo de boot UEFI.

Luego una vez más selecciono free space y new.

Para Swap uso sda2, y en un sistema con mucha memoria RAM esta realmente no tiene que ser muy grande. La guía oficial recomienda 512 megas.

Ahora por último tengo sda3 que representa el espacio de /mnt y es la partición que mayor cantidad del disco va a tener. El resto del espacio libre del disco, para ser exacto

Es importante que recuerde esto (sda1, sda2 y sda3) porque luego voy a darle nombre a estas respectivas particiones.

Para guardar selecciono la opción [Write]. Me va a pedir que lo confirme y luego salgo con [Quit]. Con eso ya voy a mitad de camino en esto de las particiones.

Puedo revisar el trabajo completado hasta ahora con el comando:

fdisk -x

Formatear las particiones en Arch

Es momento de darle formato a las particiones. Para esto voy a utilizar el comando mkfs que significa Make File Sistem (crear sistema de archivos).

Entonces, de manera secuencial, escribo los siguientes comandos.

Para darle formato a la partición /boot (sda1)utilizo:

mkfs.fat -F32 /dev/sda1

Para formatear la partición /mnt (sda3) escribo:

mkfs.ext4 /dev/sda3

Sigue darle formato a la partición swap (sda2):

mkswap /dev/sda2

Por todo esto es que antes decía que es importante recordar como hice mi distribución entre sda1, sda2 y sda3. En mi breve experiencia instalando Arch, la mayoría de mis futuros problemas parecen surgir de mis errores eligiendo el formato correcto en este momento.

Montar las particiones

Lo siguiente va a ser montar las particiones del sistema de archivos. Para esto tengo el comando mount.

Entonces primero hago el punto de montura en sda3 para root:

mount /dev/sda3 /mnt

Luego creo la nueva carpeta /boot en este nuevo punto (es lo que va a encargarse del espacio para cargar lo necesario para iniciar el sistema):

mkdir /mnt/boot

Y monto entonces esta carpeta:

mount /dev/sda1 /mnt/boot

Para terminar hago el montaje de swap:

swapon /dev/sda2

Instalar el sistema

Lo que sigue ahora es descargar e instalar los paquetes que en conjunto conforman el sistema operativo. El kernel de Linux incluido.

El asunto es, se puede descargar un paquete base y un montón de complementos que van a hacer este comienzo mucho más llevadero. Ejemplo, descargar en este momento un editor de texto como nano.

En realidad muchos de estos extra pueden descargarse después, pero mejor hacerlo ahora si creo que voy a necesitarlos. La guía oficial recomienda varias de estas aplicaciones, por ejemplo paquetes para acceder a manuales.

En mi caso, el comando final para la descarga es:

pacstrap /mnt/ base linux linux-firmware base-devel nano dhcpcd

Ahora el sistema baja los archivos.

En el comando anterior “base-devel” se refiere a un paquete que incluye distintas utilidades como por ejemplo sudo. Y “nano” es un editor de texto no enriquecido muy bueno para empezar. Por otra parte “dhcpcd” va a permitirme habilitar internet más tarde, cuando todo ya se encuentre instalado.

Posibles errores de instalación

Es posible que al descargar Arch, la terminal nos devuelva el error:

ERROR: Failed to install packages to new root

Esto es “Error: fallo para instalar los paquetes en el nuevo directorio de raíz”. Para resolver el problema, lo mejor va a ser modificar el formato que le diste a la partición /root (/mnt en sda3 siguiendo esta guía).

Si es FAT32, mejor probar con ext4, eso puede solucionarlo.

Configurar el sistema

Al finalizar la descarga e instalación, la terminal me informa que hay varias cosas que no se encuentran configuradas, entre ellas el idioma, el horario y similares.

Esta parte que sigue es un poco más larga, pero en realidad involucra definir varias opciones delsistema.

Generar el archivo fstab

Primero creo el archivo fstab, que va a montar automáticamente las particiones al inicio del sistema.

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

Luego voy a entrar al entorno chroot para poder configurar lo que sigue.

arch-chroot /mnt

Al hacer esto voy a notar que hay un cambio en la terminal, hasta ahora decía:

root@archiso ~ #

Pero ahora dice algo como:

[root@archiso /] #

Crear el nombre del sistema (Hostname)

Ahora voy a crear un archivo que va a contener el nombre de la computadora.

nano /etc/hostname

Esto se puede entender de la siguiente forma, estoy usando el editor de texto vano para crear y modificar el archivo hostname. Lo que tengo abierto ahora es un editor de texto.

Yo le voy a poner de nombre al sistema el original nombre de arch. Para salir y guardar, presiono el combo de teclas Ctrl + X.

Definir la zona horaria

En este momento es necesario crear un symlink de /etc/localtime especificando la zona geográfica. Pero antes de conocer el comando, necesito conocer la “zona” por el continente donde me encuentro y una subzona por la ciudad.

Esta combinación me va a dar la zona horaria de la ciudad para la que quiero configurar el sistema.

Puedo ver las distintas opciones con los comandos:

cd /usr/share/zoneinfo
ls

Voy a ver que me aparecen listados un montón de directorios, con distintas zonas. Si hago CD de vuelta a uno de estos directorios, voy a encontrar distintos paises y sub zonas o ciudades según sea necesario.

Por ejemplo si busco dentro de America con:

cd America

Y luego reviso el contenido del directorio con:

ls

Me va a aparecer una lista con todas las opciones de paises del continente.

Puedo salir de esta carpeta con:

cd

Ahora necesito un comando como el que sigue, cambiando lo que sigue a “zoneinfo” (antes de /etc/localtime) por la información pertinente.

ln –sf /usr/share/zoneinfo/region/subzona /etc/localtime

Por ejemplo si vivo en el continente americano, y en la ciudad de Bogotá necesito.

ln –sf /usr/share/America/Bogota /etc/localtime

Y luego, para cambiar el reloj a UTC (tiempo universal cordinado):

hwclock --systohc --utc

Modificar preferencias de lenguage

Luego introduzco las preferencias mi localización en un nuevo archivo para este efecto:

nano /etc/locale.gen

Lo anterior abre el archivo “locale.gen” en el directorio /etc.

A continuación tengo que modificar un archivo de acuerdo al idioma que voy a usar. Para hacerlo tengo que “descomentar” la linea que voy a elegir, y esto lo hago borrando el signo numeral # de la linea especifica de texto.

Descomento entonces la linea:

an_ES.UTF-8 UTF-8

Guardo con Ctrl + x y puedo salir.

Ahora puedo generar el idioma escribiendo en la terminal:

locale-gen

Cambiar la configuración del teclado (para la instalación de Arch)

El paso anterior cambia el idioma del sistema, pero no la configuración del teclado.

Al empezar modifiqué el teclado para que tenga una distribución en español, pero tengo que hacerlo de vuelta para el nuevo sistema instalado. De otro modo la modificación va a perderse al reiniciar el equipo.

Para conseguir esto, establezco un nuevo archivo con:

nano /etc/vconsole.conf

Y luego escribo en el mismo:

KEYMAP=ES

Guardo y puedo salir.

Crear la contraseña de raiz (cuenta root)

Lo que sigue es crear la contraseña para la cuenta de raiz (root). Escribo el comando:

passwd

Hago una contraseña y la vuelvo a confirmar. Lo mejor va a ser no olvidar cual es.

Instalar y configurar grub

Voy a descargar el cargador de arranque, necesario entre otras cosas para levantar el kernel al iniciar la máquina.

Ademas de grub voy a descargar otro paquete llamado efibootmgr.

Para esto utilizo el comando:

pacman -S grub efibootmgr

Lo acepto y con esto consigo descargar GRUB. Luego tengo que crear un directorio para alojarlo:

mkdir /boot/efi

Ahora sigue montar este directorio en la partición /boot:

mount /dev/sda1 /boot/efi

Ahora tengo que instalar Grub, escribo el comando:

grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB

Para Terminar hago un nuevo archivo de configuración llamado grub.cfg:

grub-mkconfig –o /boot/grub/grub.cfg

Error en Grub: /boot/efi doesn’t look like an EFI partition

Al instalar GRUB pueden aparecer errores inesperados. En caso de encontrar problemas, lo importante es revisar la guía oficial. Especialmente en esta parte sobre consejos para instalar GRUB en UEFI.

Este es otro problema “Error en Grub: /boot/efi doesn’t look like an EFI partition” tiene que ver con el tipo de formato que utiliza la partición /boot.

Tengo que revisar el formato de las particiones que hice antes.

Salir de chroot y reiniciar

Puedo salir del entorno chroot escribiendo el comando:

exit

Y luego reinicio con el comando:

reboot

Ahora me aparece la pantalla de GRUB. Elijo la primera opción, y listo. Ya estoy en una consola de mi nuevo sistema Arch Linux recién instalado.También puedo extraer la memoria usb/disco de instalación, porque no voy a seguir usándolo.

Sin embargo, el sistema me pide que ingrese el nombre de una cuenta para entrar. ¿Cuál es el nombre de esa cuenta?

El nombre de la cuenta es root. Y la contraseña es la misma contraseña que ingresé antes, con el comando passwd.

Resolución de problemas: volver a poner el medio de instalación

Durante la primera parte de la instalación de Arch pude cometer errores.

¿Cómo resolver el problema de no tener internet luego de instalar Arch? ¿Qué hacer si olvidé instalar un paquete importante con el comando “pacstrap”? ¿Cómo restablezco la contraseña de la cuenta root si la olvidé y no puedo entrar al sistema?

Todo esto puedo resolverlo volviendo a poner el medio de instalación, por ejemplo el archivo ISO, en la computadora.

Lo primero es volver a conectar el medio de instalación y reiniciar el equipo.

Si la computadora no levanta desde esa memoria USB o archivo ISO, se puede cambiar el orden booteo. Eso lo hago desde el menú UEFI de la máquina, me da la opción la pantalla de GRUB que se inicia cuando levanta la computadora.

Acto seguido voy a experimentar de nuevo con el instalador de Arch. Tengo que por ejemplo volver a usar

loadkey es

Para volver a usar el teclado en español.

Tengo que montar el sistema de archivos y trabajar como root. Para eso utilizo primero el comando:

mount /dev/sda3 /mnt

En mi caso la partición es sda3, porque ahí establecí el sistema de archivos durante la partición original. No tengo que volver a particionar el disco.

Y luego empiezo a trabajar en root con el comando:

arch-chroot /mnt

Ahora puedo por ejemplo cambiar los datos de la cuenta root o descargar nuevos paquetes.

Lo siguiente es salir de root:

exit chroot

Y reiniciar el sistema con el comando reboot.

Puedo retirar el medio de instalación y entrar nuevamente al sistema Arch.

Habilitar la internet luego de instalar Arch

Primero tengo que revisar el nombre de los dispositivos de red que existen en mi equipo, esto lo hago con el comando:

ip link

Esto me devuelve en mi caso:

enp0s3 state DOWN

De esto entiendo que “enp” significa “ethernet network peripheral” y se refiere a la pieza de hardware que permite mi conexión a internet. Por otra parte “state Down” quiere decir que el dispositivo no se encuentra activado, al menos en lo que al sistema operativo se refiere.

Para volver a activarlo utilizo el comando:

ip link set enp0s3 up

Aunque claro, enp0s3 puede variar y en ese caso es necesario reemplazarlo con el nombre que corresponda en tu propio caso caso. Ahora cuando vuelvo a probar el comando ip link, obtengo otro resultado.

ip link
enp0s3 state UP

Y ahora tengo que usar el manager dhcpcd en el sistema para habilitar el servicio de enp0s3. Lo hago con los dos comandos que siguen:

systemctl enable dhcpcd@enp0s3.service
/usr/sbin/dhcpcd enp0s3

Ya estoy de nuevo conectado a internet, y puedo continuar personalizando el sistema.

Arch Linux se encuentra instalado y la consola funcionando. Pero esto no termina aquí, para seguir avanzando voy a seguir con la segunda parte de esta “ Guía inmediata para empezar con Arch Linux”.

Parte 2: personalizar mi instalación de Arch Linux

Una vez más, en esta parte de la guía estoy siguiendo el texto oficial para la instalación de Arch. Aunque no estoy siguiendo el texto al pie al pie de la letra, porque me interesa aportar mi propia experiencia al empezar a usar este sistema operativo. Una vez más: el manual oficial es el mejor lugar de referencia.

Entonces, ya dije que empecé la sesión y que lo hice con la cuenta “raíz” o root.

Entrar con la cuenta root me ofrece la posibilidad de empezar a ingresar comandos. Realmente ya puedo empezar a personalizar el sistema, aunque tengo que recordar que en este momento estoy utilizando privilegios elevados de administración.

Hasta el momento no tengo otra cuenta para usar en el sistema. Pero voy a cambiar eso, creando mi propia cuenta personal.

Crear mi propia cuenta y agregarla a grupos

Como es fácil de imaginar, la idea detrás de crear una cuenta propia es la de no usar constantemente la cuenta root.

Para crear una cuenta, utilizo el comando:

useradd -m gus

Por ejemplo, con ese comando acabo de crear la cuenta “gus”. Y ademas con el agregado de la opción “-m” consigo crear un directorio personal (/home/gus) que la acompañe.

Es posible proteger esa cuenta con un password, para eso tengo el comando:

passwd

Lo siguiente que puede hacer es agregar a la nueva cuenta a algunos grupos. Estos grupos ya existentes le van a permitir a la cuenta tener algunos privilegios de base sin recurrir a root, por ejemplo para interactuar con el hardware.

Puedo listar los grupos que actualmente hay en el sistema con el comando:

cat /etc/group

Entre esos grupos que aparecen listados, algunos de los que entiendo pueden servirme en este momento son:

  • power (apagar y prender el equipo)
  • audio (configurar audio)
  • Ip (configurar impresoras)
  • video (hardware de video)
  • storage (almacenamiento)
  • whell (para usar sudo cuando lo instale)
  • games (instalar juegos)

Por eso mismo voy a agregar mi cuenta a esos grupos. Lo hago con el comando usermod que en este caso se ve de este modo:

usermod -aG power,audio,lp,video,storage,wheel,games gus

Cada grupo va separado con una coma y no hay espacios dentro de la lista. Al final del comando va el nombre de la cuenta para agregar, en este caso mi usuario. La opción -aG indica que mi cuenta no va a ser removida otros grupos por defecto al llevar delante la acción (a) y mencionar que estoy agregando una lista de grupos suplementarios (G).

Para averiguar si esto funcionó, puedo usar el comando groups para ver a que grupos pertenece ahora la cuenta:

groups gus
power audio lp video storage wheel games gus

Efectivamente, mi nueva cuenta ahora pertenece a esos ocho grupos (siete que recién agregué y uno que pertenece a mi cuenta por defecto).

Pacman: instalar y actualizar paquetes

Pacman es una herramienta de Arch Linux que permite actualizar e instalar paquetes. Dicho de otro modo, es la aplicación que va a permitirme instalar programas y mantenerlos actualizados.

La cantidad de opciones que tengo para revisar de este asunto se escapan un poco al límite práctico de esta guía. ¿En que forma puedo entonces darme un pantallazo rápido de este tema? Creo que puedo conseguirlo con dos simples ejemplos rápidos:

1- Actualizar el sistema

Por lo general en mi día a día utilizo Linux Mint en mi computadora personal. En ese sistema, cuando necesito instalar una aplicación o actualizar el sistema lo hago por medio del comando apt.

Por ejemplo, tengo los comandos “apt update” y “apt upgrade” para actualizar los paquetes, descargarlos e instalarlos en la máquina.

En Arch tengo un comando que es el equivalente de esos dos que mencioné un párrafo atrás:

pacman -Syu

Con este comando sincronizo y reviso que paquetes necesitan ser actualizados (-Sy), y acto seguido los actualizo (la “u” es por “upgrade o actualziar en castellano).

Como decía antes, el comando anterior es el equivalente a hacer:

apt update && apt upgrade

Eso en distribuciones basadas en debian.

2– Agregar cuentas al permiso sudo

Hacer esto va a permitirme obtener privilegios elevados de administración por breves periodos de tiempo para poder realizar cosas que de otro modo solo podría hacer con la cuenta root.

Primero ejecuto visudo, usando el editor Nano que instalé al principio de la guía:

EDITOR=nano visudo

Y desmarco la linea:

wheel ALL=(ALL) ALL

Que encuentro bajo el la frase:

Uncoment to allow members of group wheel to execute any command

Eso me dice: “retirar el comentario para permitir al grupo wheel ejecutar cualquier comando”.

Eso va a permitirle a cualquier cuenta perteneciente al grupo wheel ejecutar sudo. Antes incluí mi cuenta a este grupo, luego de crearla. Guardo el documento y salgo de Nano.

Puedo incluir tambien una cuenta en visudo de esta forma:

Dentro del documento, casi al final generalmente, busco la frase:

User Privilege Specification

Y agrego una nueva linea debajo. En mi caso, para darle permisos a la cuenta “gus”:

gus ALL=(ALL) ALL

Ahora voy a cambiar mi usuario, ya que de momento estaba usando la cuenta root (raíz). Para cambiar de cuenta utilizo el comando su (agregando el nombre de la cuenta que voy a usar ahora, en mi caso):

su - gus

3 – Instalar un programa con el comando pacman:

Lo siguiente, para ver si sudo funciona correctamente, voy a instalar el navegador para la terminal links.

Este programa es una de las opciones que existen para navergar la red directamente desde la consola.

Lo que necesito para instalar un paquete es el comando “pacman -S”, junto al nombre del programa:

sudo pacman -S links

Al ser la primera vez que lo hago sudo, la terminal me da un mensaje con algunos consejos básicos para una buena administración del sistema.

En caso que el sistema no acepte la contraseña para tu cuenta personal, volvé a entrar con al cuenta root y utilizá el comando:

pacman -S pambase

Luego volvé a tu cuenta individual e intentá usar sudo de nuevo y ya tiene que funcionar.

Si te interesa navegar con el programa recientemente instalado, se puede hacer escribiendo links acompañado de la dirección web que voy a visitar.

links www….

Ahora, para probar otra cosa, voy a instalar GIMP (GNU Image Manipulation Program). Es un muy buen programa para editar imágenes.

Siguiendo el anterior proceso para instalar programas, hago:

sudo pacman -S gimp

Y completo la instalación. Pero… ¿Qué ocurre si intento utilizar el programa ahora? Para comprobarlo, voy a invocarlo:

gimp

Error. El resultado en un error de un “fallo para mostrar el Display”. O en inglés “Failed to open display”. Para salir y recuperar la posibilidad de escribir hago Ctrl +c.

¿Qué es lo que ocurre? Lo que pasa es que para utilizar programas que tienen una interfaz gráfica, necesito instalar un “display Server” o sistema de ventanas.

Entonces, ese es mi siguiente objetivo.

Cómo instalar un sistema de ventanas en Arch Linux

Según la guiá oficial de Arch, Xorg es la implementación de código abierto del Sistema de Ventanas X (también llamado X Window System, X11 o simplemente X). Este sistema nos da la estructura necesaria para usar el ratón y otras facilidades de este tipo de interacción con la pantalla.

Yo voy a instalar Xorg, pero existen otras opciones con un protocolo diferente como por ejemplo Wayland.

Consigo instalar el servidor xorg con el comando:

sudo pacman -S xorg-server xorg-xinit xorg-apps mesa

Lo siguiente va a ser conseguir un gestor de ventanas. Voy a instalar Openbox.

sudo pacman -S openbox

Lo siguiente que necesito es conocer el nombre de la placa gráfica, Conociendo el modelo voy a poder instalar los controladores adecuados, lo que va a eliminar cualquier problema de incompatibilidad de Hardware.

Conozco el modelo de mi placa de video (integrada o externa) con el siguiente comando:

lspci -v | grep -A1 -e VGA -e 3D

Y puedo obtener una lista de los controladores (drivers) disponibles para descargar con:

pacman -Ss xf86-video

Pero en general, si la placa de video en mi computadora es Bvidea, instalo los drivers con:

sudo pacman -S xf86-video-nouveau

Si se trata de una tarjeta Intel:

sudo pacman -S xf86-video-intel

Y en caso de que la tarjeta sea AMD / ATI:

sudo pacman -S xf86-video-ati

Eso tendría que ser todo. Si escribo en la terminal:

startx

Voy a tener mi sistema de ventanas con el gestor Openbox funcionando.

Cómo instalar un sistema de ventanas en Arch Linux usando VirtualBox

Por otra parte, lo que sigue va a servir para instalar el sistema de ventanas en una máquina virtual, particularmente en VirtualBox. No voy a mentir, la realidad es que yo conseguí hacerlo funcionar más por suerte que por otra cosa. Pero estos son los pasos que seguí:

Lo primero fue revisar la configuración de la máquina virtual en el equipo, en la parte de configuracion>pantalla hay que darle al menos 32 MB de video.

Lo siguiente fue instalar xorg y alguno de sus paquetes con el comando:

sudo pacman -S xorg-server xorg-xinit xorg-apps mesa

Y solamente para tener completa seguridad de que todo iba a terminar funcionando, también instalé:

pacman -S virtualbox-guest-utils

En teoría, ahora al escribir el comando:

startx

Algo tendría que suceder. Pero no es así, me devuelve un mensaje de error. Algo sucede en realidad, un error. Aquí es cuando se vuelve más complejo.

Lo que hice fue escribir los comandos:

pacman -S open-vm-tools
systemctl start vmtoolsd.service
systemctl start vmware-vmblock-fuse.service

Es importante recordar utilizar sudo si necesitamos los permisos necesarios para la instalación porque no estamos usando la cuenta root.

Open Virtual machine tools (open-vm-tools) engloba una serie de herramientas que mejoran la compatibilidad al virtualizar un sistema operativo.

Acto seguido agrego los controladores gráficos para máquina virtual:

 pacman -S xf86-input-vmmouse xf86-video-vmware

Como todavía nada funcionaba, llegué a la realización de que me faltaba instalar alguno de los gestores de ventanas de esta lista. En mi caso elegí Openbox solamente porque me gustó el nombre, y lo instalé con:

sudo pacman -S openbox

Voy a copiar el archivo .xinitrc, desdemel directorio xinit al directorio ~

cp /etc/X11/xinit/xinitrc ~/.xinitrc

Luego cambio los permisos para escribir el documento .xinitrc

chmod g+w .xinitrc

Inmediatamente abro el archivo .xinitrc

sudo nano .xinitrc

Voy hasta el final del archivo, y borro lo siguiente:

twm&
xclock -geometry 50x50-1+1 &
xterm -geometry 80x50+494+51 &
xterm -geometry 80x20+494-0 &
exec xterm -geometry 80x66+0+0 -name login

Y lo reemplazo por esta linea:

exec openbox

Y si no es openbox, indica el gestor de ventanas que descargaste en ese otro momento.

Ahora si hago el comando

startx

Bien, ya no hay error. Pero tampoco hay nada. Sin embargo Openbox ya esta funcionando, si presiono el botón derecho del ratón voy a poder notarlo. Por ejemplo, puedo abrir GIMP desde ahí.

Del mismo modo, puedo iniciar el gestor de ventanas con el comando:

xinit

Lo que por otra parte resultó muy útil fue también instalar un emulador de terminal, para poder usar desde Openbox. Esto e necesita para comunicarse con la shell desde xorg.

Una vez más desde la terminal de Arch, utilicé el comando:

sudo pacman -S konsole

Ahora también puedo usar esa terminal desde el gestor de ventanas, lo que me va a permitir hacer muchas otras cosas.

Sin embargo puede ocurrir una cosa extra. Si, una cosa extra, y con suerte es la última. Puede ocurrir que si inicio el sistema de Arch Linux entrando primero como la cuenta raiz, luego no me deja hacer startx con mi cuenta personal.

Para explicarlo con un ejemplo, yo podía activar el sistema de ventanas con el comando startx al entrar usando la cuenta root, pero recibía un error al hacer la misma operación luego al moverme a mi cuenta regular “gus”. El error resultaba en que tenia el permiso negado. Y ahora todo lo que hacia era con privilegios elevados de administración.

Según entiendo, el problema es que mi cuenta personal no pertenece al grupo con permisos para ejecutar xorg. O eso creo. Porque si puedo ejecutar por ejemplo “sudo startx”, que si funciona sin errores desde la cuenta rgular.

Utilizando el comando id puedo conocer a que grupos pertenezco:

id gus

Al parecer tengo que pertenecer al grupo “video”, sin embargo yo no pertenezco. Puedo cambiar eso con el comando:

sudo usermod -a -G video gus

Sin embargo esa alternativa no funcionó. En una segunda lectura más cuidada, encontré que el error decía:

xf860Openconsole: cannot open virtual console

Por lo que al final encontré algo así como una solución. Si al iniciar el sistema operativo entro al sistema con la cuenta root, luego solamente puedo iniciar startx con esa cuenta o usando sudo en mi cuenta personal. Pero si al iniciar Arch empiezo entrando con mi cuenta personal, puedo iniciar startx sin necesidad de hacer sudo.

Por lo que entiendo, es como si xorg estuviera ocupado por la cuenta original que empezó X al llamarlo la primera vez. Esto se soluciona al reiniciar la máquina.

No puedo saber si cuenta como solución, tal vez esto no fue un problema en el primer momento y así se supone que tiene que funcionar.

Pero para darle un cierre a esta parte: ahora el sistema de ventanas esta funcionando, y ya puedo usar programas que necesitan de una interfaz gráfica para poder abrirse.

Cómo instalar un entorno de escritorio en Arch Linux

Aunque existen múltiples opciones para utilizar como entorno de escritorio en Arch, voy a instalar Xfce porque me parece liviano ademas de fácil de usar. Pero la elección es libre, no la considero mejor que otras alternativas.

Instalar XFCE en Arch Linux

El comando que necesito es:

sudo pacman -S xfce4 xfce4-goodies

En este caso, xfce4 instala el programa y xfce4-goodies trae una serie de utilidades extra y plugins. Aunque se podría ser más selectivo, instalo todo en conjunto y espero a ver que sucede.

Una vez que se completa la instalación, reinicio el equipo con el clásico y querido reboot. Al completarse, nada sucede. Otra vez vuelve a levantar desde la terminal.

Al parecer necesito elegir empezar por medio de un Display Manager, lo que me permite iniciar sesión y elegir entre otros posible escritorios de encontrarse estos instalados. El Display Manager que voy a instalar es LightDM, una opción también entre muchas.

Lo instalé con:

pacman -S lightdm

Luego reinicie el equipo y nada. De GRUB a la terminal de vuelta. Pense que podia sr una buena empezar lightdm al iniciar la máquina, así que probé el comando:

sudo systemctl enable lightdm.service

Y entonces empezaron los problemas de nuevo. Ahora ni siquiera puedo usar la terminal, todo se queda detenido con el error: Failed to start Light diplay Manager.

¿Cómo lo solucioné?

Bueno, para retomar la terminal una vez más puedo usar la combinación Ctrl+Alt+F2 para recuperar la consola. Es difícil hacerlo en virtualBox, porque puede ser que la máquina anfitriona lo interprete como un comando para su propio uso.

Si ese es el caso, puedo usar el mismo atajo desde entrada>teclado>teclado software en las opciones de VirtualBox.

Lo siguiente fue abrir el siguiente archivo con el editor de texto Nano:

nano /etc/lightdm/lightdm.conf

Y cambiar la opción:

logind-check-graphical=false

Al valor “True”. Sin embargo esto tampoco soluciono el problema. Al parecer el asunto no es que Lightdm no esta funcionando, lo que pasa es que me falta el “greeter”, lo que completa la configuración necesaria para que esta primera pantalla me reciba.

Puedo instalar esto con el comando:

pacman -S lightdm-gtk-greeter

Ahora si, reinicie el equipo y una nueva pantalla me pide que ingrese los datos de mi cuenta.

Y listo, ya estoy dentro del escritorio. Claro que el mismo se encuentra vació. Esto tiene que ser un problema, creo que estoy entrando en Openbox que instalé antes y no en el escritorio XFCE propiamente dicho. Y es eso mismo, en la parte superiro izquieda de la pantalla, donde pongo los datos de mi cuenta, tengo que marcar la opción “Xfce Session”.

Y ahora si, finalmente, ya estoy dentro de entorno de escritorio Xfce.

Conclusión

Con esto finalizo esta Guía Inmediata para empezar con Arch Linux.

Hice todo lo posible para reflejar en este texto los pasos que hice para instalar Arch Linux. Pero también incluí todos los errores que cometí y y las soluciones que me llevaron a repararlos.

Espero haber generado un material que aunque nunca va a ser tan completo como la guía oficial y otros libros, al menos si refleja la resolución de problemas de alguien que recién empieza a utilizar el sistema operativo.

Cualquier errores que encuentres, no dudes avisarme por medio de un correo electrónico o dejando comentario. Tu ayuda hace que la página mejore y me alienta a continuarla.

La seguimos en el próximo apunte.

3 Comments

  1. Jose Fernández

    Acabo de empezar con Archlinux y aprendiendo los comandos.

    ¿ Como puedo saber qué programas tengo instalados y si los vuelvo a instalar se duplican?

    • Jose ¿cómo va?

      Me puse a hacer a instalación desde cero para poder mejorar esta guía.

      Por lo que pude practicar, es posible conocer los programas instalados con el comando:

      pacman -Q

      Y se puede ver donde se encuentra el programa con el comando “which”, por ejemplo:

      which sudo

      Por lo que tengo entendido, si intentás instalar un programa que ya tenes instalado, te va a avisar que ya se encuentra disponible y no se duplica. Y si lo descargás igual, lo que hace es reemplazar al antiguo.

      La única forma de duplicarlos sería especificando otra directorio antes, pero la verdad nunca lo hice.

      Espero que te sirva mi respuesta, yo también sigo aprendiendo. Saludos.

  2. Diego

    Muchas gracias por todo el material aca compartido, yo tambien estoy empezando con arch y es de gran ayuda.

Leave a Reply