# Slackware

Slackware Linux es una distribución Linux orientada a usuarios avanzados. Fue desarrollada por Patrick Volkerding en 1993 basándose en el código fuente de la distribución SLS Linux, y es considerada la distribución más antigua aún en desarrollo.
Slackware contiene un programa de instalación basado en Ncurses que utiliza texto y menús para guiar a los usuarios durante el proceso de instalación. Además, incluye un gestor de paquetes integrado. Cuenta con documentación integrada en el sistema (FAQ), documentación en línea (Wiki) y Foros. Su característica distintiva es la similitud con los sistemas operativos Unix y la inclusión de software que no se encuentra de forma predeterminada en otras distribuciones Linux, como por ejemplo, Korn shell, Nvi, Elvis, entre otros.
Una instalación completa de Slackware incorpora X.Org, una implementación del sistema de ventanas X Window System, así como diversos entornos de escritorio, tales como KDE y Xfce, y gestores de ventanas como Fluxbox, Blackbox, FVWM, Window Maker y Twm. Es importante señalar que a partir de la versión 10.1 de Slackware Linux, GNOME dejó de ser incluido de forma predeterminada.
También incluye entornos de desarrollo para la mayoría de lenguajes de progamación, utilidades de red, programas de diseño gráfico y edición de imágenes como Krita, GIMP y KolourPaint, entre otras opciones que se pueden instalar desde provedores de terceros y navegadores web como Firefox, SeaMonkey, ELinks, Lynx, etc.

## Historia y nombre

El proyecto Slackware comenzó como una serie de correcciones y modificaciones de la descontinuada distribución Softlanding Linux System (SLS). Pronto, la versión modificada de SLS ganó popularidad y el 16 de julio de 1993 fue lanzada oficialmente como «Slackware 1.0». Se distribuía en discos flexibles de 3½, en servidores FTP anónimos y fue anunciada por Patrick Volkerding en los grupos de noticias comp.os.linux:
El término «Slackware» se deriva originalmente del concepto «slack» definido por la Iglesia de los subgenios, a la que Patrick Volkerding estuvo afiliado. La elección del nombre «Slackware» surgió como una ingeniosa broma de los primeros días del proyecto.
En las primeras versiones de Slackware, la distribución tenía tres cuentas de usuario, «satan», «gonzo» y «snake». Estas eran incluidas solo como ejemplos, pero fueron eliminadas posteriormente debido a que significaban un potencial riesgo computacional.
En 1999, el número de versión de Slackware se incrementó de 4 a 7, para demostrar que Slackware estaba actualizado al igual que otras distribuciones de Linux, muchas de las cuales tenían como número de publicación en ese momento el 6.
En 2004, Patrick Volkerding enfermó seriamente y el futuro desarrollo de Slackware se volvió incierto. Afortunadamente, se recuperó, y el desarrollo de Slackware ha continuado.
En 2005, el escritorio GNOME fue eliminado de la distribución, lo que creó una gran polémica superada en parte por el hecho de que sigue habiendo proyectos dedicados a ofrecer dicho escritorio a los usuarios de Slackware, como Freerock GNOME o dropline GNOME.
En 2007, incluye la serie 2.6.x del núcleo Linux como estable.
En el transcurso de la historia de Slackware, han nacido otras distribuciones y LiveCD basadas en ella. Algunas de las más populares incluyen College Linux, SLAX, Vector Linux y Zenwalk.
El 13 de agosto de 2008 Slackware incluía a KDE 4 en la rama de pruebas (Slackware -current) en el directorio /testing.
El 19 de mayo de 2009 Volkerding anunció el comienzo del soporte oficial para la arquitectura de 64 bits, la cual se inició en la rama en desarrollo (current).
El 9 de julio de 2009 Volkerding anuncia en el sitio oficial de Slackware el soporte para arquitecturas ARM, un port oficial denominado ARMedslack, tanto para la versión 12.2 como para la que está en desarrollo (current).
El 26 de agosto de 2009 el proyecto Slackware lanzó la versión 13.0, que destacó dos importantes anuncios, el primero es el reemplazo de KDE 3 por KDE 4, y el segundo fue el lanzamiento de la primera versión oficial de Slackware para la arquitectura de 64 bits, la cual hasta ese momento otros proyectos, como Slamd64, desarrollaban ports no oficiales de Slackware para esa arquitectura.
El 24 de mayo de 2010 se lanzó la versión 13.1, que tenía como principales mejoras la versión SC de KDE 4.4.3, el kernel Linux 2.6.33.4, bibliotecas y aplicaciones actualizadas tales como Firefox y Thunderbird.
El 27 de abril de 2011 se lanzó la versión 13.37, el kernel Linux 2.6.37.6 , Kernel Linux 2.6.35.12 y 2.6.39-rc4 en testing , mejoras en el sistema X (incluye nouveau para las tarjetas gráficas nvidia) , navegador web firefox 4 , KDE SC 4.5.5 y las acostumbradas mejoras.
El 23 de marzo de 2013 se anunció que se quitaba MySQL y se agregaba MariaDB como servidor de base de datos. Este cambio está aplicado a la versión de desarrollo (Slackware -current) por el momento y va a estar disponible en la próxima versión estable.
El 30 de junio de 2016 se anunció la versión 14.2 como estable, con el kernel Linux 4.4.14, bibliotecas y aplicaciones actualizadas tales como: XFCE 4.12.1 y KDE 4.14.21 (KDE 4.13.3 con kdelibs-4.14.21), X11 a la versión X11R7.7, la cual incluye mejoras en términos de rendimiento y soporte de hardware; gcc-5.3.0 por defecto para C, C++, Objective-C; la versión x86_64 es compatible con la instalación y arranque en máquinas que utilizan el firmware UEFI.

