SlideShare una empresa de Scribd logo
Departamento de
      Electrónica y Telecomunicaciones




 Sistemas Operativos
Ingeniería de Telecomunicación
            4º curso



      Tema 2-3




                                         © 2007­2011 Gorka Prieto
      GNU/Linux
         Curso 2010 – 2011
Índice

1.Introducción
2.Distribuciones
3.Arquitectura
      Kernel
      Entorno gráfico
      Sistemas de ficheros

4.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
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
1   Introducción




                   4
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
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
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
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
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
1    Introducción



 GNU + Kernel
    • GNU/Linux (“Linux”)
    • GNU/Hurd
    • GNU/kFreeBSD

 Otros SSOO libres
    • FreeBSD
    • OpenBSD
    • etc.


                            10
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
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
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
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
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
2    Distribuciones


 Ubuntu
    • Mark
      Shuttleworth




                      16
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
3   Arquitectura




                   18
3   Arquitectura




                   19
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
3   Arquitectura: Kernel custom




                                  21
3   Arquitectura: Kernel custom




                                  22
3   Arquitectura: Kernel custom




                                  23
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
4   Administración: Logs




                           44
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
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
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
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
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
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
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

Más contenido relacionado

PDF
Oyerpes tfc0611
ODP
Sistema gnulinux 1
PDF
Linux for bioinformatics
PPTX
Tema a tratarse
DOCX
sistemas operativos
ODP
Sistema linux
PPSX
PPTX
Software libre, open source y histroia de linux
Oyerpes tfc0611
Sistema gnulinux 1
Linux for bioinformatics
Tema a tratarse
sistemas operativos
Sistema linux
Software libre, open source y histroia de linux

La actualidad más candente (20)

PPT
Curso linux2
DOCX
PPTX
Linux
PPTX
Sistemas Operativos -LINUX -SEGUNDO TRABAJO
ODP
Presentación Linux
PPT
Presentación Marianny Gonzalez
PPTX
Linux
PPTX
Linux
PDF
Curso básico Linux
PPSX
PPT
Sistema operativo linux
PPTX
Linux papito
PDF
Linux Intro
PDF
Arrancar linux usb
PPTX
Unix y linux
DOCX
Cuadro 5ta Generación
ODP
Session 1 del Curso Linux
PDF
Criminalística Cibernética
PPT
Historia De Linux
Curso linux2
Linux
Sistemas Operativos -LINUX -SEGUNDO TRABAJO
Presentación Linux
Presentación Marianny Gonzalez
Linux
Linux
Curso básico Linux
Sistema operativo linux
Linux papito
Linux Intro
Arrancar linux usb
Unix y linux
Cuadro 5ta Generación
Session 1 del Curso Linux
Criminalística Cibernética
Historia De Linux
Publicidad

Similar a GNU/Linux (20)

PPTX
1.7 gnu linux
PPTX
GNU\LINUX
PPT
Linux 1ntroducc1on
PPTX
Linux
PPTX
Sistemas operativos
PPTX
Sistema operativo linux
PPT
Parte 1.ppt
PPTX
Linux
PPT
Curso introduccion a linux y sus diferentes
DOCX
Núcleo Linux
PPTX
Presentaciòn grupo 226
PPTX
Linux
DOCX
Compu
ODP
Flisol2008
PPT
linux_basico1.pptsnssnmsmsmsmsmsjabsbsjb
PPT
linux_basico1 (1).ppt
PDF
PPT
introducción a gnu/linux curso basico de SO
1.7 gnu linux
GNU\LINUX
Linux 1ntroducc1on
Linux
Sistemas operativos
Sistema operativo linux
Parte 1.ppt
Linux
Curso introduccion a linux y sus diferentes
Núcleo Linux
Presentaciòn grupo 226
Linux
Compu
Flisol2008
linux_basico1.pptsnssnmsmsmsmsmsjabsbsjb
linux_basico1 (1).ppt
introducción a gnu/linux curso basico de SO
Publicidad

Último (20)

DOCX
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
PDF
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
PDF
Escuela Sabática 6. A través del Mar Rojo.pdf
DOCX
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
DOCX
Tarea De El Colegio Coding For Kids 1 y 2
PPTX
caso clínico iam clinica y semiología l3.pptx
DOCX
V UNIDAD - SEGUNDO GRADO. del mes de agosto
PDF
benveniste-problemas-de-linguistica-general-i-cap-6 (1)_compressed.pdf
PDF
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
PDF
Metodologías Activas con herramientas IAG
PDF
Tomo 1 de biologia gratis ultra plusenmas
PDF
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
PDF
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
PDF
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
PDF
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
PDF
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
PDF
Fundamentos_Educacion_a_Distancia_ABC.pdf
PDF
ciencias-1.pdf libro cuarto basico niños
PDF
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
Escuela Sabática 6. A través del Mar Rojo.pdf
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
Tarea De El Colegio Coding For Kids 1 y 2
caso clínico iam clinica y semiología l3.pptx
V UNIDAD - SEGUNDO GRADO. del mes de agosto
benveniste-problemas-de-linguistica-general-i-cap-6 (1)_compressed.pdf
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
Metodologías Activas con herramientas IAG
Tomo 1 de biologia gratis ultra plusenmas
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
Fundamentos_Educacion_a_Distancia_ABC.pdf
ciencias-1.pdf libro cuarto basico niños
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf

GNU/Linux

  • 1. Departamento de Electrónica y Telecomunicaciones Sistemas Operativos Ingeniería de Telecomunicación 4º curso Tema 2-3 © 2007­2011 Gorka Prieto GNU/Linux Curso 2010 – 2011
  • 2. Índice 1.Introducción 2.Distribuciones 3.Arquitectura Kernel Entorno gráfico Sistemas de ficheros 4.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. 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. 1 Introducción 4
  • 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. 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. 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. 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. 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. 1 Introducción  GNU + Kernel • GNU/Linux (“Linux”) • GNU/Hurd • GNU/kFreeBSD  Otros SSOO libres • FreeBSD • OpenBSD • etc. 10
  • 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. 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. 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. 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. 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. 2 Distribuciones  Ubuntu • Mark Shuttleworth 16
  • 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. 3 Arquitectura 18
  • 19. 3 Arquitectura 19
  • 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. 3 Arquitectura: Kernel custom 21
  • 22. 3 Arquitectura: Kernel custom 22
  • 23. 3 Arquitectura: Kernel custom 23
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 4 Administración: Logs 44
  • 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. 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. 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. 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. 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. 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. 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