Blog sobre seguridad informática, privacidad, anonimato, hacking ético, programación y sistemas operativos en general.

sábado, 11 de febrero de 2017

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



Como 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).


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:

1) ip link set wlp2s0 up
2) dhclient -r
3) wpa_supplicant -B -iwlp2s0 -cwpa.conf -Dwext
4) 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'.



Por ultimo 'Write'.


Escribimos 'yes' para guardar los cambios.


Crear la particion Swap.

Buscamos >> Free space y seleccionamos 'New'.


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 /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 /mnt -> desmontamos /dev/sda1
umount /mnt/home -> desmontamos /dev/sda5
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, si te gusto el post o tienes alguna duda o sugerencia dejala en los comentarios, no olvides seguirnos en Facebook y Twitter.

Fuentes: https://www.ostechnix.com



0 comentarios:

Publicar un comentario