ArchLinux: Qué es, historia, instalación y post-instalación.

ArchLinux

Cómo la mayoría de usuarios GNU/Linux sabemos, ArchLinux es una de las distribuciones Linux mas avanzadas, rápidas, simples, eficientes, actualizadas y personalizables de toda la cantidad de distribuciones que hay y por ello se ha ganado el respeto y un gran lugar en los rankings que se realizan anualmente de las mejores distribuciones ocupando la mayoría de veces el primero o segundo lugar de las mejores distribuciones, estos logros van relacionados respecto a los aspectos que vamos a mencionar a continuación:

Avanzada: ArchLinux es una distribución con soporte para casi todas las arquitecturas de hardware disponibles, se compone predominantemente de software libre y de codigo abierto realizando así instalaciones de paquetes mucho mas eficientes que ñas demás distros GNU/Linux debido a que realiza una compilación directa de codigo fuente cada vez que instala un paquete. Esta distribución esta pensada para usuarios avanzados y que tienen un alto nivel de experiencia en el mundo GNU/Linux.  

Rápida: El hecho de que ArchLinux realize compilaciones directas desde el codigo fuente y no desde binarios predefinidos con un mismo estandar (como paquetes .deb), hacen que está distribución sea veloz y eficaz con los recursos ya que cada paquete es compilado especificamente para el hardware de la PC que está siendo instalado. Esta politica de instalación es llevada a cabo desde elementos como el kernel hasta los entornos gráficos (todo el sistema).

Simple: Hay que diferenciar entre simple y fácil. Simple tiene un significado especial en esta distribución: Arch Linux define simplicidad como «...una ligera estructura base sin agregados innecesarios, modificaciones, o complicaciones, que permite a un usuario individual modelar el sistema de acuerdo a sus propias necesidades». La simplicidad de su estructura no implica sencillez en su manejo.

Eficiente: La eficiencia es directamente relacionada a su velocidad y su manejo de recursos, ArchLinux posee un avanzado sistema de manejo de procesos, memoria, almacenamiento, redes, etc. Al ser cada paquete compilado para el hardware en el que está siendo usado le da un nivel muy alto de eficacia en su funcionamiento.

Actualizada: ArchLinux fue la primera distribución Linux en usar el sistema de actualización "rolling release". En el desarrollo de software, el modelo de desarrollo liberación continua, rolling release, actualización rodante o actualización continua se refiere a un sistema de software en constante desarrollo; esto en lugar de un modelo de desarrollo estándar de liberación que utiliza versiones de software que deben reinstalarse sobre la versión anterior. El software rodante, en cambio, se actualiza continuamente, en contraste con el software de liberación o lanzamiento estándar, que se moderniza, asciende o sube de grado entre versiones. Los modelos de desarrollo rolling release son uno de los muchos tipos de ciclos de vida de liberación de software (Wikipedia). En pocas palabras, rolling release es un modelo en el que el software se actualiza constantemente a su ultima versión sin necesidad de reinstalarlo o cambiar por completo el sistema, en ArchLinux no necesitas instalar nuevas versiones del sistema, ya que estas no existen como tal, el sistema completo se actualiza a su ultima versión mediante su gestor de paquetes pacman. Instala Arch y no tendras que formatear nunca más para tener la ultima versión.

Personalizable: Al ser una distribución que deja todo en manos del usuario, este tiene la posibilidad de hacerla completamente a su deseo, ArchLinux no te impone nada, todo lo que tu quieres que ella sea, lo será, es una distribución que por defecto solo instala el sistema base (kernel y librerias obligatorias para que el sistema se inicie en modo texto), sin entorno grafico ni aplicaciones adicionales.

Historia de Archlinux.

Judd Vinet creó Arch Linux en marzo de 2002. Vinet dirigió el proyecto hasta el 1 de octubre de 2007, cuando cedió su lugar por falta de tiempo, transfiriendo el control del proyecto a Aaron Griffin. Arch Linux no posee herramientas de configuración automática, compartiendo así la misma filosofía que otras distribuciones, como por ejemplo Slackware, por lo que para poder llegar a instalar y configurar el sistema se necesita un grado de conocimiento considerablemente superior al básico. Pero, al mismo tiempo, Arch Linux posee diversas aplicaciones que permiten que el mantenimiento a diario del sistema sea bastante sencillo. Así su filosofía se basa en tres puntos:

  • Mantener el sistema lo más simple y ligero posible, seguir el principio KISS (Keep It Simple, Stupid).
  • Fiarse de las GUIs para construir y configurar tu sistema operativo termina dañando a los usuarios finales. Intentar ocultar la complejidad del sistema, termina complicando al sistema. Las capas de abstracción que sirven para ocultar el funcionamiento interno nunca son una cosa buena. En cambio, los componentes internos deberían de ser diseñados de forma que no necesiten ser ocultados. —Aaron Griffin.
  • Arch Linux permite al usuario hacer todas las contribuciones que desee mientras que no vayan en contra de la filosofía.

