Actividad 3. GNU - LINUX
Definición de GNU LINUX
Linux es un sistema operativo: un conjunto de programas que le permiten interactuar con su ordenador y ejecutar otros programas.
Por tanto, un sistema operativo consiste en varios programas fundamentales que necesita el ordenador para poder comunicar y recibir instrucciones de los usuarios; tales como leer y escribir datos en el disco duro, cintas, e impresoras; controlar el uso de la memoria; y ejecutar otros programas. La parte más importante de un sistema operativo es el núcleo. En un sistema GNU/Linux, Linux es el núcleo. El resto del sistema consiste en otros programas, muchos de los cuales fueron escritos por o para el proyecto GNU. Dado que el núcleo de Linux en sí mismo no forma un sistema operativo funcional, preferimos utilizar el término “GNU/Linux” para referirnos a los sistemas que la mayor parte de las personas llaman de manera informal “Linux”.
Para conocer su evolución, podemos apreciar la siguiente cronología:
Las principales características de GNU - LINUX son:
- Multitarea: se pueden realizar varias actividades a la vez (navegar por Internet, editar un documento,compilar un programa,...)
- Multiusuario: varios usuarios pueden trabajar concurrentemente en un único ordenador con varios terminales (teclado y monitor) de forma que tengan la sensación de que es el único que está trabajando en el sistema. Cada usuario almacena sus datos (programas, documentos de texto, imágenes,...) en una cuenta privada o “home”. Notar que para que sea multiusuario es imprescindible que sea multitarea.
- Conectividad: permite las comunicaciones en red y el acceso a recursos remotamente. Por ejemplo, podemos acceder a nuestros datos situados en una máquina a través de otro equipo, conectados ambos a Internet.
- Multiplataforma: se puede instalar en multitud de dispositivos, desde todo tipo de ordenadores de sobremesa y portátiles y servidores hasta videoconsolas o incluso teléfonos móviles.
- Libre: su código fuente está disponible. Cualquiera puede usarlo, modificarlo y distribuir. Una consecuencia de esto es que es gratis.
El sistema operativo Linux consiste en cuatro componentes principales: el kernel o núcleo, que es la parte del sistema operativo que interactúa directamente con el hardware de la computadora; el shell, el cual lee los comandos alimentados por el usuario, los interpreta y manda una petición de ejecución del programa y por último, los comandos y el sistema de archivos, también se les conoce como herramientas puesto que pueden ser usados en varias formas para completar un trabajo. Una ventaja del sistema operativo Linux es la facilidad de instalación de nuevos comandos o aplicaciones. El shell sólo necesita saber en donde se encuentran y estos los pueden asignar los usuarios.
Ahora bien, para interactuar con linux, se diseñaron diferentes entornos gráficos que ayudan a suavizar la interacción, uno de ellos es GNOME que es un entorno de escritorio e infraestructura de desarrollo para sistemas operativos Unix y derivados Unix como GNU/Linux, BSD o Solaris; compuesto enteramente de software libre. K Desktop Environment o Entorno de Escritorio K, es un entorno de escritorio contemporáneo para estaciones de trabajo Unix. KDE llena la necesidad de un escritorio amigable para estaciones de trabajo Unix, similar a los escritorios de MacOSX o Windows; las aplicaciones KDE están traducidas a más de 88 idiomas y están construidas con los principios de facilidad de uso y de accesibilidad moderna en mente.
Por otro lado, también existe Xfce es un entorno de escritorio ligero para sistemas tipo Unix como Linux, BSD, Solaris y derivados. Se configura íntegramente con el ratón o mouse. Su creador, Olivier Fourdan, lo describe así: Diseñado para la productividad, las aplicaciones se cargan y se ejecutan rápidamente, mientras conserva recursos de sistema.
En cuanto a las aplicaciones existen muchas debido a la diversidad de métodos de manejo de paquetes, unos pueden ser muy faciles de instalar y vienen incluidos en los repositorios. En otros sistemas operativos como Windows o MAC, deben descargarse las aplicaciones de terceros, para poder ser instaladas.
Distribución GNU LINUX y distribución en Venezuela
La gestón de paquetes representa una colección de herramientas que sirven para automatizar el proceso de instalación, actualización, configuración y eliminación de paquetes de software. A continuación, se muestran algunas diferencias entre gestor de paquetes e instaladores:
En cuanto a los tipos y tendencias, las distribuciones Linux pueden ser:
- Comerciales o no comerciales.
- Ser completamente libres o incluir software privativo.
- Diseñadas para uso en el hogar o en las empresas.
- Diseñadas para servidores, escritorios o dispositivos empotrados.
- Orientadas a usuarios regulares o usuarios avanzados.
- De uso general o para dispositivos altamente especializados, como un cortafuegos, un enrutador o un clúster computacional.
- Diseñadas e incluso certificadas para un hardware o arquitectura específicos.
- Orientadas hacia grupos en específico, por ejemplo a través de la internacionalización y localización del lenguaje, o por la inclusión de varios paquetes para la producción musical o para computación científica.
- Configuradas especialmente para ser más seguras, completas, portables o fáciles de usar.
- Soportadas bajo distintos tipos de hardware.
- La diversidad de las distribuciones Linux es debido a cuestiones técnicas, de organización y de puntos de vista diferentes entre usuarios y proveedores. El modo de licenciamiento del software libre permite que cualquier usuario con los conocimientos e interés suficiente pueda adaptar o diseñar una distribución de acuerdo a sus necesidades.
En cuanto a las distribuciones más populares, existen muchas versiones y cada día se desarrollan más, entre las de mayor uso se encuentran:
- CentOS, una distribución creada a partir del mismo código del sistema Red Hat pero mantenida por una comunidad de desarrolladores voluntarios.
- Debian, una distribución mantenida por una red de desarrolladores voluntarios con un gran compromiso por los principios del software libre.
- Elementary OS, Es una distribución Linux basada en Ubuntu 12.04
- Fedora, una distribución lanzada por Red Hat para la comunidad.
- Kubuntu, la versión en KDE de Ubuntu.
- Linux Mint, una popular distribución derivada de Ubuntu.
- Mandriva, mantenida por la compañía francesa del mismo nombre, es un sistema popular en Francia y Brasil. Está basada en Red Hat.
- openSUSE, originalmente basada en Slackware es patrocinada actualmente por la compañía SUSE (Micro Focus International).
- Ubuntu, una popular distribución para escritorio basada en Debian y mantenida por Canonical.
También podemos encontrar distribuciones especializadas para un uso específico, las cuales se detallan algunas a continuación:
- 64 Studio, una distribución basada en Debian diseñada para la edición multimedia.
- ABC GNU/Linux, distribución para la construcción de clusters Beowulf desarrollado por Iker Castaños Chavarri, Universidad del País Vasco.
- Kali Linux, distribución basada en Debian y especializada en seguridad de red.
- Debian Med, es una distro orientada a la práctica médica y a la investigación bio-médica.
- Edubuntu, un sistema del proyecto Ubuntu diseñado para entornos educativos.
- Emmabuntüs, es diseñada para facilitar el reacondicionamiento de computadores donados a comunidades Emaús.
- Fedora Electronic Lab, distribución basada en Fedora y especializada en el desarrollo electrónico.
En Venezuela, se implementó Canaima GNU/Linux que es un proyecto socio-tecnológico abierto, construido de forma colaborativa, centrado en el desarrollo de herramientas y modelos productivos basados en las Tecnologías de Información (TI) Libres de software y sistemas operativos cuyo objetivo es generar capacidades nacionales, desarrollo endógeno, apropiación y promoción del libre conocimiento, sin perder su motivo original: la construcción de una nación venezolana tecnológicamente preparada. Actualmente Canaima impulsa grandes proyectos nacionales tanto a nivel público como privado, entre los que se encuentran el Proyecto Canaima Educativo, el Plan Internet equipado de CANTV, entre otros.
Manejo GNU LINUX
Para el manejo de este sistema operarivo, Linux ofrece muchas alternativas. Los entornos de escritorio más populares son GNOME, KDE, XFCE, MATE y Cinnamon. Estos sirven para que el usuario pueda interactuar con el computador y realizar las actividades que requiera. Pero tambien existen comando básicos para realizar operaciones, estos comandos también se conocen como códigos. Por ejemplo para invocar la terminal, basta con presionar CTRL + ALT + T. En este enlace puedes encontrar una guía con un manual de comandos básicos.
También podemos encontrar comandos de comunicación y avanzados que permiten diferentes tipos de acciones en el computador. Estos requieren ser ejecutados con privilegios de root, para hacerlo solo se tiene que agregar "sudo " al inicio de cualquiera de los comandos de este estilo. Algunos de los que se pueden listar, se mencionan a continuación.
- arch : mostrar la arquitectura de la máquina (1).
- uname -m : mostrar la arquitectura de la máquina (2).
- uname -r : mostrar la versión del kernel usado.
- dmidecode -q : mostrar los componentes (hardware) del sistema.
- hdparm -i /dev/hda : mostrar las características de un disco duro.
- ls -lh: Mostrar permisos.
- ls /tmp | pr -T5 -W$COLUMNS: dividir la terminal en 5 columnas.
- chmod ugo+rwx directory1: colocar permisos de lectura ®, escritura (w) y ejecución(x) al propietario (u), al grupo (g) y a otros (o) sobre el directorio ‘directory1’.
Igual, en este enlace puedes conseguir una guía con este tipo de comandos.
Un proceso en Linux es, en resumen, un programa en ejecución. Un proceso puede crear a su vez otros procesos. Al proceso que genera otro proceso se le llama proceso padre. Al proceso generado por otro proceso se le llama proceso hijo. Los procesos pueden ser padres e hijos y además, varios procesos pueden ser hijos del mismo padre a la vez. Veamos un ejemplo.
El terminal o consola es un proceso, ya que se trata de un programa que ejecutamos. Si en el terminal escribimos, por ejemplo, el comando “ls -l”, se estaría generando un nuevo proceso que sería proceso hijo del terminal. En este caso el shell sería el proceso padre y el comando “ls -l” sería el proceso hijo.
De igual manera, en Linux podemos trabajar con los navegadores convencionales (Chrome, Mozilla, Explorer, Opera, etc) pero han desarrollado navegadores especializados para usarlos en este sistema operativo, entre los cuales se manejan: Swiftweasel, Flock, Epiphany. Para la versión Canaina GNU-LINUX existe el navegador Cunaguaro.











