Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
¿Qué es una distribución de Linux?

Distribuciones
Por man ls
departamento Preguntas frecuentemente obviadas , Sección Software Libre
Puesto a las Tue Sep 6th, 2005 at 01:01:50 AM CET
Eres un principiante y quieres probar esto de 'Linux' (aunque el nombre más correcto sería GNU/Linux, pero no nos vamos a poner pedantes ya tan pronto); seguramente te hayan recomendado que "busques una distribución". Ajá, ya sabes qué tienes que buscar; ¿o has dicho que sí por educación, pero estás tan perdido como antes? Siguiendo la gran tradición universitaria española, intentaremos explicarte aquí qué es eso de "una distribución" sin decirte cuál necesitas; es decir, de insuflarte conocimientos teóricos de dudosa utilidad para no tener que contarte nada práctico. ¡Pero nuestra intención es buena!

 


A raíz de varias discusiones con fariseos, es decir gente que ignora lo que es el software libre, me he dado cuenta de que cuando les comentas lo que es una distribución ponen caras raras. Esto me ha hecho salir de mi retiro Libertonio y pensar cómo explicárselo a un neófito. Así que empecemos por el principio.

pues eso, al principio fue Stallman

Lo que diferencia al software libre son las libertades fundamentales de usar el programa para cualquier propósito, distribuirlo a otra gente, modificarlo (para lo que hace falta el código del programa), y distribuir además tus copias modificadas. Cada receptor se convierte en un posible mejorador y re-distribuidor del programa, terminando así con la distinción tan popular en el software cerrado (también llamado propietario o privativo), entre distribuidor y usuario final.

Sin embargo, es incómodo tener que ir buscando cada programa por separado. En un momento dado (parece ser que hacia 1992) comenzaron a surgir distribuidores: gente que tomaba software de distintas fuentes y lo agrupaba en un conjunto coherente. Esto es bien distinto de lo que hacen sitios de agregación como www.download.com, o incluso revistas que distribuyen demos o shareware; el software es totalmente funcional y viene ya integrado con el resto. Y, por supuesto, suele incluir el código fuente.

Como pasa tantas veces, pronto comenzaron a verse fenómenos emergentes: un cambio en apariencia inocuo habilita mecanismos que a su vez crean fenómenos a una escala mayor. Las distribuciones (llamadas familiarmente distros por los linuxeros) dieron lugar a distribuidores de distribuciones (revistas que incluían distros), meta-distros (distros que son la base de otras distros), editores (empresas que vendían distros), distros live (que funcionan sin instalación, con sólo arrancar desde CD-ROM)... Y las distribuciones comenzaron a querer diferenciarse.

nos hacemos mayores

En el año 1993, se fundó Red Hat. Aunque a los vendedores de agua embotellada seguramente no les parezca un modelo de negocio tan raro, en el mundo del software era un fenómeno sin precedentes: ¡una empresa que vendía lo que puede distribuirse gratis! Tampoco los editores de clásicos literarios se sorprenderían, pero para la industria era una empresa que vendía el trabajo de otros. Para más INRI, se trataba de una empresa incorporada, que creció como la espuma y durante unos años sufragó el extravagante modo de vida de nuestro compañero Sinner from the Prairy. De hecho Red Hat subvenciona literalmente cientos de proyectos de software libre, y contrata a expertos en muchísimos campos, contribuyendo así a la buena salud de lo que distribuye.

Al año siguiente los alemanes de SuSE sacaron su propia distribución, orientada a los usuarios profesionales; la vertiente más profesional de Linux ya estaba en marcha. En su estela vendrían Conectiva (1995), Mandrake (ahora Mandriva, 1998) y muchas otras.

Más o menos por esa época, Ian Murdock fundaba un movimiento responsable del proyecto de software libre más grande que se ha visto nunca: Debian. Tomando la base contraria: el trabajo de voluntarios, la distribución gratuita y la libertad a ultranza, los cientos de desarrolladores comenzaron a integrar software a gran escala. Hoy día incluye unos quince mil paquetes para más de 12 arquitecturas diferentes, lo que te garantiza que pueda instalarse en casi cualquier máquina que pueda caer en tus manos; y que casi cualquier programa que necesites estará incluido.

Dentro del software libre hay un chiste, que no es tal chiste: si algo no está incluído en Debian, o no es libre, o no vale la pena, o no existe. Es un pelín exagerado, pero no demasiado; en cuanto un programa libre es un poco popular, se presenta un voluntario en Debian para mantenerlo. Las distribuciones orientadas a los servicios a empresas no son tan ambiciosas, pero aún así suelen incluir miles de programas distintos, en forma de paquetes.