## Generalidades

La página informativa oficial describe a Slackware como «un sistema operativo avanzado, diseñado con el doble objetivo de facilidad de uso y estabilidad como prioridades principales» y describe algunas de las funciones que se distribuyen con él:
Slackware actualmente proporciona soporte para la arquitectura x86 de 64 bits.
La distribución de paquetes en Slackware se hace principalmente con archivos tar comprimidos. Hace uso del programa rpm2txz y rpm2tgz respectivamente para convertir paquetes RPM a formatos tgz y txz nativos. La interfaz del programa de instalación es por texto, y requiere un mayor conocimiento de Linux que otras distribuciones. Esto puede ser una desventaja para usuarios principiantes, pero no representa mayor dificultad para usuarios intermedios o avanzados de Linux.

## Filosofía de Diseño
### KISS

Mantenlo Simple, Estúpido (por las siglas en inglés KISS, que significan «keep it simple stupid»), es un concepto que explica muchas de las opciones en el diseño de Slackware. En este contexto, «simple» se refiere a un punto de vista de diseño, en vez de ser fácil de utilizar. Esta es la razón por la cual existen muy pocas herramientas GUI para configurar el sistema. Las herramientas GUI son (según nos dice la teoría) más complejas, y por lo tanto más propensas a tener problemas que una simple línea de órdenes. El resultado general sobre este principio es que Slackware es muy rápido, estable y seguro con el costo de no ser tan amigable al usuario. Los críticos mencionan que esto hace que las cosas sean difíciles de aprender y consuman mucho tiempo. Los seguidores dicen que la flexibilidad y transparencia, así como, la experiencia ganada en el proceso son más que suficientes.
Según la página oficial de Slackware el término KISS se refiere a keep it simple stable, que traducido sería manténgalo simple y estable.

### Scripts de inicio

Slackware utiliza scripts de inicio init de BSD, mientras que la mayoría de las distribuciones utilizan el estilo de scripts System V. Básicamente, con el estilo System V cada nivel de ejecución tiene un subdirectorio para sus scripts init, mientras que el estilo BSD ofrece un solo script init para cada nivel de ejecución. Los fieles del estilo BSD mencionan que es mejor ya que con este sistema es más fácil encontrar, leer, editar y mantener los scripts. Mientras que los seguidores de System V dicen que la estructura de System V para los scripts lo convierte en más poderoso y flexible.
Cabe mencionar que la compatibilidad para los scripts init de System V han sido incorporados en Slackware, a partir de la versión 7.0.

