Linux

232 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
232
En SlideShare
0
De insertados
0
Número de insertados
29
Acciones
Compartido
0
Descargas
5
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Linux

  1. 1. Curso de Introducción aCurso de Introducción aGNU/LinuxGNU/Linuxem an ta z abal z az uUniversidaddel País VascoEuskal HerrikoUnibertsitatea
  2. 2. Introducción 2 de 31Índice del CursoÍndice del Curso•Tema 1 – Introducción•Tema 2 – Distribuciones e Instalación•Tema 3 – Repaso•Tema 4 – Administración en Linux•Tema 5 – Entorno gráfico•Tema 6 – Kernel de Linux•Tema 7 – Instalación y Configuración deservidores•Tema 8 – Conceptos básicos de seguridad
  3. 3. Introducción 3 de 31IntroducciónIntroducción• Que es GNU/Linux• Unix: El comienzo• Historia de GNU/Linux• Situación actual• Sistema multiusuario y multitarea• Usuarios y permisos• Sistema de ficheros• Entrando en Linux
  4. 4. Introducción 4 de 31Qué es GNU/LinuxQué es GNU/Linux• Linux es un sistema operativo creado inicialmente comoun hobby por Linus Torvalds, un estudiante de laUniversidad de Helsinki. Linus estaba interesado enMinix, un pequeño sistema UNIX, y decidió desarrollar unsistema que superara los estándares de Minix.• Linux se desarrolla bajo la Licencia Publica General GNU y su códigofuente esta disponible para cualquiera. Aun así, esto no significa que Linux ylas diferentes distribuciones sean gratuitas -- las compañías y losdesarrolladores pueden cobrar por ello siempre y cuando el código fuenteeste disponible. Linux puede utilizarse para un amplio rango de propósitosincluyendo networking, desarrollo de software y como plataforma para elusuario final. Linux se considera frecuentemente una alternativa excelente yde bajo coste a otros Sistemas Operativos más caros.• Comenzó su trabajo en 1991 cuando divulgo la versión 0.0.2 y trabajófirmemente hasta 1994 fecha en la que se divulgó la versión 1.0 del kernelLinux. La versión actual es la 2.4 y el desarrollo continua.
  5. 5. Introducción 5 de 31Qué es GNU/LinuxQué es GNU/Linux• GNU/Linux es un Sistema Operativo multiplataforma,multiusuario y multitarea con compatibilidad POSIX.• Esta compuesto por software libre. Podemos descargarlogratuitamente o comprarlo a una compañía junto con el soportetécnico.• Hoy día se puede instalar GNU/Linux en casi cualquierplataforma existente, desde 386 hasta superordenadores Cray.• La gran mayoría del software que puede necesitar un usuariodomestico o uno profesional están disponibles para GNU/Linux• A pesar de que Unix ha sido tradicionalmente poco amigable,GNU/Linux se acerca cada vez más al entorno domestico.• Se estima que actualmente hay más de 18 millones de usuarios deGNU/Linux en el mundo
  6. 6. Introducción 6 de 31UNIX: El comienzoUNIX: El comienzo• Años 60: en los Laboratorios Bell se comienza el desarrollo deMultics, un SO multiusuario, multitarea, multicomplicado.Nunca se terminó.• Años 70: Thompson y Ritchie empiezan a escribir un sistemaoperativo, deciden llamarlo Unix. Kernigan y Ritchie crean ellenguaje C. En 1972 Unix se reescribe en C, con lo que puedeejecutarse en cualquier maquina que tenga un compilador de C.Se convierte en el primer SO realmente portable. AT&T pone adisposición del público el código fuente.• Años 80: Unix se extiende y aparecen variantes (BSD). AT&Tdecide no seguir con Unix y las variantes comerciales toman elmercado. El código fuente no se distribuye y los programas nopueden modificarse ni compartirse.
  7. 7. Introducción 7 de 31GNU (I)GNU (I)• Esta situación desagrada a la mayoría de los usuarios, lasabusivas licencias comerciales rompían el espíritu decolaboración.• Richard Stallman, del MIT se decide a cambiar las cosas ycomienza a escribir un SO libre, que pudiera ser copiado ymodificado por quien quisiera. Se basa en Unix intentandomejorarlo donde pudiera. Elige el nombre para recalcar ladiferencia entre Unix (mayoritariamente comercial) y su sistema(que será libre): GNU (Gnu’s Not Unix).• Para administrar los recursos disponibles del proyecto GNU creala Free Software Fundation y esta desarrolla la licencia GPL
  8. 8. Introducción 8 de 31GNU (II)GNU (II)• La Free Software Fundation es laprincipal responsable del proyectoGNU.• Actualmente se encuentran disponibles2068 paquetes de software. Los másconocidos: Bash, gcc, Emacs, gdb,Glibc, Gnome, GnuPG, sin olvidarHurd: el kernel del sistema GNU aunen desarrollo.FSFFSF““Free as in ‘free speech’ not ‘free beer’”Free as in ‘free speech’ not ‘free beer’”• Existen muchos más programas distribuidos bajo licencia GPL
  9. 9. Introducción 9 de 31GNU (III)GNU (III)• Licencia Pública General (http://www.gnu.org/copyleft/gpl.html)• Garantiza al usuario del programa la libertad para copiar,compartir, intercambiar y/o modificar el programa a su antojo.• Si el usuario distribuye el programa a otra persona debe dar aésta los mismos derechos que tenía el usuario original. Es decir,no se puede impedir que el software que es libre siga siendo librepara siempre.• No existe ninguna garantía sobre el programa, el usuario es elúnico responsable de todas las consecuencias que el uso delprograma pudiera acarrear.GPLGPL
  10. 10. Introducción 10 de 31GNU (IV)GNU (IV)• No obstante, usuarios o compañías podrían optar por ofrecergarantía sobre un programa GNU a los usuarios a cambio de unprecio.• Libre no es lo mismo que gratuito, las empresas tienen derecho avender el software, y a ofrecer garantías o soporte técnico acambio de un precio. Naturalmente, no pueden eliminar alusuario sus derechos a intercambiar y modificar el programa.• La licencia establece que si se utilizan partes de un programaGPL en otro programa, entonces el programa resultante debeestar también protegido por la GPL (para evitar que el softwaredeje de ser libre).GPL (II)GPL (II)
  11. 11. Introducción 11 de 31Linux (I)Linux (I)• A finales de los 80 la FSF ya tenía gran cantidad de losprogramas necesarios implementados pero les faltaba una parteimportante: el kernel. Su propio kernel, llamado Hurd, tardaríabastante en estar listo (a día de hoy todavía no lo está).• En 1990 el IEEE publico un estandar sobre Sistemas Operativos,que especificaba como debía ser el interfaz externo de lasdiversas áreas de un Sistema Operativo. Se llamó POSIX:Portable Operating System Interface.• En aquellos momentos uno de los núcleos más conocidos eraMinix, desarrollado como un proyecto educativo por AndrewTanenbaum y distribuido con su libro sobre diseño de SistemasOperativos.
  12. 12. Introducción 12 de 31Linux (II)Linux (II)• En 1991 en el grupo de noticias comp.os.minix, un estudiante dela Universidad de Helsinki, Linus Benedict Torvalds, anuncióque estaba trabajando en un Sistema Operativo basado enMinix. Decidió hacerlo libre y accesible para todos y prontoempezó a desarrollarse rápidamente gracias a colaboradores detodo el mundo.“Do you pine for the nice days of minix-1.1, when men weremen and wrote their own device drivers? [...] Im working ona free version of a minix-lookalike for AT-386 computers. Ithas finally reached the stage where its even usable, [...] and Iam willing to put out the sources for wider distribution. It isjust version 0.02, but Ive successfully run bash/gcc/gnu-make/gnu-sed/compress etc under it.“
  13. 13. Introducción 13 de 31Situación actual (I)Situación actual (I)• Hoy día (Marzo de 2003), Linux va ya por la versión estable 2.4.Posee todas las características que tienen los Unix modernos,incluyendo: multitarea real, memoria virtual, libreríascompartidas, carga bajo demanda, ejecutables compartidos,administración de memoria eficiente, y redes TCP/IP.• GNU/Linux es usado por multitud de empresas y organismos porsu reconocida estabilidad y escalabilidad. Es el sistema operativomás usado en servidores de Internet.• El futuro se presenta prometedor para GNU/Linux. Cada vezmás empresas y particulares confían en él como sistemaoperativo. En los últimos tiempos ha ido ganando terreno comoordenador de sobremesa para aplicaciones personales. Laorientación de Linux hacia aplicaciones de escritorio no le hahecho perder su estabilidad y capacidad para aplicacionescríticas.
  14. 14. Introducción 14 de 31Situación actual (II)Situación actual (II)• Busqueda en Google:– Windows: 63.200.,000– Microsoft: 33.100.000– Mac OS: 3.570.000– Linux: 59.600.000– Unix: 15.900.000– BSD: 3.530.000
  15. 15. Introducción 15 de 31Sistema multiusuario y multitareaSistema multiusuario y multitarea• Un sistema operativo multitarea y multiusuario permite quevarias personas puedan estar ejecutando programas al mismotiempo en un mismo ordenador.• Generalmente, los sistemas corrientes tienen un únicoprocesador. Éste se las apaña para repartir el tiempo entre losdiversos PROCESOS (programas en ejecución) que corren en él,de manera que parezcan ejecutarse "a la vez", como si cada unotuviera una CPU a su disposición.• Por otro lado, cada proceso corresponde a un usuario,normalmente el que lo ejecuta, y no puede acceder sino a laszonas del sistema a las que el propio usuario tiene acceso. Así, losprocesos ejecutados por un usuario no se mezclan con losejecutados por otro y tampoco pueden acceder, en principio, adatos ajenos.
  16. 16. Introducción 16 de 31Usuarios y permisos (I)Usuarios y permisos (I)• Cuando un sistema es utilizado por diferentes personas esnecesario un método para poder diferenciarlas. A cadausuario se le asigna un nombre de usuario (login) diferenteque será el que utilice para entrar al sistema.• Una cuenta es más que un nombre. Son todos los ficheros,recursos e información correspondientes al usuario. Eltermino se ha heredado del entorno bancario y aparecedebido a la necesidad de cobrar por los servicios prestados.• Además de las cuentas personales, existen otros usuariosdefinidos para tareas administrativas, como el root oadministrador, y también cuentas que no pertenecen aningún usuario ‘real’ sino que son utilizadas por losdemonios del sistema.
  17. 17. Introducción 17 de 31Usuarios y permisos (II)Usuarios y permisos (II)• La forma de definir que puede y que no puede hacerun usuario es a través de los permisos de los ficheros.• Cada fichero tiene asociados TRES tipos de permisosdiferentes:– Permiso de lectura: permite ver el contenido del fichero.– Permiso de escritura: permite alterar el contenido delfichero.– Permiso de ejecución: permite ejecutar el fichero (en undirectorio permite acceder a él).• Los permisos de un fichero solo pueden ser alteradospor su propietario y por al administrador.
  18. 18. Introducción 18 de 31Usuarios y permisos (III)Usuarios y permisos (III)• Pero solo estos permisos no son suficientes, queremosotorgar diferentes permisos a diferentes grupos deusuarios.• Cada usuario estará asociado a un grupo, compuestopor usuarios con características comunes.• Se definen TRES conjuntos de usuarios:– El propietario del fichero– Los miembros del grupo del propietario del fichero– El resto de usuarios.• Para cada uno de estos grupos definiremos los trespermisos diferentes.
  19. 19. Introducción 19 de 31Usuarios y permisos (IV)Usuarios y permisos (IV)• Ejemplo 1: comando ls-rwxr-xr-x root root lsEl propietario puede leer, modificar y ejecutar el fichero.Su grupo y el resto solo leerlo y ejecutarlo.• Ejemplo 2: directorio personaldrwx------ jtpfevaa profesores jtpfevaaEl propietario puede ver, modificar y acceder al contenidodel directorio. Su grupo y el resto no pueden hacer nada.• Ejemplo 3: directorio tmpdrwxrwxrwx root root tmpTodo el mundo puede ver, modificar y acceder aldirectorio.
  20. 20. Introducción 20 de 31Sistema de ficheros (I)Sistema de ficheros (I)• En el sistema de ficheros de los Unix, todo, absolutamentetodo, está representado por un fichero.• No existe el concepto de extensiones, un programa es unfichero que tiene permisos para ser ejecutado.• Tampoco existen diferentes unidades lógicascorrespondientes a los diferentes sistemas de archivos.Todo lo que hay en el sistema cuelga del directorio raíz /.Todo es un ficheroTodo es un fichero
  21. 21. Introducción 21 de 31Sistema de ficheros (II)Sistema de ficheros (II)• El árbol de directorios de UNIX tiene una estructurabastante rígida, que hace fácil la búsqueda de ficheros deconfiguración, ayuda, etc. cuando hace falta.Árbol de directoriosÁrbol de directorios
  22. 22. Introducción 22 de 31Sistema de ficheros (III)Sistema de ficheros (III)• /bin: Abreviación de la palabra binaries (del inglés,ejecutables). Aquí se guardan muchos de los programasbásicos y esenciales para el funcionamiento del sistema comolos comandos ls, cp, etc.Directorio /binDirectorio /binDirectorio /bootDirectorio /boot• /boot: En este directorio se encuentran los ficheros del núcleodel sistema, los que ejecuta al arrancar.
  23. 23. Introducción 23 de 31Sistema de ficheros (IV)Sistema de ficheros (IV)• /dev: Viene del ingles device (dispositivo). Este directoriocontiene ficheros que representan los dispositivos del sistema.Estos ficheros son fundamentales para que el sistema funcionecorrectamente.Directorio /devDirectorio /devDirectorio /etcDirectorio /etc• /etc: Aquí se encuentran ficheros relativos a la configuraciónlocal del sistema, y de los programas, por ejemplo:/etc/passwd guarda información de cada uno de los usuarios
  24. 24. Introducción 24 de 31Sistema de ficheros (V)Sistema de ficheros (V)• /home: De este directorio cuelgan los los directorios de inicio(home directory) de los usuarios “normales” (todos excepto elroot y las cuentas que no pertenecen a un usuario real).Directorio /homeDirectorio /homeDirectorio /libDirectorio /lib• /lib: En este directorio se encuentran las bibliotecas delsistema, ya sean bibliotecas de funciones, de imágenes,sonidos, iconos, etc..
  25. 25. Introducción 25 de 31Sistema de ficheros (VI)Sistema de ficheros (VI)• /man: Aquí se encuentran la mayoría de las paginas delmanual de cada prograam. Para acceder a los manuales seutiliza el comando man seguido del nombre del programa.Otras veces están en /usr/man o /usr/local/man.Directorio /manDirectorio /manDirectorio /mntDirectorio /mnt• /mnt: Generalmente de este directorio cuelgan los ficheros delos dispositivos “montados” en el sistema, es decir, ficherosque son accesibles desde el sistema en ese momento.
  26. 26. Introducción 26 de 31Sistema de ficheros (VII)Sistema de ficheros (VII)• /proc: En este directorio se encuentran ficheros virtuales, queno existen realmente. Al intentar verlos obtendremosinformación acerca del sistema. Cada proceso en ejecucióntiene asociado un directorio.Directorio /procDirectorio /procDirectorio /rootDirectorio /root• /root: Este es el directorio home del usuario root,tradicionalmente el administrador del sistemas. Recibe estenombre por ser el propietario del directorio / (directorio raízo root directory en ingles).
  27. 27. Introducción 27 de 31Sistema de ficheros (VIII)Sistema de ficheros (VIII)• /sbin: Aquí, al igual que en /bin se guardan muchosprogramas pero estos solo son usados por el administradordel sistema, por ejemplo: el comando exit, el comando halt, elcomando reboot, etc.Directorio /sbinDirectorio /sbinDirectorio /tmpDirectorio /tmp• /tmp: En el directorio /tmp se guardan archivos de caráctertemporal, es decir, si un programa necesita mantener ciertainformación guardada, pero que no será necesaria en otromomento, la guardara en el directorio /tmp.
  28. 28. Introducción 28 de 31Sistema de ficheros (IX)Sistema de ficheros (IX)• /usr: En /usr están la mayoría de los programas, lasbibliotecas de funciones, las fuentes del kernel, etc.. De /usrcuelgan otros directorios lib y bin, que tienen las bibliotecas ylos ejecutables que utilizan normalmente los usuarios, peroque no son imprescindibles para el sistema, como awk, diff,grep,Directorio /usrDirectorio /usrDirectorio /varDirectorio /var• /var: Este directorio guarda los ficheros “variables”, como losficheros donde se guardan los errores, los logs del sistema, losdirectorios del SPOOL de la impresora (el buffer de laimpresora por decirlo de algún modo).
  29. 29. Introducción 29 de 31Entrando en LinuxEntrando en Linux• Lo primero que hay que hacer para entrar en el sistema esidentificarse como un usuario concreto (introducir elnombre de usuario o login) y probar que, efectivamente, sees dicho usuario (introducir la clave asociada o password).LoginLoginShellShell• Una vez autenticados, el sistema cargará el interprete decomandos (también llamado shell) asociado a nuestro usuarioen el fichero /etc/passwd. A partir de este momento y hastaque desconectemos (logout, a través del comando exit)podremos introducir comandos que el interprete ejecutara (sitenemos los permisos adecuados), arrancar programas, etc..
  30. 30. Introducción 30 de 31LinksLinks• Linux: www.linux.org• Linux kernel: www.kernel.org• Proyecto GNU: www.gnu.org• Linux Counter: counter.li.org• Proyecto de Documentación de Linux: tldp.org• Proyecto LuCAS: es.tldp.org• Distribuciones: www.redhat.com, www.debian.org,www.suse.com• BSD: www.freebsd.org, www.openbsd.org,www.netbsd.org
  31. 31. Introducción 31 de 31PreguntasPreguntas¿ ?

×