paquete con paquete

Ya que estamos, ¿qué es exactamente un paquete de software libre? El código fuente de un programa libre suele distribuirse archivado, lo que en este contexto suele querer decir comprimido y guardado en un único fichero o archivo con extensión .tar.gz. Al desarchivarlo, aparece una carpeta (o directorio en Linux) llena de ficheros, que suelen compilarse mediante automake; se genera así el programa ejecutable en forma binaria (comprensible para el ordenador pero no para los pobres mortales), que después hay que colocar en su ubicación definitiva. En otras palabras, el conjunto estándar de comandos:

# ./configure && make && make install
A pesar de la simplificación que supuso la introducción de automake, gracias a la cual los comandos de arriba funcionan con casi todo, este proceso sigue siendo pesado, lento e incómodo. ¿En qué directorio queremos que residan los programas binarios? ¿Dónde están los ficheros de configuración? ¿Qué ocurre si queremos compilar un programa que tarda cinco días? ¿Qué hacer si aparece un problema de seguridad? Las distribuciones pronto se dieron cuenta de que no bastaba con copiar miles de ficheros a sus destinos definitivos; era necesario poder distribuir programas precompilados, que usaran directorios predefinidos por la distribución.

La solución de Debian fue dpkg, lo que introdujo los paquetes en Linux; pronto acompañado de su propio mecanismo de distribución, conocido como APT (Advanced Packaging Tool). Red Hat optó por crear su propio mecanismo conocido como RPM, que recursivamente significa "RPM's a Package Manager"; más tarde fue adoptado por SuSE y Mandriva. Hay otros gestores de paquetes menos utilizados.

Normalmente, los paquetes contienen una librería o un programa; acompañado de información sobre dependencias (por ejemplo, librerías utilizadas que no se suministran) y versiones; ficheros incluídos y su localización en la máquina destino. Hay ciertos formatos de paquete avanzados que permiten modificar solamente los recursos modificados, pero están poco extendidos; por ahora, el cambio más nimio en un fichero de configuración obliga a bajarse un paquete nuevo.

caja de herramientas

La herramienta de empaquetado construye un paquete a partir del código de un programa. La de actualización se encarga de buscar en internet versiones nuevas de los programas instalados, bajarlas e instalarlas; a menudo puede configurarse para comprobar periódicamente si hay actualizaciones de seguridad disponibles.

El empaquetador/actualizador no es la única herramienta propia que suelen incluir las distribuciones. A menudo encontramos programas que ayudan en la instalación, gestión de la máquina, configuración, localización de recursos... El grado de diferenciación va desde casi nada (Slackware) hasta los asistentes más especializados (Red Hat).

Para alguien sin conocimientos previos, la presencia o ausencia de estas herramientas puede ser clave. Un asistente gráfico puede ahorrar muchas horas a alguien poco acostumbrado a la consola de texto. Aunque son propias de cada distribución, si son software libre a veces pueden adaptarse a cualquier otra -- por ejemplo, APT puede usarse con distintos sistemas, a Debian se le puede acoplar RPM...

la avaricia rompe el saco

Por desgracia, no todas las herramientas resultantes de distribuciones de software libre son a su vez software libre. Los desarrolladores de distros no están siempre tan convencidos de las bondades del software libre como los creadores del software que empaquetan; y a menudo usan licencias propietarias para sus propias herramientas, para vergüenza de todos.

Hay multitud de ejemplos sangrantes: Xandros, Linspire, Sun y su Java Desktop System (que por cierto ahroa está basado en Solaris, no en Linux)... Hay algún otro caso curioso, que está bordeando el concepto de distro, como el de Apple: usan multitud de software libre, pero basado en las distintas versiones de la familia BSD (no Linux); lo distribuyen, pero el entorno gráfico es propietario.

En cualquier caso, estos casos patológicos no pueden ocultar que la mayoría de las distros (y además las mejores) son libres; habiendo tanto bueno donde elegir, no hay por qué dejarse atrapar por el software cerrado, que para eso estamos en Linux. Ojo, libres pero no necesariamente gratis; si quieres instalar Red Hat tendrás que pagarles la suscripción, que además cuesta una pasta. No preocuparse; si es libre, suele haber alternativas gratuitas.

meando corriente arriba

Gestionar tanto software tiene sus problemas. ¿Qué hacer cuando un usuario encuentra un error cualquiera en un programa empaquetado? ¿Quién se hace responsable del error?

