Arch Linux (/ɑːrtʃ ˈlinʊks/) es una distribución Linux para computadoras x86-64, arquitecturas ARM y I686 orientada a usuarios avanzados. Se compone en su mayor parte de software libre y de código abierto (FOSS) y apoya la participación comunitaria. Su modelo de desarrollo es de tipo Liberación continua (en Idioma inglés, “Rolling Release”) y el enfoque de diseño persigue el Principio KISS.
Características
A diferencia de las distribuciones populares basadas en el Núcleo Linux como Ubuntu o Linux Mint, Arch Linux no posee herramientas de configuración automática, compartiendo así la misma filosofía de distribuciones, como Slackware. Para instalar y configurar este sistema operativo se necesita un grado de conocimiento superior al básico. No obstante, se puede mantener y administrar el sistema de forma sencilla. Los creadores y la comunidad, denominan como “filosofía”, los siguientes tres aspectos:
- Mantener el sistema lo más simple y ligero posible, siguiendo el llamado principio KISS.
- Los principios del continuador del liderazgo del proyecto, Aaron Griffin, también son tomados como referencia: «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».
- Arch Linux permite al usuario hacer las contribuciones que desee, mientras estas no vayan en contra de la filosofía.
El enfoque de diseño del equipo de desarrollo, sigue el principio KISS (“Keep It Simple Stupid” o “Mantenlo Simple Estúpido”). Según los creadores y la Comunidad, el principio se centra en elegancia, exactitud, minimalismo y simplicidad. Arch Linux define simplicidad como «…una estructura base compacta sin añadidos innecesarios, modificaciones, o complicaciones, que permite a un usuario individual modificar el sistema de acuerdo a sus propias necesidades». La simplicidad de su estructura no implica sencillez en su manejo.
Versiones
Arch Linux no tiene un planeamiento de lanzamientos, sino son simplemente «capturas» del conjunto de paquetes actual del repositorios compatibles con la totalidad del sistema. Su desarrollo se basa en un modelo llamado Liberación continua (del ingles “Rolling Release”). Este enfoque de desarrollo, similar a la distribución avanzada Gentoo Linux, promueve mayores prestaciones en cuanto al uso de las últimas versiones más nuevas de software.
Como herramienta para administrarlo, Arch Linux se apoya en su gestor de paquetes, llamado Pacman. Este programa, escrito en lenguaje C y de uso exclusivo por invocación desde línea de comandos desde una consola de terminal, se obtienen las últimas versiones posibles de programas de forma sencilla.
Pacman no solo se utiliza para instalar, eliminar y actualizar paquetes. Incluso es capaz de obtener las últimas versiones de software crítico como imágenes del kernel, y de esa manera brindar soporte con las últimas novedades del hardware.
Historia y evolución de la Distribución
Inspirado en la distribución minimalista CRUX, el programador Judd Vinet creó Arch Linux en Marzo de 2002, dirigiendo los destinos del proyecto hasta el 1 de octubre de 2007. Luego, cedió su lugar por falta de tiempo, transfiriendo el control del proyecto a Aaron Griffin.
La distribución contó con soporte para la arquitectura i686 hasta Marzo de 2017, cuando fue descontinuada después del anunciado periodo de transición. Finalmente, el 8 de noviembre de 2017, se anunciaba que los últimos días de ese mes todos los paquetes compatibles con la vieja arquitectura serían eliminados, sin afectar al repositorio multilib. El comunicado, sugería a los usuarios pasarse definitivamente a la arquitectura X86-64 o continuar en 32-bits a través del fork de una comunidad llamada Arch Linux 32.
El día 15 de mayo de 2017, se anunciaba el final del soporte para ABS y el protocolo rsync funcional a esa herramienta. El comunicado rezaba un alto costo de mantenimiento al grupo de scripts. Se propuso como alternativa el uso de la herramienta asp, disponible en el repositorio extra y el uso de los mirrors svntogit. ABS fue un sistema de paquetes tipo ports o ebuild que compilaba paquetes tar de código fuente a paquetes binarios, que posteriormente podían ser instalados a través de Pacman. ABS proveía un árbol de directorios de scripts llamados PKGBUILDS, que posibilitaban la personalización y compilación de todos y cada uno de los paquetes Arch oficiales; soportando el uso de flags de compilación. La herramienta makepkg de ABS se podía usar para crear paquetes pkg.tar.xz
propios o de terceros, instalables con Pacman.
En cuanto a mejoras del administrador de paquetes Pacman, el 16 de octubre de 2019 se anunció la incorporación del Algoritmo de compresión zstd
, que brindaría prestaciones superiores comparables al actual xz
. Las mejoras serían compatibles a partir de la versión 5.2 de pacman
, con beneficios en la velocidad de gestión de paquetes a igual tasa de compresión.
El 10 de noviembre de 2019, se anunciaban cambios en la instalación y actualización de los Kernels oficiales de la Distribución, los cuales ya no instalarán los archivos de los mismos en el directorio /boot
. Según el comunicado, de las tareas afines se encargarían únicamente los módulos de Mkinitcpio.
Instalación
El sitio web de Arch Linux proporciona Imágenes ISO arrancables, que se pueden ejecutar desde CD o USB en las arquitecturas soportadas. Un simple script de líneas de comando (pacstrap) es usado para instalar el sistemas base.
A diferencia de otras distribuciones, la instalación del sistema base de Arch Linux no provee de un Entorno de escritorio ni un Servidor gráfico instalados y funcionales al usuario, no obstante este lo puede instalar desde los repositorios. Tampoco provee de un cargador de arranque, que debe ser configurado adecuadamente para que el sistema funcione, y pueda convivir con otros sistemas operativos (si los hubiera) en el equipo informático. Los paquetes adicionales pueden ser instalados con pacstrap o pacman después iniciar el nuevo sistema.
Una alternativa al uso de imágenes de CD o USB para la instalación es utilizar la versión estática del gestor de paquetes Pacman, desde otro sistema operativo basado en Linux, mediante una técnica llamada Bootstrapping. El usuario puede montar su partición formateando la unidad, e invocando a Pacman mediante la línea de comandos puede utilizar el punto de montaje del dispositivo como root para sus operaciones. De esta manera, el grupo de paquetes base y los paquetes adicionales se pueden instalar en la partición recién formateada.
Gestión de paquetes
Pacman
Arch Linux, como la mayoría de las distribuciones, está basada principalmente en paquetes binarios. Estos paquetes son gestionados con Pacman, el cual maneja la instalación, actualización, y desinstalación de los paquetes. Los paquetes binarios de Arch Linux soportan la arquitectura x86-64, buscando el mayor rendimiento en el hardware más moderno. El final del soporte para la arquitectura i686 llegó el día 8 de noviembre de 2017, luego de una transición de ocho meses.
El formato de los paquetes binarios es pkg.tar.xz
, los cuales son ficheros empaquetados con tar, usando el prefijo .pkg (el cual le da la distinción a los paquetes de Arch) y comprimidos con xz, por su simplicidad y velocidad de instalación.
A partir de la versión 2010.05, los paquetes se comprimen en el formato pkg.tar.xz
, con compresión LZMA2, lo cual provee muchas ventajas tanto de espacio (hasta un 30% más de compresión respecto a su antiguo formato, pkg.tar.gz). Todo esto resulta en una menor carga para los servidores por el menor tamaño de los paquetes.
Repositorios
El árbol de repositorios de Arch Linux consta de varias ramas, de las cuales cuatro son las oficiales:
- core: Contiene todos los paquetes necesarios para configurar un sistema base (núcleo + herramientas mínimas).
- extra: Contiene paquetes no requeridos por un sistema base, incluyendo entornos de escritorio y demás programas.
- Archivo de configuración del administrador de paquetes Pacman, de Arch Linux.community: Contiene los paquetes del AUR (repositorio de usuarios) que han sido más votados por la comunidad de usuarios y adoptados por un Trusted User, usuario que se considera digno de confianza.
- multilib: repositorio centrado en arquitecturas x86_64, contiene aplicaciones y librerías para usar y compilar aplicaciones de 32-bits en ambientes de 64-bits.
Repositorios de prueba y no oficiales
Apuntado a usuarios más avanzados de la distribución, o quienes pretenden experimentar con probar software en desarrollo y en etapa experimental, existen repositorios especiales que hospedan paquetes de prueba o testing. Estos paquetes son por lo general, inestables, y están sujetos a errores de ejecución y de depuración que no los hace recomendados para su uso en usuarios finales. Estos repositorios, no están activados por defecto en la distribución.
Repositorios de testing o pruebas
- testing: Aloja paquetes candidatos a ser transferidos a los repositorios oficiales core o a extra.
- community-testing: Contiene paquetes candidatos para ser transferidos a community.
- multilib-testing: permite acceder a paquetes candidatos para multilib.
Otros repositorios de prueba
Los repositorios staging (de montaje) y community-staging son usados para reconstrucciones y para evitar paquetes corruptos en la rama testing.
También, existen otros dos repositorios que incluyen la versión más actualizada de dos de los entornos de escritorio más conocidos:
- gnome-unstable: con las últimas versiones del escritorio GNOME, antes de ser transferidas a extra.
- kde-unstable: Contiene la última versión beta o candidata de KDE Plasma y sus aplicaciones.
El repositorio unstable no existe desde el mes de julio de 2008 y sus paquetes fueron distribuidos entre los distintos repositorios actuales.
En adición, existen repositorios privados que contienen software compatible con la arquitectura ARM, pero menos usados debido a la existencia del repositorio AUR.
AUR (Arch User Repository)
El más reconocido de los repositorios no oficiales es el AUR (“Repositorio de usuarios Arch”, en idioma español), soportado por el sitio web oficial de Arch Linux y la comunidad. AUR fue concebido inicialmente para compartir PKGBUILDs (“Package Builds”, colecciones de código o “scripts”) de forma organizada entre la comunidad, y para acelerar la inclusión de paquetes populares contribuidos por los usuarios en el repositorio community. Por lo general, en AUR se aloja software popular que aún no están disponibles en los repositorios oficial de la distribución, con la finalidad de poner a disposición de la Comunidad mediante la compilación de código escritos en diversos lenguajes de programación.
El repositorio AUR, aloja paquetes construidos por los usuarios que los suben para que la Comunidad vote a favor de ellos, y pueda ser puesto a disposición en los repositorios oficiales de la distribución. Cuando un paquete tiene las suficiente votaciones, un “Usuario Confiable” (“Trusted User”, usuarios de mayor jerarquía en la comunidad) lo transfiere al repositorio oficial Community, el cual pasa a estar accesible por el administrador de paquetes Pacman.
Seguridad en los repositorios
Hasta la versión de Pacman 4.0.0, este carecía de soporte para paquetes verificados o “firmados” como seguros. Los paquetes y metadatos no eran verificados durante la descarga e instalación, situación que comprometía la seguridad del sistema por la presencia de mirrors de repositorios maliciosos. A partir de la publicación de la versión 4, se permite la verificación de los paquetes y sus bases de datos, pero la función estaba deshabilitada por defecto. En noviembre de 2011, la firma de paquetes se volvió obligatoria para nuevos paquetes creados, y al 21 de marzo de 2012, cada paquete oficial es firmado.