# Arch Linux

Arch Linux (/ɑːrtʃ ˈlinʊks/) es una distribución Linux de propósito general para arquitectura x86-64 orientada a «usuarios avanzados». Se compone en su mayor parte de software libre y de código abierto (FLOSS), desarrollada de forma independiente, se esfuerza por proporcionar las últimas versiones estables de la mayoría del software, siguiendo un modelo de lanzamiento continuo.
La instalación predeterminada es un sistema base mínimo, configurado por el usuario para agregar solo lo que se requiere.
Pacman, un gestor de paquetes escrito específicamente para Arch Linux, se usa para instalar, eliminar y actualizar paquetes de software.
Arch Linux usa un modelo de lanzamiento continuo (en idioma inglés, "Rolling Release"), lo que significa que no hay «lanzamientos importantes» de versiones completamente nuevas del sistema; una actualización regular del sistema es todo lo que se necesita para obtener el software Arch más reciente; las imágenes de instalación publicadas cada mes por el equipo de Arch son simplemente instantáneas actualizadas de los componentes principales del sistema.
Arch Linux tiene una documentación completa, que consiste en un wiki administrado por la comunidad conocido como ArchWiki.
Arch Linux permite complementar los paquetes oficiales con un repositorio de paquetes operado por la comunidad que crece en tamaño y calidad todos los días llamado AUR (Arch User Repository).
Las arquitecturas siguientes no son oficiales, pero poseen soporte de algunos proyectos específicos:
* i686: El soporte i686 es mantenido por el proyecto Arch Linux 32 - https://archlinux32.org/
* ARM: El soporte ARM es mantenido por el proyecto Arch Linux ARM - https://archlinuxarm.org/
* PowerPC: El soporte de PowerPC es mantenido por el proyecto ArchPOWER - https://archlinuxpower.org/
* RISC-V: El soporte de RISC-V es mantenido por el proyecto Arch Linux RISC-V - url=https://archriscv.felixc.at/.

## Historia

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.
El 24 de febrero de 2020, Aaron Griffin anunció que debido a su participación limitada en el proyecto, tras un período de votación, él transferiría el control del proyecto a Levente Polyak. Este cambio también condujo a que se agregara un nuevo período de 2 años al puesto de líder de proyecto.
Se eligió el nombre Arch Linux, porque a Vinet le gustó el significado de archienemigo, arch-enemy (en inglés), que significa el primario, el principal. La palabra archi-(del griego antiguo ἄρχω arco significa dirigir o liderar).
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, el cual es script de Bash que se utiliza para crear un entorno ramdisk inicial.

## Diseño y principios

Arch se basa en gran medida en paquetes binarios. Los paquetes tienen como objetivo los microprocesadores x86-64 para mejorar el rendimiento en hardware moderno. También se proporciona un sistema similar a ports/ebuild para la compilación fuente automatizada, conocido como Arch Build System.
Arch Linux se enfoca en la simplicidad del diseño, lo que significa que el enfoque principal consiste en crear un entorno que sea sencillo y relativamente fácil de entender para el usuario directamente, en lugar de proporcionar herramientas de administración de estilo de apuntar y hacer clic refinadas: el administrador de paquetes, por ejemplo, no tiene una interfaz gráfica oficial. Esto se logra en gran medida fomentando el uso de archivos de configuración limpios y comentados sucintamente que están organizados para un acceso y edición rápidos. Esto le ha ganado una reputación como una distribución para "usuarios avanzados" que están dispuestos a usar la línea de comandos.
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 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 simple y ligero siguiendo el principio KISS.
* Los principios del segundo líder del proyecto Aaron Griffin, también son tomados como referencia:
* 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 está centrado en la elegancia, exactitud, minimalismo y simplicidad. Arch Linux define simplicidad como «...una estructura con una base compacta sin añadidos innecesarios, modificaciones, o complicaciones, que permite a el usuario modificar el sistema de acuerdo a sus propias necesidades». La simplicidad de su estructura no implica sencillez en su manejo.

## 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. Después de que un usuario particiona y formatea su disco, se usa un simple script de líneas de comando (pacstrap) para instalar el sistema base.
La instalación de paquetes adicionales que no forman parte del sistema base (por ejemplo, entornos de escritorio), se puede realizar con pacstrap o Pacman después de iniciar (o hacer chroot) en la nueva instalación.
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 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, y 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. Este método es útil al instalar Arch Linux en unidades flash USB o en un dispositivo montado temporalmente que pertenece a otro sistema.
Independientemente del tipo de instalación seleccionado, se deben realizar más acciones antes de que el nuevo sistema esté listo para su uso, sobre todo instalando un cargador de arranque y configurando el nuevo sistema con un nombre de sistema, conexión de red, configuración de idioma e interfaz gráfica de usuario.

### Script de instalación automatizada guiada

Actualmente se incluye un instalador guiado experimental llamado archinstall en todas las imágenes Arch ISO lanzadas desde 2021. Permite a los usuarios instalar y configurar fácilmente Arch Linux, incluidos los controladores, la partición del disco, la configuración de red, la configuración de cuentas y la instalación de entornos de escritorio.

## 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.
Pacman es capaz de resolver las dependencias, y descargar e instalar automáticamente todos los paquetes necesarios. En teoría, el usuario solo necesita ejecutar una única orden para actualizar por completo el sistema.
Por ejemplo, los paquetes se pueden instalar mediante pacman -S nombre del paquete, mientras que pacman -Syu también se puede usar para realizar una actualización completa del sistema.