Las distros usan el concepto de corriente arriba, o upstream: el que origina el software que empaquetan. Algunas distros tienen su propia gestión de software muy elaborada: registro de errores, parches, desarrollos propios, foros y listas de correo, incluso reescritura de cierto software... Otras se limitan a pasar la bola.

Es importante saber estas cosas para luego buscar ayuda en el sitio adecuado a los problemas que nos puedan surgir. Que surgirán; el software libre no está mágicamente libre de errores, y cualquier sistema que admita la ingente variedad de hardware disponible incluso para el usuario doméstico (a menudo con escasa o nula cooperación del fabricante) puede tener omisiones. Por eso, otro factor importante en la elección de distro es tener a gente que la conozca cerca, aunque sea virtualmente. Los usuarios de software libre suelen cooperar más todavía que los de Mac, que son famosos por su buena voluntad.

la definición

Por fin, tras todo lo visto nos decidimos a definir 'una distribución', juntando todo esto que llevamos dicho. El resultado es asombroso: una distribución de Linux es una cantidad ingente de software libre que viene casi siempre en un conjunto de CDs o DVDs, que a menudo puede instalarse en ordenadores de distinto pelaje, y que suele permitir cierto grado de actualización automática desde internet.

Es difícil encapsular en una definición los fenómenos emergentes: la sensación de manejar yum o urpmi e instalar todo el software que necesites con dos clicks de ratón; o de encontrar lo que te hace falta con dos apt-cache y un apt-get. Se acabó desgastar Google para encontrar el programa que queremos, navegar CDs con miles de utilidades para estar al día, instalar diez programas para ver que ocho son inservibles y dos son de pago, y las visitas intempestivas a shareware.com con la esperanza de que alguien haya puesto el programa que nos hace falta y que nos dure la demo. Por supuesto, también las deprimentes búsquedas en el underground internáutico.

Con una distro o con otra, hay que probarlo.

ya nos vamos

Os dejamos ya, que tenéis que probar la distro que pronto será vuestra mejor amiga. Como no queremos influir en vuestra elección (que no se diga que los debianitas somos una secta), dejamos que os lo recomienden los demás lectores en la encuesta adjunta.

< Nuevo proyecto libre hecho en casa: EyeOS (0 comments) | Software y Libertad: relevancia de la GPL (231 comments) >
Enlaces Relacionados
· GNU/Linux
· las libertades fundamentales
· parece ser que hacia 1992
· Red Hat
· los alemanes de SuSE
· Debian
· más de 12 arquitecturas diferentes
· APT (Advanced Packaging Tool)
· More on Distribuciones
· Also by man ls

Encuesta
¿Distribución para principiantes?
· Mandriva 43%
· OpenSUSE 4%
· Fedora 2%
· Ubuntu 33%
· Debian 12%
· Slackware 4%
· Otra (ver comentario) 0%

Votos: 48
Resultados | Otras Encuestas

Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

Ver: Modo: Orden:
¿Qué es una distribución de Linux? | 5 comentarios (3 temáticos, 2 editoriales, 0 ocultos)
¡Knoppix! (none / 0) (#4)
por man ls a las Tue Sep 6th, 2005 at 05:57:22 PM CET
(Información Usuario)

Se me olvidó poner Knoppix como opción en la encuesta. ¿Vosotros creéis que es una opción válida como primera distro? Desde luego, para probar sí que sirve; yo no he tenido mucha suerte instalándola, pero seguro que ha mejorado desde que lo intenté.



En mi opinión no (none / 0) (#5)
por Victor (victor@taquiones.net) a las Tue Sep 6th, 2005 at 07:01:51 PM CET
(Información Usuario) http://www.taquiones.net/victor.html

Y aunque sé que algunos se la han instalado, por aquello de que todo les funcionaba a su gusto, está demasiado preparada para funcionar en vivo; la mezcla de ramas que te creaba hacía muy difícil mantenerla actualizada posteriormente.
--
Víctor Moral <victor@taquiones.net>


[ Padre ]


 
uptime (none / 0) (#6)
por Envite a las Thu Sep 8th, 2005 at 09:40:53 AM CET
(Información Usuario)

la mía tiene un uptime de 45 días... ¡desde el CD!
No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a decirlo.
Voltaire

[ Padre ]


 
¿Qué es una distribución de Linux? | 5 comentarios (3 temáticos, 2 editoriales, 0 ocultos)
Ver: Modo: Orden:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda