Session 1 del Curso Linux

33
Ing. Milton Villanueva Flores Ing. Milton Villanueva Flores

description

Session 1, del curso de GNU/Linux desarrollado en Piura - Peru

Transcript of Session 1 del Curso Linux

Page 1: Session 1 del Curso Linux

Ing. Milton Villanueva FloresIng. Milton Villanueva Flores

Page 2: Session 1 del Curso Linux

IntroducciónIntroducción

Software parece ser un termino nuevo, pero sin embargo es algo que existedesde mucho incluso desde el inicio de la era de las computadoras.

Este curso será útil sobre todo a quienes están dando sus primeros pasos en el mundo del software libre. El objetivo principal es proporcionar una serie deexplicaciones sencillas y prácticas, de tal modo quecualquiera, sin grandes conocimientos de informática, pueda convertirse en usuario de GNU/Linux y aprovechar todas las ventajas que ofrecen los sistemas libres.

Page 3: Session 1 del Curso Linux

La historia del software libre se puede decir que comenzó entre los años 1960 y 1970 cuando el software no era muy tenido en cuenta ya que se consideraba que era un extra de las grandes máquinas de la época, del hardware.

Tomando como base las ideas de Paul Baran y Donald Davies y con la ayuda técnica de Larry Roberts del MIT y otros pioneros, Bob Taylor puso en pie ARPAnet.

UNIX (1969), de los laboratorios Bell de AT&T, que buscaba crear un sistema operativo simple y elegante.

En 1976, el código de UNIX se puso a disposición de las universidades norteamericanas sin ningún tipo de coste.

finales de los años 70 AT&T creo un grupo con la misión de comercializar el sistema operativo: el UNIX Support Group (USG).

El problema que surgio fue que las licencias, que en principio habían sido gratis o muy baratas para las universidades, comenzaron a encarecerse y a restringirse, limitando de esta forma el uso y la mejora del sistema operativo.

Historia del Software Libre

Page 4: Session 1 del Curso Linux

Historia del Software Libre

La política de licencias de AT&T provocá que cada gran empresa dispusiera de su propia versión de UNIX. El problema fue que realizaron modificaciones que dificultaban la interoperabilidad y entorpezcan el reaprovechamiento de conocimiento que se pudiera tener sobre el UNIX de otro fabricante. Algunas de estas versiones y sus empresas comercializadoras eran:

* AIX: IBM * HP-UX: Hewlett-Packard * Solaris y SunOS: Sun * IRIX: Silicon Graphics

Page 5: Session 1 del Curso Linux

Richard Mathew Stallman (a veces nombrado por el acrónimo RMS, basado en su nombre de usuario en los computadores del MIT) es un personaje a la vez genial y controvertido, imprescindible para comprender el software libre.

Este físico, graduado en 1974 en Harvard, trabajaba en el laboratorio de inteligencia artificialdel Instituto de Tecnología de Massachussetts (MIT) desde 1971.

Historia del Software Libre

Page 6: Session 1 del Curso Linux

RMS abandono el MIT en enero de 1984, para iniciar el proyecto GNU.

GNU es un acrónimo recursivo que significa GNU's Not Unix, GNU No Es UNIX, referencia a que el proyecto busca desarrollar un sistema operativo de tipo UNIX, pero libre.

En sus comienzos, el proyecto GNU se concentró en desarrollar las herramientas necesarias para construir un sistema operativo, como editores y compiladores y en las utilidades básicas para la gestión del sistema.

Sobre 1985, Richard Stallman creó la licencia GPL (General Public License) como mecanismo para proteger el software libre, sustentado sobre el concepto de copyleft.

Mediante él, se le da la vuelta a la idea de copyright, de manera que "todo el mundo tiene derecho a ejecutar un programa, copiarlo, modificarlo y distribuir las versiones modificadas, pero no tiene permiso para añadir sus propias restricciones al mismo". De esta forma, las libertades que definen al software libre están garantizadas para todo el mundo que tenga una copia, tornándose en derechos inalienables.

Historia del Software Libre

Page 7: Session 1 del Curso Linux

Historia del Software Libre

Unix BSD, se separa totalmente de UNIX de AT&T, reprogramando todo de nuevode esto aparecen los primeros sistemas operativos libres como :

* BSD-Lite* FreeBSD* OpenBSD* Darwin : base para el MACOS

Page 8: Session 1 del Curso Linux

MINIX es un sistema operativo de tipo UNIX, preparado para funcionar sobre un PC 80806 y dotado de una funcionalidad limitada.

Su autor es Andrew Tanenbaum, un conocido profesor universitario de informatica, que lo diseño para enseñar sistemas operativos en una asignatura semestral.

A principios de los 90, su libro sobre sistemas operativos "Operating Systems: Design and Implementation", en el que se incluia una versión impresa de MINIX, era utilizado en las facultades de todo el mundo. El grupo de noticias de MINIX tenía 40000 suscriptores, que pedían continuamente nuevas prestaciones para el software, que Tanenbaum rechazaba porque quería mantenerlo lo suficientemente pequeñoo como para poder seguir enseñando con él.

Es en este momento donde entra en escena uno de los actores principales de toda esta historia: Linux.

Historia del Software Libre

Page 9: Session 1 del Curso Linux

Linus Torvalds era en 1991 un estudiante finlandés de 2do de informática. Frustrado por tener que utilizar MS-DOS en su ordenador personal y queriendo evitar las limitaciones de MINIX, envió un mensaje al grupo de noticias comp.os.minix con unas palabras que ya se han convertido en clásicas:.

A partir de ese momento y empleando los componentes desarrollados por el proyecto GNU y la Internet como vehículo de comunicación, Linus consiguió convertirse en el líder de una comunidad de desarrolladores repartida por todo el mundo.

La versión 1.0 de Linux fue publicada en 1994.

Historia del Software Libre

TUXTUX

Page 10: Session 1 del Curso Linux

Do you pine for the nice days of minix-1.1, when men were men and wrotetheir own device drivers? Are you without a nice project and just dyingto cut your teeth on a OS you can try to modify for your needs? Are youfinding it frustrating when everything works on minix? No more all-nighters to get a nifty program working? Then this post might be justfor you :-)

As I mentioned a month(?) ago, I'm working on a free version of aminix-lookalike for AT-386 computers. It has finally reached the stagewhere it's even usable (though may not be depending on what you want),and I am willing to put out the sources for wider distribution. It isjust version 0.02 (+1 (very small) patch already), but I've successfullyrun bash/gcc/gnu-make/gnu-sed/compress etc under it.

Mensaje enviado por Linus a la comunidad Minix

Page 11: Session 1 del Curso Linux

Linux ofreció a los usuarios de las herramientas de GNU lo que hasta entonces no habían tenido: el núcleo que les permitiese poner en marcha un sistema completamente libre.

Los proyectos comenzaron a aflorar, coincidiendo con el despegue a nivel mundial de la Internet y el abaratamiento de las conexiones. Conforme más gente tenía acceso a la Red, más grande se hacía la comunidad y nuevos usos empezaban a darse al sistema operativo.

Uno de los mayores triunfos fue el servidor web Apache, que más tarde se articularía en torno a un proyecto más amplio que mantuvo el mismo nombre. Apache evolucionó en principio desde el código del servidor web NCSA HTTPd 1.3, aunque después fue completamente reescrito.

Netscape, que por aquel entonces se encontraba bajo asedio en la guerra de los navegadores que mantuvo con Microsoft, decidió liberar el código de Navigator en 1998. Así nació el proyecto Mozilla, que varios años después se ha consolidado como una alternativa a los navegadores y clientes de correo de Microsoft, mediante Firefox y Thunderbird respectivamente.

A mediados de los 90 muchas empresas empezaron a centrar su atención en las soluciones basadas en Linux. Su rendimiento y seguridad como servidor y la capacidad de correr sobre hardware barato, unidos a su bajo coste, han hecho que su utilización no haya dejado de crecer desde entonces.

Historia del software LibreHistoria del software Libre

Page 12: Session 1 del Curso Linux

En 1998, Eric S. Raymond y otras personas, ante las dificultades de muchas empresas de entender las ventajas del software libre, decidieron poner en marcha la Open Source Iniciative (OSI).

Richard Stallman, que inicialmente apoyaba la iniciativa, se retiró de ella por no compartir que se restase importancia a las motivaciones éticas para desarrollar software libre. Según El, "el código abierto es una metodología de desarrollo; el software libre es una filosofía política (o un movimiento social)".

Así, la corriente del código abierto intenta convencer a las empresas de que pueden obtener beneficios respetando la libertad de sus usuarios de intercambiar y compartir sus programas. En cambio, la del software libre hace énfasis en que todos los programadores tienen la obligación ética de respetar las libertades básicas del software para el resto de la gente.

Historia del software LibreHistoria del software Libre

ErickErick

Page 13: Session 1 del Curso Linux

Uno de los últimos aspectos en consolidarse dentro del software libre han sido los entornos y aplicaciones de escritorio. Aunque siempre han existido, no se disponía de alternativas capaces de convencer a los usuarios de otros sistemas operativos gráficos, o de Windows.

Sin embargo, tanto KDE como GNOME, e incluso otras alternativas menos conocidas como XFCE, ofrecen un entorno de trabajo en el que ningún usuario proveniente de otro sistema puede sentirse incómodo.

Un fenómeno novedoso es que los programas privativos están empezando a implementar ideas presentes en programas libres.

Por ejemplo, la nueva versión de Windows, Longhorn, anuncia como gran novedad los escritorios virtuales y la "barra lateral", que son utilizados desde hace años por los usuarios de GNU/Linux y otras versiones de UNIX. Otro ejemplo es el de Microsoft Outlook, que en sus últimas versiones está implementando caracterésticas que ya tenía Evolution, como las carpetas virtuales (carpetas de búsqueda en Outlook).

El futuro del software libre se presenta imparable en muchos frentes y de los servidores y las instalaciones de centros de investigación está pasando a empresas y administraciones, que empiezan a desplegar miles de puestos de trabajo con El.

Page 14: Session 1 del Curso Linux
Page 15: Session 1 del Curso Linux

* Libertad 0: * Libertad 0: la libertad de usar el programa, con cualquier propósitola libertad de usar el programa, con cualquier propósito

* Libertad 1:* Libertad 1: la libertad de estudiar cómo funciona el programa, y adaptarlo a tus la libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidadesnecesidades.

* Libertad 2:* Libertad 2: la libertad de distribuir copias, con lo que puedes ayudar a tu vecino. la libertad de distribuir copias, con lo que puedes ayudar a tu vecino.

* Libertad 3:* Libertad 3: la libertad de mejorar el programa y hacer públicas las mejoras la libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie.a los demás, de modo que toda la comunidad se beneficie.

Page 16: Session 1 del Curso Linux
Page 17: Session 1 del Curso Linux

Caracteristicas de LinuxCaracteristicas de Linux

●Multitarea : varios programas (realmente procesos) ejecutándose al mismo tiempo

●Mulriproceso : varios usuarios en la misma máquina al mismo tiempo (¡y sin licencias para todos!).

●Multiplataforma: corre en muchas CPUs distintas, no sólo Intel

●Proteccion de memoria entre procesos, de manera que uno de ellos no cuelgue la maquina

●Carga de ejecutables bajo demanda : lee del disco lo que enecesita en ese momento

●Comparte paginas de memoria entre los procesos

●Emula versiones de unix

●Accede en modo trasparente a particiones DOS, FAT y FAT32

●TCP/IP adherido

●Sistema de archivos Cdrom que lee todos los formatos estandar

●Varias consolas virtuales

●Soporta muchos dispositivos de entrada y alamacenamiento

Page 18: Session 1 del Curso Linux

El Kernel de LinuxEl Kernel de Linux

Page 19: Session 1 del Curso Linux

El Kernel es el verdadero Linux, el que controla directamente la memoria y los dispositivos del ordenador. El Kernel Linux, creado inicialmente por Linus Torvalds junto al Proyecto GNU de Richard Stallman forman lo que nosotros usamos, el GNU/Linux.

el corazón de este sistema operativo. Es el encargado de que el software y el hardware de tu ordenador puedan trabajar juntos.

Las funciones más importantes del mismo, aunque no las únicas, son:

* Administración de la memoria para todos los programas y procesos en ejecución. * Administración del tiempo de procesador que los programas y procesos en ejecucion utilizan. * Es el encargado de que podamos acceder a los periféricos/elementos de nuestro ordenador de una manera cómoda.

Page 20: Session 1 del Curso Linux

● primera versión estable, la 1.0, el 15 de marzo de 1994

Ultima version : Linux 2.6.27, tiene mas de 6,399,191 SLOC es decir lineas de codigo puro96.4 per cent of the code is written in C and 3.3 percent in Assembler

Page 21: Session 1 del Curso Linux
Page 22: Session 1 del Curso Linux

Numeracion y versionesNumeracion y versiones

Más allá de haber desarrollado su propio código y de integrar los cambios realizados por otros programas, Linus Torvalds continua lanzando nuevas versiones del núcleo Linux. Estos son llamados núcleos “vanilla”,

La versión del núcleo Linux actualmente consta de cuatro números. Por ejemplo, asumamos que el número de la versión está compuesta de esta forma: A.B.C[.D] (ej.: 2.2.1, 2.4.13 ó 2.6.12.3).