### 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.
* 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.

##### Arch Build System (ABS)

Arch Build System (ABS) es un sistema de empaquetado de código fuente similar a puertos que compila archivos comprimidos de código fuente en paquetes binarios, que se instalan a través de Pacman. Arch Build System proporciona un árbol de directorios de scripts de shell, denominados PKGBUILD, que permiten personalizar y compilar todos y cada uno de los paquetes oficiales de Arch. Arch Build System también admite la reconstrucción de todo el sistema utilizando banderas de compilación modificadas. La herramienta makepkg de Arch Build System se puede utilizar para crear paquetes pkg.tar.zst personalizados a partir de fuentes de terceros. Los paquetes resultantes también se pueden instalar y rastrear a través de Pacman.

##### Arch User Repository (AUR)

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.

## Ventajas y desventajas de Arch Linux
### Ventajas

* Su completa documentación en la ArchWiki, ofreciendo como resolver problemas que pueda presentar la distribución, manteniendo la mejor calidad de la distribución en general.
* Se puede instalar cualquier entorno de escritorio, a diferencia de otras distribuciones que vienen con un escritorio predefinido y donde la instalación de otro puede crear conflictos.
* Control total para el usuario. Se pueden elegir los componentes que tendrá el sistema, y como los desarrolladores no parchean nada, se obtiene una experiencia de uso pura.
* Un enorme repositorio de software. A excepción de ciertos paquetes específicos de algunas distribuciones, en Arch Linux se encuentran todos los programas existentes, gracias al AUR (Arch User Repository).
* Por la comunidad, para la comunidad. Se trata de un proyecto dirigido única y exclusivamente a los usuarios, que no depende de una empresa o entidad, lo que podría afectar a su desarrollo de forma negativa.

### Desventajas

* La instalación es un proceso complicado.
* Eventualmente, una actualización sin precauciones podría romper el sistema.
* Al tener un modelo de liberación continua, puede ocurrir que un programa tenga errores porque no fue suficientemente probado.

## Distribuciones derivadas
### De BSD

Hay varios proyectos que trabajan para trasladar las ideas y herramientas de Arch Linux a otros núcleos, incluidos PacBSD (ex ArchBSD) y Arch Hurd, que se basan en los núcleos FreeBSD y GNU/Hurd, respectivamente.

### De GNU/Linux

Está el proyecto Arch Linux ARM, que tiene como objetivo portar Arch Linux a dispositivos basados en ARM, incluido Raspberry Pi, así como el proyecto Arch Linux 32, que continuó con el soporte para sistemas con CPU de 32 bits después de la línea principal Arch. El proyecto Linux dejó de admitir la arquitectura en noviembre de 2017.
Varias distribuciones se centran en proporcionar una base Arch con un proceso de instalación más sencillo, como EndeavourOS, CachyOS, Manjaro y Garuda Linux. SteamOS 3.0, la versión de SteamOS utilizada en Steam Deck por Valve, está basada en Arch Linux.
* Cronología de Arch Linux y proyectos relacionados hasta 2011.
* Captura de pantalla de de Archie.

### Activas

* Parabola GNU/Linux-libre, una distribución de origen chilena para arquitecturas i686, x86 64 y ARMv7, que busca crear una distribución linux completamente libre, utilizando el núcleo Linux-libre. Es parte de la lista de distribuciones Linux completamente libres de la Free Software Foundation.
* EndeavourOS Una distribución basada en terminal, con una comunidad vibrante y amigable como su principal fortaleza. Disponible en los sabores xfce, mate, cinnamon, GNOME, kde plasma, budgie, LXQt, i3-wm, bspwm, sway.
* Manjaro Enfocado en la seguridad y tener un sistema totalmente configurable por entorno gráfico.
* 'Arcolinux' Proporciona a los usuarios un entorno informático basado en Arch Linux con el entorno de escritorio Xfce.
* Garuda Linux Orientada al rendimiento. Incluye el uso de Zram, un demonio de autocontrol de CPU y software de administración de memoria personalizado.
* RebornOS La imagen en vivo proporciona un escritorio GNOME pero el proceso de instalación ofrece la opción de instalar otros entornos de escritorio y administradores de ventanas. Ofrece soporte para paquetes Flatpak, instalación opcional de Anbox para ejecutar aplicaciones de Android, capacidad para revertir el sistema a una fecha anterior y herramientas gráficas de configuración y mantenimiento del sistema.
* Archcraft Utiliza gestores de ventanas y aplicaciones ligeras, lo que la hace súper rápida, incluye bspwm y openbox preconfigurados. Es minimalista, hermosa y potente.
* SteamOS Desarrollada por Valve, es un sistema operativo principal de las Steam Machine y Steam Deck, aunque puede ser instalado en cualquier PC, y esta orientado para el uso en videojuegos.
* CachyOs.
* BlustarLinux

### Descontinuadas

* Archie, una distribución LiveCD basada en Arch Linux, orientada a dispositivos con recursos limitados. Incorpora los paquetes base de este último y utiliza el gestor de ventanas Xfce predeterminado, realizado bajo el Principio KISS.
* Antergos, una distribución de origen gallego, el cual se ofrece con el entorno de escritorio Cinammon por defecto.
* ArchOne, una distribución optimizada para notebooks Acer Aspire One, pero puede ser empleado en otras computadoras con Hardware similar.

## Logo

El logotipo actual de Arch Linux fue diseñado por Thayer Williams en 2007 como parte de un concurso para reemplazar el logotipo anterior.