En esta presentación se pretende introducir los principios sobre los cuales fue construído el kernel Linux y presentar técnicas básicas para el proceso de selección de una distribución GNU/Linux.
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
[ES] Introduccion a GNU / Linux
1. Diplomado en Software Libre
Introducción a GNU / Linux
Eudris Cabrera Rodríguez
@eudriscabrera
@eudriscabrera
15 Febrero 2014, Santiago de los Caballeros, R. D.
2. Asuntos Legales
Todas las marcas registradas, así como todos los logotipos, imágenes,
fotografías, audio y vídeos mostrados en esta presentación son
propiedad de sus respectivos propietarios.
Su utilización es solamente para fines ilustrativos y no pretendo dar a
entender cualquier afiliación con esas empresas.
Los conceptos y juicios de valor emitidos en esta presentación son
responsabilidad personal y no se puede entender como una posición
oficial de alguna empresa con la que he tenido relación laboral.
3. Agenda
❏
❏
❏
❏
❏
❏
❏
❏
Breve historia de GNU/Linux
Filosofía
Distribuciones GNU/Linux
Selección de una distribución GNU/Linux
Descripción del proceso de instalación
Componentes básicos de un sistema GNU/Linux
Proceso de arranque de GNU/Linux
Sistema de archivo
4. Objetivos
❖ Conocer los términos más comunes alrededor de GNU/Linux.
❖ Entender los principios sobre los cuales fue construído el kernel
Linux.
❖ Aprender técnicas básicas para el proceso de selección de una
distribución GNU/Linux.
5. Breve Historia
Linux es un kernel libre de sistema operativo basado en Unix.
Es uno de los principales ejemplos de software libre y de código
abierto.
El kernel Linux fue concebido por el
entonces estudiante de ciencias
de la computación finlandés
Linus Torvalds en 1991.
6. "Estoy haciendo un sistema operativo (gratuito, sólo un hobby, no será nada grande ni profesional
como GNU) para clones AT 386(486). Llevo en ello desde abril y está empezando a estar listo.
Me gustaría saber su opinión sobre las cosas que les gustan o disgustan en minix, ya que mi SO
tiene algún parecido con él.[...] Actualmente he portado bash(1.08) y gcc(1.40), y parece que las
cosas funcionan. Esto implica que tendré algo práctico dentro de unos meses..."
Publicado el 26 de agosto de 1991 por Linus Torvalds
Torvalds en el grupo de noticias comp.os.minix
7. Linux consiguió rápidamente desarrolladores y usuarios que adoptaron
códigos de otros proyectos de software libre para usarlo con el nuevo
sistema operativo.
Normalmente Linux se utiliza junto a un empaquetado de software,
llamado distribución GNU/Linux.
8. El kernel Linux ha recibido contribuciones de miles de programadores
de todo el mundo.
http://www.linuxfoundation.org/news-media/infographics/who-writes-linux-2013.
Se encuentra bajo la supervisión de Linux Foundation, un consorcio
tecnológico sin fines de lucro establecido para adoptar el crecimiento
de linux.
http://www.linuxfoundation.org
9.
10. Filosofía
Linux está construido con cierto conjunto de principios unificadores en
mente. La comprensión de estos principios es muy útil para entender
cómo funciona el sistema en su conjunto.
Se les conoce como el "Linux Way", que se deriva de la filosofía detrás
del sistema UNIX.
11. Linux Way
❖ Usar programas que hacen una sola tarea, pero lo hacen bien.
❖ Para llevar a cabo tareas complejas, utilizar varios programas
vinculados entre sí.
❖ Guarde la información en archivos de texto plano legibles siempre
que sea posible.
❖ No hay un "único y verdadero camino" para hacer cualquier
cosa.
❖ Preferir herramientas de línea de comandos en lugar de
herramientas gráficas.
12. La mayoría de las características de Linux son una consecuencia de
estos principios.
De acuerdo con ellos, un sistema Linux está construido a partir de
componentes pequeños, reemplazables.
13. ¿Qué es una distribución Linux ?
Es una distribución de software basada en el kernel Linux, que provee un
instalador, el núcleo del sistema y un paquete de aplicaciones adicionales
para satisfacer las necesidades de un grupo específico de usuarios.
Características
❖
❖
❖
Fácil instalación
Pueden ser actualizadas o mejoradas
Algunas tienen soporte comercial
14. Proceso de Selección
¿Cómo seleccionar una distribución linux ?
1.
2.
3.
4.
Estabilidad vs funcionalidades de última generación
Ambiente de Escritorio vs Ambiente de Servidores
¿Esta tu empleador estandarizado ?
¿Desea pagar soporte ?
16. Basadas en Debian
❖ Usada en servidores y escritorios.
❖ Ubuntu, derivada de debian, muy popular en escritorios.
❖ Utiliza los gestores de paquetes apt-get, aptitude para instalación
de softwares.
http://www.debian.org
17. Basadas en Fedora
❖ Promueve desarrollos de vanguardia (funcionalidades de última
generación).
❖ Frecuentes actualizaciones
❖ Es la fuente de distribuciones como CentOS y Oracle Linux.
❖ Se utiliza como base para RHEL (Red Hat Enterprise Linux)
❖ Utiliza yum como su gestor de paquetes.
http://fedoraproject.org
18. Open Suse
❖ Muy similar a fedora, frecuentes actualizaciones, funcionalidades de
última generación.
❖ Es la fuente de la distribución Suse Linux Enterprise Server
http://www.opensuse.org/en/
20. Instalación Linux
Formas más fáciles:
❖ Descargar un Live CD/DVD, USB Key
❖ Quemar el archivo iso a un CD/DVD o Memoria USB
❖ Cambiar el tamaño de las particiones en el disco duro
➢ También podrían utilizar el disco completo.
❖ Reiniciar y arrancar con el Live CD
❖ Instalar
22. Gestor de Arranque (Boot loader)
Esta es la parte del sistema que se ejecuta primero.
❖
Cuando usted tiene un solo sistema operativo instalado,
simplemente carga el kernel.
❖ Si sucede que tiene múltiples sistemas operativos o varias
versiones del kernel Linux instalado, se le permite elegir cuál
desea iniciar.
Los gestores de arranque más populares son GRUB (cargador de
inicio) y LILO (cargador de Linux).
23. Kernel
El núcleo es el componente central del sistema que se comunica
directamente con el hardware.
De hecho, el nombre "Linux" se refiere correctamente a un tipo particular de esta
pieza de software.
El núcleo asigna los recursos del sistema, como la memoria, el tiempo
de procesador, espacio en disco duro y dispositivos externos a los
programas que se ejecutan en el equipo.
24. Kernel
Separa cada programa de los otros, de manera que cuando uno de
ellos se encuentra con un error, los demás no se ven afectados.
La mayoría de los usuarios no tienen que preocuparse por el kernel en el uso del
día a día, pero cierto tipo de software o hardware requieren o funcionan mejor con
ciertas versiones del núcleo.
26. Interprete de Comandos (Shell)
Es una interfaz textual que permite ejecutar programas y controlar el
sistema mediante la introducción de comandos desde el teclado.
El shell es sólo un programa, hay varios diferentes para Linux, cada
uno de ellos ofrece diferentes características.
La mayoría de los sistemas Linux usan el Bourne Again Shell (bash).
Los shell Linux soporta multitareas (ejecutan varios programas a la
vez).
27. Initramfs
Sistema de archivos RAM inicial es el sucesor del initrd.
Se trata de un archivo cpio del sistema de archivos inicial que se carga
en la memoria durante el proceso de inicio de Linux.
initramfs tiene que contener todos los controladores de dispositivos y
las herramientas necesarias para montar el sistema de ficheros raíz
real.
28. Servidor de Ventana X (X Window Server)
El servidor de ventanas X es un reemplazo gráfica de la consola de
comandos.
Es responsable de la elaboración de gráficos y procesamiento de
entrada desde el teclado, el ratón, tabletas y otros dispositivos.
El servidor X es transparente a la red, es decir, que le permite
trabajar en un entorno gráfico, tanto en su propio equipo, así como en
un equipo remoto que se conecta a través de una red.
29. El servidor X que es el más utilizado hoy en día es X.Org.
La mayoría de los programas gráficos sólo necesitarán el servidor X
para funcionar, por lo que se pueden utilizar bajo cualquier
administrador de ventanas y el entorno de escritorio.
30. Manejador de Ventana (Window Manager)
El gestor de ventanas es un programa que se comunica con el servidor
X.
Su tarea es la gestión de ventanas. Es responsable de la elaboración
de los bordes de las ventanas, con lo que una ventana al frente cuando
hace clic en él, se mueve en la pantalla y ocultarlas cuando minimiza el
programa.
Ejemplos de gestores de ventanas populares son: Metacity, KWin,Xfwm, Compiz Fusion
31. El entorno de escritorio (Desktop Environment)
Los entornos de escritorio, como el entorno de escritorio GNOME, KDE y Xfce,
son conjuntos de programas diseñados para presentar una interfaz de usuario
consistente para la mayoría de las tareas comunes.
32. Proceso de Arranque
En Linux, el flujo de control durante el arranque es desde el BIOS, al
gestor de arranque y al núcleo (kernel).
El núcleo inicia el planificador de tareas (para permitir la multitarea) y
ejecuta el primer espacio de usuario (es decir, fuera del espacio del
núcleo) y el programa de inicialización (que establece el entorno de
usuario y permite la interacción del usuario y el inicio de sesión),
momento en el que el núcleo se inactiva hasta que sea llamado
externamente.
34. Proceso de Arranque
La etapa del cargador de arranque no es totalmente necesaria.
Determinados BIOS pueden cargar y pasar el control a Linux sin hacer
uso del cargador. Cada proceso de arranque será diferente
dependiendo de la arquitectura del procesador y el BIOS.
35. Sistema de Archivo
Hay varios sistemas de archivos que las distribuciones basadas en Linux
utilizan. Son BTRFS, EXT3 / 4, VFS, NILFS y SquashFS.
En Linux, el directorio de nivel superior se denomina directorio raíz y denota
con una barra inclinada "/".
Cada archivo y directorio en el sistema debe ser un descendiente del
directorio raíz.
Los directorios se separan con "/". Los nombres de los directorios y archivos
pueden contener todos los caracteres excepto "/" y el carácter nulo.
37. Sistema de Archivo
El directorio raíz contiene generalmente sólo un pequeño número de
subdirectorios.
Los más importantes son:
bin :
Programas necesarios para realizar tareas básicas, es decir, cambian
de un directorio o copiar un archivo.
dev :
Archivos especiales que representan los dispositivos de hardware.
38. Sistema de Archivo
etc:
Los archivos de configuración.
home :
Contiene los directorios privados de los usuarios.
media or mnt :
Punto de montaje para unidades externas conectadas a este equipo,
es decir, CDs o memorias USB.
39. Sistema de Archivo
tmp : archivos temporales.
usr : programas instalados en el ordenador.
var : datos variables producidos por programas, como los registros de
errores.
opt: programas de terceros.