* El número A denota la versión del núcleo.

* El número B denota la subversión del núcleo.

Par estable, impar inestable

* El número C indica una revisión mayor en el núcleo. En la forma anterior de versiones con tres números, esto fue cambiado cuando se implementaron en el núcleo los parches de seguridad, bugfixes, nuevas características o drivers. Con la nueva política, solo es cambiado cuando se introducen nuevos drivers o características; cambios menores se reflejan en el número D.

* El número D se produjo cuando un grave error, que requiere de un arreglo inmediato

Page 23: Session 1 del Curso Linux

Alan coxmorton

colima

torvals

Page 24: Session 1 del Curso Linux

La consola de Linux

Page 25: Session 1 del Curso Linux

- Quién es el Bash?

- El Bash es el hijo mas nuevo de la familia Shell.

- Espera ahí! Quieres volverme loco? Tenía una duda y ahora me dejas con dos!

- No, loco ya lo eras antes de aparecer por aqui. Desde que decidiste usar aquél sistema operativo con el cual tienes que reiniciar tu máquina unas diez veces por dia y no tienes dominio ninguno sobre lo que está pasando en el computador. Pero deja eso de lado, te voy a explicar lo que es el Shell y los componentes de su familia y al final de la explicación me dirás: "Mi Dios del Shell! Porque no opté antes por Linux?".

Dialago entre una persona que usa linux y otra no

Page 26: Session 1 del Curso Linux

El Shell es un programa especial utilizado como una interfaz entre el usuario y el núcleo del Sistema Operativo (Kernel). A grandes rasgos, el Kernel es un programa que se carga en memoria al momento en el que el PC se inicia, y se encarga de administrar el sistema hasta que apagamos el computador; es decir, crea y controla procesos, gestiona la memoria, el sistema de archivos y mucho más.

lo podemos definir como un Programa Utilitario que se inicia cuando accedemos a nuestra sesión en el sistema operativo. Este, le permite al usuario interactuar con el Kernel a través de la interpretación de los comandos que el usuario ingresa en la línea decomandos ó a través de los "scripts" (archivos que ejecutan un conjunto de comandos).

Después de que tipeamos un comando, la responsabilidad del Shell es:

1. Analizar la línea de Comandos

2. Manejar los comodines, las redirecciones, tuberías y planificar el control de ejecución de los comandos.

3. Buscar el comando, si lo encuentra, ejecutar el comando, en caso contrario emitir un error.

Page 27: Session 1 del Curso Linux

el Shell, que se vale de la imagen de una concha envolviendo el sistema operativo propiamente dicho, es el nombre genérico para tratar los hijos de esta idea que, con el correr de los años de existencia del sistema operativo Unix fueron apareciendo.

Actualmente existen diversos “sabores” de Shell, entre ellos destaco el sh (Bourne Shell) el ksh (Korn Shell), bash (Bourne Again Shell) y el csh (C Shell).

Page 28: Session 1 del Curso Linux

Una visión rápida em los Principales Sabores de Shell

Bourne Shell (sh)

Desarrollado por Stephen Bourne de la Bell Labs (de AT&T donde también fue desarrollado el Unix), este fue durante muchos años el Shell patrón del sistema operativo Unix. Es también llamado de Standard Shell por haber sido durante varios años, el único y hasta hoy es el mas utilizado ya que fue transportado para todos los ambientes Unix y distros Linux.

Korn Shell (ksh)

Desarrollado por David Korn, también de la Bell Labs, es un superconjunto del sh, o sea, posee todas las facilidades del sh y a ellas se agregaron muchas otras. La compatibilidade total con el sh esta atrayendo a muchos usuarios y programadores de Shell para este ambiente.

Page 29: Session 1 del Curso Linux

Boune Again Shell (bash)

Este es el Shell mas moderno y cuyo número de adeptos crece mas en todo el mundo, sea por ser el Shell default de Linux, su sistema operativo natural, o sea por su gran diversidad de comandos, que incorpora inclusive diversas instrucciones características del C Shell.

C Shell (csh)

Desarrollado por Bill Joy de la Berkley University es el Shell mas utilizado en ambientes *BSD e Xenix. La estrutura de sus comandos es bastante similar al del lenguage C. Su gran pecado fue ignorar la compatibilidad con el sh, partiendo por un camino propio.

Además de estos Shells existen otros

Page 30: Session 1 del Curso Linux
Page 31: Session 1 del Curso Linux
Page 32: Session 1 del Curso Linux
Page 33: Session 1 del Curso Linux

Fin de la Primera Parte