Instalación de ArchLinux.

En este apartado explicaré paso a paso el proceso de instalación de ArchLinux. El primer paso para empezar es descargar la ultima imagen ISO de ArchLinux desde su pagina oficial https://www.archlinux.org/download/. Luego debes crear una USB booteable con la ISO usando la herramienta DD en distribuciones GNU/Linux o el programa Rufus USB desde windows, existen miles de recursos en internet sobre como hacer una USB booteable. Luego de tener nuestra USB booteable y configurar de manera correcta nuestra BIOS, iniciamos la USB y empezamos, si todo ha salido bien aparecera una imagen como la siguiente, selecionamos  'Boot from Arch Linux' (x86_64).

 

 

Luego de seleccionada obtendras una terminal de ArchLinux con root (por defecto).

 

 

Si queremos establecer un tipo específico de reconocimiento de entrada del teclado, usamos los siguientes comandos (en nuestro caso usaremos el latinoamericano): setxkbmap latam Para continuar deberas tener conexión a internet, lo puedes comprobar haciendo ping a google por ejemplo, si tienes conexión por cable no hay problema, sin embargo si deseas conectarte por WiFi deberás seguir los siguientes pasos:1) Generar un archivo .conf con tu ESSID y contraseña WiFi usando wpa_passphrase así: wpa_passphrase 'ESSID' 'Password WiFi'

 

Puedes generar automaticamente el archivo .conf usando el comando anterior seguido de '> wpa.conf' wpa_passphrase 'ESSID' 'Password WiFi' > wpa.conf, así tendremos nuestro archivo .conf listo. 2) Identificar nuestras interfaces de red con ip link. La interfaz WiFi empieza con W generalmente, en mi caso wlp2s0, la ethernet empieza por E, enp6s0.

 

 

3) Teniendo nuestro archivo .conf listo y la interfaz identificada nos conectamos usando los comandos:
 

~$ ip link set wlp2s0 up
~$ dhclient -r
~$ wpa_supplicant -B -iwlp2s0 -cwpa.conf -Dwext
~$ dhclient wlp2s0 

Si todo sale bien aparecera algo como esto en el 3cer comando: Successfully initialized wpa_supplicant ioctl[SIOCSIWENCODEEXT]: Invalid argument ioctl[SIOCSIWENCODEEXT]: Invalid argument

Realizados los pasos anteriores ya debemos estar conectados a internet, lo comprobamos haciendo ping. Nota: Si usas conexión por cable es probable que tu conexión no funciones hasta que no ejecutes el comando: dhclient <interfaz ethernet> en mi caso, enp6s0.

El siguiente paso es particionar conrrectamente nuestro disco, verificamos las particiones usando: fdisk -l

 

 

Necesitamos crear las siguientes particiones:

  • Particion root, /dev/sda1, es la particion base y donde se instalará el sistema, es recomendable asignarle el 40% de nuestro espacio en disco si poseemos mas de 50 GB disponibles, en caso contrario el 50%.
  • Particion Swap, /dev/sda2, partición primaria, area de intercambio, un tamaño igual al de nuestra RAM si tenemos <= 4GB y de 4GB si tenemos > 4GB.
  • Partición /home, /dev/sda5, una partición logica en formato ext4.

Usamos la utilidad cfdisk desde la terminal. Selecionamos "dos".

 

   

 

Creamos una partición primaria, seleccionamos "New".

 

 

Entramos el tamaño de la partición, 10 GB en este caso. Si deseas asignar Mb, colocas la letra 'M' despues del tamaño.

 


   

Seleccionamos "Primary".

 



Seleccionamos 'booteable'.


 

Seleccionamos "Write"



 

Escribimos 'yes' para guardar los cambios.



 

Crear la particion Swap. Buscamos >> Free space



 

Asignamos el tamaño, 2048 Mb en mi caso.


 

Seleccionamos 'Primary.


 

Luego 'Write'.




Luego escribimos 'yes' para guardar los cambios. Crear particion logica para /home. Buscamos "Free space" y seleccionamos 'New'.




Luego "extended"

 

El tamaño de la particion para home, 8GB en este caso.




Luego 'Write' para escribir los cambios.



