GNU/Linux

1,576 views

Published on

Visión general de GNU/Linux enfocada a futuros administradores de sistemas

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,576
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
27
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

GNU/Linux

  1. 1. Departamento de Electrónica y Telecomunicaciones Sistemas OperativosIngeniería de Telecomunicación 4º curso Tema 2-3 © 2007­2011 Gorka Prieto GNU/Linux Curso 2010 – 2011
  2. 2. Índice1.Introducción2.Distribuciones3.Arquitectura Kernel Entorno gráfico Sistemas de ficheros4.Administración Gestión paquetes Gestión de usuarios Servicios Logs del sistema y las aplicaciones Tareas periódicas Control de accesos Comandos/ficheros de administración 2
  3. 3. 1 Introducción GNU + Linux Software libre Multiplataforma, multiproceso, multiusuario, multitarea. Uso: escritorio, servidor, supercomputadoras (top500), sistemas embebidos, etc. Apoyo multinacionales: IBM, Sun Microsystems, HP, Novell, etc. En la administración pública: http://en.wikipedia.org/wiki/Linux_adoption 3
  4. 4. 1 Introducción 4
  5. 5. 1 Introducción Proyecto GNU • GNU is Not Unix • Objetivo: Sistema operativo completo libre • Iniciado en 1983 por Richard Stallman • Libertades: ejecución, copia, modificación y distribución • Licencia General Pública de GNU (GPL) o Copyleft o Variantes: Gnu Free Documentation License (GFDL), Lesser GPL (LGPL) • En 1985 la Free Software Fundation (FSF) 5 o Para soportar el proyecto GNU
  6. 6. 1 Introducción Linux • El proyecto GNU: o Editor de textos (Emacs), Compilador (GCC), librerías y utilidades UNIX o Faltaba kernel. GNU/Hurd aún en desarrollo ... • Primera versión del kernel Linux en 1991 • Por Linus Torvalds • Licencia GPL • Núcleo monolítico híbrido o Módulos • Arquitectura discutida por Tanenbaum o Minix vs Linux 6
  7. 7. 1 Introducción Linux (cont) • Actualmente kernel más portado: o PCs, PDAs, Router, Consolas, MainFrames • Versiones x.y.z, actualmente 2.6 o Par: estable o Impar: desarrollo • Mascota: pingüino Tux 7
  8. 8. 1 Introducción Hurd • Kernel GNU bajo licencia GPL • Compatible POSIX • Arquitectura microkernel o Actualmente sólo sobre GNU Mach (CMU) o Múltiples servidores simultáneos • Siglas o Hird of Unix-Replacing Daemons (Hurd) o Hurd of Interfaces Representing Depth (Hird) o “Manada de Ñúes” • Otros sistemas UNIX que corren sobre Mach o NEXTSTEP, Mac OS X, MkLinux, etc. 8 o Microkernel y (un único) servidor UNIX
  9. 9. 1 Introducción Hurd (cont) • Servidores (Debian) o auth, crash, exec, ext2fs, fifo, firmlink, ftpfs, fwd, hostmux, ifsock, init, isofs, magic, new-fifo, nfs, null, pfinet, pflocal, proc, storeio, symlink, term, ufs, usermux. • Limitaciones o Partición máx 2 GB o Drivers correspondientes a la versión 2.0 del kernel Linux o RAM máx 768 MB o No soporte audio, USB, PPP, DHCP, etc. 9
  10. 10. 1 Introducción GNU + Kernel • GNU/Linux (“Linux”) • GNU/Hurd • GNU/kFreeBSD Otros SSOO libres • FreeBSD • OpenBSD • etc. 10
  11. 11. 2 Distribuciones Diferentes organizaciones ofrecen sus distribuciones “Sabores” de GNU/Linux Conjunto de aplicaciones Diferencias: • Sistema de paquetes (deb, rpm, tarballs, etc.) • Política de funcionamiento • Facilidades de administración 11
  12. 12. 2 Distribuciones Según el sistema de paquetes • Basadas en rpm: RedHat, Fedora, SuSE, Mandrake, YDL, etc. • Basadas en deb: Debian, K/Ubuntu, Knoppix, etc. • Basadas en fuentes: Slackware, SLAX, Gentoo, etc. Live CD/DVD • Ejecución desde el CD/DVD sin instalar en el HD • Permiten instalarlo posteriormente 12
  13. 13. 2 Distribuciones Debian • Creada en 1993, actualmente versión 5.0 • Filosofía software libre • Comunidad de desarrolladores y usuarios • Independiente a empresas • Tres ramas de desarrollo o stable o testing o unstable • Sistema APT 13
  14. 14. 2 Distribuciones RedHat • Creada en 1994, actualmente RHEL 5.5 • Distribución comercial Red Hat • En 2003 separación en: o Red Hat Enterprise Linux (RHEL) Ediciones de servidor y de estación de trabajo o Fedora Core (FC) Comunidad Fedora • Fedora o Fedora Core: hasta FC6 (2006) o Fedora: fusión repositorios Core y Extras o Actualmente Fedora 14 14
  15. 15. 2 Distribuciones Ubuntu • Creada en 2004 (actual Maverick Meerkat 10.10) • Basada en Debian GNU/Linux o Demasiada burocracia o Actualidad vs estabilidad o Desarrolladores en ambos proyectos • Patrocinada por Canonical Ltd. • Facilidad de uso y de instalación o Eslogan: “Linux for Human Beings” • Lanzamientos regulares: o Cada 6 meses y LTS cada 2 años • Ubuntu (GNOME), Kubuntu (KDE), Xubuntu (XFCE), etc. 15
  16. 16. 2 Distribuciones Ubuntu • Mark Shuttleworth 16
  17. 17. 3 Arquitectura Kernel • Núcleo monolítico híbrido (módulos) o Ring 0: kernel, acceso HW o Ring 3: modo usuario, sin privilegios • Arquitectura discutida por Tanenbaum o Minix vs Linux http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html • Versiones X.Y.Z o Estable o Desarrollo • GUI fuera del kernel 17
  18. 18. 3 Arquitectura 18
  19. 19. 3 Arquitectura 19
  20. 20. 3 Arquitectura Kernel • Posibilidades de kernel o Stock kernel o Custom Kernel • Recompilar kernel $ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux­2.6.X.tar.bz2 Descomprimir en /usr/src/linux # make menuconfig (o make xconfig) # make # make install # make modules_install 20
  21. 21. 3 Arquitectura: Kernel custom 21
  22. 22. 3 Arquitectura: Kernel custom 22
  23. 23. 3 Arquitectura: Kernel custom 23
  24. 24. 3 Arquitectura Entorno gráfico • Servidor X o Se encarga de dibujar en pantalla o Puede estar en un equipo diferente o Xfree86, X.org, etc. • Gestor de ventanas o Simplifica la utilización de ventanas o Kwin, Metacity, Beryl/Compiz, etc. • Escritorio o Organiza gráficamente funcionalidades o KDE, GNOME, XFCE, etc. 24
  25. 25. 3 Arquitectura Organización en directorios / proc/ home/ bin/, sbin/ etc/ root/ boot/ usr/ ... dev/ var/ mnt/ tmp/ “Todo es un fichero” • /dev/ Concepto de montaje 25
  26. 26. 3 Arquitectura Formatos binarios soportados • Inicialmente a.out (assembler output) • Actualmente ELF (Extensible Linking Format) o Ejecutables, objeto, librerías dinámicas, core dumps, etc. • binfmt_misc o Capacidad del kernel Linux o Permite formatos binarios arbitrarios pasándolos a aplicaciones usuario o Java -> Máquina virtual Java o Ejecutables Win16/32 -> Wine o Ejecutables .NET -> Mono 26
  27. 27. 3 Arquitectura: Sistemas de ficheros Ext (extended file system) – 1992 • Sistema de ficheros inicial de linux • Creado para solventar limitaciones de minix o Tamaño de partición 2GB o Nombre de ficheros de 255 caracteres Ext2 – 1993 • Soluciona limitaciones de ext o Nuevas funcionalidades o Tamaño de partición de 4 TB o Nombres de fichero de 255 caracteres • Extensible. Añadidos posteriores: o Atributos extendidos o ACLs de POSIX 27
  28. 28. 3 Arquitectura: Sistemas de ficheros Ext3 – 2001 • Añadidos o Journalling o Mayor direccionamiento o Crecimiento dinámico del sistema de ficheros • Compatible con ext2 (sin los añadidos) o Convertir un ext2 a un ext3: # tune2fs ­j /dev/hdaX • Desventajas o Defragmentación No extent o Funcionalidades Solo puede ser reparado en modo RO 28
  29. 29. 3 Arquitectura: Sistemas de ficheros Ext4 – 2006 • Tamaños de 260 bytes • Añade extent para evitar defragmentación • Compatible con ext3 (si no se usa extent) ReiserFS (Reiser3) – 2001 • Características similares a ext3 • Mejor rendimiento con fichero pequeños • Reiser4 más eficiente, reimplementación desde 0 Soporta muchos más: • adfs, affs, autofs, coda, coherent, cramfs, devpts, efs, ext, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, nfs4, ntfs, proc, qnx4, ramfs, reiserfs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, usbfs, vfat, xenix, xfs, xiafs, etc. 29
  30. 30. 4 Administración Forma gráfica vs consola • Remoto • Similar entre distribuciones • Automatización Desde consola • Ficheros de configuración en /etc • Ficheros de log en /var/log • Usuario vs root: su y sudo • Programación en shell: redireccionamientos, tuberías, estructuras de programación, comandos del sistema. 30
  31. 31. 4 Administración: Gestión de paquetes Concepto paquete software • Ficheros o Código ejecutable o Datos: imágenes, sonidos, DB, etc. • Metainformación o Nombre, descripción, versión, autor, dependencias, tamaño, etc. Sistema de paquetes • Diferentes opciones: RPM, DEB, TARBALL, EBUILD, etc. • Simplifica gestión del sistema o Instalación, eliminación, actualización, dependencias, etc. 31
  32. 32. 4 Administración: Gestión de paquetes RPM (Red Hat Package Manager) • Desarrollado por Red Hat • Utilizado: Red Hat, Fedore, SuSE, etc. • Ficheros: <name>-<version>-<release>.<arch>.rpm • Base de datos en: /var/lib/rpm • Interfaz de bajo nivel: comando rpm # rpm ­i fichero.rpm # rpm ­e paquete $ rpm ­qa • Interfaces de más alto nivel: o up2date, yum, YaST, APT 32
  33. 33. 4 Administración: Gestión de paquetes DPKG (Debian PacKaGe) • Desarrollado por Debian • Utilizado: Debian, Knoppix, Ubuntu, etc. • Ficheros: <name>_<version-release>_<arch>.deb • Base de datos en: /var/lib/dpkg • Además de meta-info, tb incluyen scripts • Interfaz de bajo nivel: comando dpkg # dpkg ­i fichero.deb # dpkg ­r paquete # dpkg ­r –purge paquete # dpkg­reconfigure paquete $ dpkg ­l $ dpkg ­L • Interfaces de más alto nivel: o APT, aptitude, synaptic, adept, etc. 33
  34. 34. 4 Administración: Gestión de paquetes APT (Advanced Packaging Tool) • Desarrollado por Debian • Front-end para dpkg (actualmente tb para otros) • Gestiona automáticamente dependencias • Fichero de configuración con repositorios: /etc/apt/sources.list: type url distribution [component1] [componenent2] […] • Comandos: # apt­get update # apt­get install paquete # apt­get remove paquete # apt­get –purge remove paquete # apt­get upgrade # apt­get dist­upgrade $ apt­cache search patrón $ apt­cache show paquete # aptitude update # aptitude install paquete # aptitude remove paquete # aptitude purge paquete # aptitude safe­upgrade # aptitude full­upgrade $ aptitude search ~dpatrón $ aptitude show paquete 34
  35. 35. 4 Administración: Gestión de paquetes TARBALL • Formato tradicional de UNIX, extensión *.tar.gz • Normalmente las fuentes • Más difícil de mantener: instalación, dependencias, eliminación, actualización, etc. • Consultar ficheros README, INSTALL • Por defecto: $ ./configure $ make # make install # make uninstall • DEB, RPM, etc. suelen partir de un TARBALL 35
  36. 36. 4 Administración: Gestión de usuarios Ficheros • /etc/passwd (-rw-r--r--) root:x:0:0:root:/root:/bin/bash • /etc/group (-rw-r--r--) audio:x:29:pulse,gorka • /etc/shadow (-rw-r-----) root:$6$K2H...:14179:0:99999:7::: • /etc/gshadow (-rw-r-----) audio:*::pulse,gorka • /etc/skel/ 36
  37. 37. 4 Administración: Gestión de usuarios Comandos • Usuarios # useradd # userdel # adduser # deluser # usermod # chage $ passwd # passwd • Grupos # groupadd # groupdel # addgroup # delgroup # groupmod # adduser usuario grupo • Propietarios y permisos o chmod (RWX, UGO) o chown (usuario.grupo) 37
  38. 38. 4 Administración: Servicios Proceso de arranque • BIOS (Basic Input/Output System) o Permitir arrancar programas desde diferentes medios o Funciones básicas de manejo del hardware • MBR o Primeros 512 bytes, código ejecutable • Gestor de arranque o Permite elegir entre diferentes SSOO y paso params o Ej: LILO, GRUB, etc. • Kernel o Detecta HW, carga controladores, monta unidades, etc. o Ejecuta INIT 38
  39. 39. 4 Administración: Servicios Proceso de arranque • INIT o Primer proceso tras el kernel, modo usuario o Arranca terminales o Ejecuta todos los programas asociados a un runlevel o /etc/inittab • RUNLEVEL o Número que identifica un grupo de programas o Cuando se entra en ese runlevel: se ejecutan los programas o Cuando se sale del runlevel: se detienen los programas o Comandos: runlevel, telinit o Runlevels habituales 0: Halt 1: Single user 39 2­5: Multiusuario 6: Reboot
  40. 40. 4 Administración: Servicios Servicios en UNIX System V • Demonios: funcionan en segundo plano • Normalmente scripts para iniciar/parar/recargar/etc /etc/init.d/demonio start|stop|restart|reload • Por cada runlevel, enlaces simbólicos a los scripts deseados /etc/rcX.d/S11demonio ­> /etc/init.d/demonio • Los enlaces simbólicos se ejecutan por orden alfabético o El número del principio determinará el orden de ejecución • Actualmente otras alternativas o Arrancan procesos de forma asíncrona o Ej.: Upstart, Initng, etc. 40
  41. 41. 4 Administración: Servicios Upstart • Desarrollado por Canonical • Incluido desde Ubuntu 6.10 (2006) o Adoptado en Debian, Maemo, ChromeOS, etc. • Sistema asíncrono o Servicios y eventos • Jobs en /etc/init/ o Ficheros *.conf o Sección script/exec, pre-start, post-stop o start on y stop on • Control de trabajos (initctl) o start/stop/restart/reload job o initctl list 41
  42. 42. 4 Administración: Red Dispositivos/interfaces • /dev/ethX, /dev/wlanX Comandos • ifconfig, iwconfig, ifup, ifdown • route • dhclient • /etc/init.d/networking, /etc/init.d/network-manager Ficheros • /etc/resolv.conf, /etc/hosts • /etc/network/interfaces NetworkManager 42
  43. 43. 4 Administración: Logs Se guardan en /var/log • Sistema o syslog, daemon.log, mail.log, kern.log, Xorg.0.log, etc. • Aplicaciones o apache/error.log, apache/access.log Visualización • Consola o tail, more, less, etc. • Gráfica o KSystemLog, etc. Utilidades • syslog • dmesg 43
  44. 44. 4 Administración: Logs 44
  45. 45. 4 Administración: Logs syslog • Comportamiento como en BSD • Logs del sistema, del kernel y de las aplicaciones • Se puede almacenar en local o en un equipo remoto • Agrupados en servicios (mail, kern, auth, etc.) y prioridades (info, warning, err, debug, etc.) • Configuración en /etc/syslog.conf: *.* ­/var/log/syslog mail.err /var/log/mail.err kern.* @hostname • Se guarda un histórico comprimido: syslog, syslog.1.gz, syslog.2.gz, ..., syslog.6.gz dmesg • Muestra el ring buffer del kernel 45
  46. 46. 4 Administración: Tareas Periódicas Demonio cron (chronos) • /etc/crontab $man 5 crontab #min hour dom mon dow user command 17 * * * * root run-parts --report /etc/cron.hourly 25 6 * * * root run-parts --report /etc/cron.daily 45 6 * * 7 root run-parts --report /etc/cron.weekly 52 6 1 * * root run-parts --report /etc/cron.monthly • Como usuario $ crontab -e /etc/cron.allow /etc/cron.deny 46
  47. 47. 4 Administración: Control de Accesos Múltiples opciones • A nivel de aplicación o Configuración del servidor o TCP Wrapper • A nivel de kernel o Firewall con iptables TCP Wrapper • A través de tcpd (inetd) o usando libwrap • /etc/hosts.allow y /etc/host.deny in.fingerd: ALL EXCEPT LOCAL sshd: 192.168.2.5 • Páginas manual: hosts_access y hosts_options 47
  48. 48. 4 Administración: Control de Accesos Configuración del servidor (ej. apache) <Directory ...> Order allow, deny Allow from all </Directory> Firewall con iptables # iptables --list # iptables --policy INPUT DROP # iptables --table filter --append INPUT -p icmp -j ACCEPT 48
  49. 49. 4 Administración: Comandos de Administrador Ejecución como root: • su vs sudo Gestión de usuarios: • useradd, userdel, usermod, chage, groupadd, groupdel, groups, etc. Cambio permisos: • chmod, chown, chattr, etc. Configuración de red: • ifconfig, iwconfig, iwlist, route, netstat, iptables, etc. Gestión paquetes: • dpkg, tasksel, rpm, apt-get, aptitude, etc. Gestión discos/sistemas de ficheros: • fdisk, mkfs, mount, umount, setquota, quota, etc. Listado dispositivos: • lspci, lsusb, udevinfo, etc. 49
  50. 50. 4 Administración: Ficheros de Configuración Ejecución como root: • /etc/sudoers Gestión de usuarios: • /etc/passwd, /etc/shadow, /etc/group, /etc/gshadow, /etc/skel/ Cambio permisos: • /etc/apparmor.d Configuración de red: • /etc/host, /etc/resolv.conf, /etc/network/interfaces, /etc/init.d/ Gestión paquetes: • /etc/apt/sources.list Gestión discos/sistemas de ficheros: • /etc/fstab Dispositivos: • /dev/, /sys/, /etc/udev/ 50
  51. 51. Licencia Reconocimiento (Attribution): En cualquier explotación de la obra autorizada por la licencia hará falta reconocer la autoría. Compartir Igual (Share alike): La explotación autorizada incluye la creación de obras derivadas siempre que mantengan la misma licencia al ser divulgadas. 51

×