Curso Básico
GNU/ Linux Ing. Néstor Alonso Torres <
[email protected]> Departamento de Telecomunicaciones y Telemática CUJAE
Tem as deI Curso 1. Introducción a GNU/ Linux 2. Interfaz gráfica. Aplicaciones 3. Interfaz de línea de com andos. Bash 4. Configuración y Adm inistración 5. Tem a variable, de acuerdo al perfil del curso
2
¿Quién soy yo? ●
Profesor del Dpto de Telecom unicaciones, CUJAE
●
Administrador de red/ sistem as
●
Diseñador web
●
Program ador web y de aplicaciones de escritorio
●
Administrador de linux - l y linux - prog
●
Miem bro de LiHab y haSLo
●
Defensor del soft ware libre
3
¿Donde encontrarm e? ●
nest
[email protected]
●
nest or.linux @gm ail.com
●
Listas de discusión (nat:.):
●
–
linux - l: http:/ / listas.softwarelibre.cu
–
linux - prog: http:/ / listas.softwarelibre.cu
Grupos pro- software libre: –
Linux - Habana: http:/ / lihab.snap.cu
–
haSLo: http:/ / haslo.latertulia.org
4
Tem a I ●
Introducción a Linux –
¿Qué es Linux ?
–
Historia
–
Num eración de las versiones del kernel
●
Sistema GNU/ Linux
●
Software Libre y Código Abierto
●
¿Qué son las distribuciones?
●
Instalando GNU/ Linux
●
Organización del sistema de archivos
●
Obteniendo ayuda
5
Introducción a Linux 6
¿Qué es Linux ? ●
Linux es un sistema operativo m oderno, de libre distribución
●
Es estable, seguro, confiable y con buen desem peño, especialm ente en redes
●
Se estim a que ex isten 29 m illones de usuarios en el m undo 7
¿Qué es Linux ? ●
●
Es capaz de correr en m últiples plataform as: –
Intel
- Alpha
–
SPARC
- PowerPC
–
MIPS
- ARM
–
Amiga
- Atari
–
SGI
Com o sistem a derivado de UNIX, está diseñado para ser flex ible, no fácil de usar. 8
¿Qué es Linux ? ●
Implem entación del núcleo (kernel) UNIX, escrita desde cero, sin código propietario
●
Es un núcleo m onolítico, modular, escalable, portable, m ultiusuario y m ultitarea
●
Cumple con POSIX (Portable Operating System UNIX) IEEE 1003.1 9
Historia ●
El sistem a operativo Linux nació en el año 1991, a partir de una idea original del finlandés Linus Benedict Torvalds, un estudiante de 21 años, de la Universidad de Helsinki
●
Mayo 1991: Versión 0.01. Sin código para red, corría solo en procesadores 80386Intel com patibles y en hardware de PC, tenia un soporte de drivers en ex t rem o lim itado y solo soportaba el sistema de ficheros de MINIX.
10
Historia ●
5 de octubre de 1991: Versión 0.02 “ Do you pine for the nice days of Minix 1.1, when men were m en and wrote their own device drivers? (...)”
●
Ya podía correr gcc y bash
11
Historia ●
Linus pasó a la 0.03 y luego a la 0.10. Com enzó a em plear el lenguaje C
●
Marzo de 1992: Versión 0.95
●
Diciem bre de 1993: Versión 0.99.14j
12
Historia ●
Marzo 1994: Linux 1.0, incluía nuevas características: – – – – – –
Soporte para el stack de protocolos TCP/ IP Interfaz de sockets compatibles con BSD para la programación de software de red Soporte para dispositivos Ethernet Sistema de ficheros mejorado Soporte para un conjunto de controladoras SCSI Aumento en la cantidad de hardware soportado 13
Historia ●
Marzo 1995: Versión 1.2. Últim a versión confinada a PC
●
La historia de las versiones del kernel de Linux se puede consultar en:
http:/ / ft p.cdut.edu.cn/ pub2/ linux / kernel/ history/ Master.htm l 14
Historia ●
Junio de 1996: Versión 2.0. Añade dos capacidades fundam entales: –
–
Soporte para múltiples arquitecturas, incluido una versión de 64bits para arquitectura Alpha. Disponible para las series 68000 de los procesadores Motorola, sistemas Sun SPARC, y para sistemas PowerPC Soporte para arquitecturas multiprocesadores
15
Historia ●
25 de Enero de 1999: Versión 2.2
●
Más de dos años de trabajo intenso. El 80% del código es nuevo la cantidad de líneas pasa de 917 251 en la versión 2.0.36 (sin contar Makefiles, ni documentación, ni scripts) a 1 676 155 líneas en la versión 2.2.1
●
Incorpora soporte avanzado de arquitecturas m ultiprocesador sim étricas (SMP)
16
Historia ●
2.2 otros elem entos destacables: –
– – –
El driver de sonido completamente modularizado para facilitar la configuración de las tarjetas de sonido sin necesidad de recompilar de nuevo el kernel Inicio de soporte Plug&Play (limitado) Video4Linux Mejora al soporte SCSI
17
Historia ●
4 de Enero del 2001: Versión 2.4. La revisión estable m ás reciente es la 2.4.34 – – – –
–
Soporte Plug&Play avanzado Soporte para USB Mejoras en el sistema de ficheros y en el administrador de memoria Soporte para nuevas arquitecturas de computadoras entre las que están las basadas en los procesadores Intel de 64bits Introducción de componentes para la gestión de tráfico IP y otras opciones avanzadas 18
Historia ●
17 de Diciem bre de 2003: Versión 2.6
●
Es la últim a ram a estable del kernel. Su revisión estable m ás reciente es la 2.6.22 – – – – –
Perfecciona la funcionalidad Plug&Play Incorpora soporte para USB 2.0 Soporte de Hyperthreading Sustitución de OSS por ALSA (soporte de audio) Soporte mejorado para el NAT 19
Num eración del kernel ●
Hasta hace poco, las versiones del kernel se enum eraban así:
2 .4 .3 3 2 .6 .8
Número sucesivo de parches
Par: Kernel estable Impar: Kernel en fase de pruebas Versión Principal 20
Num eración del kernel ●
Actualm ente:
2 .4 .3 3 .3 2 .6 .1 7 .4
Nuevas revisiones menores Cambia cuando se agregan características o drivers
Corrección de fallos de seguridad o de programación
Revisión Principal Pares e impares no significan nada Versión Principal 21
Sistem a GNU/ Linux 22
Sistem a GNU/ Linux ●
Linux utiliza m uchas herram ient as desarrolladas com o parte del sistem a operativo BSD de Berkeley, del sistem a de ventanas del MIT, y del proyecto de la Free Software Foundation GNU
●
Las bibliotecas principales del sistem a fueron com enzadas por el proyecto GNU, con mejoras aportadas por la com unidad Linux 23
Sistem a GNU/ Linux ●
Las herram ientas de adm inistración de la red fueron derivadas del código de BSD 4.3. Los derivados recientes de BSD como FreeBSD han tom ado código de GNU/ Linux
●
El sistem a GNU/ Linux se mantiene por una gran red de programadores colaborando por Internet , con un núm ero pequeño de sitios ftp públicos actuando como los proveedores estándares 24
Sistem a GNU/ Linux ●
Com ponent es del sistema Programas de gestión del sistema
Programas utilitarios de usuario
Procesos de usuario
Compiladores
Bibliotecas compartidas del sistema Kernel Linux Módulos del Kernel 25
Sistem a GNU/ Linux ●
Com o la m ayoría de las im plem entaciones UNIX, Linux está com puesto de tres cuerpos fundam entales de código; la distinción m ás im portante es entre el kernel y el resto de los com ponentes
26
Sistem a GNU/ Linux ●
El kernel es responsable de m antener las abst racciones im portantes del sistema operativo –
El código del Kernel se ejecuta en modo privilegiado con acceso total a todos los recursos físicos de la computadora
–
Todo el código del kernel y sus estructuras de datos se mantienen en el mismo espacio de direcciones 27
Sistem a GNU/ Linux ●
Las librerías del sistem a definen un conjunto estándar de funciones a través de las cuales las aplicaciones interactúan con el kernel, y que implem entan mucha de la funcionalidad del sistem a operativo que no necesita los privilegios del código del kernel
●
Las utilidades del sistem a, que realizan tareas de adm inistración especificas 28
Sistem a GNU/ Linux ●
Módulos del kernel: Secciones de código del kernel que pueden compilarse, cargarse y descargarse independientem ente del resto del kernel
●
Un m ódulo del kernel típicamente implem enta un manipulador de dispositivos, un sistem a de ficheros o un protocolo de red 29
Sistem a GNU/ Linux ●
La interfaz de módulos le permite a terceros la escritura y distribución, bajo sus propias condiciones, de m anipuladores de dispositivos o sistemas de ficheros que no puedan distribuirse bajo GPL
●
Los módulos del kernel le perm iten a un sistem a Linux ser configurado con un kernel m ínim o estándar, sin m anipuladores de dispositivos insertados en él 30
Software Libre y Código Abierto 31
Software Libre y Código Abierto ●
El proyecto GNU, que dio inicio al m ovim iento de Software Libre, fue creado por Richard Stallman, en enero de 1984
●
Tenía com o objetivo el desarrollo de un sistem a com pleto, al estilo UNIX, que fuera totalm ente libre
32
Software Libre y Código Abierto ●
La esencia del Software Libre se ex presa en las 4 libertades:
0. La libertad de ejecutar el program a sea cual sea el propósito 1. La libertad para m odificar el programa para ajustarlo a tus necesidades
33
Software Libre y Código Abierto 2. La libertad de redistribuir copias, ya sea de forma gratuita, ya sea a cam bio del pago de un precio 3. La libertad de distribuir versiones m odificadas del program a, de tal forma que la com unidad pueda aprovechar las m ejoras introducidas ●
El m ecanismo de prot ección de estas libertades es la licencia GNU/ GPL
34
Software Libre y Código Abierto ●
La licencia GNU/ GPL posibilita la m odificación, redistribución del software, pero solo bajo esa m isma licencia. Y añade que si se reutiliza en un m ism o program a código "A" licenciado bajo licencia GNU/ GPL y código "B" licenciado bajo otro tipo de licencia libre, el código final "C", con independencia de la cantidad y calidad de cada código "A" y "B", debe de estar bajo la licencia GNU/ GPL 35
Software Libre y Código Abierto ●
El Código Abierto (Open Source) es otra corriente. Puede verse com o una “sombrilla” que agrupa varias licencias, de código abierto
●
http:/ / www.opensource.org Software Libre ≠ Código Abierto Software Libre ≠ Software Gratuito 36
¿Qué son las distribuciones? 37
¿Qué son las distribuciones? ●
Se conforman por el sistema básico de Linux (kernel), utilidades para la instalación y el mantenimiento del sistema y un conjunto (dependiente del distribuidor) de herramientas UNIX listas para instalar
●
Las primeras distribuciones manejaban estos componentes simplemente proveyendo algún mecanismo que garantizara que los ficheros fueran descomprimidos en el lugar adecuado. Las distribuciones modernas cuentan con sistemas de administración avanzados de paquetes 38
¿Qué son las distribuciones? ●
Debian: Com enzó com o la dist ribución oficial de la Free Software Foundation (FSF) y luego se separó
●
Para la adm inistración de los paquetes de program as utiliza un sistem a llam ado dpkg, y sobre este, apt- get
●
Está considerada por m uchos una de las distribuciones técnicam ent e m ás sólidas y estables de Linux 39
¿Qué son las distribuciones? ●
En la misma medida es considerada por muchos una de las más difíciles de usar por los nuevos usuarios
●
Como muchas otras ofrece soporte técnico pero en este caso solo a través de contratos corporativos y no a usuarios finales
●
Puede instalarse desde la red, lo que requiere la descarga de un kernel reducido, algunas aplicaciones y el instalador
●
Es la base para muchas distribuciones modernas: Knoppix , Ubuntu y otras 40
¿Qué son las distribuciones? ●
SuSE: Una de las distribuciones que goza de mayor popularidad en Europa y crece a buen ritm o en EUA
●
Utiliza RPM com o sistema de adm inistración de paquetes
●
Casi todas las tareas de adm inistración se integran en una herramienta llam ada YaST2 (Yet Another Setup Tool) 41
¿Qué son las distribuciones? ●
Otro elem ento de diferencia esencial con el resto de las distribuciones es su em peño por ser volum inosa
●
En noviem bre de 2003 fue adquirida (por 210 MM USD) por Novell Netware
●
Novell ofrece 5 distribuciones o productos SuSE – Linux : SuSE Linux Enterprise Server, SuSE Linux Desktop, SuSE Linux Retail Solution, Novell Linux Desktop, Novell 42 Enterprise Server
¿Qué son las distribuciones? ●
RedHat: Es hoy una de las distribuciones m ás populares en EUA
●
Introduce el sistem a de adm inistración de software por paquetes conocido como RPM y que se ut iliza am pliam ente por casi todas las distribuciones.
●
RedHat es una de las com pañías que com ercializan Linux con m ayor solvencia en el m ercado. 43
¿Qué son las distribuciones? ●
La últim a versión gratuit a que puso en el m ercado fue RedHat 9.0 en el 2003
●
La versión más actualizada es la RHEL 4.0
●
La versión RHEL 5.0 debe ver la luz el 28 de Febrero de 2007
44
¿Qué son las distribuciones? ●
Fedora: Una distribución hasta hace poco auspiciada por RedHat y soportada por una amplia comunidad de usuarios
●
Es completamente libre y pretende garantizar la entrega de dos o tres versiones por año
●
Una posible desventaja es el relativamente corto tiempo durante el que se producen actualizaciones de paquetes para cada versión 45
¿Qué son las distribuciones? ●
Mandriva: MandrakeSoft fue creado en 1998 con el propósito de hacer Linux más fácil de usar para cualquiera.
●
Nació como una distribución basada en RedHat, añadiendo algunas características que no est aban integradas, com o el entorno gráfico KDE y un instalador gráfico sim ple y sencillo de usar. 46
¿Qué son las distribuciones? ●
Basa su poder en el Mandriva Cont rol Center
●
A inicios del año 2005, MandrakeSoft com pra Conectiva, por 2,3 MM de USD
●
A m ediados del 2005, Mandriva com pra Lycoris. 47
¿Qué son las distribuciones? ●
Gentoo : Es una distribución de reciente creación basada en código fuente.
●
Provee, en conjunto con su sistema de paquetes, una jerarquía de inst rucciones que autom atiza la descarga, compilación, actualización y empaquetado de software en tu m áquina.
●
Puede demorar 18 horas com pilando OO.org
48
¿Qué son las distribuciones? ●
Slackware: En activo desde 1993. Es la distribución m ás antigua que se m antiene.
●
A ella se debe en gran m edida el auge de Linux y la ex istencia de las distribuciones actuales.
●
Debe m encionarse su gran nivel de actualización y robustez técnica.
●
Introdujo el concepto de gestión de paquetes
49
¿Qué son las distribuciones? ●
Com parte con Debian el honor de ser una de las distribuciones m enos am igables con el usuario novato, debido a su principio KISS
●
Es m antenida prácticam ente por Patrick Volkerding, y una com unidad no oficial de em paquetadores
●
Una búsqueda en http:/ / www.linux .org arroja m ás de 300 distribuciones derivadas 50
¿Qué son las distribuciones? ●
Tiene com o principio ser lo más cercana a UNIX posible.
●
Otro de sus principios es la sencillez
Sencillez ≠ Facilidad
51
¿Qué son las distribuciones? ●
Los “LiveCD” son una forma ex celente de probar una distribución GNU/ Linux , sin dañar (ni siquiera tocar) el disco duro de la m áquina en que corre.
52
Instalando GNU/ Linux 53
Instalando GNU/ Linux
54
Instalando GNU/ Linux
55
Instalando GNU/ Linux
56
Instalando GNU/ Linux
57
Instalando GNU/ Linux
58
Instalando GNU/ Linux
59
Instalando GNU/ Linux
60
Instalando GNU/ Linux
61
Instalando GNU/ Linux
62
Instalando GNU/ Linux
63
Instalando GNU/ Linux
64
Instalando GNU/ Linux
65
Instalando GNU/ Linux
66
Instalando GNU/ Linux
67
Instalando GNU/ Linux
68
Organización del sistem a de archivos 69
Organización del sist. de archivos
70
Organización del sist. de archivos ●
El sistem a de archivos de UNIX es en ex tremo simple y elegante
●
Todos los sistem as UNIX pueden m anejar m últiples particiones, cada una con diferentes sistem as de archivos
●
Todo es un fichero 71
Organización del sist. de archivos ●
El bloqueo de acceso a ficheros es a nivel de bytes
●
El sistem a alm acena bytes. No hay distinción entre program as o archivos de tex to
●
Las ex tensiones de los ficheros son descriptivas para el usuario, no para el Sistem a Operat ivo
72
Organización del sist. de archivos ●
Los nombres de los ficheros pueden tener hasta 255 caracteres de largo e incluir cualquier caracter ASCII ex cepto / y NUL
●
El sistem a es sensible a las m ayúsculas
●
Los ficheros “ocultos” son los que com ienzan con . 73
Organización del sist. de archivos ●
/ es la raíz del sistema. Es el prim ero y único en el nivel superior del árbol jerárquico
●
bin: Alm acena los program as esenciales de usuario
●
boot: Alm acena los archivos utilizados por lilo, y com unm ente el kernel y sus archivos 74 relacionados
Organización del sist. de archivos ●
dev: Alm acena los nodos de dispositivos
●
etc: Alm acena la configuración de casi todos los program as del sistema.
●
hom e: Se almacenan aquí los directorios personales de cada usuario
75
Organización del sist. de archivos ●
lib: Alm acena las bibliotecas básicas, necesarias para el funcionam iento del sistem a
●
m nt: Contiene puntos de m ontaje tem porales para el trabajo con discos duros o unidades rem ovibles
●
opt: Paquetes de soft ware opcionales 76
Organización del sist. de archivos ●
proc: Sistema de archivos virtual que brinda acceso a la información del núcleo. Contiene información detallada sobre los procesos que están corriendo, así como del hardware
●
root: Directorio “home” de root
●
sbin: Los programas esenciales que corre root y los que corren durante el proceso de inicio del sistema se almacenan aquí 77
Organización del sist. de archivos ●
tmp: Localización de almacenamiento temporal. Todos los usuarios tienen derechos de lectura y escritura en este directorio
●
usr: Programas, documentación, el código fuente del núcleo, y el sistema X Window
●
var: Todo lo que cambia con frecuencia. Incluye logs, colas de correo, y a veces www 78
Obteniendo ayuda 79
Obteniendo ayuda ●
●
Hay varias form as de obtener ayuda en el sistem a: –
man
–
whatis
–
apropos
Leyendo los HOWTOs y MiniHOWTOs, así com o las FAQ 80
Obteniendo ayuda ●
m an es la form a tradicional de obtener ayuda en los sistem as UNIX. Es a lo que se refieren los listeros cuando dicen RTFM!
●
Las páginas m an están divididas en 8 secciones, para evitar que coincidan nom bres de articulos
# m an 1 m an 81
Obteniendo ayuda ●
Sección 1: Comandos de usuario
●
Sección 2: Llamadas de sistema
●
Sección 3: Llamadas de bibliotecas C
●
Sección 4: Dispositivos (p.e. hd, sd)
●
Sección 5: Formatos de archivo y protocolos (p.e. wtmp, / etc/ passwd, nfs)
●
Sección 6: Juegos (solo introducción)
●
Sección 7: Convenciones, paquetes macro, etc.
●
Sección 8: Administración del sistema 82
Obteniendo ayuda ●
whatis brinda una descripción m uy breve de los com andos del sistem a, al estilo de una referencia de bolsillo.
# whatis whatis whatis (1) - search the whatis database for com plete words
83
Obteniendo ayuda ●
apropos: Se utiliza para buscar una página m an que contenga una palabra clave dada
# apropos wav cdda2wav (1) - a sam pling utility that dum ps CD audio data into wav sound files netwave_cs (4) - Xircom Creditcard Netwave device driver oggdec (1) - sim ple decoder, Ogg Vorbis file to PCM audio file (WAV or RAW) 84
Obteniendo ayuda ●
Los HOWTOs y MiniHOWTOs son ex actam ente eso: docum entos y guías que describen com o hacer algo
●
Se encuentran norm alm ente en / usr/ doc/ Linux - HOWTOs
85
Bibliografía 1. Tanenbaum, Andrew. “Modern Operating Systems, 2 nd Ed”. Prentice Hall 2. St. Laurent, Andrew. “Open Source and Free Software Licensing”. O'Reilly, 2004 3. “Lo Esencial de Slackware Linux ”, 2006. http:/ / www.softwarelibre.cu/ docs 4. “Manual Linux Eminentemente Práctico”. ZonaSiete.ORG Editors Team, 2004 5. Entrenamiento Básico en Linux . DISAIC, 2002 6. Curso Propedéutico SO de Red. Dr. Alain Garófalo, 86 CUJAE 2006
Para term inar Este documento está licenciado bajo Creative Commons (Attribution- NonCommercialShareAlike) Puedes: Copiar, reproducir, mostrar públicamente y modificarlo, siempre y cuando cites al autor; no lo uses para fines comerciales, y las obras derivadas se mantengan bajo esta misma licencia. 87