Y luego escribimos 'yes' para guardar los cambios. Finalizado esto vamos a 'quit' para salir del particionado.

 

Podemos verificar las particiones usando fdisk -l

 

Formateo de particiones. Ya tenemos las particiones necesarias pero necesitamos formatearlas, la primera particion la formateamos usando: mkfs.ext4 /dev/sda1

Similarmente la particion /dev/sda5. mkfs.ext4 con /dev/sda5

Ahora creamos la particion swap usando:

~$ mkswap /dev/sda2
~$ swapon /dev/sda2

Intalando el sistema base de ArchLinux.

Ahora que ya tenemos creadas y formateadas las particiones debemos montarlas e instalar el sistema base, ejecutamos los siguientes comandos: mount /dev/sda1 /mnt mkdir /mnt/home mount /dev/sda5 /mnt/home Y ya montadas instalamos el sistema base: pacstrap /mnt base base-devel Esto puede tomar un tiempo dependiendo de tu conexión a internet.

 

 

Luego que finalize la instalación del sistema base, generamos el archivo fstab usando el comando genfstab /mnt >> /mnt/etc/fstab y luego comprobamos su contenido usando

~$ cat /mnt/etc/fstab  

 

Configuración basica de ArchLinux e instalación de componentes adicionales como entorno gráfico y utilidades (post-instalación).

Entramos a nuestro sistema ya instalado usando chroot mediante el comando arch-chroot /mnt /bin/bash y así estaremos dentro de nuestro sistema como si lo hubiesemos iniciado directamente.   Configuramos el lenguaje del sistema. vi /etc/locale.gen Desmarcamos el lenguaje de nuestra localización, en mi caso es_CO.UTF-8 UTF-8.

 

 

 

Guardamos y cerramos el archivo. Ahora generamos los nuevos locales usando locale-gen

Ahora creamos el archivo /etc/locale.conf y añadimos la linea LANG=es_CO.UTF-8 vi /etc/locale.conf Añadimos la linea mencionada, lo guardamos y lo cerramos.



Cambiamos la contraseña root usando el comando 'passwd'.

 

Nota: Es importante usar una contraseña de solo letras y números por el momento y luego cambiarla cuando inicies el sistema directamente, los acentos y demás pueden varias debido al metodo de entrada usado durante la instalación.

 

Configuracion de tu red y tu hostname.

Editamos /etc/hostname y asignamos el nombre que deseemos para nuestra PC.

Instalación del GRUB.

Ya hemos llegado al final de la instalación, ahora necesitamos instalar el GRUB para poder iniciar ArchLinux desde nuestro disco duro, seguimos los siguientes pasos:
 

~$ pacman -S grub  os-prober
~$ grub-install /dev/sda grub-mkconfig -o /boot/grub/grub.cfg 

Instalación de entorno de escritorio y utilidades.

Esta instalación por defecto no incluye paquetes importantes como dhclient, wpa_supplicant y otros, así que los instalaremos para tener un sistema completamente funcional, tambien instalaremos un entorno de escritorio, en este caso XFCE.

~$ pacman -Syy 
~$ pacman -S wpa_supplicant dhclient  xfce4 lightdm xorg xorg-server lightdm-gtk-greeter xfce4-notifyd xfce4-goodies libreoffice firefox gvim vlc pidgin sudo 

Esperamos a que finalize y ejecutamos

~$ systemctl enable lightdm

 

Añadimos un usuario diferente de root.

~$ useradd -m -g wheel -s /bin/bash <user> 

Ya finalizado esto, podemos salir de nuestra USB e iniciar Archlinux directamente, pero antes desmontaremos todo para evitar corrupcion de archivos. Ejecutamos los siguientes comandos en orden:
 

~$ exit # Salimos de chroot
~$ umount -R /mnt # desmontamos los puntos montados
~$ reboot # reiniciamos.

Inmediatamente retiramos el dispositivo de instalación y tendremos un sistema ArchLinux completamente funcional. Atreveté a instalarlo, por experiencia propia es el mejor sistema GNU/Linux. En otro post mas adelante explicaremos como convertirlo en una distribución para Pentesting y auditorías de seguridad informatica.

Síguenos en Facebook, Twitter, unete a nuestra charla en Riot, únete a IRC o únete a Telegram y no olvides compartirnos en las redes sociales. También puede hacernos una donación..

Acerca del autor

Especialista en Seguridad Informática bajo certificación OSCP, desarrollador de software y desarrollador backtend, miembro de la FSF y Fundador de Security Hack Labs. Entusiasta de la tecnología y amante de GNU/Linux. Twitter: @edu4rdshl