NDG Linux Essentials Español - Capítulo 1-Introducción A Linux
NDG Linux Essentials Español - Capítulo 1-Introducción A Linux
El término que más complica las cosas es UNIX. UNIX era originalmente un sistema operativo
desarrollado en los laboratorios de Bell AT&T en la década de 1970. Este fue modificado y
bifurcado (es decir, las personas lo modificaron y estas modificaciones sirvieron de base para
otros sistemas). En la actualidad hay muchas variantes de UNIX. Sin embargo, UNIX es ahora
una marca registrada y una destacada, propiedad de un consorcio industrial llamado Open
Group. Sólo el software que ha sido certificado por el Open Group puede llamarse UNIX. A
pesar de la adopción de todos los requisitos de la selección de UNIX, Linux no ha sido
certificado. ¡Eso significa que Linux realmente no es UNIX! Es sólo... como UNIX.
Cuando el equipo arranca, carga un pequeño trozo de código llamado gestor de arranque. El
gestor de arranque debe cargar el kernel y arrancarlo. Si estás más familiarizado con sistemas
operativos como Microsoft Windows y Apple OS X, probablemente nunca ves al gestor de
arranque, pero en el ambiente de UNIX es generalmente visible por lo que puedes modificar la
manera en la que tu equipo arranque.
El gestor de arranque carga el kernel de Linux y luego cubrió el control. Linux continúa con el
funcionamiento de los programas necesarios para hacer que el equipo sea útil, tales como
conexión a la red o abrir un servidor web.
El código fuente no se entiende directamente por el equipo, por lo que debe ser compilado en
instrucciones de máquina por un compilador . El compilador reúne todos los archivos fuente y
genera algo que se puede ejecutar en el equipo, como el kernel de Linux.
Históricamente, la mayor parte del software se ha publicado bajo una licencia de código
cerrado , lo que significa que obtienes el derecho a utilizar el código de máquina, pero no
puedes ver el código fuente. ¡A menudo la licencia dice específicamente, que no se intenta
revertir el código máquina al código de fuente para averiguar lo que hace!
El Código Abierto toma una vista centrada en la fuente del software. La filosofía de código
abierto es que tienes derecho a obtener el software y modificarlo para tu propio uso. Linux
recuperará esta filosofía con gran éxito. La gente tomó la fuente, hizo cambios y lo compartió
con el resto del grupo.
Junto a esto, fue el proyecto GNU (GNU, no UNIX). Mientras que GNU estaba construyendo
su propio sistema operativo, eran mucho más eficaces en la creación de las herramientas que
están de acuerdo con el sistema operativo UNIX, como los compiladores y las interfaces de
usuario. La fuente era completamente gratuita, así que Linux pudo enfocar sus herramientas y
proporcionar un sistema completo. Como tal, la mayoría de las herramientas que forman parte
del sistema Linux provienen de estas herramientas GNU.
Como en UNIX, hay muchos sabores diferentes de distribuciones. En estos días, hay
distribuciones que se centran en el funcionamiento en servidores, computadoras de escritorio
(desktop) o incluso herramientas específicas de la industria como el diseño de la electrónica o
la computación estadística. Los principales actores en el mercado se remontan a Red Hat o
Debian. La diferencia más visible es el administrador de paquetes, aunque encontrará otras
diferencias en todo, desde archivos a filosofías de políticas.
Red Hat comenzó como una distribución simple que introdujo el Administrador de Paquetes
Red Hat (RPM- Red Hat Package Manager). El desarrollador eventualmente formó una
compañía alrededor de éste, que intentó comercializar una computadora de escritorio Linux
para negocios. Con el tiempo, Red Hat comenzó a operar más en las aplicaciones de servidor
web y servicios de archivos, y lanzó Red Hat Enterprise Linux, que era un servicio de pago en
un ciclo de lanzamiento largo. El ciclo de liberación dicta con qué frecuencia se actualiza el
software. Una empresa puede valorar la estabilidad y quiere ciclos de liberación largos, un
aficionado o un principiante puede querer un software más reciente y optar por un ciclo de
liberación más corto. Para cumplir con este último grupo, Red Hat patrocina el Proyecto
Fedoraque hace que el escritorio personal contenga el software más reciente, pero aun
construido sobre los mismos principios como la versión para empresas.
Scientific Linux es un ejemplo de una distribución de uso específico basada en Red Hat. El
proyecto viene patrocinado por Fermilab siendo una distribución diseñada para habilitar la
computación científica. Entre sus muchas aplicaciones, Scientific Linux se utiliza con
aceleradores de partículas como el Gran Colisionador de Hadrones en el CERN.
Open SUSE , originalmente derivado de Slackware, aun incorpora muchos aspectos de Red
Hat. La compañía original fue comprada por Novell en el año 2003, que luego fue adquirida
por el Grupo Attachmate en 2011. El grupo Attachmate luego se fusionó con Micro Focus
Internacional. A través de todas las fusiones y adquisiciones SUSE ha logrado continuar y
crecer. Mientras que Open SUSE se basa en el escritorio y está disponible al público en
general, SUSE Linux Enterprise contiene un código propietario y se vende como un producto
de servidor.
Debian es más bien un esfuerzo de la comunidad y como tal, también promueve el uso de
software de código abierto y la adherencia a estándares. Debian implementó su propio
sistema de administración de paquetes basado en el formato del archivo .deb. Mientras que
Red Hat deja sin soporte las plataformas Intel y AMD para proyectos derivados, Debian es
compatible con muchas de estas plataformas directamente.
Linux Mint se inició como una bifurcación de Ubuntu Linux mientras sigue dependiendo de
los repositorios de Ubuntu. Existen varias versiones, todas libres de costo, pero algunas
incluyen códigos propietarios que no pueden ser distribuidos sin restricciones de la licencia en
algunos países. Linux Mint está suplantando rápidamente Ubuntu como la solución de
escritorio Linux más popular del mundo
Cuando tomas en cuenta un comando usando esta definición, en realidad estás tomando en
cuenta lo que sucede al ejecutar un comando. Cuando se escribe un comando, el sistema
operativo ejecuta un proceso que puede leer una entrada, manipular datos y producir la
salida. Desde esta perspectiva, un comando ejecuta un proceso en el sistema operativo, y
entonces la computadora realiza un trabajo .
Sin embargo, un comando se puede ver desde una perspectiva diferente: desde su origen . La
fuente es desde donde el comando "proviene" y hay varios orígenes diferentes de comandos
dentro del shell de la CLI:
• Comandos integrados en el shell : Un buen ejemplo es el comando cdya que es
parte del bash shell. Cuando un usuario escribe el comando cd, el bash shell ya se
está ejecutando y sabe cómo interpretar ese comando, sin necesidad de ningún
programa adicional para iniciarse.
• Functions : Las funciones también pueden ser construidas usando los comandos
existentes o crear nuevos comandos, reemplazando los comandos integrados en el
shell o comandos almacenados en archivos. Los alias y las funciones normalmente se
cargan desde los archivos de inicialización cuando se inicia el shell por primera vez,
que veremos más adelante.
Los tipos de hardware crecieron desde el simple chip de Intel hasta supercomputadores. Más
tarde se desarrollaron chips de menor tamaño compatibles con Linux pensados para que pan
en dispositivos de consumo, llamados dispositivos integrados. El soporte para Linux se hizo
omnipresente de tal manera que a menudo es más fácil construir hardware para soportar
Linux y usar Linux como un trampolín para su software personalizado, que construir el
hardware y el software personalizado desde cero.
Finalmente, teléfonos celulares y tabletas lograron funcionar con Linux. Una empresa, más
tarde comprada por Google, salió con la plataforma Android que es un paquete de Linux y el
software necesario para ejecutarse un teléfono o una tableta. Esto significa que el esfuerzo
para introducir un teléfono al mercado es significativamente menor, y las empresas pueden
pasar su tiempo innovando el software orientado al usuario en lugar de reinventar la rueda
cada vez. Android es ahora uno de los líderes del mercado en el espacio.
La pregunta más importante para determinar la configuración de una máquina es "¿Qué hará
esta máquina?" Si necesita ejecutar un software especializado que sólo se ejecuta en Oracle
Solaris, entonces eso es lo que necesitará. Si necesita leer y escribir documentos de Microsoft
Office, entonces necesitará Windows o algo capaz de ejecutar OpenOffice o LibreOffice
A continuación, debe determinar las funciones de la máquina. ¿Existe software específico que
necesita para funcionar, o funciones específicas que debe hacer? ¿Quieres manejar cientos o
miles de estas máquinas al mismo tiempo? ¿Cuál es el conjunto de habilidades del equipo que
administra la máquina y el software?
También debe determinar la vida útil y la tolerancia de riesgo del servidor. Los sistemas
operativos y actualizaciones de software vienen sobre una base periódica, llamada el ciclo de
liberación . Los proveedores de software sólo darán soporte a las versiones anteriores del
software durante un tiempo antes de que ya no ofrezcan las actualizaciones, lo que se
llama ciclo de mantenimiento (o ciclo de vida). Por ejemplo, las versiones principales de
Fedora Linux salen aproximadamente cada 6 meses. El Fin de vida ( EOL- End of Life) de las
versiones se considera después de 2 versiones principales más un mes, por lo que tiene entre
7 y 13 meses después de instalar Fedora antes que necesite actualizaciones. Compare esto
con la variante del servidor comercial, Red Hat Enterprise Linux, y puede utilizarla hasta 13
años sin la necesidad de actualización.
Las versiones de software individuales se pueden caracterizar por ser beta o estables. Una de
las ventajas de ser un desarrollador de código abierto es que puede liberar su nuevo software
y obtener rápidamente comentarios de los usuarios. Si una versión de software está en una
etapa de muchas funciones nuevas que no han sido probadas rigurosamente por lo general se
denomina beta. Después de que tales funciones hayan sido probadas en el campo, el software
se mueve a un punto estable. Si necesita las últimas funciones, buscarás una distribución que
tiene un ciclo de liberación corto y el software beta es de fácil uso. Cuando se trate de un
servidor, será necesario que un software se establezca a menos que las nuevas funciones
sean necesarias y no te importe ejecutar un código que no haya sido completamente probado.
Por supuesto, el costo siempre es un factor. Linux en sí podría ser gratuito, pero tendrá que
pagar por soporte dependiendo de las opciones que elija. Microsoft tiene un costo de licencia
de servidor y podría aplicar los gastos adicionales de soporte durante la vigencia del
servidor. El sistema operativo que haya elegido puede que solo se ejecute en un hardware en
particular, lo que también afecta el costo.
En el mundo de los servidores existe Windows Server. Actualmente hay (hasta la fecha de
este texto) la versión 2012 para indicar la fecha de lanzamiento. El servidor ejecuta una GUI,
pero en gran parte como una respuesta competitiva a Linux. Ha hecho progresos
sorprendentes en la línea de comandos con capacidades de scripting a través de
PowerShell. También puedes hacer que el servidor parezca una computadora de sobremesa
con un paquete de experiencia de escritorio opcional.
1.3.3 Apple OS X
Apple produjo el sistema operativo OS X que pasó por la certificación de UNIX. OS X está
parcialmente basado en el software del proyecto FreeBSD.
OS X en el escritorio suele ser una decisión personal ya que mucha gente considera que este
sistema es más fácil de usar. La creciente popularidad de OS X ha asegurado un sano soporte
de proveedores de software. OS X es también muy popular en las industrias creativas como
por ejemplo la producción de vídeo. Es un área donde las aplicaciones manejan la decisión de
sistema operativo y por lo tanto la elección de hardware, ya que OS X se ejecuta en el
hardware de Apple.
1.3.4 BSD
Hay varios proyectos de código abierto BSD (Berkeley Software Distribution) como OpenBSD,
FreeBSD y NetBSD. Estas son alternativas a Linux en muchos aspectos ya que utilizan una
gran cantidad de software común. BSD por lo general se implementa en la función del
servidor, aunque también hay variantes como GNOME y KDE que fueron desarrolladas para
las funciones del escritorio.
• oracle solaris
• IBMAIX
• HP-UX
Cada uno de ellos se ejecuta en el hardware de sus respectivos creadores. El hardware es
generalmente grande y potente, que ofrece características tales como CPU y memoria o
integración de intercambio con sistemas de mainframe heredados también ofrecidos por el
proveedor.
1.3.6 Linux
Un aspecto donde Linux es muy diferente a las alternativas, es que después de que un
administrador haya elegido Linux todavía tiene que elegir una distribución Linux. Acuérdate del
tema 1, la distribución empaca el kernel, utilidades y herramientas administrativas de Linux en
un paquete instalable y proporciona una manera de instalar y actualizar los paquetes después
de la instalación inicial.
Los gobiernos y las grandes empresas también pueden limitar sus opciones a las
distribuciones que ofrecen soporte comercial. Esto es común en las grandes empresas donde
pagar para otro nivel de soporte es mejor que correr el riesgo de interrupciones
extensas. También, las diferentes distribuciones ofrecen ciclos de liberación a veces tan
frecuentes como cada seis meses. Mientras que las actualizaciones no son necesarias, cada
versión puede obtener soporte solo para un período razonable. Por lo tanto, algunas versiones
de Linux tienen un Período Largo de Soporte (LTS- Long Term Support) hasta 5 años o más,
mientras que otras solo recibirán soporte por dos años o menos.
Otras versiones dependen de las distribuciones Beta. Por ejemplo, la distribución de Fedora
libera las versiones Beta o versiones de su software antes de la liberación completa para
minimizar errores. Fedora se considera a menudo una comunidad orientada a la versión Beta
de RedHat. Se agregarán y cambiarán las funciones en la versión de Fedora antes de
encontrar su camino en la distribución de RedHat Enterprise.
Android 1.3.7
Android , patrocinado por Google, es la distribución Linux más popular del mundo. Es muy
diferente de sus contrapartes. Linux es un kernel y muchos de los comandos que se tratarán
en este curso son en realidad parte del paquete GNU (GNU no es Unix). Por esta razón,
algunas personas insisten en utilizar el término GNU/Linux en lugar de Linux por sí solo.
Android utiliza la máquina virtual Dalvik con Linux, necesitará una plataforma sólida para
dispositivos móviles como teléfonos y tabletas. Sin embargo, carece de los paquetes
tradicionales que se distribuyen a menudo con Linux (como GNU y Xorg), por lo que Android
es generalmente incompatible con distribuciones Linux de escritorio.