El proyecto GNU fue iniciado en 1984 por Richard Stallman para crear un sistema operativo libre llamado GNU. En 1991, Linus Torvalds empezó a escribir el núcleo Linux y lo distribuyó bajo la GPL. La combinación del sistema GNU y el núcleo Linux resultó en un sistema operativo funcional conocido como GNU/Linux o una distribución Linux.
1. Historia y Cultura Linux
El proyecto GNU fue iniciado por Richrard Stallman en
1984, con el objetivo de crear un sistema operativo
completo y libre: el sistema GNU, basado en el sistema
operativo UNIX (UNIX fue creado en 1970). Richard
Stallman publicó un artículo conocido como el "Manificio
GNU", en el que estableció sus motivaciones para realizar
el proyecto GNU, entre las que destaca "retornar al
espiritu de cooperación que prevaleció en los tiempos
iniciales de la comunidad de usuarios de computadoras".
GNU es un acrónimo recursivo que significa "GNU No es
Unix". Stallman sugiere que se pronuncie, en inglés, como
"guhnoo" (se puede observar que el logo es un ñu) para
evitar confusión con "new" (nuevo). En español, GNU se
pronuncia fonéticamente (Ge Ene U).
Para asegurar que el software GNU permaneciera libre para
que todos los usuarios pudieran "ejecutarlo, copiarlo,
modificarlo y distribuirlo", el proyecto debía ser
liberado bajo una licencia diseñada para garantizar esos
derechos al tiempo que evitase restricciones posteriores
de los mismos. La idea se conoce en Inglés como copyleft
(en clara oposición a copyright), y está contenida en la
Licencia General Pública de GNU (GPL).
2. En 1991, Linus Torvalds empezó a escribir su núcleo Linux
y decidió distribuirlo bajo la GPL. Rápidamente,
múltiples programadores se unieron a Linus en el
desarrollo, colaborando a través de Internet y
consiguiendo paulatinamente que Linux llegase a ser un
núcleo compatible con UNIX. En 1992, el núcleo Linux fue
combinado con el sistema GNU, resultando en un sistema
operativo libre y completamente funcional. El sistema
operativo formado por esta combinación es usualmente
conocido como "GNU/Linux" o como una Distribución Linux y
existen diversas variantes.
Una distribución Linux es entonces un conjunto de
programas creados por el proyecto GNU, o por otros
desarrolladores que se apoyan en la licencia GPL o LGPL
(Lesser General Public), y el núcleo desarrollado por
Linus Torvalds.
Desde su primer lanzamiento, GNU/Linux ha incrementado su
popularidad en el mercado de servidores. Su gran
flexibilidad ha permitido que sea utilizado en un rango
muy amplio de sistemas de cómputo y arquitecturas:
computadoras personales, super computadoras, dispositivos
portátiles, etc.
Los sistemas Linux funcionan sobre más de 20 diferentes
plataformas de hardware, entre ellas las más comunes son
las de los sistemas compatibles con PC, computadoras
Macintosh, procesadores PowerPC, Sparc y MIPS.
También es frecuente hallar componentes de GNU instalados
en un sistema UNIX no libre, en lugar de los programas
originales para UNIX. Esto se debe a que muchos de los
programas escritos por el proyecto GNU han demostrado ser
de mayor calidad que sus versiones equivalentes de UNIX.
3. A menudo, estos componentes se conocen colectivamente
como "herramientas GNU". Muchos de los programas GNU han
sido también portados a otras plataformas como Microsoft
Windows y Mac OS.
¿Qué es el software libre?
Software libre es el software que, una vez obtenido,
puede ser usado, copiado, estudiado, modificado y
redistribuido libremente. El software libre suele estar
disponible gratuitamente en Internet, o a precio del
costo de la distribución a través de otros medios; sin
embargo no es obligatorio que sea así y, aunque conserve
su carácter de libre, puede ser vendido comercialmente.
Análogamente, el software gratuito (denominado usualmente
Freeware ) incluye en algunas ocasiones el código fuente;
sin embargo, este tipo de software no es libre en el
mismo sentido que el software libre, al menos que se
garanticen los derechos de modificación y redistribución
de dichas versiones modificadas del programa.
En resumen, libertad no significa gratuidad y al
contrario tampoco. Se puede obtener software gratuito sin
tener la libertad de ver el código y a su vez se puede
usar software libre (free software) para ver su código
pero pagar por su soporte comercial, o por la
distribución de las copias de software libre.
¿Qué es el código (software) comercial?
El autor cobra un precio por el uso del software
(licencias).
No se puede ceder ni alquilar el software en cuestión.
El único autorizado a realizar modificaciones al software
es quién lo desarrolla. Esto, claro está, siempre y
cuando les sea rentable. Por ejemplo: Cambio de
plataforma, mejoras, personalización.
No se podrá realizar ingeniería inversa para estudiar su
comportamiento.
4. Ejemplos de código comercial y libre (Los pondremos con
ejemplos tomados mayormente de la empresa MicroSoft)
Comercial Libre
IIE (Internet Information
Service)
Apache, Lighttpd, Hiawatha
Exchange Sendmail. Postfix, qmail
Microsoft Office LibreOffice
Internet Explorer FireFox
Microsoft OutLook Evolution, Thunderbird
Deecenas de antivirus
comerciales
Clamav
TrendMicro AntiSPAM Spamassassin, greylist,
MailScanner
Yahoo Messenger, Skype Amsn, Pidgin
Existen otros tipos de licencia de aspecto libre, algunas
son compatibles con la licencia GNU y otras tienen
ciertas restricciones o libertades que la hacen
incompatibles; por ejemplo la licencia tipo Apache
permite la distribución de binarios sin su
correspondiente código fuente lo que imposibilita en
muchos casos el que se pueda conocer las directivas de
compilación o parches aplicados a un producto liberado.
Sin embargo esto no significa que una licencia para
código libre deba dejar de ser usada o ignorada, muchas
tienen elementos válidos a nuestros efectos y de hecho
una distribución de Linux comprende no sólo software
licenciado bajo GNUGPL sino que incluye otros tipos de
licenciamiento.
Se puede obtener muchísima más información en la página
de la FSF: http://www.fsf.org/
5. Sitios de ayuda
Existen una buena cantidad de sitios de ayuda en el
planeta, en muchísimos idiomas, aquí listaremos algunos
sitios con soporte en inglés y español, además de sitios
propios ecuatorianos para obtener ayuda más rápidamente:
Ecualug es el primer foro de usuarios ecuatorianos
dedicado íntegramente al tema de linux. Surgió hace 11
años y tiene una enorme cantidad de artículos. La mayoría
de los usuarios del foro siempre requieren de un buen
planteamiento ante un problema o inquietud para dar una
respuesta adecuada a este planteamiento, es muy útil y se
aprende mucho en este foro:
http://www.ecualug.org
Sitio de Linux Oficial
http://www.linux.org
6. Distribuciones Linux
Linux es básicamente el kernel (núcleo) del sistema
operativo, la base, el que maneja todas las operaciones
de entrada/salida y mantiene saludable el manejo de
memoria y asignación de recursos del procesador.
Sin embargo, debemos diferenciar bien entre kernel de
linux, y una distribución de Linux.
Una distribución de Linux es básicamente una colección o
conjunto de paquetes (programas), recompilados por una
empresa, normalmente con fines comerciales mediante la
venta de CD's, soporte técnico especializado o
capacitación.
Estos paquetes incluidos en una distribución no son
solamente del proyecto GNU, sino de otros proyectos, con
otros tipos de licenciamientos no comerciales (licencias
tipo apache, X, etc) así como paquetes comerciales (adobe
acrobat reader, flash player, real player, etc) pero que
se distribuyen libremente.
El objetivo final de las empresas que realizan las
distribuciones es lograr dar cierto nivel de soporte y
actualizaciones frecuentes a su distribución, estas
actualizaciones pueden variar siendo algunas gratuitas,
otras pagadas.
7. El tiempo de vida de una distribución también puede
variar; así como soporte técnico (normalmente es pagado)
y cursos y certificaciones para la distribución en
cuestión.
Distribuciones basadas en RPM:
Los archivos rpm terminan en la extensión .rpm contienen
varios archivos y programas en su interior, algo similar
a los archivos .zip
RPM es el acrónimo creado por RedHat para definir un
esquema de distribución de paquetes. Significa RedHat
Package Manager o Manejador de paquetes de RedHat
Los RPM fueron en su momento y todavía siguen siendo un
paso de avance muy grande para el mundo de Linux, ya que
los rpm no sólo incluyen una colección de binarios
relativos a un determinado paquete o utilería sino que
también incluye archivos de ayuda, de configuración y
sobre todo! incluye lo que se llama dependencias, esto
es, qué otros paquetes rpm requiere este rpm para
instalarse.
De esta forma nos evitamos problemas que anteriormente
ocurrían y ocurren cuando se instala un paquete que para
funcionar correcta o completamente, requiere de otros.
Por ejemplo:
El paquete php (php es un lenguaje interpretado que
genera código html de amplio uso en Internet en estos
momentos) tiene entre sus requerimientos el que exista un
servidor web (apache) instalado. De esta forma si
deseamos instalar el rpm del paquete php, este nos
fallará diciendo que requiere del paquete rpm httpd
(apache) para instalar.
Entonces debemos instalar el apache primeramente y
seguramente este nos fallará diciéndonos que requiere
algún paquete relacionado con SSL (capa de encriptación)
por lo que deberemos instalar el mod_ssl seguramente y
entonces instalar el httpd (apache) y ahora sí:
instalamos el php.
8. De esta forma no dejamos cabos sueltos.
Pero esto no es todo, los paquetes rpm permiten además
desinstalar completamente una aplicación, pues se
mantiene una lista de todos y cada uno de los ficheros de
configuración, librerías, binarios, páginas de ayuda y
demás que haya instalado un paquete rpm.
De forma totalmente arbitraria nosotros hemos decidido
dividir las distribuciones en:
Distribuciones basadas en rpm y Distribuciones no basadas
en rpm.
De todas formas para una lista completa de distribuciones
existentes o ya difuntas, pueden referirse a
http://distrowatch.com/
9. Distro Red Hat
Red Hat es una empresa líder en desarrollo,
implementación y administración de soluciones Linux y
Open Source para la internet. Las aplicaciones de Red
Hat varían desde dispositivos embebidos hasta servidores
web seguros. Red Hat fué fundado en 1994 por dos
visionarios Bob Young y Marc Ewing.
El código libre es la base de su sistema de negocios.
Redhat no sólo es el creador de la idea del rpm, para
nosotros algo fundamental que sentó bases para un rápido
desarrollo del linux, sino que son los mantenedores y
hospederos de una serie de proyectos y programadores muy
conocidos para el mundo del linux. Proyectos tales como
GCC (el compilador de C) y le dan trabajo a muchos
programadores como Alan Cox, uno de los desarrolladores
del kernel más importantes al momento.
Al momento el producto fundamental de redhat es el RedHat
Enterprise Linux, al momento redhat mantiene 5 versiones:
RHEL 2.1, RHEL3, RHEL4, RHEL5 y RHEL6 las cuales son
mantenidas por un periodo de 10 años a partir de su fecha
de salida al mercado.
La lista de servicios de redhat es grande, pero uno de
los fuertes de ellos es:
• Soporte técnico
• Actualizaciones frecuentes
• Certificaciones para trabajar en sus productos
Los productos y servicios de redhat tienen un costo. Pero
el sistema operativo y paquetes incluidos en la
distribución son distribuidos con el código fuente de
estos. A excepción de los logos de redhat y cualquier
paquete comercial que hayan incluido (al momento no
10. sobrepasan 2, y no de mucha importancia)
RedHat crea un sistema operativo y paquetes de ayuda
altamente parcheados, que son en muchos casos bien
diferentes a los paquetes originales creados por sus
autores. Tiene una tecnología que llaman backporting, en
el que redhat no cambia la numeración de los paquetes
durante el tiempo de vida de su distribución, sin embargo
esto no significa que las aplicaciones sean viejas.
Redhat se ocupa de portar hacia esas versiones, los
parches y actualizaciones necesarias para corregir
errores y potenciales o reales problemas.
11. Distro Fedora
Fedora se convirtió desde inicios del siglo 21 en una
distribución auspiciada por redhat, un sandbox, o caja de
arena, donde redhat prueba y prepara los paquetes que
serán implementados para sus distribuciones
comercialmente soportadas (RHEL). Fedora básicamente
contiene una serie de paquetes de última generación que
son planteados, propuestos en sus distribuciones para que
los interesados puedan probarlos y reportar problemas.
Fedora se compromete a liberar un nuevo core (así llaman
a sus distribuciones core1, core2, core3, core4, etc)
cada 10 a 12 meses, y se compromete a actualizar
solamente la versión recién liberada y la anterior a la
recién. Por ejemplo: ahora estamos en fedora core19, por
lo tanto actualizan el core19 y el core18. Core17,
Core16 o un anterior, no son soportados ni actualizados
por Fedora.
Pros:
• Paquetes muy actualizados,
• Ciclo de vida de las distribuciones: muy corto por
lo tanto hay nuevos paquetes constantemente
Contras:
Al ser paquetes totalmente novedosos, muchos de ellos
experimentales y sin mucho periodo de prueba, estos son
propensos a fallar inexplicablemente o a fallar con una
12. causa conocida. Por parte de Fedora no existe un
compromiso de arreglar un paquete, aunque claro está se
intenta arreglar de ser posible.
Al tener un periodo de vida muy corto (sólo mantienen los
dos últimos cores) si una empresa necesita mantenerse
actualizada para prevenir ataques, deberá cambiar
constantemente de core de fedora, incurriendo en
downtimes, nuevos y desconocidos problemas, etc.
Es nuestra opinión de que Fedora es una muy buena
distribución para las personas que requieren experimentar
con lo último del mercado, pero que no requieren de un
compromiso de estabilidad por parte de la distribución.
Es por esta razón que actualmente es muy usada esta
distribución para equipos orientados a usuario final.
Fedora NO se debe usar en servidores de aplicaciones
críticos y que necesiten de soporte extendido y
estabilidad.
Si miramos estas dos opciones de redhat (RHEL y fedora)
no tenemos muchas opciones, y verdaderamente casi nadie
veía al principio una salida a esta problemática: redhat
distribuye su versión empresarial pero cobra por las
actualizaciones y por usar su logo; mientras fedora es
sólo un juguete para desarrolladores y estudiantes...
Existen empresas que necesitan un servicio estable, con
actualizaciones por largos periodos de tiempo y que no
pueden o no quieren pagar por el servicio de
actualizaciones de redhat. ¿Qué hacer?
Clones de Redhat
Para eso han surgido, gracias al código GNU y otros
códigos no comerciales, alternativas gratuitas o menos
costosas de mantenimiento de servidores.
Redhat, al usar código GNU está obligado a liberar este
código, sin embargo redhat no sólo libera el código GNU
que incluye en su distribución, sino que también
distribuye en formato src.rpm (SRPM, o los fuentes del
13. rpm) la forma exacta en que ha compilado TODOS los
paquetes que tienen código libre, ya sean estos GNU o no.
Eso sí. Redhat, de acuerdo a su licencia, en el artículo
2 del apéndice 1 indica claramente que los logos de
redhat y todas sus marcas son propiedad de redhat, por lo
que no se deben distribuir sin autorización de ellos.
Es por esto que se puede usar básicamente todo de redhat,
menos sus logos y demás marcas comerciales así como que
no se puede acceder al soporte técnico y actualizaciones
si no se pagan por ellas.
Basados en estas premisas, algunas personas y empresas
crearon lo que se llaman clones de redhat.
Distro CentOS
Entre los clones de redhat, es CentOS el que
definitivamente vemos más activo y con ánimos no sólo de
copiar la información sino de crear distribuciones para
nuevas arquitecturas no soportadas por redhat, etc.
En nuestro medio, podemos decir que es la distro más
usada en servidores y es la distribución en al cual nos
vamos a basar para seguir este curso!.
Distro Mandriva Linux (antiguamente Mandrakelinux)
Creada en 1998 con el objetivo de hacer linux más fácil
de usar por cualquier persona. En aquellos momentos linux
era bien conocido como un sistema operativo poderoso y
estable que demandaba muy sólidos conocimientos técnicos
y un uso extensivo de línea de comando. Mandrake vió la
14. oportunidad de integrar el ambiente gráfico con poderosas
utilerías de configuración y manejo del sistema. Con esta
idea innovativa mandriva ofrece todo el poder y
estabilidad de un sistema linux tanto a personas
profesionales y conocedoras de Linux como a principiantes
o personas sin mayores conocimientos técnicos pero con
interés en usar linux para realizar sus labores.
En nuestra opinión realmente mandrake o mandriva como se
llama actualmente es una muy buena distribución orientada
al ambiente gráfico.
Distro SUSE
SUSE LINUX se cataloga como líder internacional y
proveedor de soluciones en sistemas operativos de código
abierto. La larga experiencia de suse en linux y además
su enorme cantidad de personas dedicadas a desarrollar en
código abierto han contribuido indudablemente en
reconocer a suse como una de las soluciones de linux más
completas disponibles al momento. SUSE LINUX fue
adquirido por Novell, Inc en Noviembre del 2003.
15. DISTRIBUCIONES NO BASADAS EN RPM
Aunque hay un gran numero de distribuciones, sólo
hablaremos de las más importantes al momento:
Distro Debian
El proyecto Debian es una sociedad de personas que han
hecho causa común para crear un sistema operativo
gratuito. Este SO se llama Debian GNU/Linux o simplemente
Debian. Los sistemas Debian actualmente usan el kernel de
Linux.
Debian se caracteriza por ser totalmente gratuito, sin
organizaciones que los mantengan y con una amplia
cobertura de plataformas, tanto populares como ya
obsoletas o muy nuevas.
Entre las dificultades que debian está enfrentando ahora
es una falta de soporte comercial (requerido por muchos
clientes) así como una gran lentitud en liberar nuevas
versiones y nuevas actualizaciones, así como peleas
internas dentro del grupo de desarrolladores.
Muchas personas adoran a debian y mueren por él, lo
califican como altamente adictivo, sobre todo
programadores, o investigadores o simplemente partidarios
del software totalmente libre.
16. Distro Ubuntu
Ubuntu es una distribución Linux basada en Debian, se
distribuye libre y gratuito. Es una distribución que
representa la colaboración.
Es una distribución orientada al usuario final, hace
algunos años era una de las distribuciones más usadas en
el medio, sin embargo en los últimos años Fedora, y Mint
le ha ganado mucho terreno.
Existen una gran variedad de distribuciones que se
derivan de Ubuntu como: Kubuntu, Xubuntu, Edubuntu, Mint
entre otros.
Distro Mint
Es una distribución inicialmente derivada de Ubuntu, a
partir de septiembre del 2010, esta esta basada en
Debian.
Según las estadísticas, esta distribución es la más usada
al momento, ha ganado mucho terreno en muy poco tiempo.
Es una distro orientada a usuario final y por su
facilidad y simplicidad es su éxito y aceptación
principalmente en usuarios que no tienen experiencias
previas de Linux.
17. Distro Gentoo
Es una distribución que tiene una características
interesante, aparte de ser gratuita y libre por supuesto,
es una distribución que puede adecuarse completamente a
la máquina en que se instala. Esto es, a los efectos de
una instalación se pueden mandar a instalar solamente los
paquetes que requeriremos, ni más ni menos, y estos
paquetes podemos bajarlos de la internet, de su sitio web
y recompilarlos de acuerdo al hardware o plataforma que
tengamos.
19. o tres floppies. También hay distros que caben en
pendrive o cualquier dispositivo USB.
No solamente son distribuciones educativas o proyectos
para pasar el tiempo, sino que muchas de ellas (coyote
linux) permiten tener un efectivo firewall y servidor que
haga NAT, así como son pequeñas alternativas para
levantar un sistema más grande en caso de que haya
fallado y trata de recuperar su información y echarlo a
andar nuevamente.
Hay decenas de distribuciones interesantes, por favor
buscar y ver:
knoppix
puppy linux
coyote linux
en www.distrowatch.com
o en www.LinuxCd.org
Las diez mejores distribuciones GNU/Linux
http://distrowatch.com/dwres.php?resource=major
CONCLUSIÓN:
Como se puede ver, Linux es una enorme fuerza en el
planeta tierra. Una fuerza que no tiene retorno. Como se
puede apreciar en los links arriba indicados, existen
miles, tal vez millones de personas trabajando de una u
otra manera para mejorar Linux y agregar programas (y
facilidades) a su ya extensa lista. Lo interesante de
Linux es que se basa en la cooperación de la comunidad y
no en la competencia o el secretismo.
Adicional podemos señalar que Linux tiene una infinidad
de variantes (distribuciones), todas con algo en común,
el núcleo (kernel), las mismas que tienen diferentes
orientaciones, Linux para: servidores, usuario final,
especialidades en redes, dispositivos móviles,
dispositivos de hardware, etc.