### Manejo de paquetes

La aproximación de Slackware para el manejo de paquetes es único. Su sistema de manejo de paquetes puede instalar, actualizar y eliminar paquetes tan fácilmente como en otras distribuciones. Pero no hace el intento por rastrear o manejar las «dependencias» referidas (por ejemplo: asegurándose de que el sistema tiene todas las bibliotecas y programas que el nuevo paquete «esperaría» estuvieran presentes en el sistema). Si los requisitos no se encuentran, no habrá indicaciones de falla hasta que el programa sea ejecutado.
Los paquetes son comprimidos en un tarball en donde los nombres de archivos terminan con .txz (El formato .tgz fue utilizado hasta la versión 12.2) en vez de .tar.gz. Son construidos de tal manera que al ser extraídos en el directorio raíz, los archivos se copien a sus lugares de instalación. Es por lo tanto posible (pero no aconsejable) instalar paquetes sin las herramientas de Slackware para paquetes, usando solamente tar's y gzip's y asegurándose de ejecutar los scripts doinst.sh en caso de ser incluidos en el paquete.
En contraste Red Hat Linux tiene paquetes RPM los cuales son archivos CPIO, y los .deb de Debian son archivos ar. Estos contienen información detallada de las dependencias y las utilerías que se pueden utilizar para encontrar e instalar esas dependencias. Se negarán a instalarse a menos que los requisitos sean encontrados (aunque esto puede omitirse).

#### Resolución automática de dependencias

A pesar de que Slackware por sí mismo no incorpora herramientas para resolver dependencias automáticamente descargando e instalándolas, existen algunas herramientas externas que proveen de esta funcionalidad de forma similar a APT.
Algunas de estas herramientas determinan las dependencias analizando los paquetes instalados, determinando qué bibliotecas se necesita, y después descubriendo qué paquetes están disponibles. Este proceso automático, muy similar al APT de Debian y produce generalmente resultados satisfactorios.
* Swaret: Slackware 9.1 la incluyó como un extra en su segundo CD, pero no se instala por omisión. Fue eliminado de la distribución en la versión 10.0 pero continúa siendo un paquete externo disponible.
* Slapt-get: no provee resolución de dependencias para los paquetes incluidos en Slackware. Lo hace proporcionando un cuadro de trabajo de resolución de dependencias en los paquetes compatibles con Slackware de manera similar a como lo hace APT. Muchos paquetes fuente y distribuciones basadas en Slackware toman ventaja de esta funcionalidad.
* Emerde.
* Slackpkg: está incluido en /extra a partir de la versión Slackware 9.1 y es una herramienta muy útil tanto para instalar como desinstalar paquetes.
* Gpkg: es un gestor de paquetes escrito en Python para Slackware, cuya última versión fue lanzada en abril de 2006.

#### Actualización de paquetes

Slackware es una distribución que no se centra en tener las últimas versiones de los programas, sino que su foco es tener un sistema estable. Los nuevos paquetes se ponen a prueba y no son entregados hasta que no sean estables (esto no implica que sea la última versión disponible del programa), por ejemplo no se incluyó el núcleo Linux 2.6.* sino hasta el año 2007, habiendo sido lanzada la versión 2.6.0 en el año 2003. Pero cuando algún paquete tiene una actualización por bugs o mejoras de seguridad, estas son incorporadas a los paquetes de Slackware y se anuncia a través de una lista de correo de dichas actualizaciones y en el log de cambios (changelog) que se encuentra en el sitio web. Slackware incluye dentro del directorio /extra del CD de instalación el programa Slackpkg que ayuda a mantener actualizado el sistema.

## Distribuciones Linux basadas en Slackware

* Véase también: Distribucines basadas en Slackware
* Cronología de Slackware Linux y proyectos relacionados, hasta 2012.