MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red. Índice de contenidos

Tamaño: px
Comenzar la demostración a partir de la página:

Download "MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red. Índice de contenidos"

Transcripción

1

2 Índice de contenidos 1 INTRODUCCIÓN Información preliminar Laboratorio Características del equipo de trabajo Instalación de los sistemas operativos INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS Aspectos didácticos Estructura de un Sistema Informático El componente humano El componente físico El componente lógico Sistemas de codificación...20 Sistemas de numeración...20 Medidas de la información...23 Sistemas de codificación...23 Practica Arquitectura de un sistema operativo Funciones de un sistema operativo Tipos de sistemas operativos Según el número de usuarios...29 Práctica...30 Práctica Según el número de programas o tareas Según el número de procesadores Tipos de aplicaciones Licencias y tipos de licencias Tipos de licencias Ventajas del software libre Versiones Actividades recomendadas INSTALACIÓN DE SOFTWARE LIBRE Y PROPIETARIO Aspectos didácticos Consideraciones previas a la instalación de sistemas operativos libres y propietarios Gestores de arranque Introducción Estructura del disco duro...46 Estructura física...46 Particiones...48 MBR Secuencia de arranque El gestor de arranque GNU GRUB...53 El menú de arranque de GRUB...56 Página.- 1

3 Convención de nombres para discos duros y particiones...57 Ejemplo de fichero /boot/grub/menu.lst...58 Modificar las entradas del menú durante el proceso de arranque...60 Selección del núcleo mediante comodines...61 El archivo /boot/grub/device.map...62 El shell de GRUB...62 Recuperar desde GRUB una contraseña olvidada...63 Definir la contraseña de arranque...63 Práctica...65 Administración de GRUB desde el entorno gráfico Instalación de sistemas operativos. Requisitos, versiones y licencias MaX Windows Server Instalación/desinstalación de aplicaciones. Requisitos, versiones y licencias...73 Práctica...77 Práctica...78 Práctica Actualización de sistemas operativos y aplicaciones Ficheros de inicio del sistema operativo Niveles de ejecución El proceso init en MaX Gestión de los servicios con sysv-rc-conf Registro del sistema Actualización y mantenimiento de controladores de dispositivos Actividades ADMINISTRACIÓN DE SOFTWARE DE BASE I. USUARIOS LOCALES Aspectos didácticos Administración de usuarios locales Diseño de cuentas de usuario MaX Límites a los usuarios...99 Limitar con cuotas el espacio de disco Windows Server Usuarios predeterminados Seguridad de cuentas de usuario Seguridad de contraseñas Administración de perfiles locales de usuario Actividades ADMINISTRACIÓN DE SOFTWARE DE BASE II. GRUPOS LOCALES Aspectos didácticos Administración de grupos locales Derechos de usuario Derechos en el sistema de archivos Ampliación de derechos Listas de control de acceso (ACL) Control de ACL desde la línea de comandos Página.- 2

4 Directorios con ACL's predeterminados Evaluación de una ACL Gestión de grupos Grupos predeterminados Actividades ADMINISTRACIÓN DE SOFTWARE DE BASE III. CONFIGURACIÓN DE LA RED Aspectos didácticos Fundamentos de conexión a redes Direcciones IP Máscaras de (sub)red Práctica Práctica Práctica IPv6: la próxima generación de Internet Ventajas de IPv El sistema de direcciones IPv Coexistencia de IPv4 e IPv Configuración de IPv Información adicional sobre IPv Configuración de la puerta de enlace Práctica Configuración de la resolución de nombres Configuración del protocolo TCP/IP en un cliente de red Ficheros de configuración de red Conceptos Ficheros de configuración /etc/network/interfaces /etc/resolv.conf /etc/hosts /etc/networks /etc/host.conf /etc/nsswitch.conf /etc/nscd.conf /etc/hostname /etc/sysconfig/hardware/hwcfg-* /etc/sysconfig/network/config, dhcp, wireless /etc/sysconfig/network/routes, ifroute-* Scripts de arranque Actividades ADMINISTRACIÓN DE LA INFORMACIÓN I Aspectos didácticos Sistemas de archivos Ext Ext Conversión de un sistema de archivos Ext2 a Ext Ext Página.- 3

5 7.2.5 ReiserFS Reiser JFS XFS Otros sistemas de archivos soportados Soporte de archivos grandes en Linux Información adicional Estructura de un sistema de archivos Gestión de sistemas de archivos desde el entorno gráfico Gestión de sistemas de archivos mediante comandos Estructura de directorios Herramienta gráfica para administrar directorios y ficheros: Nautilus Árbol de directorios Trabajo con ficheros y carpetas Propietarios y permisos Práctica Otras operaciones: borrar, seleccionar, copiar, mover, renombrar, etc Ficheros y carpetas ocultos Gestión de directorios mediante comandos Directorio activo Trayectoria Órdenes de gestión de directorios, ficheros y sistemas de archivos Comodines Redireccionamientos Filtros Gestión de enlaces, links o accesos directos Gestión de enlaces desde el entorno gráfico Gestión de enlaces mediante comandos Enlaces duros Enlaces simbólicos Búsqueda de información del sistema Herramientas gráficas Administrador de trabajos de impresión Analizador de uso de disco Buscador de archivos Aplicaciones al inicio Comprobación del sistema Editor de particiones Gestor de paquetes Synaptic Herramientas de red Hora y fecha Monitor del sistema Servicios Visor de archivos de sucesos Búsqueda de información desde la línea de comandos Actividades Página.- 4

6 8 ADMINISTRACIÓN DE LA INFORMACIÓN II Aspectos didácticos Identificación del software instalado mediante herramientas gráficas y comandos Herramientas gráficas Instrucciones de línea de comandos Gestión de la información del sistema. Rendimiento. Estadísticas Monitor del sistema Instrucciones que muestran información del sistema Montaje y desmontaje de dispositivos en sistemas operativos. Automatización Herramientas de administración de discos. Particiones y volúmenes. Desfragmentación y chequeo Particiones Volúmenes Práctica Desfragmentación y chequeo Actividades VOLÚMENES Y NIVELES RAID Aspectos didácticos Introducción Implementación por hardware y por software Niveles RAID RAID RAID lineal o JBOD (Just a Bunch Of Drivers) RAID 1 (disco espejo o mirroring) RAID RAID RAID RAID RAID RAID 5E y RAID 6E Niveles RAID anidados RAID RAID RAID RAID RAID Niveles RAID propietarios Paridad doble RAID RAID RAID S o RAID de paridad Matrix RAID Linux MD RAID IBM ServeRAID 1E RAID Z Posibilidades de RAID Página.- 5

7 9.7.1 Lo que RAID puede hacer Lo que RAID no puede hacer Software RAID en MaX. El paquete mdadm Instalación y carga de mdadm Crear un RAID Monitorización del estado de un RAID y sus discos (particiones) Administración de un RAID y de sus discos (particiones) Factores de optimización del sistema de archivos de un RAID Notas sobre ficheros de configuración Actividades COPIAS DE SEGURIDAD Aspectos didácticos Introducción Tipos de copia de seguridad Planificación de las copias de seguridad y recuperaciones Restauración Programas de copia y restauración La instrucción tar Keep Práctica Sbackup Bacula Ficheros de configuración Cuotas de disco. Límites, nivel de advertencia y compresión Actividades Página.- 6

8 1 INTRODUCCIÓN 1.1 Información preliminar El Ciclo de Grado Superior de Administración de Sistemas Informáticos en Red (ASIR) tiene que desarrollarse haciendo uso de algún sistema operativo y de software relativo a bases de datos, redes, internet, etc. En concreto, el módulo Implantación de sistemas operativos recoge a través de sus objetivos y contenidos la utilización de sistemas operativos libres y sistemas propietarios. El Grupo de Desarrollo de MAX: Madrid_LinuX del Área de Tecnologías de la Información y la Comunicación de la Consejería de Educación de la Comunidad de Madrid está desarrollando un sistema operativo libre, MAX, que puede utilizarse como el sistema operativo libre al que hace referencia el módulo anterior, y como sistema operativo base que soporte el software necesario de los demás módulos del Ciclo. Para la realización de este módulo, el alumno debe tener los siguientes conocimientos previos: Conocer y haber trabajado con alguna versión de Windows de Microsoft. Saber realizar tareas de usuario con un sistema operativo libre. Para adquirir estos conocimientos se ha desarrollado la documentación para usuarios de MaX v.5.0. Los objetivos y contenidos de esta documentación han sido tomados del B.O.E. de 18 de Noviembre de Laboratorio Para la realización de las prácticas recogidas en esta documentación se va a crear un laboratorio que permita a cada alumno trabajar con diferentes máquinas virtuales y diferentes sistemas operativos a la vez Características del equipo de trabajo El ordenador de trabajo va a contener los siguientes sistemas operativos: MaX v.5.0 anfitrión: Será el S.O. principal o anfitrión que va a contener a los demás sistemas como máquinas virtuales. Necesitará una capacidad en disco de unas 65 GB. de las que 2 serán para la partición de swap, 18 para el propio sistema y las otras 45 para albergar las diferentes máquinas virtuales (se describen a continuación). MaX v.5.0 invitado para prácticas: actuará como máquina virtual dentro del sistema anfitrión. Destinado a la realización de todas las prácticas de la documentación. Ocupará unas 10 GB dentro de las 65 GB de la máquina anfitrión. Página.- 7

9 MaX v.5.0 invitado como copia de seguridad de la máquina virtual anterior. Cuando durante la realización de las prácticas se provoque algún deterioro serio en el sistema correspondiente, éste será recuperado desde la copia. Ocupará unas 10 GB dentro de las 65 GB de la máquina anfitrión. Windows Server invitado para prácticas: actuará como máquina virtual dentro del sistema anfitrión. Destinado a realizar las prácticas de la documentación. Ocupará unas 10 GB dentro de las 65 GB de la máquina anfitrión. Windows Server invitado como copia de seguridad de la máquina virtual anterior. Cuando durante la realización de las prácticas se provoque algún deterioro serio en el sistema correspondiente, éste será recuperado desde la de copia. Ocupará unas 10 GB dentro de las 65 GB de la máquina anfitrión. Windows XP o similar invitado para realizar prácticas. No va a disponer de copia de seguridad porque su función va a ser la de cliente sobre el que se realizarán pocas configuraciones conflictivas. Ocupará unas 5 GB dentro de las 65 GB de la máquina anfitrión. Para XP con 3 GB bastaría; se reservan 5 por si se instala Windows Vista, Windows 7 u otro. Como se puede comprobar, las máquinas virtuales que van a ser utilizadas como servidores en las prácticas tienen su correspondiente copia de seguridad. De esta forma, si las máquinas virtuales sufren algún bloqueo o configuración que impida su funcionamiento correcto, puede recuperarse desde la copia de seguridad. Por lo tanto, se recomienda que el ordenador donde se realicen las prácticas tenga las siguientes características mínimas: Microprocesador X86 o compatible a 1 Ghz. Lector de DVD. 4 GB de memoria RAM. 65 GB de disco duro libre. Tarjeta de red con conexión a Internet Instalación de los sistemas operativos En primer lugar debe realizarse la instalación del sistema operativo anfitrión. Los temas 1 (Inicio) y 2 (Instalación) de la documentación del usuario explican exhaustivamente cómo realizar este proceso. Por ser una de las operaciones críticas a realizar debe llevarse a cabo con pleno control del proceso, sin dudas, y en el caso de que existan deben ser resueltas antes de proceder en un sentido u otro. De lo contrario pueden producirse pérdidas de información. Una vez instalado MaX v.5.0 como S.O. anfitrión y configurando la conexión a Internet, se puede proceder a la instalación de VirtualBox, que es el software que va a permitir la instalación de las demás máquinas virtuales, siguiendo los pasos: Página.- 8

10 Iniciar una sesión como usuario madrid (clave = cmadrid). Lanzar la ejecución del gestor de paquetes Synaptic. Se encuentra en el menú Aplicaciones Sistema Administración Gestor de paquetes Synaptic. En el cuadro de texto Búsqueda rápida teclear virtualbox y pulsar el botón Buscar. Instalar los paquetes mostrados por Synaptic seleccionándolos y pulsando sobre el botón Aplicar. Ver figura. Fig 1: Instalación de VirtualBox No es aconsejable utilizar el usuario madrid como usuario normal de trabajo puesto que posee privilegios que pueden permitir la realización de operaciones que pongan en riesgo la integridad del sistema. Puede crearse un usuario con las características: Usuario...: usprueba01 Nombre real: Prueba 01 Perfil...: Usuario de escritorio Contraseña..: usprueba01 además, en la ficha de Privilegios del usuario se le deben añadir: Conectarse a redes Ethernet e inalámbricas y Usar VirtualBox. Para que las máquinas virtuales puedan ser utilizadas por todos los usuarios, puede crearse una carpeta fuera de las carpetas de trabajo de los usuarios y que sea accesible para todos, de la forma: Como usuario madrid se crea la carpeta /home/maquinas ejecutando desde un terminal (menú Aplicaciones Accesorios Terminal) la instrucción: sudo mkdir /home/maquinas Se puede cambiar el propietario y grupo de la carpeta para facilitar su manejo desde el entorno gráfico con: sudo chown madrid:madrid /home/maquinas Página.- 9

11 La carpeta queda accesible a todos los usuarios cambiando sus permisos con: chmod a+wx /home/maquinas pasos: A continuación se procede a la instalación de la primera máquina virtual siguiendo los Se inicia una sesión con el usuario usprueba01. Se lanza VirtualBox a través del menú Aplicaciones Accesorios VirtualBox OSE. Se pulsa sobre el botón Nueva. Fig 2: Creación de máquina virtual Se pulsa Siguiente. En la ventana para la creación de la nueva máquina virtual se introducen los datos: Nombre...: MaX50 Operating System: Linux Version...: Ubuntu Se selecciona como tamaño de la memoria base 1024 Mb. En la ventana de disco duro virtual pulsamos sobre el botón Nuevo. En la ventana del asistente para crear el nuevo disco se pulsa en Siguiente. En la ventana de tipo de almacenamiento del disco duro se selecciona Dinamically expanding storage que hace que la ocupación del disco duro virtual que se crea se vaya incrementando según se necesite en vez de ocupar la capacidad total asignada de forma constante y estática desde el momento de su creación. La localización debe ser : /home/maquinas/max50.vdi y la capacidad 10 GB. La selección de la capacidad se puede hacer moviendo la pestaña o escribiendo en el cuadro de texto. A continuación se pulsa sobre Siguiente y Terminar para finalizar la creación del disco virtual. Se pulsa sobre Siguiente y Terminar para la creación de la máquina virtual. Página.- 10

12 Así queda creada la máquina virtual y en la ventana de VirtualBox ahora ya se muestran activos los botones Configuración e Iniciar. Fig 3: VirtualBox Mediante el botón Configuración o pulsando sobre los rótulos en azul de la media ventana de la derecha, pueden modificarse, entre otros, los valores introducidos durante la creación. Deben modificarse los siguientes aspectos: CD/DVD ROM.- Es conveniente montarlo y activar Passthrough. Así se podrá utilizar por el sistema invitado la unidad de CD/DVD como si estuviese conectada a la máquina virtual. Attached to: Interface anfitrion.- Para que las máquinas virtuales se conecten a la red como si estuviesen conectadas todas al mismo switch de la máquina anfitrión. Las opciones posibles para este último parámetro son: No conectado.- Se considera que el sistema invitado no dispone de conexión a red. NAT.- VirtualBox se comporta como si fuera un dispositivo capaz de hacer de servidor de DNS, de DHCP y NAT. El sistema invitado deberá configurarse de forma dinámica y será VirtualBox quién le envíe los parámetros de configuración. El sistema invitado saldrá a la red a través del interface del anfitrión aunque sus segmentos de red pueden no coincidir. Interface anfitrión.- La tarjeta de red del sistema invitado es la misma que la del anfitrión pero con una IP diferente, dentro del rango de la red del anfitrión. Página.- 11

13 Red interna.- Permite crear redes internas para las diferentes máquinas virtuales que no utilizarán la tarjeta de red del anfitrión. Para iniciar la instalación del sistema MaX v.5.0 invitado para pruebas basta con introducir el DVD en la lectora y pulsar sobre el botón Iniciar. Durante la instalación deberán tenerse en cuenta las consideraciones: Una vez que se lanza la ejecución de la máquina virtual, dentro del sistema hay dos máquinas corriendo, una con el sistema operativo anfitrión y otra con el invitado. Para pasar el control del ratón (y del teclado) a la máquina virtual basta con pulsar sobre la ventana de VirtualBox y para devolver el control de los mismos a la máquina anfitrión hay que pulsar la tecla <Ctrl> de la derecha. Esta información aparecerá en la ventana de VirtualBox al iniciar una máquina virtual. Durante la instalación del sistema operativo invitado, a la hora de seleccionar la partición y la capacidad de la partición donde se instalará, hay que tener en cuenta que la máquina virtual creada solamente tiene un disco duro de 10 GB. de capacidad y la opción que deberá elegirse es Utilizar todo el disco. Fig 4: Selección de partición Una vez finalizada la instalación debe probarse el funcionamiento. Al iniciar la máquina aparecerá en primer lugar la información acerca de la captura del teclado y el ratón, a continuación el mensaje Press F12 to select boot device y a continuación el mensaje Press 'ESC' to enter the menu Después se producirá la carga del sistema operativo. Página.- 12

14 Si en vez de cargarse el sistema operativo aparecieran mensajes de error como: This kernel requires the following features not present on the CPU: pae Unable to boot please use a kernel appropiate for your CPU debe probarse, cuando aparece el mensaje de pulsar la tecla 'ESC' para seleccionar una opción del menú, a pulsar dicha tecla y elegir la opción MaX 5.0, kernel generic. Por último, para que esta máquina pueda ser utilizada por los demás usuarios, el usuario usprueba01 debe cambiar los permisos al fichero /home/maquinas/max50.vdi asignando lectura y escritura a los usuarios del grupo y a los otros. Esta operación se realiza pulsando con el botón derecho sobre el fichero, eligiendo la opción Propiedades y en la ficha Permisos se realizan las modificaciones pertinentes. A continuación, para crear el sistema operativo invitado que hará las funciones de copia de seguridad del anteriormente instalado, basta con hacer una copia del fichero MaX50.vdi como MaX50_copia.vdi. La creación de la máquina virtual con Windows 2008 Server se realiza de forma análoga a la de MaX, utilizando los valores: Nombre: W2008Server Operating system: Microsoft Windows Versión: Windows 2008 Tamaño memoria base: 1024 MB. Localización: /home/maquinas/w2008server.vdi Capacidad de disco duro: 10 GB. En cuanto al proceso de instalación del sistema operativo los datos a introducir son: Contraseña del usuario Administrador: A7085dministrador Nombre de equipo: W2008xx (siendo xx el nº del ordenador en el aula) Grupo de trabajo: WORKGROUP Al lanzar la ejecución de W2008 debe considerarse: La pulsación de las teclas <Ctrl> + <Alt> + <Del> solicitadas en el arranque debe hacerse a través de la opción Insertar Ctrl-Alt-Supr que aparece al seleccionar la opción Máquina de la parte superior de la ventana donde está corriendo el sistema operativo. Dependiendo de la resolución elegida para Windows así será el tamaño de la ventana donde se ejecuta. Finalmente se hace una copia del fichero /home/maquinas/w2008server.vdi como /home/maquinas/w2008server_copia.vdi, y queda finalizada la instalación del laboratorio. Página.- 13

15 Es conveniente ponerlo a prueba y el resultado será similar al que se muestra en la figura siguiente: se están ejecutando a la vez, aparte del MaX anfitrión, el MaX de pruebas y el Windows 2008 Server para pruebas. Fig 5: Máquina anfitrión, dos máquinas invitadas y VirtualBox OSE La forma de trabajar con las máquinas virtuales debe ser similar a la de las máquinas reales. Por ejemplo, antes de cerrar la ventana correspondiente a una de las máquinas virtuales hay que apagar la máquina como si fuera real. La instalación del sistema operativo XP invitado se hace de forma similar a los anteriores, usando los valores: Nombre: XP Operating system: Microsoft Windows Versión: Windows XP Tamaño memoria base: 640 MB. Localización: /home/maquinas/xp Capacidad de disco duro: 3 GB. Página.- 14

16 En cuanto al proceso de instalación del sistema operativo los datos a introducir son: Nombre: Tierno Galvan Organización: Instituto Nombre de equipo: XPxx (siendo xx el número del ordenador en el aula) Página.- 15

17 2 INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS 2.1 Aspectos didácticos Objetivos: Identificar los elementos funcionales de un sistema informático. Saber codificar la información en los diferentes sistemas de codificación. Conocer los componentes de un sistema operativo, sus funciones y características. Conocer los programas y aplicaciones que se instalan junto con MaX v.5.0. Distinguir los distintos tipos de licencia del software Documentación. Sobre cualquiera de los apartados de este tema puede encontrarse abundante información en Internet, con muy diferentes grados de profundización. Puede encontrarse desde información elaborada en diferentes universidades hasta resúmenes realizados por usuarios nóveles. Se ha procurado hacer una exposición atendiendo al nivel de exigencia de un alumno de un grado superior de FP. Resumen. En este tema se explican los elementos que componen un sistema informático: un componente humano formado por las personas que intervienen, un componente físico formado por los ordenadores y sus dispositivos y un componente lógico formado por el sistema operativo y las aplicaciones. Se incluyen apartados que explican la codificación de la información por la importancia que en algunos de los temas siguientes adquiere su conocimiento, por ejemplo para conocer el funcionamiento de las direcciones IP y las máscaras de red. Además, explica la arquitectura de un sistema operativo, sus funciones y tipos dependiendo del número de usuarios, programas y procesadores que gestione. También se hace referencia a las diferentes agrupaciones que hace MaX del software según su tipo, y por último, trata los diferentes tipos de licencia que puede tener un software. Temporización: 8 horas. Página.- 16

18 2.2 Estructura de un Sistema Informático Un Sistema Informático es el conjunto de elementos que permiten realizar un tratamiento automático de la información. El tratamiento de la información consiste en la realización de una secuencia de operaciones con datos, efectuando funciones de entrada, control, procesamiento, almacenamiento y salida de los mismos. En el sentido más amplio, un Sistema Informático está constituido por el conjunto de personas y equipos físicos y lógicos aunque, de una forma más general, se hace referencia al Sistema Informático como el ordenador o conjunto de ordenadores, con su equipo lógico correspondiente El componente humano El componente humano del Sistema Informático lo forman aquellas personas que de alguna forma intervienen en el tratamiento de la información. Dependiendo de la complejidad del sistema podemos encontrar equipos con personal especializado en la realización de funciones tales como: dirección, diseño, desarrollo, implantación y explotación y otros en los que es una única persona la que se encarga de realizar las operaciones necesarias. Según las funciones que realice, el personal informático puede clasificarse en: Director, Jefe de proyecto, Técnico de Sistemas, Administrador de Base de Datos, Analista funcional u orgánico, Programador, Jefe de explotación, Operador, Grabador, etc El componente físico Es lo que se denomina hardware del Sistema Informático y está formado por los ordenadores, los periféricos y el sistema de comunicaciones. Su función es proporcionar la capacidad de procesar eficientemente la información, facilitar la entrada y salida de datos y posibilitar la comunicación con otros sistemas. El ordenador se divide a su vez en los siguientes componentes: Unidad Central de Proceso (UCP o CPU).- Encargada de realizar todas las operaciones programadas sobre la información introducida. Su característica más importante es la velocidad o frecuencia a la que trabajan, que se mide en megahertzios (Mhz). Consta de los siguientes elementos: Unidad aritmético-logica (UAL).- Se encarga de realizar las operaciones aritméticas y lógicas con los datos. Unidad de control (UC).- Controla la ejecución de las instrucciones generando señales que indican cuando debe iniciarse una operación, cuando debe transferirse un dato, etc. Página.- 17

19 Las dos unidades anteriores forman lo que conocemos como el procesador del ordenador. El procesador contiene además unos registros de memoria que le permiten mantener los últimos datos con los que tiene que operar. Memoria central (MC).- También denominada memoria RAM, se encarga de almacenar los programas y datos con los que está operando el ordenador. El contenido de la memoria RAM desaparece cuando el ordenador se apaga, siendo imprescindible transferir previamente su contenido a otros dispositivos o memorias no volátiles (disco duro, DVD, etc). Unidad de entrada/salida.- Se encarga de la comunicación de la UCP con las unidades periféricas, incluyéndose en éstas las unidades de memoria externas (discos duros, DVD's, etc. Una de las características más importantes de esta unidad es el ancho del bus de datos, es decir, el nº de bits que pueden transmitirse a la vez hacia/desde la UCP. Unidades periféricas.- Son los dispositivos encargados de introducir la información desde el exterior hacia la unidad de entrada/salida o de recoger la información proveniente de la unidad de entrada/salida. Entre los periféricos más habituales tenemos: Disco duro Lector-grabador de DVD Pantalla Teclado Ratón Tarjeta de red Impresora Memoria USB Etc. Hay multitud de clasificaciones diferentes que pueden realizarse sobre estos dispositivos según se consideren características como: si sirve para introducir o recoger información de la unidad de entrada/salida, tipo de transmisión (en una o las dos direcciones de forma alternativa o a la vez), velocidad, etc El componente lógico Es lo que se denomina software del Sistema Informático y está formado por los sistemas operativos, los programas o aplicaciones y los datos utilizados por los programas. El sistema operativo es el software básico necesario para que el ordenador funcione. Al iniciar el ordenador, antes de ejecutar cualquier programa, debe cargarse el sistema operativo. Su función fundamental es la comunicación entre el usuario y los programas con el hardware del ordenador. Controla que los datos del usuario y de los programas se muestren, se graben, se transfieran entre los diferentes dispositivos, etc., de forma correcta. Página.- 18

20 Hay varias clasificaciones de los sistemas operativos dependiendo de la característica que se contemple: según el número de usuarios que lo puedan utilizar a la vez (monousuario o multiusuario), según el número de tareas (mono o multitarea), según el número de procesadores que pueda controlar (mono o multiproceso), etc. Como ejemplos típicos de sistemas operativos tenemos: MaX, Windows 7, etc. Las aplicaciones (conjuntos de programas) y programas son el software que el usuario utiliza para realizar sus propias tareas. Ejemplos típicos pueden ser los procesadores de textos, programas de contabilidad, programas de diseño gráfico, etc. Los programas se comunican con los dispositivos hardware a través del sistema operativo. Por ejemplo, en primer lugar se instala MaX, a continuación se configura la impresora y a partir de ese momento la impresora podrá ser utilizada por todos los programas (procesadores de texto, programas de diseño, ). Una de las clasificaciones más utilizadas para el software de aplicaciones es: Aplicaciones estandard.- Es el software que se adquiere en las tiendas y que posee unas características predeterminadas. Ejemplos típicos son los paquetes de ofimática, programas de contabilidad, etc. Aplicaciones a medida.- Es el software desarrollado para las empresas atendiendo a las necesidades que contrata. Por ejemplo, el software de gestión de bolsa que un banco encarga a una empresa de programación, o la aplicación que una zapatería encarga a un programador para gestionar su contabilidad y su almacén atendiendo a sus necesidades, etc. Con el desarrollo de los sistemas operativos nos encontramos con que las versiones actuales de los mismos vienen acompañadas de una gran cantidad de software de uso general: paquetes de ofimática, grabadores de DVD's, programas de manejo de gráficos, etc. Por último, tenemos los datos que utilizan los programas. Los programas se diseñan para manejar un tipo de datos muy concreto, por ejemplo, para escribir un documento debe utilizarse un procesador de textos, para modificar una fotografía un programa de diseño gráfico, etc. Existen varias formas de clasificar los datos: Atendiendo a su procedencia y destino: Datos de entrada.- son aquellos que se suministran a los programas a través de los dispositivos de entrada. Por ejemplo, los datos introducidos por teclado, una base de datos de un disco duro, etc. Datos intermedios.- son los datos procedentes de un proceso y que se conservan porque van a ser utilizados en otro proceso posterior. Por ejemplo los datos almacenados en un fichero auxiliar que posteriormente serán ordenados y finalmente impresos. Página.- 19

21 Datos de salida.- son el resultado de la ejecución de algún proceso y que se envían a un dispositivo de salida. Por ejemplo, la impresión de recibos de consumo eléctrico. Atendiendo a si varían o no: fijos o variables. Atendiendo a su tipo: Numéricos.- los números del 0 al 9. Alfabéticos.- las letras de la a a la z, mayúsculas y minúsculas. Alfanuméricos.- los que contienen, además de letras y números, otros caracteres (guiones, caracteres de puntuación,...) Sistemas de codificación La forma en que el ordenador almacena el software está condicionada por las características de sus componentes. En concreto, la memoria RAM, las unidades de almacenamiento masivo, etc. se caracterizan por estar formados por una gran cantidad de elementos biestables, es decir, elementos que únicamente pueden encontrarse en dos estados diferentes. Para entenderlo se puede suponer que la memoria RAM, un disco duro, un DVD, una memoria USB, etc., están formados por una gran cantidad de lámparas cuyos únicos estados son: encendida o apagada. A uno de los dos posibles estados del biestable se le asigna el valor 0 y al otro el valor 1. Así, todo el software que interviene en el ordenador (sistema operativo, aplicaciones y datos) se codifica en un sistema binario, a base de ceros y unos. Sistemas de numeración Para abordar el tema de los sistemas de codificación es conveniente conocer ciertos aspectos de los sistemas de numeración. Un sistema de numeración es un conjunto de símbolos y reglas que se utilizan para representar cantidades. La característica fundamental de un sistema de numeración es su base, es decir, el número de símbolos diferentes que utiliza. Nosotros utilizamos un sistema de numeración de base 10, es decir, tiene 10 símbolos diferentes, del 0 al 9. Las cantidades expresadas en el sistema decimal pueden descomponerse de la forma: = 1 * * * * 10 0 Esta particularidad se produce en todos los sistemas de numeración posicionales, es decir, aquellos en los que el valor de cada símbolo dentro de una cantidad queda determinado por su valor absoluto y por la posición que ocupa dentro del conjunto de símbolos con que se expresa la cantidad. Página.- 20

22 En un sistema de numeración binario (en base 2) solamente pueden utilizarse dos símbolos diferentes: el 0 y el 1. La forma de contar empezando desde el cero sera: 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111, Para trasladar una cantidad del sistema binario al decimal puede hacerse una descomposición similar a la efectuada con el sistema decimal: (2 = 1 * * * * * * 2 0 Aplicando: 0 * n = 0 y 1 * n = n para todo número n (2 = = = 50 (10 Para trasladar una cantidad de decimal a binario se divide dicha cantidad entre dos y se obtendrá un cociente y un resto. El cociente se vuelve a dividir entre dos y se obtendrá un cociente y un resto. Se repite el proceso hasta que el cociente sea cero. La cantidad en binario se obtiene tomando los restos de las divisiones sucesivas en orden inverso al de su aparición. En la figura se muestra como pasar el 50 de base decimal a binario (50 (10 = (2 ). Fig 6: Paso de decimal a binario En un sistema de numeración hexadecimal (en base 16) se utilizan 16 caracteres diferentes para expresar las cantidades: 0, 1,, 9, A, B, C, D, E y F. La forma de contar empezando desde cero será: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11,... La equivalencia de las letras con sus valores en decimal es: A (16 = 10 (10, B (16 = 11 (10, C (16 = 12 (10, D (16 = 13 (10, E (16 = 14 (10 y F (16 = 15 (10. Para pasar una cantidad de hexadecimal a binario se hace de forma similar a como se hace desde el sistema binario: AF3 (16 = 10 (10 * 16 2 ( (10 * 16 1 ( (10 * 16 0 (10 = 10 * * = (10 Página.- 21

23 Para pasar una cantidad de decimal a hexadecimal se utiliza el método de divisiones sucesivas utilizando como divisor el 16, tomando los restos de forma inversa a su aparición y teniendo cuidado en cambiar los restos cuyo valor sea 10, 11, 12, 13, 14 o 15 por sus correspondientes símbolos hexadecimales A, B, C, D, E y F. En la figura, las divisiones sucesivas entre 16 proporcionan los restos 3, 15 y 10, que cambiados por los caracteres hexadecimales correspondientes se obtiene 3, F y A y tomándolos de forma inversa a su aparición se obtiene como resultado AF3, es decir, (10 = AF3 (16. Fig 7: Decimal a hexadecimal La siguiente tabla muestra la correspondencia de valores entre los tres sistemas de numeración anteriores: DECIMAL BINARIO HEXADECIMAL A B C D E F Por último, para pasar de hexadecimal a binario y viceversa, puede utilizarse el sistema decimal como intermediario, es decir, pasando de un sistema al decimal y después desde el decimal al otro sistema, o bien utilizar el método directo que consiste en sustituir cada uno de los caracteres hexadecimales por sus cuatro caracteres binarios correspondientes (y viceversa). Así, si nos fijamos en la tabla, A (16 = 1010 (2, F (16 = 1111 (2 y 3 (16 = 0011 (2, luego AF3 (16 = (2 Página.- 22

24 Para pasar de binario a hexadecimal se hacen grupos de cuatro en cuatro dígitos, de derecha a izquierda y a continuación se hace el cambio de cada grupo de dígitos binarios por su correspondiente en hexadecimal. Medidas de la información Por las características de los componentes del ordenador, toda la información que éste maneja tiene que ser codificada en un sistema binario, a base de ceros y unos. La información más elemental e indivisible en el sistema binario se llama bit y su valor puede ser un 0 o un 1. Los múltiplos del bit utilizados para hacer referencia a las enormes capacidades que poseen los diferentes dispositivos son: Cuarteto = 4 bits. Byte u octeto = 8 bits. Kilobyte = 1 Kb. = 2 10 bytes = 1024 bytes. Para operar se suele redondear a 10 3 bytes. Megabyte = 1 Mb. = 1024 Kb. Gigabyte = 1 Gb. = 1024 Mb. Terabyte = 1 Tb. = 1024 Gb. Por ejemplo, para hacer referencia a la capacidad de la memoria RAM o de los discos duros las unidades más utilizadas son el Gigabyte y el Terabyte, mientras que para los CD's se utiliza el Megabyte. Sistemas de codificación Para codificar la información en formato binario se utilizan diversos métodos, que dependen del tipo de dato a codificar: Para las instrucciones se utilizan códigos preestablecidos, de tal forma que a cada una de ellas le corresponde un número determinado de bytes y una secuencia concreta de ceros y unos. Para codificar datos alfanuméricos el sistema más difundido es el ASCII que consiste en utilizar un byte para codificar cada carácter. Así, el número máximo de caracteres a codificar es de 256, que es el número máximo de combinaciones diferentes de ceros y unos que se pueden formar con 8 bits. Ver figura. Para codificar datos numéricos se utilizan varios sistemas. Entre los más difundidos se encuentran: Binario puro.- se utilizan 32 bits de los cuales el de más a la izquierda se utiliza para representar el signo, 0 si es positivo y 1 si es negativo, y los 31 restantes para representar el valor del número. Página.- 23

25 Decimal desempaquetado.- se utilizan tantos bytes como dígitos tiene el número decimal a codificar. Cada byte tiene los cuatro bits de la izquierda con unos (1111), se denominan bits de zona, y los cuatro de la derecha corresponden a la codificación en binario del dígito decimal correspondiente. El byte de más a la derecha, en vez de tener cuatro unos en los bits de zona, tiene 1100 si el número es positivo y 1101 si el número es negativo. Decimal empaquetado.- cada dígito decimal se codifica en un cuarteto y en el cuarteto de más a la derecha se codifica el signo, con las mismas combinaciones que para el caso anterior. Se utiliza un número entero de bytes aunque cuando el número de dígitos decimales es par el cuarteto de más a la izquierda lleve el valor Existen más métodos que permiten, por ejemplo, la codificación de cantidades en notación científica o coma flotante utilizando 4 bytes (simple precisión) u 8 bytes (doble precisión). Fig 8: Tabla de caracteres ASCII Página.- 24

26 Practica Comprobar en en qué formato codifica la información el editor de textos gedit haciendo uso del MaX invitado para pruebas. Las pautas a seguir son: Iniciar una sesión como usuario usprueba01. Lanzar la ejecución de VirtualBox OSE. Iniciar la máquina virtual MaX50 y en ella una sesión como usuario madrid. Comprobar si se encuentra instalado el editor hexadecimal Bless e instalarlo si es necesario. Crear el usuario usprueba01 dentro de la máquina virtual. Cerrar la sesión del usuario madrid e iniciar otra con el usuario recién creado. Entrar a la carpeta de trabajo del usuario, a la subcarpeta Documentos y haciendo click con el botón derecho y eligiendo las opciones Crear un documento - Archivo vacío crear un fichero vacío de texto que se llame Practica_001. Una vez creado el fichero lo abrimos con el botón derecho con la aplicación Editor de textos (Abrir con Abrir con otra aplicación... Editor de textos). Se lanzará la ejecución del programa gedit. Introducimos la siguiente información: abcd ABCD ; - ) Lo guardamos, cerramos gedit y abrimos el fichero con el editor hexadecimal recién instalado (boton derecho Abrir con Abrir con otra aplicación... - Bless Hex Editor ). La información que se muestra es la de la figura siguiente: Fig 9: Editor hexadecimal Bless Página.- 25

27 La interpretación de la información mostrada es la siguiente: La primera fila contiene el nombre del fichero. Las siguientes filas muestran la información del fichero, cuyas columnas contienen: La posición que ocupa, dentro del fichero, el primer byte cuyo contenido se muestra en la siguiente columna, expresada en hexadecimal, y comenzando por cero. Así, para la primera fila, el primer byte mostrado es el 0, que en hexadecimal también es 0, el 1º de la siguiente fila es el 17, que en hexadecimal es 11, el 1º de la siguiente sera el 34, que en hexadecimal es 22 y así sucesivamente. El contenido del fichero, codificado en hexadecimal, correspondiéndose cada byte con dos caracteres hexadecimales. Puede comprobarse que gedit utiliza para identificar el salto de línea un byte con el contenido 0A. El contenido del fichero según los caracteres del código ASCII. Cada byte se corresponde con un carácter. Las siguientes filas muestran el valor de la información contenida en el fichero según diferentes tipos de codificación numérica y hexadecimal, decimal, octal, binaria y texto ascii. 2.3 Arquitectura de un sistema operativo Sin entrar en detalles, se puede decir que una de las funciones más importantes del sistema operativo es la de hacer de intermediario entre el usuario, las aplicaciones y el hardware: Entre el usuario y las aplicaciones porque tiene que permitir que el usuario instale, ejecute, detenga, programas de aplicación. Entre el usuario y el hardware porque tiene que permitir la intervención del usuario a través del teclado y la pantalla o del dispositivo oportuno. Entre las aplicaciones y el hardware porque las aplicaciones necesitan la entrada o salida de información o la realización de alguna operación sobre algún dispositivo. Considerando el esquema de la figura, el sistema operativo está compuesto por el núcleo, los procesos del S.O., los drivers adaptados a los dispositivos y el interface que permite al usuario operar con las aplicaciones y con el sistema operativo. Página.- 26

28 Fig 10: El sistema operativo Hay dos tipos de interfaces: De linea de comandos: permiten introducir instrucciones para realizar las tareas oportunas. Como ejemplos tenemos los diferentes shell de Linux o el cmd.exe de Windows. Gráficos: permiten operar sobre las aplicaciones y componentes del sistema operativo. Algunos ejemplos pueden ser los programas de escritorio gnome o KDE o el interface gráfico de Windows. A través de estos programas se puede lanzar la ejecución de una aplicación, instalar el driver de un dispositivo, apagar el ordenador, etc. El núcleo del sistema operativo comunica y coordina los procesos, que haciendo uso de la información de los drivers realizan las operaciones requeridas. Cuando apretamos el botón de encendido de un ordenador que tiene instalado MaX se realiza la siguiente secuencia de operaciones: Antes de que se cargue el S.O. se realizan una serie de comprobaciones básicas (memoria, pantalla, teclado, ). Se inicia la carga del sistema operativo leyendo del disco uno o varios ficheros que contienen el núcleo del sistema. Con las instrucciones del núcleo se procede a la carga de una serie de procesos que controlan el conjunto del sistema. Por ejemplo, un proceso controla el reloj del sistema, otro si tiene que leer o grabar en el disco, otro gestiona la memoria RAM, etc. Una vez cargados los procesos oportunos se carga la aplicación que hace de intermediaria entre el usuario y el resto del sistema operativo y las aplicaciones, que en este caso puede ser la aplicación que gestiona el escritorio gnome. Aquí se estabilizaría el sistema a la espera de que ocurra algún evento o se realice alguna operación que provoque la activación de alguno de los procesos cargados. Aquí ha finalizado la carga del sistema operativo. Se puede discutir si la aplicación que controla el escritorio forma parte del sistema operativo o es una aplicación independiente pero aquí vamos a tratarla como integrante del sistema operativo porque es el programa que permite al usuario interactuar con el sistema. Página.- 27

29 Por otra parte, no se puede hacer una lista de cuales son los procesos que se cargan al iniciar el sistema porque aunque existen ciertos procesos básicos que se cargan siempre, otros se cargarán dependiendo de si en la instalación se ha elegido un tipo de instalación de escritorio, de alumno, de profesor, de servidor de terminales, Además, después de la instalación puede configurarse el equipo para que en el inicio lance la ejecución de más procesos. Por ejemplo, se puede configurar un equipo para que sea servidor de DHCP, servidor WEB, etc. La instrucción ps -A muestra los procesos en ejecución. Un ejemplo de funcionamiento y coordinación entre el núcleo y los diferentes procesos puede ser el siguiente: Cuando el usuario hace doble click sobre el icono de Firefox del escritorio, gnome detecta el movimiento del ratón y el doble click y, puesto que conoce los objetos que hay en cada coordenada del escritorio, puede deducir el nombre del programa que el usuario quiere lanzar. Gnome comunica al núcleo del S.O. que ejecute Firefox. El núcleo comunicará al proceso encargado de la carga de los programas que cargue Firefox. El proceso cargador de programas puede constar de cuatro subprocesos: uno encargado de averiguar la cantidad de memoria RAM necesaria, otro encargado de reservar la memoria, otro encargado de leer del disco el programa y llevarlo a la memoria y un cuarto encargado de lanzar la ejecución del programa y de comunicar al núcleo que su orden ya se ha ejecutado. Los procesos que hacen uso de los dispositivos están adaptados conforme a las especificaciones de los drivers de éstos. Por ejemplo, el proceso encargado de la impresión necesita los drivers de la impresora para poder realizar correctamente su función. 2.4 Funciones de un sistema operativo De forma más detallada se puede decir que las funciones que cumple un sistema operativo son las siguientes: Administración del procesador.- distribuyendo los tiempos que el procesador o los procesadores dedican a cada programa en ejecución. Gestión de la memoria RAM.- asignando a cada usuario y a cada programa la memoria suficiente para que realicen su trabajo. Si la memoria RAM es insuficiente, hacen uso y gestionan la memoria virtual. La memoria virtual es un espacio de disco duro que se utiliza como ampliación de la memoria RAM. El uso de estas memorias hace posible la ejecución de algunos programas aunque sea de forma mucho más lenta que cuando se ejecutan en memoria RAM. Gestión de entrada/salida.- permitiendo a los programas el acceso a los dispositivos de entrada/salida de información, a través de los drivers. Página.- 28

30 Gestión de ejecución de aplicaciones.- asignando a cada aplicación los recursos de memoria, tiempos de procesador, acceso a dispositivos, etc. necesarios para que la aplicación se ejecute. Administración de autorizaciones.- encargándose de que cada programa sea ejecutado, cada dispositivo utilizado, cada fichero accedido,... de acuerdo con las autorizaciones del usuario. Gestión de archivos.- permitiendo la lectura/escritura en el sistema de ficheros acorde a las autorizaciones de acceso de los usuarios y aplicaciones. Informar acerca de su propio funcionamiento.- registrando las anomalías, avisos e indicadores que permitan diagnosticar el funcionamiento correcto o anómalo del mismo. MaX almacena en la carpeta /ETC/log ficheros que registran diferentes eventos sucedidos durante el arranque del sistema o ejecución de alguna aplicación. 2.5 Tipos de sistemas operativos Algunas de las características que se pueden tener en consideración a la hora de clasificar los sistemas operativos son: Número de usuarios. Número de programas o tareas. Número de procesadores. Tiempo de respuesta Según el número de usuarios Monousuario.- el ordenador con todos sus recursos solamente puede ser utilizado por un usuario. Si otro usuario quiere realizar cualquier operación tiene que esperar a que el anterior termine. Un ejemplo típico es Windows XP. Multiusuario.- varios usuarios pueden utilizar a la vez el sistema operativo y los recursos de un ordenador: los programas instalados, el disco duro, la impresora, etc. Un ejemplo es MaX, que permite tener abiertas varias pantallas, en cada una de ellas un usuario y utilizando todos el mismo o diferentes programas. También se puede acceder a MaX desde equipos remotos como si se estuviera trabajando de forma local. Página.- 29

31 Práctica Desde la máquina anfitrión de MaX abrir una sesión con ssh (secure shell) en la máquina invitada de MaX, ejecutando en ambas el programa gedit con el usuario usprueba01. Las pautas a seguir pueden ser: Comprobar que en ambas máquinas existe el usuario usprueba01. Comprobar cual es la dirección IP de ambas máquinas (instrucción ifconfig). Instalar en la máquina de prácticas invitada el paquete ssh. Abrir una sesión en la máquina invitada con el usuario usprueba01 y con la instrucción gedit lanzar la ejecución de dicho programa. Una forma de conectarnos desde la máquina anfitrión es entrar como usuario usprueba01 y ejecutar la instrucción: ssh -X usprueba01@dirección_ip_maquina_invitada A continuación el sistema pedirá la clave del usuario y se establecerá la conexión. La opción -X permite ejecutar aplicaciones gráficas, como lo es gedit. Fig 11: Conexión de máquina anfitrión a invitada mediante ssh Página.- 30

32 Otra forma de conectarnos es utilizar, en vez de la instrucción ssh, la opción Conectar con el servidor... del menú Aplicaciones Lugares, introduciendo la información que se muestra en la siguiente figura: Fig 12: ssh gráfico Práctica Conectarse desde una máquina con XP al escritorio de MaX. Vamos a utilizar dos máquinas virtuales invitadas, una que va a hacer las funciones de servidor de VNC, que es a la que nos vamos a conectar, y otra que hará de cliente de VNC, desde la que nos conectaremos. Las pautas a seguir pueden ser las siguientes: Instalar en la máquina virtual invitada de prácticas el paquete vnc4server. Configurar vnc server a través del menú Aplicaciones Sistema Preferencias Escritorio remoto para permitir a otros usuarios usar y controlar el escritorio. Fig 13: Configuración del escritorio remoto Desde la máquina con XP bajar de internet un programa cliente de VNC (por ejemplo de e instalarlo. Página.- 31

33 Ya se puede establecer la conexión ejecutando el programa instalado (VNC cliente). Fig 14: VNC cliente Fig 15: VNC cliente conectado al escritorio de VNC servidor Según el número de programas o tareas Esta clasificación considera el número de programas que se pueden ejecutar a la vez: Monoprogramación o monotarea.- solamente puede ejecutarse una tarea a la vez y las demás deberán esperar a que termine la que se encuentra en ejecución. Cada tarea dispone de todos los recursos del sistema para su desarrollo: procesador, memoria, discos, impresora, Por otra parte, que un sistema operativo sea monotarea no quiere decir que forzosamente tenga que ser monousuario. Un ejemplo típico es el antiguo MS-DOS. Página.- 32

34 Multiprogramación o multitarea.- pueden ejecutarse varias tareas a la vez. La CPU se encarga de repartir los tiempos de utilización del procesador entre los programas en ejecución. Cada programa individualmente tarda más en ejecutarse puesto que tiene que compartir el procesador con los demás programas pero los beneficios de poder utilizar varios programas simultáneamente y los tiempos medios de espera compensan los inconvenientes. La práctica totalidad de los sistemas operativos actuales son de este tipo y estamos acostumbrados a trabajar haciendo uso de varios programas a la vez de forma natural: trabajamos con el procesador de textos a la vez que se escuchamos música y consultamos el correo y escaneamos, imprimimos, etc. etc. Por supuesto MaX pertenece a este tipo de S.O Según el número de procesadores Atendiendo al número de procesadores que puede gestionar el sistema operativo, puede catalogarse como: Monoproceso.- el sistema operativo solamente puede gestionar un procesador. Evidentemente, este tipo de sistemas operativos se instalarán en equipos que únicamente dispongan de un procesador. Un ejemplo de S.O. Monoproceso es Windows XP. Multiproceso.- el sistema operativo puede gestionar varios procesadores. Las formas más comunes de gestionar los procesadores son bastante intuitivas: Se asignan procesos al primer procesador hasta que éste se encuentre al cien por cien de su rendimiento. Los procesos siguientes se irán asignando al siguiente procesador y así sucesivamente. Tiene como inconveniente que mientras unos procesadores están trabajando a un ritmo elevado otros pueden estar inutilizados. Cada programa es ejecutado por todos los procesadores de tal forma que en todo momento intervienen todos los procesadores en la ejecución de todos los programas. A este sistema se le denomina multiproceso simétrico. Todos los procesadores trabajan al mismo rendimiento. Cada programa se va asignando a un procesador diferente. Tiene el inconveniente de que los programas más complejos tardarán más en ejecutarse que en un sistema simétrico. MaX y Windows 2008 son ejemplos de sistemas operativos multiproceso. Página.- 33

35 2.6 Tipos de aplicaciones Dependiendo de las características que se quieran contemplar puede hacerse un gran número de clasificaciones diferentes de las aplicaciones. Los propios sistemas operativos hacen su propia clasificación para permitir el acceso a las diferentes aplicaciones englobándolas en grupos predeterminados, que a su vez pueden ser modificados. En concreto, MaX presenta el conjunto de programas y aplicaciones a través del menú Aplicaciones según la siguiente distribución: Fig 16: Aplicaciones Accesorios.- en este apartado se engloban una serie de programas simples, con funciones muy diversas, tales como: Analizador de uso de disco. Calculadora. Editor de textos. Mapa de caracteres. Terminal. Etc. Acceso universal.- engloba los programas que facilitan el uso del ordenador a personas con algún tipo de discapacidad. Por ejemplo: Dasher. Lector de pantalla y magnificador Orca. Página.- 34

36 Educación.- contiene programas susceptibles de utilización dentro del aula en diversas asignaturas. Algunos ejemplos son: Stellarium. Marble. KAlgebra. Kalzium. Kgeography. Etc. Gráficos.- agrupa programas que permiten la edición y manejo de imágenes y gráficos: Editor de imágenes GIMP. Gestor de fotos F-Spot. Image Scan!. OpenOffice.org Dibujos. Programa de escaneo de imágenes Xsane. Etc. Herramientas del sistema.- en este apartado se incluyen pocas aplicaciones durante la instalación. Posteriormente, al instalar programas de copia de seguridad, de mantenimiento de los discos, etc., se incluirán en este apartado. Internet.- aglutina programas que permiten establecer la comunicación con otros equipos de Internet. Los más representativos pueden ser: Navegador web Firefox. Skype (mensajería, voz y video). Cliente de Terminal Server. Xchat (IRC). Etc. Juegos.- engloba programas de entretenimiento. MaX permite el acceso a varias fuentes de información del sistema, entre las que se encuentran la Guía de referencia y el Manual de instalación. Oficina.- aglutina programas y aplicaciones de uso muy generalizado por la mayoría de los usuarios para preparar textos, presentaciones, datos en forma tabulada, bases de datos, etc. Entre los más utilizados están: OpenOffice.org Procesador de textos. OpenOffice.org Hojas de cálculo. Página.- 35

37 OpenOffice.org Presentaciones. OpenOffice.org Bases de datos. OpenOffice.org Dibujos. Etc. Programación.- engloba una variedad de utilidades que pueden utilizarse como herramientas para la creación de programas en diferentes lenguajes. Algunos ejemplos son: KDevelop: C/C++. Editor de textos SciTE. Gambas 2. Kompozer (editor HTML). Etc. Sonido y vídeo.- incluye una gran variedad de programas que permiten el manejo de dispositivos y la edición de ficheros de sonido y de vídeo. Entre otros, están: Audacity. Avidemus. Grabador de discos Brasero. Grabador de sonido. Reproductor de música Rhythmbox. Reproductor de películas. VLC (reproductor multimedia). Etc. Sistema.- engloba gran número de programas que permiten administrar y hacer un seguimiento del funcionamiento del sistema. Así, tenemos: Apariencia. Conexiones de reed. Gestor de energía. Pantalla. Administrador de arraque. Editor de particiones. Gestor de paquetes Sinaptyc. Herramientas de red. Impresoras. Red. Servicios. Usuarios y grupos. Etc. Página.- 36

38 Y otras opciones relacionadas con programas que permiten abrir y cerrar sesiones, reiniciar el equipo, apagar el sistema, etc. 2.7 Licencias y tipos de licencias Una licencia de software es una forma de contrato mediante la que el titular de los derechos de autor establece las condiciones y términos bajo los que el usuario puede utilizar un determinado programa informático. Puede contener cláusulas y limitaciones respecto a la distribución, plazos, lugares de uso, etc. Aunque inicialmente las licencias de software se desarrollaron para limitar el uso de los programas, pueden utilizarse también para garantizar los derechos relativos al software libre. Para que un determinado programa pueda considerarse software libre, es necesario distribuirlo junto a una licencia que garantice que se mantienen ciertas libertades. Entre las distintas licencias de software libre, la más conocida es la GNU GPL (General Public License o licencia pública general). Un aspecto esencial de los programas GPL es la obligación de redistribuir bajo la misma licencia cualquier versión modificada de los mismos, a fin de garantizar que todas las mejoras realizadas reviertan de nuevo a la comunidad libre. Esta característica se conoce a menudo como el "efecto vírico" de la GPL. También se utiliza el término "cubierto por copyleft" (en oposición a copyright) como equivalente a "distribuido bajo GPL". Este tipo de licencias junto a la universalización del acceso a Internet, han conseguido un sorprendente y extraordinariamente eficaz modelo de desarrollo de programas en el que distintos programadores pueden colaborar entre sí en un mismo proyecto sin importar su situación geográfica Tipos de licencias Existen varios tipos de licencias cuyas diferencias principales dependen de su tipo de Copyleft. Al contrario que la legislación internacional de copyright, que intenta impedir que alteraciones y copias sean efectuadas sin la autorización del autor, la mayoría de las licencias usadas en la publicación de software libre permite que los programas sean modificados y redistribuidos. Las licencias que acompañan al software libre hacen uso de la legislación de copyright para impedir la utilización no autorizada, pero estas licencias definen clara y explícitamente las condiciones bajo las cuales pueden realizarse copias, modificaciones y redistribuciones, con el fin de garantizar las libertades de modificar y redistribuir el software registrado. A esta versión de copyright, se le da el nombre de copyleft. Página.- 37

39 Existen distintos tipos de Copyleft: Copyleft fuerte.- las obras derivadas de un programa no pueden ser enlazadas por programas que no sean libres. Esto no prohíbe la acción contraria: que un programa con Copyleft fuerte enlace a un programa privativo. Su objetivo es no dar ventajas a los desarrolladores de software privativo, ya que estos podrían usar los programas creados para indirectamente privar las libertades de los usuarios, es decir, un programador que desarrolle un programa privativo no podrá usar el código de uno libre para facilitarse el trabajo, así no tendrá la facilidad de privar la libertad a los demás con código libre (indirectamente). Copyleft débil.- las obras derivadas de un programa pueden ser enlazadas por programas que no sean libres. Su objetivo es dejar que programas privativos usen el programa cuando ya existan alternativas gratuitas privativas del mismo programa para facilitar la adopción de programas libres. Copyleft completo.- las obras derivadas de un programa deben distribuirse con las mismas condiciones que el programa original. Copyleft parcial.- la parte editada de las obras derivadas de un programa deben distribuirse con las mismas condiciones que el programa original y el resto del programa puede ser distribuido con las condiciones que el autor estime oportunas. Una clasificación del software atendiendo al tipo de licencia que posee, de menor a mayor grado de libertad, es: Software privativo o propietario.- su licencia reserva la mayoría de los derechos de modificación, duplicación y redistribución para el titular de los derechos de propiedad intelectual (el programador o, en ocasiones, el distribuidor). Es el software distribuido bajo una licencia restrictiva que no contempla las libertades del software libre. Generalmente limitan el uso a las especificaciones del contrato y prohíben la redistribución y modificación. Entre las más conocidas tenemos: Windows Vista, Windows 2003 Server, Windows 7, Antivirus de diferentes marcas Programas ofimáticos como Microsoft Office. Programas editores de video, música, Página.- 38

40 Dentro de este software pueden encontrarse diferentes subclases de licencias dependiendo de las acciones que limiten. Por ejemplo, el software gratuito (freeware) que permite la distribución gratuita pero no la modificación. Software semi-libre.- su licencia, si bien suele permitir su libre uso, copia, modificación y redistribución, incluye cláusulas que limitan algunas de las libertades, generalmente la posibilidad de hacer uso comercial del software. Software libre.- aquel que puede ser usado, copiado, estudiado, modificado y redistribuido libremente. El término está relacionado con las libertades permitidas a los usuarios, no con el precio del mismo. De forma más concreta, un software es libre si garantiza las siguientes libertades: Distribución.- se puede instalar donde se desee, cuantas veces se desee, regalar a quien se desee, o incluso comerciar con éste de manera completamente legal. Uso.- se puede usar para lo que se desee, ya sea en casa, en la empresa, para usos militares, etc. Es decir, se puede ejecutar el programa con cualquier propósito (privado, educativo, público, comercial, etc.). Modificación.- se puede modificar como se desee, sin estar obligado a pedir permiso, adaptándolo así a necesidades más específicas. Se puede estudiar y modificar el código fuente del programa. Distribución de versiones modificadas.- si se modifica algo, se puede aportar con éstas mejoras al programa, y si se separa mucho del programa original se puede formar un nuevo proyecto bajo los términos de una licencia libre. Mejorar un programa, y hacer públicas las mejoras, redunda en beneficio de toda la comunidad. La clasificación de licencias según las libertades que ofrecen es una de las más interesantes aunque la mayor parte de los usuarios se conforman con distinguir entre dos tipos: gratuitas y no gratuitas. Existen, además, ciertas matizaciones que es conveniente conocer: Adware.- es software gratuito cuya financiación se consigue a través de la publicidad que contienen. Esta publicidad puede ser realmente invasiva, como una barra de herramientas en el explorador, o pasar prácticamente desapercibida. Esta publicidad, generalmente no deseada, incluida en forma de ventanas, barras de herramientas, etc. se denomina con frecuencia Spyware. Como ejemplos tenemos Messenger Plus Live, BSPlayer, Página.- 39

41 GPL / GNU / OpenSource.- son tipos de licencias muy conocidos en el entorno Linux que consisten básicamente en programas libres de descargar, usar, distribuir e incluso modificar puesto que se distribuye su código fuente. Como ejemplos tenemos diversas distribuciones de Linux y programas como emule y Ares. Demo.- es una demostración del software que permite conocer algunas de sus características. Algunos ejemplos significativos son las demos de los juegos que permiten conocer sus características antes de comprarlos. Shareware.- es una versión recortada de un programa comercial que permite comprobar si cumple con las expectativas. Las limitaciones pueden ser de muy diversa índole: número de ejecuciones, número de usuarios, ventanas de aviso emergentes, A diferencia de una Demo, una versión Shareware puede ser útil, a pesar de sus limitaciones, para un periodo de tiempo determinado, para un número de usuarios, etc. Un ejemplo puede ser Virtual DJ. Trial.- son versiones Shareware con una limitación de uso temporal que comúnmente suele ser de un mes. Este periodo a veces se amplia o reduce considerablemente. La línea que lo separa con respecto a la definición de Shareware es muy estrecha y, de hecho, muchas veces se utiliza una u otra indistintamente para un mismo programa Ventajas del software libre Algunas de las ventajas que ofrece el software libre frente al privativo son: Bajo coste de adquisición.- derivado de la no adquisición de licencias. Innovación tecnológica.- cada usuario puede aportar sus conocimientos y experiencia permitiendo decidir de forma conjunta las líneas de evolución y desarrollo del software, lo que supone un gran avance tecnológico. Independencia del proveedor.- al disponer del código fuente cada usuario puede contribuir al desarrollo del software al margen del proveedor que lo distribuya. Escrutinio público.- cada usuario puede contribuir a la corrección de errores y mejora del producto de forma rápida y eficaz. Adaptación del software.- las empresas que necesitan realizar un trabajo específico pueden personalizar el software a un coste muy razonable. Página.- 40

42 Lenguas.- aunque el software se cree y salga al mercado en una sola lengua la traducción a otras se ve facilitada por la intervención de gran cantidad de usuarios de todas las partes del mundo Versiones Un determinado software puede pasar por diferentes versiones desde que se pone a disposición de los usuarios para su chequeo hasta que se considera fiable, estable o final: Alpha.- versión inicial en desarrollo que se pone a disposición de los usuarios para que sea probada en los diferentes entornos y configuraciones. Beta.- versión en desarrollo más elaborada que la versión Alpha. RC (Real Candidate).- sigue siendo una versión en desarrollo, más elaborada que la versión Beta, que puede convertirse en versión final si se demuestra que son suficientemente estables. Estable o final.- versión suficientemente probada como para considerarse lista para su uso. Salvo que se especifique lo contrario, el software se distribuye bajo esta versión. Build.- identifica la versión de compilación del programa. Cuanto mayor sea el número más reciente es la versión. 2.8 Actividades recomendadas 1. Buscar en Internet los tipos de procesadores que incorporan los ordenadores personales actuales y analizar sus características. 2. Buscar en Internet los tipos y características de las memorias RAM que incorporan los ordenadores personales actuales. 3. Buscar en Internet las características fundamentales de los periféricos más significativos de entrada/salida. 4. Hacer una página web que recoja los tres apartados anteriores. 5. Pasar 3 números de decimal a binario, de decimal a hexadecimal, de binario a decimal, de hexadecimal a decimal, de binario a hexadecimal y de hexadecimal a binario. 6. Codificar los números -834, 1527 y en ASCII, en binario puro, en decimal desempaquetado y en decimal empaquetado. Mostrar la información en hexadecimal haciendo corresponder cada cuarteto a un carácter hexadecimal. 7. Comprobar la capacidad de memoria virtual (swap) asignada para MaX. 8. Teniendo en cuenta las diferentes clasificaciones de los sistemas operativos encuadrar MaX en cada una de ellas. 9. Buscar en internet 3 clasificaciones diferentes de las aplicaciones informáticas. Página.- 41

43 3 INSTALACIÓN DE SOFTWARE LIBRE Y PROPIETARIO 3.1 Aspectos didácticos Objetivos: Conocer los requerimientos para la instalación de varios S.O. Conocer el fichero de configuración del gestor de arranque GRUB e identificar sus opciones. Saber instalar y actualizar MaX 5.0 y Windows Server Saber instalar y desinstalar aplicaciones en los diferentes S.O. y analizar sus requerimientos físicos, lógicos (S.O.) y de licencia. Documentación. La documentación de este tema se puede ampliar con la ofrecida a través de internet en las páginas oficiales de MaX, Ubuntu y Microsoft. En muchos casos, la ayuda que contienen las distintas utilidades son un manual de las mismas; es el caso de, por ejemplo, Synaptic. En backharddi_local.pdf y en hay información acerca de cómo realizar clonados de particiones y de discos duros en MaX. Resumen. En este tema se exponen las operaciones fundamentales de instalación y mantenimiento de los sistemas operativos y las aplicaciones. Empieza por analizar las consideraciones previas a la instalación del sistema operativo, el programa gestor de arranque que debe utilizarse dependiendo de los S.O. a instalar; continua con las instalaciones, tanto de los S.O. como de las aplicaciones y finaliza con las actualizaciones y mantenimiento de todo el software instalado, incluidos los controladores de dispositivos. Se hace un tratamiento exhaustivo del gestos de arranque GRUB. Temporización: 14 horas. Página.- 42

44 3.2 Consideraciones previas a la instalación de sistemas operativos libres y propietarios Antes de proceder a la instalación de un sistema operativo deben tenerse en cuenta: Los requisitos hardware mínimos exigidos por el sistema operativo.- generalmente, todos los sistemas operativos, en todas sus versiones, ofrecen información acerca de las características hardware mínimas que debe cumplir el equipo en el que se va a instalar. Estas características mínimas suelen hacer referencia a los elementos: Tipo y velocidad del procesador. Capacidad de la memoria RAM. Capacidad del disco duro. Número y tipo de particiones. Características de la tarjeta de video. Dispositivos necesarios (lector de DVD, tarjeta de red, etc.). Características del equipo.- Además de saber si el equipo cumple con los requisitos de hardware exigidos para el funcionamiento del sistema operativo, hay que conocer: Los discos, particiones, tipos y sistemas operativos instalados previamente. Las particiones que conlleva la instalación del nuevo S.O. El diseño final de particiones, con capacidades y tipos, que se pretende conseguir. Licencias.- Es necesario conocer el tipo de licencia requerido para poder utilizar el S.O. conforme a la legislación vigente. Gestores de arranque.- son los programas que se utilizan en equipos con varios S.O. instalados para seleccionar, durante el inicio, el S.O. que debe cargarse. En función de los sistemas operativos instalados previamente, y los que se instalarán en un futuro, deberá conocerse cual será el programa gestor de arranque que se utilizará y si sus características permiten el inicio desde cualquier S.O. MaX incluye en su distribución el gestor de arranque GRUB que permitirá el inicio de cualquier S.O. instalado con anterioridad y del propio MaX. Página.- 43

45 Fig 17: GRUB Windows incluye un gestor de arranque que únicamente permite el inicio desde otros sistemas Windows. Este gestor de arranque puede dejar inaccesibles otros sistemas instalados que no sean de Microsoft. En el caso de que en el mismo sistema deban coexistir sistemas operativos de Microsoft y sistemas libres tipo MaX, se recomienda instalar en primer lugar los de Microsoft y al final MaX, puesto que GRUB incluirá opciones para poder arrancar desde cualquiera de ellos. Copias de seguridad.- es imprescindible realizar copia de seguridad de los datos de un disco antes de proceder a instalar en él un S.O. La instalación de sistemas operativos es la operación que con más frecuencia produce desastres en la información que previamente contenía el disco. Un reparticionamiento erróneo o un problema de compatibilidad puede producir la pérdida de la información de una partición. Aplicaciones a instalar.- El tipo de aplicaciones a instalar y sus requerimientos de capacidad determinarán el S.O. y las capacidades de las particiones a utilizar. Por ejemplo, si se prevé la utilización de un programa grabador de DVD's debe tenerse en cuenta que, aunque el programa en sí no necesita prestaciones especiales, la primera fase de la grabación consiste en llevar al disco duro la información del DVD para después poder pasarla, en una segunda fase, a un nuevo DVD; con lo cual, el programa requiere unas 5 GB de espacio libre en disco. Particiones diferentes para el sistema y para los datos. Se aconseja tener en particiones diferentes el S.O. y los datos de los usuarios. Esta disposición facilita la realización de copias de seguridad y, además, en caso de tener que reinstalar el sistema operativo, no es necesario tener que volcar todos los datos a un dispositivo externo y reubicarlos otra vez después de la instalación. El inconveniente es tener que calcular el espacio que se destinará a cada una de las dos particiones. Métodos de instalación soportados.-además de la instalación típica en la que el usuario administrador realiza la instalación desde los DVD's del sistema, existen circunstancias que pueden hacer aconsejable el uso de técnicas de instalación más sofisticadas. Un caso típico es la instalación del S.O. en un gran número de equipos. Página.- 44

46 Algunas de las técnicas más utilizadas son: Utilización de ficheros con la información requerida por el sistema durante la instalación. Este tipo de instalaciones se llaman desatendidas porque no requieren de la presencia física de un usuario durante la instalación. La información requerida durante la instalación es tomada de un fichero preparado con antelación. El usuario únicamente inicia el proceso de instalación, que suele realizarse mediante una instrucción que contiene una opción para especificar el fichero que contiene las respuestas. Instalación desde un servidor. El software del sistema operativo se encuentra en un equipo de la red y el usuario solamente necesitará disponer de un sistema de inicio que establezca la comunicación con el servidor de instalaciones. Evita que los usuarios dañen el soporte donde se encuentra el software original. Duplicación de discos. Como en el caso anterior se necesita disponer de un sistema de inicio del equipo, que se comunicará con un servidor que contendrá una copia de una instalación realizada anteriormente. Esta técnica es muy eficaz cuando los equipos donde se va a realizar la instalación tienen las mismas características de hardware. La diferencia con el método anterior es que aquí no se produce una instalación real, no se descomprime software ni se realizan comprobaciones de dispositivos, etc, solamente se copian ficheros. Versiones Live.- Cuando lo que se necesita es realizar pruebas con el S.O. para comprobar sus características, o se quiere conservar su integridad sin modificaciones, puede hacerse uso de una versión Live en DVD, que permite el inicio del sistema y su funcionamiento sin realizar instalaciones en el disco duro. La gran ventaja es que el S.O. nunca sufre variaciones por estar instalado en el DVD y los inconvenientes fundamentales son su mayor lentitud y que las configuraciones y modificaciones realizadas sobre los programas y utilidades incluidas en el DVD se pierden al apagar el equipo. Un ejemplo típico de utilización es el aula. MaX dispone de versiones Live y versiones para pen drive. Máquina virtual.- para casos similares al anterior (realización de pruebas) también puede considerarse la posibilidad de manejar el S.O. en una máquina virtual. Con este método el S.O. se instala en un fichero que puede ser borrado y copiado en cualquier momento con mayor facilidad que tener que trabajar con particiones. Un ejemplo se utiliza en esta documentación como laboratorio de pruebas con varios sistemas operativos. Página.- 45

47 3.3 Gestores de arranque Introducción La función fundamental de los programas gestores de arranque es facilitar la elección del S.O. de inicio del sistema, en aquellos equipos en los que se han instalado varios sistemas operativos o diferentes versiones de núcleo para un mismo S.O. Uno de los gestores de arranque más extendidos, utilizado por prácticamente todas las distribuciones de GNU/Linux, y que será el que aquí se analice con más detalle, es el denominado GNU GRUB. Para comprender mejor el funcionamiento del gestor de arranque es conveniente conocer en profundidad la estructura de un disco duro y el proceso o las fases del arranque Estructura del disco duro Estructura física Fig 18: Estructura física de un disco duro En cuanto a la estructura física, se puede suponer que un disco duro está formado por una serie de discos con un eje de giro común. Cada disco tiene dos caras (heads), cada cara está compuesta por una serie de pistas concéntricas (tracks) y cada pista está dividida en sectores. Las caras están numeradas desde la superior (cero) hasta la inferior, las pistas desde la más interna (la cero) hasta la más externa y los sectores desde una marca en adelante empezando desde el número 1. Un cilindro lo forman las pistas de las dos caras de todos los discos que tienen el mismo número de pista, es decir, el cilindro cero está compuesto por todas las pistas número cero. Página.- 46

48 Algunos datos interesantes relacionados con la estructura del disco son: Un sector físico es la cantidad mínima de información que se lee o se graba en una operación de lectura/escritura del dispositivo. Un disco duro no puede leer ni grabar una parte de un sector. Una partición debe ocupar un número entero de cilindros. Esta es la razón por la que en algunos sistemas operativos, al crear una partición, se crea con una capacidad un poco mayor o menor a la especificada por el usuario, puesto que realiza un ajuste a una capacidad que corresponda a un número exacto de cilindros. La capacidad de los sectores difiere de unos discos a otros. Para identificar un sector pueden utilizarse varias notaciones: CHS (Cylinder-Head-Sector).- consiste en especificar el nº de cilindro, de cabeza y de sector teniendo en cuenta que siempre se empieza a numerar por el cero. LBA (Logical Block Address).- consiste en especificar el nº absoluto de sector, siendo el primero el nº cero. Así, si un disco tiene 25 cilindros, 10 cabezas y 64 sectores por pista, tiene un total de sectores (64 * 10 * 25), que pueden numerarse del 0 al Cada cilindro tendrá 640 sectores y el sector nº 641 será el primer sector de la pista, de la primera cabeza, del segundo cilindro (cilindro = 1, cabeza = 0, sector = 1). Por lo general, las características de la BIOS relativas a los discos duros (cilindros, cabezas y sectores) no coinciden con las características reales que maneja el software (firmware) incorporado a la unidad de disco. El software del disco realiza las traslaciones oportunas de direcciones. Como ejemplo, el portátil con el que se está escribiendo esta documentación tiene un disco duro de 232,88 Gb. que físicamente constará de dos o cuatro cabezas y, sin embargo, el Editor de particiones muestra la siguiente información: Tamaño: 232,88 GiB Cabezas: 255 Sectores/Pista: 63 Sectores totales: (1 sector = 512 bytes) Página.- 47

49 Particiones Existen dos tipos de particiones: Particiones primarias.- se caracterizan porque el sistema puede arrancar desde ellas sin necesidad de ningún programa gestor de arranque. Un disco duro puede tener como máximo 4 particiones primarias. Particiones extendidas.- tienen como características fundamentales: Para arrancar desde ellas se necesita la ayuda de un programa gestor de arranque. En el caso de que exista será única. Puede contener unidades lógicas, cuyo funcionamiento es similar al de las particiones. Un disco duro puede constar de los siguientes elementos lógicos: Sector de arranque del disco.- Situado en la primera pista (pista cero) del disco. Sus funciones fundamentales son: Identificar si el disco ha sido particionado.- operación que se realiza comprobando si el valor hexadecimal de los bytes 511 y 512 del MBR es 55 AA (particionado) o no. Contener la tabla de asignación de particiones.- son los bytes 447 a 510, ambos incluidos. Estos 64 bytes están divididos en 4 elementos (entradas) de 16 bytes cada uno. Cada elemento contiene información de una partición. Por esta razón un disco no puede contener más de cuatro particiones. Cargar en memoria el pequeño programa o conjunto de instrucciones que deben ejecutarse a continuación. Particiones primarias.- están formadas por: Sector de arranque de la partición.- Los primeros 512 bytes de la partición cuya función es cargar en memoria y ejecutar el primer fichero correspondiente al sistema operativo instalado en dicha partición. Si la partición es de datos el sector de arranque estará vacío. Área de datos.- donde cada sistema operativo guarda los ficheros atendiendo a la organización que corresponda. Página.- 48

50 MBR Partición extendida.- destinada a contener las unidades lógicas. Cada unidad lógica creada estará formada por: Una primera entrada de tabla de partición extendida con estructura similar a las entradas de la tabla de particiones del MBR e información relativa al sector de carga de la propia unidad lógica. Una segunda entrada de tabla de partición extendida con información relativa a la siguiente unidad lógica, si existe. Otras dos entradas de tabla de partición extendida que no se utilizan. Dos bytes con el valor hexadecimal 55 AA. El sector de arranque de la partición. El área de datos. Como se ha descrito anteriormente, el MBR (Master Boot Record) lo forman los primeros 512 bytes del disco. Estos 512 bytes están formados por 3 elementos: El código maestro de carga (MBC).- formado por los primeros 446 bytes del MBR y cuyo contenido son varias instrucciones en código máquina encargadas de lanzar la carga y ejecución del cargador de arranque de un sistema operativo concreto o de un gestor de arranque. Es decir, la última instrucción que ejecute el MBR será: Carga y ejecuta los x bytes que haya a continuación de y. Las instrucciones anteriores comprueban si los bytes 511 y 512 tienen como contenido hexadecimal el valor 55 AA y determinan el valor para x y para y. La tabla de particiones.- con 4 elementos o entradas de 16 bytes cada uno cuyo contenido es el siguiente: 1 byte.- indica si la partición es la activa o no y sus posibles valores hexadecimales serán: 00 (hexadecimal).- Partición no activa. 80 (hexadecimal).- Partición activa. Página.- 49

51 3 bytes.- Significativos para notación CHS que indican la cabeza, cilindro y sector del primer sector de la partición. Estos 3 bytes se disponen de la siguiente forma: 8 bits...- contienen el nº de cabeza. 10 bits.- para el nº de cilindro. 6 bits...- para el nº de sector. 1 byte.- con el tipo de partición, siendo algunos de los valores más usuales: 0Ch.- FAT 32. 0Eh.- FAT h.- NTFS. 0Fh.- Extendida. 82h.- swap. 83h.- Linux. Etc. 3 bytes.- Significativos para notación CHS que indican la cabeza, cilindro y sector del ultimo sector de la partición. Estos 3 bytes se disponen de la siguiente forma: 8 bits...- contienen el nº de cabeza. 10 bits.- para el nº de cilindro. 6 bits...- para el nº de sector. 4 bytes.- Significativos para notación LBA que indican el número del primer sector de la partición. Además, se codifica invirtiendo la posición de los bytes: el primero será el menos significativo y el último el más significativo. Veamos algún ejemplo: Para codificar el valor 63, 1. Se pasa el valor decimal a hexadecimal: 63 (10 = 3F (16 2. Se utilizan 4 bytes para la codificación: F 3. Se invierte el orden de los bytes: 3F Para codificar el valor Se pasa el valor decimal a hexadecimal: (10 = B (16 2. Se utilizan 4 bytes para la codificación: B 3. Se invierte el orden de los bytes: 5B bytes.- Significativos para notación LBA e indican la capacidad de la partición en sectores. La codificación es igual que en el caso anterior. Página.- 50

52 Las capacidades y características de los discos duros actuales han sobrepasado los máximos que pueden expresarse en la tabla de particiones: 8 bits para nº de cabezas = 256 cabezas (notación CHS) 6 bits para nº de sectores = 64 sectores (notación CHS) 10 bits para nº de cilindros = 1024 cilindros (notación CHS) 32 bits para nº de sectores = sectores (notación LBA). Si los sectores tienen 512 bytes, esta cantidad equivale a algo más de 2 Tb., capacidades que ya empiezan a ser usuales. La firma del disco.- formada por los bytes 511 y 512, que permite comprobar si el disco está particionado correctamente, en cuyo caso el valor de estos dos bytes será 55h AAh (la letra h indica en notación hexadecimal). La función del MBR es muy simple, al igual que las instrucciones que contiene. Cualquier programa, sistema operativo, virus, puede grabar la información que le permita tomar el control del disco duro. Existe un MBR estándar, reconocido por la práctica totalidad de sistemas operativos que puede ser restaurado para solventar algunas situaciones de pérdida de información. Un esquema de las instrucciones del MBR estándar es: 1. Comprobar si la firma del disco es 55AA. Si no lo es se emite el mensaje de error que corresponda. 2. x = 512. Se inicia el contenido de la variable que contiene la longitud del código a leer. 3. Comprobar cual es la partición activa. Comprueba qué elemento de la tabla tiene en el primer byte el valor 80h. 4. Comprobar si la notación utilizada es CHS o LBA comparando los bytes 6º, 7º y 8º del elemento de la tabla correspondiente a la partición activa con el valor FEFFFFh. 5. y = nº de sector. Si la notación es CHS en la variable y se carga el contenido de los bytes 2º, 3º y 4º. Si la notación es LBA se carga el contenido de los bytes 9º, 10º, 11º y 12º. 6. Cargar y ejecutar x bytes desde la posición y. Con esta instrucción se cargará el sector de arranque de la partición activa. Algunos sistemas operativos restauran este MBR con la instrucción FDISK /MBR. Página.- 51

53 3.3.3 Secuencia de arranque La secuencia de arranque del equipo difiere según que el dispositivo de inicio sea uno u otro. Se va a considerar el arranque desde el disco duro por ser de los de mayor grado de complejidad derivada de la existencia de particiones o volúmenes, inexistentes en otros dispositivos. El resumen de las etapas del proceso de arranque desde el disco duro es el siguiente: 1. Una vez que el usuario enciende el ordenador, la BIOS (Basic Input Output System) inicia la pantalla y el teclado y comprueba la memoria RAM. A continuación se lee la hora, la fecha y los datos de los periféricos más importantes de los valores que se encuentran en la CMOS (CMOS Setup). Entre los datos leídos se encuentra el orden de arranque de los periféricos, es decir, el orden en que se probará si se puede arrancar desde el periférico. La última operación que realiza la BIOS es la carga en memoria del MBR. 2. Se ejecutan las instrucciones del MBR cuyo resultado final es la carga en memoria de las instrucciones que deben ejecutarse a continuación. Luego, la única función del MBR es cargar el programa o instrucciones que deben realizarse a continuación y cederle el control. Si se trata del MBR estándar, cargará en memoria el contenido del sector de arranque de la partición activa, que será el cargador de arranque del sistema operativo que se encuentre en la partición. Si se trata del MBR gestionado por GRUB, el contenido del MBR se conoce como stage 1, no tiene en cuenta la tabla de particiones y, dependiendo de la versión de GRUB, cargará el stage 1.5 o el stage Es conveniente diferenciar dos tipos de gestor de arranque: Si el gestor de arranque no es multiarranque, es decir, solamente se encarga de lanzar la ejecución de un único sistema operativo, su función es cargar en memoria el fichero que inicia la carga del sistema operativo y cederle el control. Más que un gestor de arranque sería un cargador de arranque. Un ejemplo típico es un equipo que tiene un sistema operativo Windows Server 2008 que ocupa todo el disco duro. En este caso, el sector de arranque de la única partición contiene las instrucciones que realizan la carga del primer fichero del núcleo de Windows y toma el control. Si el gestor de arranque es multiarranque (permite el inicio de varios S.O.) mostrará un menú de opciones que permita al usuario elegir el S.O. a iniciar. Una vez elegida la opción transferirá el control al sector de arranque de una partición o a un fichero que que será el primero en cargarse del S.O. Un ejemplo típico de este caso es el equipo que contiene en su disco duro un S.O. Windows y otro Linux, gestionando el inicio Página.- 52

54 con GRUB. Grub mostrará las opciones y en el caso de seleccionar la partición de Windows, transferirá el control al sector de arranque de la partición que contiene Windows, que a su vez cargará el primer fichero del S.O., y en el caso de que se seleccione Linux se transferirá el control al primer fichero de Linux (que no tiene por qué estar en el sector de arranque de la partición de Linux. 4. Se carga el fichero correspondiente al núcleo el sistema operativo y continua la carga de los demás procesos del sistema operativo hasta quedar listo para el inicio de sesión por parte del usuario. 5. Por lo general, el sistema operativo solicita un nombre de usuario y contraseña. Si ambos son correctos permite la entrada y si alguno de los dos no es válido se solicita la identificación completa El gestor de arranque GNU GRUB Según lo expuesto anteriormente, las etapas de la secuencia de arranque relativas al gestor de arranque son las número 2 y 3, desde que la BIOS carga en memoria el MBR hasta que el gestor de arranque carga el primer fichero del sistema operativo y le cede el control del sistema. Una de las funciones más importantes del gestor de arranque es mostrar al usuario los diferentes sistemas operativos del equipo y permitirle que seleccione en cual arrancar. Existen varios programas gestores de arranque siendo uno de los más conocidos el denominado GNU GRUB (Grand Unified Bootloader). GRUB consta de varias etapas diferenciadas: stage1.- Es la primera etapa de grub y comienza una vez que la BIOS carga en memoria el contenido del MBR. Consiste en la ejecución de las instrucciones cargadas y su única finalidad es cargar las instrucciones que tienen que ejecutarse a continuación y que corresponden a la siguiente etapa. Cuando se instala grub, además de copiar stage1 en el MBR, se hace una copia de los 512 bytes en un fichero llamado /boot/brub/stage1. Puede comprobarse que dicho fichero tiene 512 bytes. stage1_5.- Esta etapa es de reciente creación y su única función ha sido resolver algunas incompatibilidades surgidas a raíz de la aparición de discos de muy alta capacidad (con un nº de sectores muy alto) y para incluir nuevos sistemas de ficheros no contemplados anteriormente. Antes de su aparición, stage1 cargaba directamente stage2; ahora stage1 carga stage1_5 y ésta carga stage2. Se localiza en la pista cero del disco duro, justo a continuación del MBR, y ocupa como máximo el resto de la pista. En principio, la pista cero estaba muy poco utilizada puesto que, como se desprende de la estructura lógica del disco, su función es contener únicamente el MBR, cuya ocupación es de 512 bytes, desperdiciándose el resto de la misma. Página.- 53

55 Su ocupación no es siempre la misma, depende del tipo de disco y del sistema de ficheros. En el directorio /boot/grub se crean distintas copias de los programas relativos a esta etapa según diferentes sistemas de ficheros. Los nombres de estos ficheros comienzan por el tipo de sistema de ficheros y finalizan con _stage1_5. stage2.- Es cargada por stage1_5 o, en su defecto, por stage1. Sus instrucciones muestran un menú con los diferentes sistemas operativos y núcleos de sistemas operativos que se pueden iniciar, permiten la elección de una de las opciones y cargan en memoria las siguientes instrucciones a ejecutar, a las que ceden el control del sistema. Dado que stage2 puede acceder directamente a una gran variedad de sistemas de ficheros, sus instrucciones pueden ejecutar la carga de: las instrucciones situadas en un determinado sector de una partición, que suele consistir en el sector de arranque de una partición. Así, pueden lanzar la ejecución de un cargador de arranque de Windows e incluso de un nuevo stage1, que serán los encargados de continuar con el proceso de inicio. El primer caso es muy común. Un equipo con una partición primaria con un sistema operativo Windows, con las etapas del inicio muy simples: la BIOS carga y cede el control al MBR; éste carga y cede el control al cargador de arranque del sector de arranque de la partición de Windows; y éste carga y cede el control al primer fichero de Windows que inicia la carga del sistema operativo. Ahora se instala MaX, que reemplazará el MBR por el stage1 de grub. Al iniciar ahora el equipo, grub mostrará una opción para arrancar Windows y otra para Max. Si se elije Windows, grub continuará la carga del sector de arranque de la partición de Windows, exactamente igual que lo hacía el MBR antes de instalar MaX. Si se elije MaX, el stage2 cargará el fichero correspondiente al núcleo de MaX. Fig 19: Arranque de Windows Página.- 54

56 Fig 20: Arranque de Linux y Windows Fig 21: Arranque de varios Linux y Windows El segundo caso, que desde un stage2 se cargue un stage1 situado, no en el MBR que es lo más común, sino en el sector de arranque de otra partición, que a su vez cargará el stage2 de esa partición para que éste cargue el núcleo del S.O., pudiendo el stage2 inicial cargar dicho núcleo, es más extraño y se realiza cuando en un equipo con varios linux se desea visualizar la pantalla inicial (splash) que caracteriza al linux seleccionado. Fig 22: Arranque de varios Linux y Windows Un fichero situado en un determinado directorio de una partición, que suele consistir en el primer fichero a cargar de un S.O. y que normalmente es una determinada versión del núcleo del S.O. Es la forma natural de inicio de MaX. El stage2 está compuesto por varios ficheros situados en /boot/grub, entre los que se encuentran el propio stage2 y dos ficheros de configuración: menu.lst y device.map. Página.- 55

57 /boot/grub/device.map es un fichero muy sencillo cuya función es traducir los nombres de dispositivo utilizados por la BIOS y GRUB a nomenclatura linux. Así, es muy común que su contenido sea una sola línea como la siguiente: (hd0) /dev/sda /boot/grub/menu.lst contiene la información relativa a las particiones y a los sistemas operativos arrancables desde grub, como puede comprobarse en la sección Ejemplo de fichero /boot/grub/menu.lst de este mismo apartado. Además, GRUB dispone de un interprete de comandos o shell que permite la ejecución de algunas instrucciones relativas al control del inicio del equipo, permite modificar todos los parámetros de arranque antes del proceso de inicio, lo que permite resolver los errores cometidos al editar el archivo de menú (menú,lst). Pueden introducirse los comandos de arranque de forma interactiva y se puede averiguar la situación del kernel y de initrd antes de arrancar, posibilitando el arranque de un sistema operativo instalado para el que todavía no existe ninguna entrada en la configuración del cargador de arranque. Finalmente, la shell de GRUB proporciona una emulación de GRUB en el sistema instalado, lo que permite su instalación o probar configuraciones nuevas antes de aplicarlas. El menú de arranque de GRUB Tras la pantalla de bienvenida con el menú de arranque se encuentra el archivo de configuración de GRUB, /boot/grub/menu.lst. Este archivo contiene toda la información sobre todas las particiones o sistemas operativos que pueden ser arrancados con ayuda del menú. En cada arranque del sistema, GRUB vuelve a leer el archivo de menú del sistema de archivos. Por lo tanto, no hay ninguna necesidad de actualizar GRUB después de modificar el archivo. Más adelante se verán diferentes formas de modificar el fichero de menú. Este archivo de menú contiene comandos de sintaxis muy sencilla. Cada línea incluye un comando seguido de los parámetros opcionales separados por espacios en blanco, al igual que en la shell. Por razones históricas, algunos comandos tienen un signo = como primer parámetro. Las líneas de comentarios comienzan con #. Para reconocer las entradas de menú en la vista del menú, debe dar un título o title a cada entrada. El texto que aparece tras la palabra clave title será mostrado (incluyendo espacios en blanco) en el menú como opción para seleccionar. Después de seleccionar una entrada determinada del menú, se ejecutarán todos los comandos que se encuentren antes del siguiente title. El caso más sencillo es la ramificación al cargador de arranque de otro sistema operativo. El comando es chainloader y el argumento suele ser el sector de arranque de otra partición, por ejemplo: chainloader (hd0, 3)+1 Página.- 56

58 donde hd0 hace referencia al primer disco duro, el 3 a la cuarta partición y el +1 al primer rector. Con el comando kernel se puede especificar una copia o imagen del kernel (kernel image). El primer argumento es la ruta a la copia del kernel de una partición. El resto de los argumentos mostrarán el kernel en la línea de comandos. Si en el kernel no está compilado el controlador adecuado para el acceso a la partición root, se debe introducir initrd. Aquí se trata de un comando GRUB que tiene la ruta al archivo initrd como único argumento. Puesto que la dirección de carga del initrd se encuentra en la copia del kernel cargada, el comando initrd debe seguir a kernel. El comando root facilita la especificación de los archivos del kernel y de initrd. root tiene como único argumento un dispositivo GRUB o una partición de éste. Todas las rutas del kernel, de initrd o de otros archivos en las que no se ha introducido explícitamente un dispositivo, anticiparán el dispositivo hasta el siguiente comando root. Al final de cada entrada de menú se encuentra implícito el comando boot, por lo que no es necesario escribirlo en el archivo de menú. Si tiene ocasión de utilizar GRUB de forma interactiva en el arranque, debe introducir el comando boot al final. boot no tiene argumentos, simplemente controla la copia cargada del kernel o el chainloader indicado. Si ha introducido todas las entradas de menú, debe fijar una entrada como predeterminada o default. De no ser así, se utilizará la primera (entrada 0) como valor predeterminado. También tiene la posibilidad de asignar un tiempo de espera en segundos (timeout) antes de que se inicie el arranque de la opción predeterminada. timeout y default normalmente preceden a las entradas de menú. Convención de nombres para discos duros y particiones Para denominar a los discos duros y particiones, GRUB utiliza convenciones distintas a las ya conocidas de los dispositivos Linux normales. La numeración de las particiones en GRUB empieza por cero. (hd0,0) corresponde a la primera partición en el primer disco duro. En una estación de trabajo ordinaria a la que esté conectado un disco como Primary Master, el nombre de dispositivo es /dev/hda1. Las cuatro particiones primarias posibles ocupan los números de particiones 0 a 3. Las particiones lógicas se designan con los números a partir de 4: (hd0,0) (hd0,1) (hd0,2) (hd0,3) (hd0,4) (hd0,5) Primera partición primaria en el primer disco duro. Segunda partición primaria. Tercera partición primaria. Cuarta partición primaria (normalmente partición extendida). Primera partición lógica. Segunda partición lógica. Página.- 57

59 GRUB no distingue entre dispositivos IDE, SCSI o RAID. Todos los discos duros detectados por la BIOS u otras controladoras se numeran según el orden de arranque definido en la BIOS. El problema en GRUB es que no resulta fácil realizar la correspondencia entre los nombres de dispositivo Linux y los nombres de dispositivo de la BIOS. GRUB utiliza un algoritmo para generar esta correspondencia y la guarda en el archivo device.map que puede ser editado. Una ruta completa de GRUB consta de un nombre de dispositivo que se escribe entre paréntesis y de la ruta del archivo del sistema de archivos a la partición indicada. Al principio de la ruta se coloca una barra. Por ejemplo, en un sistema con un solo disco duro IDE y Linux en la primera partición, el kernel arrancable será: (hd0,0)/boot/vmlinuz Ejemplo de fichero /boot/grub/menu.lst Para comprender mejor la estructura de un archivo de menú GRUB, presentamos a continuación un breve ejemplo. El sistema de nuestro ejemplo contiene una partición de arranque de Linux en /dev/hda5, una partición root en /dev/hda7 y un sistema Windows en /dev/hda1. gfxmenu (hd0,4)/message # hiddenmenu color white/blue black/light-gray default 0 timeout 10 title MaX kernel (hd0,4)/vmlinuz root=/dev/hda7 vga=791 initrd (hd0,4)/initrd title Windows chainloader (hd0,0)+1 title Floppy chainloader (fd0)+1 title Failsafe kernel (hd0,4)vmlinuz.shipped root=/dev/hda7 ide=nodma \ apm=off acpi=off vga=normal nosmp maxcpus=0 3 initrd (hd0,4)/initrd.shipped El primer bloque se ocupa de la configuración de la pantalla de bienvenida: gfxmenu (hd0,4)/message.- La imagen de fondo se encuentra en /dev/hda5 y se llama message. Página.- 58

60 # hiddenmenu.- El carácter # convierte la instrucción en un comentario. hiddenmenu ocultaría el menú de opciones. Se utiliza cuando solamente existe un único S.O. con un único núcleo para arrancar y no resulta interesante tener que seleccionarlo. Para mostrar el menú hay que pulsar la tecla <Esc>. color white/blue black/light-gray.- El esquema de colores: blanco (primer plano), azul (fondo), negro (selección) y gris claro (fondo de la selección). El esquema de colores no se ve reflejado en la pantalla de bienvenida sino en el menú de GRUB al que accede tras salir de ella con <Esc>. default 0.- Por defecto se arranca la primera entrada del menú con title MaX. timeout 10.- Si transcurren 10 segundos sin que el usuario realice ninguna acción, GRUB arrancará automáticamente. El segundo bloque (y también el más grande) contiene una lista con los diversos sistemas operativos arrancables. Las secciones para cada sistema operativo comienzan con la entrada title. La primera entrada (title MaX) se encarga del arranque de MaX. El nucleo o kernel (vmlinuz) se encuentra en la primera partición lógica (aquí la partición de arranque) del primer disco duro. Aquí se añaden los parámetros del kernel como la especificación de la partición raíz, el modo VGA, etc. La definición de la partición raíz se realiza de acuerdo con el esquema Linux (/dev/hda7/), ya que esta información va dirigida al kernel y no tiene mucha relación con GRUB. Initrd se encuentra también en la primera partición lógica del primer disco duro. La segunda entrada se ocupa de cargar Windows. Este sistema operativo se inicia desde la primera partición del primer disco duro (hd0,0). La carga y ejecución del primer sector de la partición especificada se controla por medio de chainloader +1. La siguiente sección permite el arranque desde un disquete sin tener que cambiar la configuración de la BIOS. La opción de arranque Failsafe sirve para iniciar Linux con una selección determinada de parámetros del kernel que permiten el arrancar Linux incluso en sistemas problemáticos. El archivo de menú puede modificarse en cualquier momento mediante el uso de un editor; GRUB lo aplicará automáticamente la próxima vez que arranque el sistema. Para efectuar cambios temporales, puede hacerse de forma interactiva con la función de edición de GRUB, como se explica a continuación. Página.- 59

61 Otras opciones interesantes que pueden utilizarse dentro de menu.lst son: password.- permite proteger con contraseñas el menu o alguna de las entradas del mismo. splashimage.- permite especificar la imagen de fondo del menú de arranque. La imagen debe tener un máximo de 14 colores y un tamaño de 640 x 480 pixeles, debe tener formato xpm y es conveniente (no imprescindible) que esté comprimida con gzip (.gz). Con Gimp se puede saber el número de colores de una imagen a través de las opciones Colores Info Análisis del cubo de color, y se puede reducir con Imagen Modo Indexado. Para especificar en menu.lst el nombre de la imagen pondríamos al principio del fichero: splashimage=(hd0,nº_de_particion)/ruta/nombre.xpm.gz El nº de partición se puede conocer mediante la instrucción: fdisk -l Modificar las entradas del menú durante el proceso de arranque Por medio de las teclas de cursor puede seleccionar en el menú gráfico de GRUB el sistema operativo que desea arrancar. Si selecciona un sistema Linux, puede añadir sus propios parámetros en el cursor de arranque. Si pulsa <Esc> para salir de la pantalla de bienvenida e introduce a continuación e (edit), podrá editar directamente cada una de las entradas del menú. Ahora bien, los cambios realizados sólo tienen validez para ese proceso de arranque y no se adoptarán de forma permanente. Hay que tener en cuenta que al arrancar se trabaja con el teclado norteamericano que tiene asignados los caracteres especiales en teclas diferentes al español. Después de activar el modo de edición, seleccione por medio de las teclas de cursor la entrada del menú cuya configuración desea modificar. Para acceder a la configuración en modo de edición ha de volver a pulsar e. De este modo, puede corregir datos incorrectos de las particiones o rutas antes de que los fallos repercutan negativamente en el proceso de arranque. Para salir del modo de edición y volver al menú de arranque pulse <Intro>. A continuación arranque esa entrada por medio de b. Un texto de ayuda en la parte inferior de la pantalla le informa sobre el resto de opciones disponibles. Si desea guardar de forma permanente las opciones de arranque modificadas y pasárselas al kernel, abra el archivo menu.lst como usuario root (u otro con derechos de administrador) e introduzca los parámetros adicionales del kernel en la línea existente separándolos entre sí con espacios: Página.- 60

62 title MaX kernel (hd0,0)/vmlinuz root=/dev/hda3 <parámetros adicionales> initrd (hd0,0)/initrd La próxima vez que el sistema arranque, GRUB cargará automáticamente los nuevos parámetros. Selección del núcleo mediante comodines Sobre todo cuando se desarrollan o utilizan nucleos personalizados, es necesario modificar las entradas de menu.lst o editar la línea de comandos para reflejar los nombres actuales del kernel y del archivo initrd. Con el fin de simplificar este proceso, se recomienda el uso de comodines para actualizar dinámicamente la lista de kernels de GRUB. Todas las imágenes del nucleo (kernel) que coinciden con un patrón específico se añaden a la lista de imágenes arrancables. Para activar la opción de comodines, introduzca una entrada de menú adicional en menu.lst. Para que esta opción pueda aplicarse, todas las imágenes del kernel e initrd deben tener un nombre base común y un identificador que asocie el kernel con el initrd correspondiente. Vea por ejemplo la siguiente configuración: initrd-default initrd-test vmlinuz-default vmlinuz-test En este caso puede añadir dos imágenes de arranque en una configuración de GRUB. Para obtener las entradas de menú linux-default y linux-test, debe añadirse la siguiente entrada a menu.lst: title linux-* wildcard (hd0,4)/vmlinuz-* kernel (hd0,4)/vmlinuz-* root=/dev/hda7 vga=791 initrd (hd0,4)/initrd-* En este ejemplo, GRUB examina la partición (hd0,4) en busca de entradas que coincidan con el comodín. Esas entradas se utilizan para generar nuevas entradas de menú de GRUB. En el ejemplo anterior, GRUB actuaría como si menu.lst incluyera las siguientes entradas: title linux-default wildcard (hd0,4)/vmlinuz-default kernel (hd0,4)/vmlinuz-default root=/dev/hda7 vga=791 initrd (hd0,4)/initrd-default title linux-test wildcard (hd0,4)/vmlinuz-test kernel (hd0,4)/vmlinuz-* root=/dev/hda7 vga=791 initrd (hd0,4)/initrd-test Página.- 61

63 Los problemas con esta configuración pueden surgir cuando los nombres de archivo no se usan de forma consecuente o falta alguno de los archivos extendidos (por ejemplo una imagen initrd). El archivo /boot/grub/device.map El ya mencionado archivo device.map contiene la correspondencia entre los nombres de dispositivo GRUB y los nombres de dispositivo Linux. Si dispone de un sistema mixto con discos duros IDE y SCSI, GRUB debe intentar averiguar el orden de arranque a partir de un procedimiento concreto. En este caso, GRUB no tiene acceso a la información de la BIOS sobre el orden de arranque. GRUB guarda el resultado de esta comprobación en /boot/grub/device.map. A continuación vemos un ejemplo para el que asumimos que el orden de arranque definido en la BIOS es de IDE antes que SCSI: (fd0) (hd0) (hd1) /dev/fd0 /dev/hda /dev/sda Debido a que el orden de IDE, SCSI y otros discos duros depende de diversos factores y a que Linux no es capaz de detectar dicha correspondencia, existe la posibilidad de determinar el orden manualmente en el archivo device.map. Si al arrancar el sistema se producen problemas, compruebe si el orden de arranque en el archivo coincide con el orden especificado en la BIOS. En caso necesario, puede modificarse durante el arranque con ayuda del shell de GRUB. El shell de GRUB Existen dos variantes de GRUB: una como cargador de arranque y otra como un programa normal Linux en /usr/sbin/grub. Este programa se denomina shell de GRUB. La funcionalidad de instalar GRUB como cargador de arranque en un disco duro o disquete está directamente integrada en GRUB en forma del comando install o setup. De este modo, esta función está disponible en la shell de GRUB cuando Linux está cargado. Los comandos setup e install están disponibles también durante el proceso de arranque sin necesidad de que Linux se esté ejecutando. De este modo se simplifica la recuperación de un sistema defectuoso (que no puede arrancarse), ya que el archivo de configuración dañado del cargador de arranque puede evitarse mediante la introducción manual de parámetros. La introducción manual de parámetros durante el arranque resulta también muy adecuada para probar nuevas configuraciones cuando el sistema nativo no debe dañarse bajo ningún concepto. Introduzca simplemente el comando de configuración experimental con una sintaxis parecida a la del archivo menu.lst y pruebe la funcionalidad de esta entrada sin modificar el archivo de configuración actual y por tanto sin riesgo para la capacidad de arranque del sistema. Si por ejemplo desea probar un nuevo kernel, introduzca el comando kernel incluyendo la ruta al kernel alternativo. En caso de que el proceso de arranque falle, vuelva a utilizar para el próximo arranque el archivo menu.lst intacto. Por supuesto, la interfaz de la línea de comandos también resulta muy adecuada para poder arrancar el sistema a pesar de un archivo menu.lst defectuoso: simplemente introduzca el Página.- 62

64 parámetro corregido en la línea de comandos. Para que el sistema pueda arrancarse de forma permanente, ha de añadir este parámetro a menu.lst mientras el sistema está activo. El algoritmo de correspondencia de los nombres de dispositivo GRUB y Linux se activa sólo cuando la shell GRUB se ejecuta como programa Linux (para lo que se emplea el comando grub como se describe en la sección El archivo device.map. El programa lee a tal efecto el archivo device.map. Recuperar desde GRUB una contraseña olvidada Para restablecer una contraseña olvidada para un usuario, desde el shell de GRUB, pueden seguirse los siguientes pasos: 1. Encender el equipo y, cuando aparezcan las diferentes opciones del menú de arranque, seleccionar MaX 5.0, kernel generic o la que corresponda. Si en menu.lst se incluyó la opción hiddenmenu habrá que pulsar <Esc> para que aparezcan las opciones. 2. Pulsar e para editar. 3. Seleccionar la línea del kernel (kernel /boot/vmlinuz generic root=uuid...) y pulsar e. 4. Ir a la línea del final y cambiar ro quiet splas por rw init=/bin/bash y pulsar <Intro>. Hay que tener en cuenta que el teclado cargado es el americano y que los caracteres = y / están en las teclas que contienen los caracteres y -_ respectivamente. 5. Pulsar <Intro> y después b para arrancar (boot) el sistema. 6. El sistema se iniciará con el usuario root y sin contraseña. 7. Para poner una contraseña al usuario madrid habrá que ejecutar la instrucción: passwd madrid La instrucción solicitará la contraseña por duplicado. 8. Una vez introducida la contraseña reiniciar el equipo. Definir la contraseña de arranque GRUB soporta el acceso a sistemas de archivos ya desde el mismo momento del arranque. Esto también significa que es posible ver algunos archivos del sistema Linux a los que los usuarios sin privilegios root no tendrían acceso normalmente en un sistema iniciado. Mediante la definición de una contraseña, no sólo puede evitar este tipo de accesos no Página.- 63

65 autorizados durante el proceso de arranque, sino también bloquear la ejecución de determinados sistemas operativos por parte de los usuarios. root: Para definir una contraseña de arranque, realice los siguientes pasos como usuario 1. Introduzca el comando grub en el prompt del sistema del usuario root 2. Codifique la contraseña en la shell de GRUB: grub> md5crypt Password: **** Encrypted: $1$lS2dv/$JOYcdxIn7CJk9xShzzJVw/ Estas tres tres instrucciones realizan respectivamente: Llamada al programa de encriptación. Solicita la clave a encriptar. Devuelve el valor encriptado que corresponde a la clave introducida. 3. Introduzca el valor codificado en la sección global del archivo menu.lst: gfxmenu (hd0,4)/message color white/blue black/light-gray default 0 timeout 10 password md5 $1$lS2dv/$JOYcdxIn7CJk9xShzzJVw/ De esta forma se impide la ejecución de comandos GRUB en el cursor de arranque. Para poder volver a ejecutar comandos es necesario introducir p y la contraseña. No obstante, aquí sigue siendo posible para todos los usuarios arrancar un sistema operativo del menú de arranque. 4. Si se desea impedir además el arranque de uno o varios sistemas operativos del menú de arranque, añada la entrada lock a cada una de las secciones que no deba iniciarse sin introducir previamente la contraseña. Por ejemplo: title MaX kernel (hd0,4)/vmlinuz root=/dev/hda7 vga=791 initrd (hd0,4)/initrd lock Página.- 64

66 Así, después de reiniciar el sistema y seleccionar la entrada Linux en el menú de arranque, aparece el siguiente mensaje de error: Error 32: Must be authenticated Pulse <Intro> para acceder al menú y a continuación p para obtener un cursor en el que introducir la contraseña. Después de escribir la contraseña y pulsar <Intro>, se inicia el proceso de arranque del sistema operativo seleccionado (en este caso MaX). Al utilizar la contraseña de arranque en GRUB, no aparece la habitual pantalla de bienvenida. 5. Si se desea que solamente se necesite clave para una entrada determinada del menu, en vez de utilizar la opción password en la sección global se especificará en la linea siguiente a la que contiene la opción title de la sección a proteger. 6. Y por último, si se desea proteger con contraseña pero que ésta no se encuentre codificada basta con especificar dicha contraseña despues de la opción password. Por ejemplo, si queremos que la contraseña sea periquito, la linea correspondiente será: Práctica password periquito Editar el fichero /boot/grub/menu.lst y realizar las operaciones: Modificar el sistema operativo de inicio por defecto. Modificar el tiempo de espera para seleccionar otra opción. Comprobar el estado de la instrucción que oculta el menú, es decir, si está o no precedida por el carácter # que identifica los comentarios. Cambiar los colores del menú de arranque. Antes de efectuar cualquier modificación en menu.lst es conveniente realizar una copia de seguridad del fichero. Puesto que root es el único usuario que puede escribir en la carpeta /boot/grub, hay que iniciar una sesión como root o como un usuario con autorización para utilizar sudo (madrid). También se puede utilizar la instrucción su. 1. Iniciamos la sesión como usuario madrid y ejecutamos la instrucción: sudo cp /boot/grub/menu.lst /boot/grub/menu.lst.copia Esta instrucción hace una copia del fichero menu.lst como menu.lst.copia Si por alguna causa hubiera que recuperar el fichero inicial a partir de la copia, la instrucción a ejecutar sería: sudo cp /boot/grub/menu.lst.copia /boot/grub/menu.lst Página.- 65

67 2. Editamos el fichero y cambiamos la línea que contenga la instrucción default n puesto que n hace referencia al nº de orden que ocupa el S.O. a iniciar dentro de los incluidos en el fichero menu.lst. La secuencia de instrucciones relativas al inicio de un S.O. comienzan por la instrucción title y finalizan en la siguiente instrucción title (o en el final del fichero). Hay que tener en cuenta que se comienza a numerar por 0. Podemos editar con: sudo gedit /boot/grub/menu.lst Antes de modificar el valor de default puede duplicarse la sección relativa al primer S.O. de inicio, es decir, habrá dos secciones exactamente iguales, una a continuación de la otra. Ahora se podrá modificar default 0 por, por ejemplo, default Para modificar el tiempo de espera del menú hay que buscar la linea que contiene la instrucción timeout y modificar el tiempo, que es el parámetro que le sigue, tomado en segundos. 4. Para buscar la linea con la instrucción encargada de ocultar el menú, se puede situar el cursor en la primera línea del fichero y hacer que el editor de textos realice el trabajo buscando la palabra hiddenmenu a través de la opción Buscar de la barra de herramientas de gedit. Cuando el menú está oculto puede mostrarse pulsando la tecla <Esc>. 5. Los colores del menú de arranque están gestionados por la instrucción color. Hay que buscarla y probar a cambiar algún color poniendo su nombre en inglés: red, blue,... Administración de GRUB desde el entorno gráfico Hay una variedad de programas que permiten manejar la configuración de GRUB con el entorno gráfico. La función de estos programas es facilitar la elección de las diferentes opciones disponibles, aparte de documentar cada una de ellas. MaX 5.0 instala por defecto el programa startupmanager, al que se accede a través del menú Aplicaciones Sistema Administración Administrador de arranque. Página.- 66

68 Fig 23: Administrador de arranque Mediante las correspondientes fichas permite realizar la configuración completa de GRUB: Opciones de arranque.- permite configurar: El tiempo que permanece el menú en la pantalla antes de arrancar con la opción por defecto. El sistema operativo que arrancará por defecto si no se selecciona otro. La resolución y número de colores de la pantalla. Etc. Aspecto.- permite configurar: Los colores del menú del cargador de arranque. La imagen que se mostrará como fondo del menú de arranque. La imagen que se mostrará desde que se selecciona una opción hasta que se muestra el escritorio del usuario. Seguridad.- permite proteger el menú de arranque con una contraseña. Página.- 67

69 Avanzado.- permite: Limitar el número de kernels a mantener en el menú. Crear opciones para chequear la memoria y para arrancar en modo recuperación. Etc. 3.4 Instalación de sistemas operativos. Requisitos, versiones y licencias De entre la gran variedad de sistemas operativos, vamos a seleccionar para el desarrollo de este apartado dos de ellos: MaX y Windows 2008 Server. Por lo general, para proceder a la instalación de cualquier sistema operativo es necesario configurar el equipo para que utilice como primer dispositivo de arranque el lector de DVD. Solamente en el caso de que la instalación se realice desde una ubicación remota, se utilizará otro dispositivo de arranque, que además permita establecer la comunicación con el equipo remoto MaX Existe información muy completa acerca de la instalación de MaX en el Manual de Instalación que queda instalado en el escritorio, y en la Documentación para usuarios desarrollada en el bloque I. La versión más reciente de MaX es la 5.0, que ha sido puesta a disposición de los usuarios a finales de Puede bajarse de internet desde ftp://max.educa.madrid.org/isos, donde pueden encontrarse las variantes: Fig 24: Variantes de MaX v.5.0 CD Live i386.- versión reducida que permite la ejecución desde CD. DVD Live amd 64.- versión completa que permite la ejecución e instalación en equipos con procesador amd de 64 bits. Página.- 68

70 DVD Live i386.- versión completa que permite la ejecución e instalación en equipos con procesador intel de 32 bits. NanoMaX i386.- versión reducida adaptada para su ejecución desde pen drive. En el Manual de Instalación se contemplan los requisitos mínimos y los recomendados para cualquiera de las versiones a instalar: Requisitos mínimos: Procesador X86 o compatible a 1 Ghz. Lector de DVD. 256 MB de meoria RAM. 8 GB de disco duro. Tarjeta de red. Requisitos recomendados: Procesador X86 o compatible a 1 Ghz. Lector de DVD. 512 MB de memoria RAM. 10 GB de disco duro más el necesitado por el usuario. Tarjeta de red. Al iniciar el sistema con el DVD de MaX se muestran las opciones: Arrancar MaX 5.0 desde DVD (opción por defecto).- permite correr la versión DVD Live. Esta versión presentará un icono en el escritorio que permitirá la instalación de MaX en el disco duro. Instalar MaX 5.0 (solo muestra el instalador).- permite la instalación de MaX. Test de memoria.- permite comprobar el funcionamiento de la memoria RAM. Arrancar desde el primer disco duro.- se utiliza cuando por equivocación el equipo ha arrancado desde el DVD de MaX. Una vez iniciada la instalación, en el paso 2 de 5 el usuario debe elegir entre una de las siguientes versiones de MaX 5.0 a instalar: Escritorio.- incluye todas las aplicaciones educativas. No se recomienda si el equipo va a hacer la función de servidor. Página.- 69

71 Alumno.- incluye todas las aplicaciones educativas y la parte cliente de la aplicación max-tcos, que permite el control del ordenador desde el del profesor. Ideal para uso del alumno en el aula. Profesor.- incluye todas las aplicaciones educativas y la parte servidor de la aplicación max-tcos, que permitirá el control de los equipos de los alumnos. Ideal para uso del profesor en el aula. Servidor de terminales TCOS y clonado BackHarddi.- incluye todas las aplicaciones de la distribución, las aplicaciones típicas de un servidor (DHCP, Web, FTP, Webmin, NFS, ), la parte servidor de max-tcos, la parte servidor del clonado de discos duros, etc. Ideal para servidores. Fig 25: Tipo de instalación El Manual de Instalación contiene de forma pormenorizada las particularidades de la instalación de cualquiera de los diferentes tipos. En cuanto a las licencias, MaX es un sistema operativo diseñado por la Comunidad de Madrid para atender las necesidades de sus centros educativos, y que se ha construido a partir de Ubuntu, una distribución del sistema operativo libre y gratuito GNU-Linux. Todo su código fuente puede ser utilizado, modificado y redistribuido libremente por cualquiera bajo los términos de la Licencia Pública General de GNU (GPL). Su documentación tiene licencia GPLD, es decir, puede ser utilizada, copiada, modificada y distribuida citando su procedencia. Página.- 70

72 3.4.2 Windows Server 2008 Las versiones de prueba de este sistema operativo están disponibles en internet, en la dirección La licencia de prueba permite su utilización gratuita durante 60 días, ampliable hasta un máximo de 240 días, suficiente para realizar las pruebas oportunas a lo largo de un curso académico. A través de las diferentes fichas y opciones de esa misma página web se tiene acceso a información muy completa. Por ejemplo, en página accesible desde la anterior, en el apartado Windows Server 2008 Server Roles, a través de los enlaces existentes, se accede a guías de instalación y configuración de los servicios de servidor más utilizados. La ampliación de la licencia de prueba puede hacerse a través de la página Los requisitos hardware para la instalación y uso de Windows Server 2008 pueden consultarse en: Requisitos mínimos: Procesador x86 a 1 GHz o x64 a 1.4 Ghz. Memoria RAM de 512 MB. Disco duro con 10 GB libres. Tarjeta gráfica super VGA (800 x 600). Requisitos recomendados: Procesador a 2 GHz o más rápido. Memoria RAM de 2 GB o mayor. Disco duro con 40 GB libres o más. Tarjeta gráfica super VGA (800 x 600) o de mayor resolución. Estos requerimientos pueden variar dependiendo de la versión (Standard, Enterprise o Datacenter), la configuración y las aplicaciones y funciones a instalar. son: Las diferentes versiones de Windows Server 2008 que Microsoft a sacado al mercado Windows Server 2008 Standard.- puede manejar hasta un máximo de 4 GB de RAM en sistemas de 32 bits y hasta 32 GB en sistemas de 64 bits. La licencia permite la ejecución de este S.O. en una máquina física y una instancia en dicha máquina sobre una máquina virtual. Página.- 71

73 Es un sistema operativo robusto que incorpora capacidades de virtualización y Web mejoradas, con potentes herramientas para un mayor control sobre los servidores y para optimizar las tareas de configuración y administración. Dispone de altas prestaciones de seguridad para la protección de datos y de la red, constituyendo una buena opción para cualquier tipo de empresa. Windows Server 2008 Enterprise.- puede manejar hasta 64 GB de RAM en sistemas de 32 bits y hasta 2 TB en sistemas de 64 bits. La licencia permite la ejecución de este S.O. en una máquina física y hasta un máximo de 4 instancias a máquinas virtuales. Además de las características de la versión Standard, dispone de funciones como el servicio de clúster y la adición de procesadores en caliente, mejora la seguridad y permite reducir costes mediante la consolidación de aplicaciones, utilizando derechos de licencia para virtualización. Es una buena opción para una empresa de tipo medio con una infraestructura escalable y dinámica. Un clúster es un grupo de equipos que trabajan de manera conjunta para ejecutar un grupo de aplicaciones comunes y ofrecer la imagen de un único sistema al cliente y a la aplicación. Los equipos están conectados físicamente mediante cables y programados mediante software para clústeres. Estas conexiones permiten que los equipos utilicen la conmutación por error y el equilibrio de carga, que no resultan posibles en equipos individuales. Además puede aumentarse la capacidad de cálculo del clúster añadiendo nuevos equipos o procesadores (escalabilidad). Windows Server 2008 Datacenter.- puede manejar hasta 64 GB de RAM en sistemas de 32 bits y hasta 2 TB en sistemas de 64 bits. La licencia permite la ejecución de este S.O. en una máquina física y en un número ilimitado de instancias a máquinas virtuales. Es una plataforma de nivel corporativo para aplicaciones de alto rendimiento y virtualización a gran escala sobre servidores de todo tipo. La disponibilidad del sistema se ve incrementada gracias a las posibilidades de configuración en clúster y particionamiento dinámico del hardware. Permite reducir los costes de infraestructura mediante la consolidación de aplicaciones facilitada por derechos de licencia de virtualización ilimitados. Escala desde 2 a 64 procesadores. Windows Server 2008 Datacenter supone la plataforma ideal para soluciones de virtualización y alto nivel de escalabilidad en entornos de grandes organizaciones. Windows Web Server diseñado como servidor Web especializado exclusivamente. Es una plataforma sólida de funcionalidades Web basada en las tecnologías de última generación que introduce Windows Server Se integra con los entornos IIS 7.0, ASP.NET y Microsoft.NET Framework, todos ellos rediseñados en profundidad, por lo que Windows Web Server 2008 permite a cualquier organización publicar y difundir páginas, sitios, aplicaciones y servicios Web en un tiempo mínimo. Página.- 72

74 Windows Server 2008 for Itanium-Based System.- edición optimizada para entornos a gran escala de bases de datos, aplicaciones de línea de negocio o de otro tipo, donde se requiere una alta disponibilidad y la capacidad de escalar hasta a 64 procesadores para responder a las necesidades de las organizaciones y de las soluciones de misión crítica. En la actualidad existe una revisión de cada una de estas versiones que ha sido denominada como R2. Los detalles sobre el uso de licencias para cada una de las versiones pueden consultarse en Las versiones de servidores de Microsoft anteriores al Server 2008, por orden de aparición han sido Windows NT Server, Windows 2000 Server y Windows Server 2003, esta última con varias revisiones (SP1 y SP2). 3.5 Instalación/desinstalación de aplicaciones. Requisitos, versiones y licencias La instalación de una aplicación en un equipo consiste en la realización de las operaciones necesarias para posibilitar a los usuarios el lanzamiento de la ejecución de dicha aplicación de forma sencilla. Por ejemplo, cuando se instala una aplicación en MaX, generalmente se incluye una opción en uno de los submenús del menú Aplicaciones que posibilita la ejecución de la aplicación instalada. Algo similar ocurre en Windows, que se crea una opción en el submenú Todos los programas del menú Inicio. A veces, además, durante la instalación se crea un icono en el escritorio que permite la ejecución, y otras, el lanzamiento se realiza mediante la ejecución de una instrucción en la línea de comandos de un terminal. La desinstalación es el proceso inverso, consiste en realizar las operaciones que permitan eliminar los datos y programas pertenecientes a la aplicación y en hacer las modificaciones oportunas en los ficheros de configuración del sistema que los devuelva a su estado previo a la instalación. Normalmente la desinstalación permite eliminar los ficheros que pertenecen única y exclusivamente a la aplicación en cuestión, pero no pueden eliminar todas las líneas incluidas o deshacer los cambios efectuados en los ficheros de configuración del sistema porque podrían afectar a la ejecución de otras aplicaciones. Las desinstalaciones van dejando restos en los ficheros de configuración, líneas o cambios innecesarios que pueden afectar al rendimiento de los sistemas operativos y que hacen que los sistemas operativos sometidos a gran número de instalaciones y desinstalaciones deban ser reinstalados periódicamente. Página.- 73

75 La forma de realizar una instalación depende fundamentalmente del tipo de aplicación. Los tres casos más usuales son: Aplicaciones a medida.- son aquellas aplicaciones diseñadas y realizadas por un programador o equipo de programadores para informatizar las operaciones determinadas por un cliente concreto. Por ejemplo, cuando un banco encarga la informatización de cierta tarea a un equipo de programadores. La instalación la realiza el equipo de programadores modificando, creando y cargando los ficheros necesarios. Aplicaciones de uso general.- son aquellas aplicaciones que cualquier usuario puede comprar en una tienda de software y que pueden utilizar porque resuelven sus necesidades en un porcentaje muy elevado. Ejemplos típicos los tenemos en los paquetes de Ofimática, Contabilidades, Aplicaciones de diseño gráfico, etc. Estas aplicaciones contienen los ficheros adecuados que permiten la instalación automatizada sin apenas la intervención del usuario o contienen un fichero de instrucciones, del tipo readme.txt, que permite efectuar la instalación a personas con ciertos conocimientos informáticos. Aplicaciones incluidas en la lista de paquetes del sistema operativo.- Algunos sistemas operativos contienen listas de software que puede ser instalado haciendo una simple selección. Tanto MaX como Windows 2008 permiten este tipo de instalaciones. En concreto MaX contiene un gestor de paquetes, Synaptic, que permite estas instalaciones y desinstalaciones. En términos generales, un paquete es una aplicación, una librería o cualquier tipo de componente que puede ser instalado en un sistema. Es muy normal que exista dependencia entre paquetes en el sentido de que para que un paquete funcione correctamente necesite que también se encuentren instalados otros. Synaptic resuelve las dependencias informando de las mismas al usuario para que decida si desea o no proseguir con la instalación. Esta característica facilita enormemente al usuario el proceso de instalación. Los paquetes a instalar pueden encontrarse en un soporte accesible al usuario (CD, DVD, ) o en algún servidor en Internet. Las diferentes distribuciones de sistemas operativos cuentan con servidores, accesibles a través de Internet, que contienen recopilaciones de paquetes actualizados y listos para que los usuarios puedan descargarlos; son los llamados repositorios. Los repositorios contienen una cantidad inmensa de paquetes de forma que prácticamente no sea necesario utilizar software de otros orígenes, que puede generar problemas de instalación y funcionamiento. La ventana que permite configurar los repositorios tiene como título Orígenes del software y está accesible desde el Gestor de paquetes Synaptic, opciones Configuración Repositorios, o bien desde el menú Aplicaciones Sistema Administración Gestor de actualizaciones Botón Preferencias. Página.- 74

76 Fig 26: Repositorios En la ficha Software de terceros aparecen los repositorios incluidos de forma predeterminada: la unidad de CD/DVD, uno relativo a Ubuntu y dos a MaX, aunque solamente se encuentra activado el principal de MaX, donde se encuentran las versiones más recientes de esta distribución. A la derecha de los nombres de los repositorios se incluyen algunas descripciones del tipo: main (principal), código fuente (que permite bajar el código fuente de las aplicaciones y adaptarlo a las necesidades), etc. Los botones Añadir, Editar y Quitar permiten añadir, mostrar información y eliminar, respectivamente, repositorios. Entre la información que se muestra se encuentra el tipo de repositorio, que indica si contiene las aplicaciones en formato binario, ya compiladas y listas para su instalación, o en código fuente, que pueden ser modificadas y después deberán compilarse para que se puedan ejecutar. Para cada repositorio, a través de la ficha Software de Ubuntu, pueden seleccionarse diferentes categorías de paquetes: Software libre soportado por la empresa Canonical (main).- contiene software muy actualizado en cuanto a seguridad, escritorios y servidores. Software libre mantenido por la comunidad (universe).- contiene aplicaciones con licencias propietarias soportadas por la empresa Canonical. Las actualizaciones de seguridad tienen que estar sujetas a las licencias de sus creadores originales. Controladores privativos para dispositivos (restricted).- contiene más de aplicaciones no soportadas por la empresa Canonical pero si por la comunidad del Software Libre. Software restringido por copyright o cuestiones legales (mulyiverse).- contiene aplicaciones que, dependiendo de la legislación de cada país, pueden o no ser legales, con lo cual su distribución puede resultar problemática. Página.- 75

77 Fig 27: Categorías de los paquetes Se aconseja tener activadas las cuatro categorías para disponer de una mayor variedad de aplicaciones. El sistema mantiene un listado de las aplicaciones disponibles para instalar. Cuando se instala un nuevo repositorio el sistema pregunta si se desea actualizar dicho listado y debe responderse afirmativamente. La ficha Actualizaciones permite configurar qué paquetes para actualizar deben considerarse y con qué periodicidad debe comprobarse la existencia de paquetes actualizados. Pulsando con el botón derecho sobre uno de los paquetes mostrados en la ventana de Synaptic se muestran las posibles operaciones a realizar con el mismo e información detallada acerca del paquete (dependencias, ficheros,...). La opción Ayuda de Synaptic incorpora un manual con información muy completa de las diferentes opciones del programa. Para ver las aplicaciones libres existentes se puede: Buscar, iniciando la sesión con un usuario administrador, a través del menú Aplicaciones Añadir y quitar Buscar en Synaptic por descripción o por secciones. Buscar en la página web GenomeFiles Buscar en la página web Freshmeat Buscar en la página Alternativas libres Página.- 76

78 Otra opción que permite la instalación y eliminación de aplicaciones es la que se encuentra en el menú Aplicaciones Añadir y quitar cuando se inicia una sesión como un usuario con privilegios de administrador (madrid). Fig 28: Añadir y quitar aplicaciones La ventana dispone de un botón ayuda que contiene un pequeño manual de la aplicación. Práctica Comprobar en la máquina virtual de MaX v.5.0 si se encuentra instalado el paquete Apache e instalarlo si aún no lo está. Los pasos a seguir pueden ser los siguientes: Iniciar la máquina virtual MaX50. Iniciar la sesión con el usuario madrid. Iniciar el gestor de paquetes Synaptic. Comprobar si se encuentra instalado el paquete apache2 e instalarlo si es necesario. Comprobar su funcionamiento una vez instalado abriendo un explorador y especificando como dirección: localhost. Si funciona correctamente aparecerá una página con el texto: It works!. Página.- 77

79 Práctica Instalar el programa Google Earth en la máquina virtual de MaX. Los pasos a seguir para la instalación y funcionamiento correcto pueden ser: Instalar con Synaptic los paquetes directamente relacionados con el funcionamiento de Google Earth. Bajar de internet el programa correspondiente (por ejemplo GoogleEarthLinux.bin). Dar permisos de ejecución al fichero. Ejecutar el fichero en el directorio alojado mediante la instrucción:./googleearthlinux.bin Lanzar la ejecución del programa comprobando su funcionamiento. Fig 29: Google Earth corriendo en máquina virtual Página.- 78

80 Práctica Comprobar en Windows 2008 el precio de la aplicación Microsoft Office. Las pautas a seguir pueden ser las siguientes: Entrar en: Panel de control Programas y características. Entrar en la tarea: Obtener nuevos programas en línea en Windows Marketplace. De forma muy similar a como ocurre con los sistemas operativos, los programas de aplicación tienen sus propias exigencias para poder funcionar de forma eficiente. Estas exigencias o requisitos suelen estar relacionados con tres condicionantes fundamentales: Sistemas operativos.- la información técnica que acompaña a las aplicaciones suele especificar con qué sistemas operativos son compatibles y si es necesario que se encuentre instalado o configurado con alguna particularidad alguno de los componentes de los mismos. Así, se pueden encontrar aplicaciones que únicamente corren en determinados sistemas operativos sin posibilidad de que puedan utilizarse con otros, y aplicaciones con versiones diferentes para una variedad más amplia de sistemas operativos. Fig 30: Página de descarga de Office 2010 Página.- 79

81 Fig 31: Página de descarga de OpenOffice En las figuras anteriores pueden verse como dos de las aplicaciones más utilizadas (Microsoft Office y OpenOffice) contemplan, una el requerimiento de cierto software instalado, y la otra versiones diferentes para sistemas operativos diferentes. Hardware.- este tipo de requerimiento a veces solamente hace referencia a la necesidad de disponibilidad de espacio libre en disco puesto que los requerimientos de memoria RAM, velocidad de proceso, etc. se presuponen cubiertos por el mero hecho de cumplir con los requisitos exigidos por el sistema operativo instalado. Licencias.- para hacer uso de cualquier aplicación es necesario conocer las condiciones de la licencia adquirida. El desconocimiento de los términos, condiciones de uso y particularidades de la licencia puede acarrear problemas tales como: Imposibilidad de una instalación completa y correcta. La aplicación no funciona después de la instalación. La aplicación deja de funcionar después de cierto periodo de tiempo. Pérdida de información. Funciones desactivadas. La aplicación funciona únicamente para un cierto número de usuarios. La aplicación no funciona en red. Etc, etc, etc. La práctica totalidad de las aplicaciones está sujeta sujeta a modificaciones que permiten su adaptación al nuevo hardware, a los nuevos sistemas operativos, a las nuevas necesidades creadas, o a mejoras exigidas por los usuarios o para hacer frente a la competencia. Estas modificaciones dan lugar a las diferentes versiones del software. Ejemplos típicos son: Todos los programas y aplicaciones que hacen uso de la pantalla se han ido adaptando a los avances en cuanto a resolución y número de colores soportados. En concreto, los juegos han realizado avances espectaculares. Página.- 80

82 Dada la evolución en el incremento de las capacidades de los discos duros, los programas que manejan bases de datos se han adaptado para permitir la inclusión de gran cantidad de información como puede ser la firma o fotografía de los clientes, su dirección de correo electrónico, etc. La necesidad de realizar operaciones mercantiles a distancia y seguras ha obligado a dotar a las aplicaciones de sistemas de seguridad que permitan la realización de transacciones fiables. Cada firma de software utiliza su propio método para comercializar y/o distribuir las diferentes versiones que produce. Los contratos de licencia pueden establecer si el usuario tiene derecho a recibir de forma gratuita las revisiones o mejoras del software que se produzcan durante un periodo determinado. Así mismo, los sistemas operativos y aplicaciones pueden incluir procesos relacionados con su actualización y licencia tales como: Actualización automática.- algunos S.O. y aplicaciones comprueban de forma automática y periódica (diaria, semanal, configurable, ) si existen actualizaciones y en caso afirmativo las descargan e instalan. Un caso típico son los antivirus que se actualizan muy frecuentemente. Avisos de existencia de actualizaciones.- los S.O. y programas comprueban la existencia de actualizaciones y emiten un mensaje para que el usuario proceda según convenga. Avisos de caducidad de licencia.- algunas aplicaciones emiten algún mensaje cuando la licencia está a punto de expirar o ha finalizado para que el usuario realice la renovación si lo considera oportuno. Avisos de incumplimiento de licencia.- cuando intentan hacer uso de un S.O. o aplicación más usuarios de los permitidos o se encuentran en ejecución más copias de las permitidas. Etc. Página.- 81

83 3.6 Actualización de sistemas operativos y aplicaciones Los sistemas operativos y aplicaciones suelen contener procesos que permiten la actualización constante de los mismos. MaX dispone de un Gestor de actualizaciones (update-manager) que detecta los paquetes instalados que disponen de alguna actualización y da opción a instalarlas. Además, a través del botón Preferencias admite ciertos parámetros de configuración distribuidos por diferentes fichas: Fig 32: Gestor de actualizaciones de MaX Software de Ubuntu.- permite seleccionar el tipo de software a descargar de internet y desde qué servidor. Software de terceros.- permite especificar los repositorios desde los que se podrán obtener actualizaciones. Actualizaciones.- permite seleccionar el tipo de actualizaciones que debe tener en cuenta, configurar las actualizaciones automáticas en cuanto a la periodicidad de comprobación y a cómo proceder y qué actualizaciones de las versiones de la distribución del S.O. mostrar. Página.- 82

84 Fig 33: Configuración del Gestor de actualizaciones Autenticación.- permite especificar los proveedores de software en los que se confía. Estadísticas.- permite enviar cierta información acerca de los paquetes que se utilizan para que pueda ser considerada por los desarrolladores del S.O. Para realizar el control de las versiones de los paquetes y aplicaciones a actualizar, los sistemas operativos registran listados del software que tienen instalado y su versión. Por otra parte, los servidores de software contienen listados de las últimas versiones de software disponibles. Los programas gestores de actualizaciones comparan ambos listados con la frecuencia configurada y proceden como corresponda si detectan diferencias. Windows Server 2008 dispone del icono Windows Update en el Panel de Control que permite el control de las actualizaciones del S.O. Su configuración y consulta se realiza mediante las opciones: Cambiar configuración. Ver historial de actualizaciones. Restaurar actualizaciones ocultas. En muchos casos, y de forma similar a como lo hacen los S.O., son las propias aplicaciones las que incluyen procedimientos para detectar la existencia de nuevas versiones de ellas mismas, la caducidad de su licencia, etc. y proceder según su propia configuración. Página.- 83

85 Fig 34: Windows Update 3.7 Ficheros de inicio del sistema operativo En el apartado se explica el proceso previo a la carga de ficheros del sistema operativo, cómo el gestor de arranque determina la partición y el sistema operativo desde el que se iniciará el sistema. Una vez que la segunda etapa del gestor de arranque (stage 2) haya determinado que núcleo (kernel) arrancar, localizará el binario del núcleo correspondiente en el directorio /boot. La llamada al núcleo tiene el siguiente formato: /boot/vmlinuz-<versión del núcleo>, donde <versión del núcleo> corresponde a la especificada en las configuraciones del gestor de arranque (ej. /boot/vmlinuz generic). El gestor de arranque cargará en memoria tanto el núcleo como una imagen inicial de RAM apropiada (initial RAM disk), conocida como initrd (ej. /boot/initrd.img generic). El initrd es usado por el kernel para cargar los controladores necesarios para arrancar el sistema. Fig 35: Contenido de /boot Página.- 84

86 Se lanza la ejecución del núcleo que configura la memoria del ordenador y los diferentes dispositivos hardware conectados al sistema (procesadores, subsistemas de entrada/ salida y dispositivos de almacenamiento); finalmente buscará initrd en una ubicación predeterminada en memoria y lo descomprimirá dando como resultado la creación de un pequeño sistema de archivos temporal cuyo contenido es el fichero linuxrc. La función de linuxrc, que debe finalizar su ejecución correctamente, es cargar los módulos del núcleo que permitan montar al sistema de archivos raíz real (el del disco o dispositivo que corresponda). Dependiendo de la configuración del sistema, linuxrc es responsable de las siguientes tareas: Cargar los módulos del kernel.- según la configuración del hardware, es necesario disponer de controladores especiales para acceder a ciertos componentes de hardware presentes en el equipo (principalmente, el disco duro). Para poder acceder al sistema de archivos raíz final, el kernel necesita cargar los controladores de sistema de archivo apropiados. Gestionar RAID y LVM.- si el equipo alberga el sistema de archivos raíz bajo RAID o LVM, linuxrc configura LVM o RAID para permitir el acceso posterior al sistema de archivos raíz. Gestionar la configuración de red.- si se ha configurado el sistema para utilizar un sistema de archivos raíz montado en red (a través de NFS), linuxrc debe asegurarse de que se encuentren cargados los controladores de red y de que éstos permiten el acceso al sistema de archivos raíz. Algunos de los mensajes que el núcleo produce durante el arranque pueden ser revisados en el fichero /var/log/mesg o mediante el programa dmesg. Tan pronto como el sistema de archivos raíz real ha sido montado con éxito, linuxrc se detiene y el kernel inicia el programa init. init es el proceso creado por el núcleo que se encarga de iniciar, supervisar y detener todos los demás procesos del sistema. Existen diferentes mecanismos de arranque y parada de servicios y cómo el init los gestiona: El tradicional System V Init (sysvinit).- donde /sbin/init lee el fichero de configuración /etc/inittab y arranca los servicios. Upstart.- donde el init gestiona los servicios básandose en eventos. El init maneja los servicios definidos en la carpeta /etc/event.d. Init Upstart pretende ser el sustituto de init sysvinit. Página.- 85

87 Ejecutar una serie fijada de scripts, uno tras otro, en un determinado orden ha funcionado razonablemente bien hasta ahora. No obstante, conforme Linux ha ido mejorando y adaptándose a los sistemas modernos (posiblemente el manejo de dispositivos desmontables es mejor en Linux que en Windows) este enfoque ha empezado a plantear problemas. La antigua solución sólo funciona si garantizamos que en determinados instantes de la secuencia de arranque están disponibles ciertos recursos, por ello para que los scripts de init funcionen se deben ejecutar en puntos concretos de dicha secuencia. Normalmente se ordenan teniendo en cuenta: Los discos duros deben haberse encontrado, iniciado y haber detectado sus particiones antes de que intentemos montarlas desde /etc/fstab. Los dispositivos de red deben haberse detectado e iniciado antes de que activemos los servicios de red. Los ordenadores actuales se han vuelto mucho más flexibles: Los dispositivos pueden conectarse y desconectarse en cualquier momento, como por ejemplo los dispositivos con conexión a USB. Los buses de almacenamiento aceptan un número variable de dispositivos, por lo que hay que explorar el bus. Esta operación no debe ser bloqueante. Para reducir el consumo eléctrico, las unidades de disco duro pueden dejar de girar hasta que se explore el bus, por lo que tardarán un tiempo mayor en aparecer. Los dispositivos de red pueden conectarse y desconectarse en cualquier instante. Puede que el firmware requiera ser escrito después de detectar el dispositivo, pero antes de que sea utilizable por el sistema. Montar una partición de /etc/fstab puede requerir que estén disponibles programas del directorio /usr que no pueden utilizarse hasta que se configure la red si /usr está en un sistema de ficheros de red. Hasta ahora se ha podido modificar el sistema para que gran parte de esto sea posible, pero el resultado es un conglomerado de parches en los scripts de inicio. Se necesitaba un sistema init que pudiera reordenar dinámicamente la secuencia de inicio basándose en la configuración y el hardware disponible en cada situación. Este nuevo init es Upstart, que esta siendo desarrollado dentro de Ubuntu por Scout James Remnant, pero que esta pensado para cualquier distribución. Página.- 86

88 Upstart es un nuevo init basado en eventos, donde los servicios son arrancados o parados porque ocurre un evento para el cual están preparados o escuchando. Los eventos generados por el sistema pueden iniciar una tarea y parar las que ya se están ejecutando. Los eventos pueden ser, entre otros: El sistema se ha iniciado. El sistema de ficheros raíz ya permite acceso de escritura. Un dispositivo de bloque se ha añadido al sistema. Se ha montado un nuevo sistema de ficheros. Otra tarea se ha iniciado o ha terminado. Un fichero ha sido modificado. Hay ficheros en una cola del sistema. Se ha detectado un dispositivo de red. El enrutamiento predeterminado ha sido añadido o eliminado. De hecho, cumpliendo ciertas restricciones, cualquier proceso del sistema puede enviar eventos al proceso init por lo que no hay ningún límite. Cada tarea puede permanecer en uno u otro estado (espera, ejecución, ) dependiendo de los eventos que se produzcan. Por ejemplo, la impresión de un documento puede estar en espera hasta que se conecta una impresora al puerto USB. Los eventos generados por el demonio init, o enviados por otros procesos, pueden provocar que las tareas se inicien o detengan. También pueden recibirse peticiones manuales para iniciar o parar una tarea. La comunicación entre el proceso init y otros procesos es bidireccional, por lo que se puede solicitar el estado en el que se encuentran las otras tareas e incluso pueden recibirse los cambios de estado que se produzcan. Los scripts para upstart trabajan de forma similar a los tradicionales ficheros rc, exceptuando que ahora operan de manera autónoma basados en eventos asíncronos. Upstart mantiene, por tanto, una capa de compatibilidad con el sistema sysvinit Niveles de ejecución En Linux, un demonio (daemon), que responde al acrónimo de Disk And Execution Monitor, es un tipo especial de proceso informático que se ejecuta en segundo plano para dar algún tipo de servicio. Ejemplos de demonio, son los servidores de correo, servidores de impresora, sistemas de conexión con redes, etc. Este tipo de programas se ejecutan continuamente. Los sistemas GNU/Linux suelen arrancar una serie de daemons en su secuencia de inicio como cualquier otro proceso normal. Las tareas que puede desempeñar un demonio pueden ser muy variadas: responder a peticiones de red, control de actividad de hardware y software, configurar hardware, ejecutar tareas periódicas o preprogramadas (como el demonio cron), etc. Página.- 87

89 Los demonios en ejecución en un determinado momento marcan los servicios que el sistema operativo está ofreciendo y/o recibiendo en ese momento. El hecho de que puedan coexistir bastantes procesos diferentes provoca que su organización deba plantearse de forma adecuada. Un nivel de ejecución o runlevel consiste en la ejecución de unos determinados procesos o demonios que proporcionan unos servicios concretos. En la instalación de un servidor es habitual diseñar una configuración para que en determinados momentos se puedan ofrecer determinados servicios y en otros no. Para permitir este tipo de funcionamiento, el sistema operativo nos proporciona diferentes niveles de ejecución que podremos adaptar a nuestras necesidades. Si bien se puede configurar el número de niveles de ejecución que se quiera y la funcionalidad de cada uno de ellos, generalmente los sistemas Linux nos proporcionan 7 niveles diferentes (numerados del 0 al 6) para permitir que el ordenador trabaje con diferentes configuraciones de arranque (diferentes servicios). La siguiente tabla muestra los diferentes niveles de ejecución y su funcionalidad. Niveles de ejecución 0 Parada del sistema (system halt). S Funcionalidad Modo monousuario desde el prompt del arranque. 1 Modo monousuario. 2 Modo multiusuario local, sin red remota. 3 Modo multiusuario con red. 4 No usado. 5 Modo multiusuario con red y con entorno gráfico. 6 Reiniciar el sistema. En MaX (también en Debian y en Ubuntu) los niveles de ejecución del 2 al 5 son equivalentes al nivel 5. Los diferentes niveles pueden ser configurados según las necesidades de cada instalación. Por defecto, el sistema se incia en el nivel de ejecución2, lo que se puede comprobar ejecutando el comando runlevel, que mostrará 2 números, el primero muestra el nivel previo en el que se encontraba, que si no se ha cambiado de nivel mostrará una N, y el segundo corresponde al nivel actual. Se puede cambiar a otro nivel de ejecución introduciendo sólo init (o telinit) con el número correspondiente. Naturalmente, el cambio a otro nivel sólo puede ser gestionado por el administrador de sistema. Por ejemplo, con el comando init 1 o shutdown now se logra entrar en el modo monousuario, el cual se ocupa del mantenimiento y administración del sistema. Después de que el administrador del sistema haya acabado su trabajo, se puede utilizar init 2 para arrancar el sistema en el nivel de ejecución normal. Con init 0 o shutdown -h now se puede parar el sistema y con init 6 o shutdown -r now o reboot reiniciarlo. Página.- 88

90 El modo como se organizan los procesos en cada nivel de ejecución es muy simple: cada nivel de ejecución tiene un directorio situado en /etc/rcn.d, donde N es el número del nivel de ejecución. En los directorios /etc/rcn.d realmente se encuentran enlaces simbólicos a los ficheros shell scripts, con el mismo nombre descriptivo, de los procesos (demonios) que están en el directorio /etc/init.d. Con el mismo nombre del enlace se identifica la acción que se va a realizar. Algunas características de los ficheros que se encuentran dentro de /etc/rcn.d son: Son enlaces simbólicos cuyo nombre empieza por K o S, seguido de un número de dos digitos, entre 00 y 99, y un nombre descriptivo. Se ejecutan en orden alfabético, primero los que empiezan por K y después los que empiezan por S. El orden es importante, ya que algunos daemons necesitan que otros estén en ejecución entes de ser iniciados. Los ficheros K (de kill) sirven para detener demonios o matar procesos. Los ficheros S (de start) sirven para lanzar demonios o ejecutar funciones de inicialización. Si el nombre no empieza por K o S, el sistema lo ignora. De esta manera, para cada nivel de ejecución, se especifica qué demonios tienen que estar activos y qué demonios no tienen que estar activos. Cada scrpt gestiona una tarea o servicio, que se inicia cuando el script se ejecuta con el argumento start y se detiene cuando se usa el argumento stop. De esta forma en cada runlevel pueden detenerse los servicios que no se necesiten y activarse aquellos que interesen. Este sistema también facilita el arranque y parada de servicios, ejecutando estos scripts manualmente con el argumento apropiado. En general, no hay que preocuparse por la configuración del arranque, ya que el sistema de instalación se ocupa automáticamente de actualizar la configuración en función de los paquetes instalados El proceso init en MaX Una vez que el núcleo del sistema (kernel) se ha cargado en memoria, se ejecuta el programa init, que se convierte en el proceso número 1 y se encarga de ejecutar el resto de programas que hacen que el sistema funcione. Hasta hace poco tiempo la operación de init se configuraba en el fichero /etc/inittab. Editando este fichero se podía seguir paso a paso el proceso de arranque y parada del sistema. Actualmente, éste fichero no existe aunque se mantiene un nivel de compatibilidad con el mismo. init se limita a ejecutar una serie de scripts que activan ordenadamente los diferentes Página.- 89

91 servicios que hacen funcionar el sistema. En /etc/event.d se encuentran los ficheros de configuración de init upstart que, se puede decir, funcionan como si del fichero /etc/inittab se tratase. Este directorio contiene los ficheros que se muestran en la figura. Fig 36: Contenido de /etc/event.d Ficheros ttyn.- que llaman a la creación de las terminales con getty. Ficheros rcn.- que ajustan el nivel de ejecución llamando a /etc/init.d/rc para ejecutar los scripts del nivel de arranque correspondiente. Otros ficheros como ctrl-alt-del que envía mediante dicha combinación de teclas al reinicio ordenado del equipo, o rc-default que define el nivel de inicio por defecto. En primer lugar, init ordena la ejecución del script /etc/event.d/rc-default que determina fundamentalmente dos procesos: La ejecución de todos los scripts situados en /etc/rcs.d, independientemente del nivel por defecto con el que se inicie el sistema. La misión de estos scripts es realizar las tareas que siempre son necesarias: inicializar el teclado, los puertos serie, etc. Más concretamente, rc-default ordena la ejecución del script /etc/event.d/rcs, que a su vez contiene la orden exec /etc/init.d/rcs, es decir, ejecuta el script rcs que se encuentra en el directorio /etc/init.d. El script /etc/init.d/rcs realizará una llamada mediante el comando rc S para que se ejecuten en orden alfabético los scripts que se encuentren bajo el directorio /etc/rcs.d/. Las tareas realizas por estos scripts son las básicas, comunes a en todos los niveles, para arrancar el sistema. Como se puede comprobar, todos los scripts de /etc/rcs.d comienzan por S, tendrán start como argumento y siguen la nomenclatura anteriormente comentada. Cada script tiene su función particular y en realidad, son enlaces simbólicos a los verdaderos scripts situados en el directorio /etc/init.d. De esta forma es más fácil añadir, eliminar y ordenar los componentes. Página.- 90

92 La ejecución de los scripts correspondientes al nivel de ejecución por defecto, con el que se debe iniciar el sistema. En MaX el nivel de inicio por defecto es el 2. Se puede comprobar que el contenido de los directorios /etc/rc2.d, /etc/rc3.d, /etc/rc4.d y /etc/rc5.d es el mismo lo que implica que los niveles de ejecución 2, 3, 4 y 5 lanzan los mismos servicios. Una vez ejecutados los scripts de /etc/rcs.d, el script rc-default ordena la ejecución del nivel con el que se debe iniciar por defecto el sistema mediante el comando telinit 2. Se ejecutarán, así, los scripts correspondientes al nivel de ejecución 2, que son los que se encuentran en /etc/rc2.d Gestión de los servicios con sysv-rc-conf La aplicación sysv-rc-conf, no instalada por defecto, permite conocer los servicios activos, mostrarlos, detenerlos, etc. Puede instalarse desde Synaptic. Para ejecutarla puede utilizarse sudo sysv-rc-conf. La interfaz de la aplicación es sencilla, se ejecuta por consola y está bien diseñada, puesto que muestra en orden alfabético, en la primera columna, todos los servicios de que dispone el sistema, y, en las siguientes columnas, el estatus del servicio dependiendo del nivel de ejecución. Lo útil de la aplicación es que además de aparecer un listado de todo lo que existe, permite la gestión en caliente de todos ellos. Fig 37: sysv-rc-conf El manejo es sencillo, nos moveremos a través de los servicios usando las teclas de direccionamiento y activamos y desactivamos simplemente presionando la tecla espaciadora o bien pulsando con el ratón sobre el runlevel de la aplicación. De esta manera se puede configurar qué servicios se han de ejecutar en cada runlevel. Página.- 91

93 3.8 Registro del sistema Algunos sistemas operativos disponen de un registro del sistema donde se centraliza la configuración de los diferentes servicios y/o aplicaciones, como es el caso de los sistemas Windows. En Linux estas configuraciones no están centralizadas, cada servicio tiene su propio fichero de configuración. La centralización de configuraciones tiene la ventaja de que con un único programa puede realizarse el mantenimiento del registro, pero el inconveniente de que su deterioro puede afectar de forma sustancial a la totalidad del sistema. 3.9 Actualización y mantenimiento de controladores de dispositivos Los fabricantes ponen a disposición del usuario los equipos y dispositivos junto con los controladores o drivers específicos. Generalmente, estos controladores no se actualizan, salvo que por error presenten algún problema, en cuyo caso deberán seguirse las indicaciones del fabricante. Por otra parte, la práctica totalidad de fabricantes dispone de una web con soporte técnico donde el cliente puede realizar las consultas oportunas o descargar los controladores que correspondan al S.O. instalado. Casos más generalizados son la instalación de un nuevo dispositivo (cámara de fotos, cámara de vídeo, escaner, etc.) o la sustitución de uno por otro más moderno (impresora, pantalla, etc.). En estos casos el S.O. suele detectar el cambio y solicita la ubicación del controlador o directamente lo descarga de internet. Si el S.O. no detecta el cambio deberán seguirse las indicaciones del fabricante. Página.- 92

94 3.10 Actividades 1. Comprobar cuales de las consideraciones previas del apartado 3.2 pueden aplicarse a los sistemas operativos MaX y Windows Server Buscar en internet los requerimientos hardware de las diferentes versiones de Windows Server Comprobar con un editor hexadecimal si el contenido de la tabla de particiones del MBR del disco duro del ordenador del aula se ajusta a la teoría. 4. Modificar el texto que aparece en las diferentes opciones que muestra el gestor de arranque GRUB. 5. Desde la shell de grub cambiar la contraseña del usuario madrid. A continuación deshacer el cambio. 6. Proteger con la contraseña quegueno una de las opciones de arranque de menu.lst. Posteriormente utilizar la misma clave pero encriptada. 7. Utilizando startupmanager modificar el tiempo de espera del menú y los colores del fondo y del menú. 8. En el DVD de Windows 2008 (fichero readme.rtf) y en internet hay información acerca de como realizar una instalación desatendida. Buscarla, analizarla y realizar una instalación desatendida. 9. Realizar una instalación de MaX en el pen drive. 10. Realizar el clonado de un disco duro usando el programa Backharddi de MaX. 11. Buscar en las páginas web de Microsoft una guía o laboratorio de configuración del servidor de DHCP. 12. Buscar en internet información acerca de como instalar el programa Ares en MaX, e instalarlo. 13. Realizar con Synaptic la búsqueda de los diferentes editores hexadecimales disponibles. Instalar y utilizar alguno de ellos. 14. Comprobar si se encuentra instalado el paquete samba y mostrar su descripción. 15. Cambiar algún aspecto en la configuración de los programas gestores de actualizaciones de MaX 5.0 y Windows Server. 16. Actualizar alguno de los paquetes incluidos en MaX 5.0 y en Windows Server. 17. Comprobar la existencia de los diferentes ficheros de inicio del sistema y analizar su contenido. 18. Instalar dos dispositivos como pueden ser: impresora, escaner, cámara de fotos, cámara de video, y comprobar el correcto funcionamiento. Página.- 93

95 4 ADMINISTRACIÓN DE SOFTWARE DE BASE I. USUARIOS LOCALES 4.1 Aspectos didácticos Objetivos: Saber la función de las cuentas de usuario. Describir los tipos de usuarios en MaX y en Windows Server Describir las diferencias entre las cuentas locales y globales. Diseñar una estrategia para la creación de cuentas. Crear nuevas cuentas de usuario, modificarlas y eliminarlas. Aplicar procedimientos para la creación de gran cantidad de cuentas de usuario. Conocer los aspectos configurables del entorno o perfil de un usuario. Documentación. Además de la información del tema, pueden consultarse las Ayudas de MaX, Ubuntu y Windows. Resumen. En este tema se tratan los elementos más importantes relativos a la creación y mantenimiento de cuentas de usuario: sus características, su diseño considerando aspectos relativos al nombre, contraseña, restricciones relativas al horario de conexión, número de logins, uso de espacio de disco, etc. También se detalla la creación de cuentas en el sistema operativo Windows 2008 Server y los usuarios predeterminados de ambos sistemas. Por último, se aborda la seguridad de las cuentas, la seguridad de las contraseñas y los perfiles de los usuarios. Temporización: 10 horas. Página.- 94

96 4.2 Administración de usuarios locales La característica fundamental de los sistemas operativos multiusuario es que distintos usuarios pueden trabajar de forma independiente en el mismo sistema. Cada usuario tiene una cuenta de usuario que consiste en un nombre de usuario y una contraseña personal para entrar al sistema. Además, de forma generalizada para la práctica totalidad de los sistemas operativos, cada usuario puede tener asignado: Un directorio personal de trabajo para almacenar sus archivos. Una configuración de su entorno de trabajo o perfil que incluye características como: Configuración del escritorio. Impresoras disponibles. Conexiones a recursos compartidos. Etc. Derechos o privilegios que lo autorizan a realizar ciertas operaciones en un equipo como pueden ser: realizar copias de seguridad, apagar el equipo, administrar cuentas de usuario y grupo, etc. Permisos (reglas asociadas a un elemento u objeto, generalmente ficheros o carpetas) que regulan si tienen acceso a un objeto y de qué manera. Cada sistema operativo dispone de una serie de derechos que puede asignar o no a los usuarios. Los permisos son propiedades de los objetos que pueden empezar a asignarse cuando se crea el objeto. Un ejemplo de derecho lo tenemos en la vida cotidiana si imaginamos una familia que tiene establecida una norma acerca de la hora a la que tienen que llegar los hijos a casa dependiendo de su edad. Un ejemplo de permiso sería si la familia compra un ciclomotor y asigna quién puede conducirlo y quien puede ir de acompañante. Un aspecto fundamental en la administración de cuentas de usuario y de grupo, que simplifica enormemente la organización y el trabajo del administrador, es la posibilidad de centralizar las cuentas en determinados equipos. Un ejemplo para constatar la diferencia puede ser el caso de un aula donde el profesor crea en cada ordenador una o varias cuentas para los alumnos de un determinado grupo y el caso donde el profesor crea un usuario para cada alumno en el ordenador del profesor y los alumnos inician la sesión desde cualquier equipo del aula haciendo uso de las cuentas creadas en el ordenador del profesor. En el primer caso estamos hablando de cuentas de usuario locales, que solamente pueden utilizarse trabajando en el equipo donde están creadas y en el segundo de cuentas globales, que se crean en un equipo pero pueden ser utilizadas desde otros. Página.- 95

97 4.2.1 Diseño de cuentas de usuario MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red Es muy importante que el administrador de cuentas siga unas directrices en cuanto a la administración de cuentas y tenga organizada la información de las personas que van a disponer de una cuenta de usuario. Estas directrices deben contemplar: Una convención de nombres.- para asegurar que los nombres de las cuentas de usuario serán únicos y seguirán una lógica establecida que facilite su memorización o búsqueda posterior. Además, se deberá tener en cuenta: La longitud mínima y máxima de los nombres de cuenta, así como los caracteres especiales permitidos y que pueden utilizarse para ayudar a identificar a los usuarios. La posibilidad de que existan nombres personas duplicados debe estar contemplado para asignarles nombres de cuentas de usuario diferentes. El nombre de la cuenta debe aportar la mayor cantidad de información posible. Así podrá incluir caracteres que hagan referencia a su puesto de trabajo, a su temporalidad, etc. Por ejemplo, para los alumnos de 1º A de bachillerato se pueden crear los usuarios de la forma: us_bach1a_nº de alumno, o bien, bach1a_apellido_1ª letra del nombre,... Los requisitos de las contraseñas.- que permitan proteger convenientemente el equipo. Algunas recomendaciones son: Asignar siempre una contraseña al usuario administrador, e incluso, cambiar el nombre de la cuenta del usuario administrador. Determinar si los usuarios pueden o no cambiar su contraseña. Por lo general son los propios usuarios los encargados de administrar su contraseña pero se dan muchos casos en los que esta práctica no es conveniente. Determinar si una cuenta de usuario debe caducar o no, dependiendo de la temporalidad del usuario. Informar a los usuarios sobre el correcto uso de las contraseñas: evitar asociaciones obvias que contemplen el nombre del usuario, de familiares o fechas significativas, utilizar un nº mínimo de caracteres alto, intercalar minúsculas, mayúsculas, números y caracteres especiales, etc. El horario de uso del ordenador y de conexión a la red.- como método de protección y seguridad de los datos, estableciendo el horario de inicio de sesión y de uso cuando los usuarios requieran el acceso dentro de unos períodos de tiempo específicos, por ejemplo, cuando existan turnos diferentes de usuarios. Página.- 96

98 Ubicación de las carpetas de trabajo.- que son las carpetas privadas de los usuarios donde podrán almacenar sus archivos. Se utilizan como carpetas predeterminadas para gran número de operaciones del S.O. y de los diferentes programas. Pueden estar almacenadas en el equipo local o en un servidor de la red y para determinar su ubicación deben considerarse: MaX 5.0 Realización de copias de seguridad y restauración.- que puede simplificarse si las carpetas personales se encuentran centralizadas en un servidor. Espacio que ocupan.- que puede determinar la posibilidad de utilizar o no un servidor. También debe considerarse si el S.O. tiene posibilidad de limitar el espacio máximo que puede ocupar una carpeta. Uso de dispositivos removibles.- que permita a los propios usuarios responsabilizarse de sus datos. Rendimiento de la red.- dado que, dependiendo del tipo de ficheros utilizados y el lugar donde se ubiquen, puede incrementarse considerablemente el tráfico en la misma. Para realizar la administración de usuarios, MaX dispone del programa users-admin, accesible desde el entorno gráfico a través del menú Aplicaciones Sistema - Administración Usuarios y grupos, o desde un terminal a través del comando users-admin. En ambos casos se necesitan privilegios de administrador y saber la contraseña del administrador para poder ejecutar el programa. Entonces, desde un terminal se puede entrar con cualquier usuario y ejecutar: su root users-admin Esta instrucción pedirá la contraseña de root. Si no funciona correctamente puede ser porque al usuario root aún no se le haya asignado ninguna contraseña. o entrar con el usuario madrid y ejecutar: sudo users-admin. Si se intenta cargar users-admin sin los privilegios adecuados el sistema emitirá un mensaje de error similar al de la figura. Dependiendo de la forma de invocar al programa, puede iniciarse bloqueado y habrá que pulsar el botón Desbloquear e introducir la contraseña del usuario madrid, o de otro al que se le haya otorgado privilegios de administrador, para desbloquearlo. A continuación se mostrará cada usuario en una fila, con su nombre real, el nombre de la cuenta (logín) y su directorio de trabajo. Página.- 97

99 Fig 38: Programa users-admin Fig 39: Error al cargar users-admin El gestor de usuarios y grupos contiene botones que permiten añadir, modificar y borrar usuarios o grupos. Los datos que se pueden introducir al añadir usuarios o modificar posteriormente a través del botón Propiedades están repartidos en varias fichas: Cuenta.- donde se especifican los datos: Usuario.- es el nombre de la cuenta que se solicita para hacer logín. Nombre real.- permite especificar el nombre real del usuario. Perfil.- permite asignar unas autorizaciones según se elija uno de los perfiles predeterminados: Administrador (podrá realizar tareas de administración del sistema), Usuario del escritorio (podrá realizar las tareas típicas de cualquier usuario) y Usuario sin privilegios (tiene muy restringidas las operaciones que puede realizar). Contraseña.- se puede establecer una contraseña manualmente, que se introducirá por duplicado, o bien hacer que el sistema genere una contraseña de forma aleatoria para el usuario. Contacto.- para establecer la ubicación en la oficina, el teléfono del trabajo y el del domicilio. Página.- 98

100 Privilegios del usuario.- que permite establecer los derechos de los usuarios siguientes: Acceder automáticamente a dispositivos de almacenamiento externo. Administrar el sistema. Capturar vídeo de TV o de webcams y usar aceleración 3D. Compartir archivos con la red local. Conectar a Internet con un modem. Conectarse a redes ethernet e inalámbricas. Configurar impresoras. Enviar y recibir faxes. Monitorizar los registros del sistema. Montar sistemas de archivo en espacio de usuario (FUSE). Usar dispositivos de sonido. Usar módems. Usar unidades de CD-ROM. Usar unidades de cinta. Usar VirtualBox. Además, a través del menú Aplicaciones Sistema Administración Autorizaciones se pueden establecer las diversas autorizaciones disponibles en el sistema para los usuarios. Avanzado.- para establecer los parámetros: Directorio personal. Intérprete de comandos. Grupo principal al que pertenece el usuario. ID del usuario o número identificativo del mismo. Límites a los usuarios Existe la posibilidad de limitar recursos a los usuarios o grupos, por ejemplo, el máximo numero de logins que puede realizar simultáneamente un usuario, el máximo tiempo de CPU, el máximo numero de procesos etc. Estos límites se controlan en MaX a través del fichero /etc/security/limits.conf. También es posible limitar los tiempos de acceso a los usuarios. Una de las formas de hacerlo es con el servicio timeoutd. Este servicio se instala a través de la distribución y, una vez instalado aparece un fichero de configuración /etc/timeouts. En este fichero de configuración las lineas en blanco o que comienzan por # no son interpretadas. El resto de las líneas debe tener alguna de las dos siguientes sintaxis: o bien TIMES:TTYS:USERS:GROUPS:MAXIDLE:MAXSESS:MAXDAY:WARN TIMES:TTYS:USERS:GROUPS:LOGINSTATUS Página.- 99

101 En la página de manual timeouts(8) se explica el significado de cada uno de los campos de estas líneas. Algunos ejemplos son: 1. El ususario usprueba01 no puede hacer login durante el fin de semana: SaSu:*:usprueba01:*:NOLOGIN 2. Sólo el ususario root puede acceder desde las consolas tty1 a tty6: Al:tty1,tty2,tty3,tty4,tty5,tty6:root:*:LOGIN Al:tty1,tty2,tty3,tty4,tty5,tty6:*:*:NOLOGIN 3. Sólo el usuario root puede acceder entre las 15:00 y las 16:00h de cada dia: Al :*:root:*:LOGIN Al :*:*:*:NOLOGIN 4. Una vez que se ha preparado el fichero /etc/timeouts es necesario reiniciar el servidor timeoutd: /etc/init.d/timeoutd restart Stopped /usr/sbin/timeoutd (pid 2412). Starting /usr/sbin/timeoutd... Es importante destacar que este proceso no actúa durante el proceso de login lo que da lugar a que, aunque un usuario tenga prohibido el acceso a una máquina en un momento determinado, inicialmente puede entrar y sólo, una vez que se ejecute el proceso timeoutd, será expulsado del sistema. Para conseguir que durante el proceso de login se revisen las condiciones de timeouts se debe incluir las siguientes lineas en el fichero /etc/profile: # Comprueba restricciones de timeoutd (ver timeoutd, timeouts(5)) /usr/sbin/timeoutd whoami basename \ tty\ exit Con esta línea incluso aunque el servicio timeoutd esté parado si en el fichero /etc/timeouts se prohibe el acceso a un usuario éste no podrá entrar en el sistema. Limitar con cuotas el espacio de disco El sistema de quotas provee un mecanismo de control y uso del espacio de disco duro disponible en un sistema. Se pueden establecer limites en la cantidad de espacio y el número de ficheros de que puede disponer un usuario o grupo. En las quotas hay cuatro números para cada límite: la cantidad actual ocupada; el límite soft (quota propiamente dicha); el límite hard (espacio sobre quota), y el tiempo que resta antes de eliminar el exceso entre soft y hard. Mientras que el límite soft puede ser superado temporalmente, el límite hard nunca puede rebasarse. Página.- 100

102 Para implementar el sistema de quotas es necesario instalar algún paquete de control de dicho sistema. En MaX hay un paquete denominado quota que instala todo lo necesario para implementar todo el sistema. Una vez instalado tenemos que realizar una serie de pasos para activar el mecanismo de quotas. Estos pasos son: Configuración del kernel.- antes de instalar el sistema de quotas debe disponerse de un kernel con la opción de quota system habilitada. Esto se consigue en el proceso de compilación de un nuevo kernel respondiendo yes a la pregunta de Disk QUOTA support. Los kernels precompilados que se distribuyen con Debian (paquetes kernelimage) ya tienen esta opción habilitada. Elección del sistema de ficheros sobre el que se aplican las quotas.- una vez dispuesto el kernel, hay que seleccionar que sistema de ficheros necesitan tener aplicadas las quotas. Lo normal es que solo el sistema donde están las cuentas de usuarios tengan quotas, aunque es recomendable que tenga quotas todo sistema de ficheros donde los usuarios puedan escribir. Para habilitar las quotas en un sistema de ficheros hay que editar el fichero /etc/fstab e incluir las opciones usrquota y grpquota: # /etc/fstab: static file system information. # file system mount point type options dump pas /dev/hda6 / ext4 defaults,errors=remount-ro,usrquota,grpquota 0 Habilitar las quotas.- para instalar los ficheros de quotas se debe ejecutar el comando: quotacheck -avug Scanning /dev/hda5 [/] done Checked 4943 directories and files Using quotafile /quota.user Updating in-core user quotas Using quotafile /quota.group Updating in-core group quotas La primera vez que se ejecuta este comando sirve para crear los ficheros de quotas: quota.user y quota.group. Especificar quotas para usuarios o grupos.- para editar la quota de un usuario o grupo se usa el programa edquota con la opción -u para editar las quotas de usuarios y con la opcion -g para editar las opciones de grupo. Sólo hay que editar los números que están detrás de soft y hard. El período de gracia que hay entre el límite soft y el hard puede cambiarse con: edquota -t Página.- 101

103 La mayoría de las veces los usuarios tienen la misma quota. Una forma rápida de editar la quota de todos los usuarios es colocarse en el directorio donde tienen sus directorios raiz cada usuario. Editar la quota de uno de estos usuarios con los valores apropiados y, posteriormente, ejecutar: edquota -p usuarioprototipo * Para verificar las quotas que tiene un usuario se utiliza el comando: quota -v El superusuario puede ver las quotas de todos los usuarios con el comando: repquota filesystem Desabilitar quotas para usuarios o grupos.- para deshabilitar las quotas de un usuario o grupo solo hay que editar las quotas y poner los limites a 0. Así un usuario puede usar tantos bloques e inodos como quiera Windows Server 2008 Hay varias formas de realizar la administración de cuentas de usuario locales. Las dos más utilizadas son: una, a través del icono Cuentas de usuario del Panel de control (Inicio Panel de control Cuentas de usuario) y la otra, a través de las Herramientas administrativas (Inicio Herramientas administrativas Administración de equipos Usuarios y grupos locales carpeta Usuarios). Fig 40: Administración de cuentas a través del panel de control Página.- 102

104 Fig 41: Crear nueva cuenta Fig 42: Administracion de cuentas con las Herramientas administrativas Centrándonos en la herramienta administrativa, el botón Acción y la opción Acciones adicionales muestran operaciones diferentes dependiendo de si hay, o no, seleccionada alguna cuenta de usuario. Igualmente ocurre al pulsar con el botón derecho en la columna central donde se visualizan las cuentas de los usuarios; se mostrarán unas operaciones u otras dependiendo de si el click se hace sobre una cuenta de usuario o en un espacio libre. Página.- 103

105 Algunas de las posibles acciones u operaciones son: Usuario nuevo (aparece si no hay ninguno seleccionado). Fig 43: Usuario nuevo Los datos solicitados son: El nombre de la cuenta. El nombre completo del usuario. Una descripción del usuario. La contraseña, que se introducirá por duplicado para evitar errores. Si el usuario debe cambiar la contraseña en el siguiente inicio de sesión. Es una práctica habitual crear las cuentas sin clave, o con una clave determinada, y que los usuarios establezcan una propia al inicio de la siguiente sesión. Si el usuario puede cambiar la contraseña. Suele prohibirse cuando son varias las personas que utilizan la misma cuenta. Si la contraseña expira. En sistemas donde se requiere un alto nivel de seguridad o confidencialidad de la información de los usuarios, se establece un periodo de validez de las contraseñas y, una vez expirado, el usuario tiene que cambiar la contraseña. Esto se debe a que con el tiempo los usuarios terminan conociendo las claves de los otros por ser muy común que surjan ocasiones donde un usuario le dice su clave a otro para que pueda realizar cierta operación. Si se habilita o deshabilita la cuenta. Una cuenta se puede deshabilitar manualmente mediante este cuadro de verificación para, por ejemplo, obligar al usuario a que se ponga en contacto con el administrador o automáticamente, si por ejemplo, el usuario intenta entrar más de n veces introduciendo una contraseña incorrecta. Página.- 104

106 El cuadro de verificación también permite habilitar cuentas deshabilitadas. Establecer contraseña. Permite cambiar la contraseña. Eliminar. Cambiar nombre. Propiedades.- que permite cambiar todas las características de la cuenta de usuario. Fig 44: Propiedades de las cuentas Todas las propiedades se encuentran distribuidas en las fichas: General.- contiene prácticamente la misma información que la ventana de creación de cuentas. Miembro de.- para establecer los grupos a los que pertenece el usuario. Perfil.- con información sobre el perfil y la carpeta de trabajo del usuario. Entorno.- para configurar el entorno de inicio de Servicios de Terminal Server. Sesiones.- para configurar el tiempo de espera y la reconexión de Servicios de Terminal Server. Control remoto.- permite configurar el control remoto a través de Servicios de Terminal Server. Perfil de Servicios de Terminal Server.- permite configurar el perfil del usuario de Servicios de Terminal Server. Marcado.- configura las conexiones a redes a través de vínculos PPP (protocolo punto a punto), como líneas de teléfono analógicas y RDSI. Página.- 105

107 4.3 Usuarios predeterminados Durante la instalación de los sistemas operativos multiusuario se crean una o varias cuentas de usuario predeterminadas que permiten iniciar la sesión y la administración de las demás cuentas. Además, la instalación de algunos procesos conlleva la creación de algún usuario que permite el control del proceso. Por ejemplo, al instalar un servicio de servidor web se puede generar un usuario que sirva para determinar los permisos de los usuarios que se conecten al equipo a través de dicho servicio. Debe tenerse muy presente que solamente deben iniciarse sesiones con cuentas de usuarios administradores o con privilegios especiales cuando vayan a realizarse las operaciones que requieran de esos privilegios. Las razones fundamentales para utilizar dichas cuentas única y exclusivamente cuando sea estrictamente necesario son: Con las cuentas que tienen permitido realizar todas las operaciones se puede dañar inintencionadamente al sistema operativo, borrando por ejemplo ficheros fundamentales. Cuando un usuario se conecta a un equipo remoto sin autorización puede que adquiera los privilegios del usuario que tiene abierta la sesión en ese momento en el equipo remoto, y si ese usuario es el administrador puede generar un grave problema. Mientras haya una sesión abierta como usuario administrador los virus podrán tener acceso a la totalidad del sistema y podrán realizar cualquier operación, incluida la de formatear el disco duro. Por cuestiones de seguridad, y siempre que sea posible, se recomienda cambiar el nombre de la cuenta del usuario administrador y se le debe asignar una contraseña segura. Durante la instalación de Max se crean los siguientes usuarios, con las siguientes características: root.- se crea con clave cmadrid y tiene asignados todos los privilegios y autorizaciones para poder realizar cualquier operación de administración o de cualquier tipo. Dado el riesgo que implica trabajar con un usuario que puede realizar cualquier operación, esta cuenta se crea con el login desactivado, es decir, no se podrá iniciar una sesión como usuario root. Para poder hacer uso de los privilegios de root existen varias alternativas: Hacer uso del comando sudo que permite a un usuario autorizado suplantar temporalmente al administrador del sistema (root) o a otro usuario. El usuario madrid está autorizado a utilizar este comando. Página.- 106

108 Por ejemplo, si el usuario madrid ejecuta el comando mkdir /pepe se producirá un error puesto que no tiene permisos para poder crear directorios en el directorio raiz; pero si ejecuta la misma instrucción anteponiendo sudo, es decir, sudo mkdir /pepe, se creará el directorio. Con la instrucción ls -l / puede comprobarse que el directorio se ha creado y que su propietario es el usuario root. De forma similar habrá que actuar para borrar el directorio creado: usando la instrucción sudo rmdir /pepe. La primera vez que se ejecuta la instrucción sudo pide la introducción de la contraseña del usuario madrid. Hasta que no pasan 15 minutos no la vuelve a pedir. Los usuarios y grupos que tienen derecho a utilizar el comando sudo se encuentran en el fichero /etc/sudoers y editando el fichero podremos añadir o eliminar usuarios. Antes de editar el fichero es conveniente realizar una copia del mismo utilizando, por ejemplo, la instrucción: sudo cp /etc/sudoers /etc/sudoers.copia El fichero puede editarse con la instrucción visudo que permite la modificación haciendo uso del editor vi. Para poder hacer uso de otro editor, previamente hay que asignar al fichero el permiso de escritura al propietario con la instrucción: sudo chmod u+w /etc/sudoers. A continuación de la etiqueta # User privilege specification se asignan los permisos, que han de tener la forma: usuario-grupo MAQUINA=(Usuario_con_privilegios) COMANDO Hay diversas opciones de ejecución que permiten regular con cierto nivel de seguridad el comportamiento de algunas aplicaciones a la hora de ser invocadas. Una de las opciones es NOPASSWD que evita que se solicite la contraseña. El fichero contiene la línea: root ALL=(ALL) ALL que indica que el usuario root tiene acceso total al sistema (previo reconocimiento de contraseña). Los usuarios se pueden especificar en líneas distintas o separados por comas, por ejemplo, para conceder el control total a los usuarios usprueba01 y usprueba02, sin que se les solicite la contraseña, habría que incluir la línea: usprueba01, usprueba02 ALL=(ALL) NOPASSWD: ALL Para conceder permisos a nivel de grupo hay que anteponer el carácter % al nombre, por ejemplo: %grupo ALL=(ALL) ALL Página.- 107

109 Al finalizar de editar el fichero, hay que guardar las modificaciones (en visudo con :wq) y, si se modificaron los permisos del fichero, deshacer los cambios con la instrucción: sudo chmod u-w /etc/sudoers. Hacer uso de la instrucción su root o simplemente su que permite a un usuario convertirse en otro hasta que se ejecuta la instrucción exit o se cierra la ventana donde se está ejecutando. Antes de utilizar este comando deberá haberse asignado una contraseña al usuario root. Para cambiar la contraseña al usuario root se puede iniciar una sesión gráfica con el usuario madrid y a través del menú Aplicaciones Sistema Administración Usuarios y grupos se desbloquea la ventana de administración de usuarios, se selecciona el usuario root y en las Propiedades, en la ficha Cuenta se introduce por duplicado una contraseña, QUE BAJO NINGÚN CONCEPTO SE PUEDE OLVIDAR. Iniciar una sesión como usuario root en un terminal en modo texto, pulsando, por ejemplo <Ctrl> + <Alt> + <F1>. Se necesita haber asignado previamente una contraseña al usuario root. Iniciar una sesión gráfica como usuario root. Previamente se deberá haber iniciado una sesión como usuario madrid y asignado una contraseña al usuario root y activado el cuadro de verificación Permitir entrada local al administrador del sistema al que se llega a través del menú Aplicaciones Sistema Administración Ventana de entrada - Ficha Seguridad. madrid.- con clave cmadrid, con privilegios para utilizar la instrucción sudo. Tiene privilegios de administrador (perfil superusuario) por lo que se recomienda cambiar su clave inmediatamente después de la instalación. Algunas versiones de MaX, como DVD Live y CD Live inician la sesión de forma automática con este usuario. profesor.- con clave profesor. Es un usuario sin privilegios especiales. alumno.- con clave alumno, tiene la particularidad de que su escritorio y carpeta de trabajo se restauran al iniciar la sesión. Los cambios no perduran de una sesión para otra. Durante la instalación de Windows Server 2008 se crean de forma predeterminada las siguientes cuentas locales, con las siguientes características: Administrador.- Esta cuenta tiene control total del equipo y puede asignar derechos de usuario y permisos de control de acceso a los usuarios según se necesite. Puede estar habilitada o deshabilitada y siempre es miembro del grupo Administradores. No se puede eliminar ni quitar del grupo Administradores pero se puede cambiar el nombre (recomendable) y deshabilitar. Aunque la cuenta Administrador esté deshabilitada, si se inicia el equipo en modo Página.- 108

110 seguro podrá utilizarse. Invitado.- Utilizada por los usuarios que no tienen cuenta real en el equipo. No requiere contraseña y se encuentra deshabilitada de forma predeterminada (y se recomienda que permanezca deshabilitada). Se le pueden asignar derechos y permisos como a cualquier otra cuenta y pertenece al grupo predeterminado Invitados, lo que le permite iniciar sesión en un equipo. Para habilitar o deshabilitar una cuenta basta con marcar o desmarcar el cuadro de verificación correspondiente de la ficha General de las propiedades del usuario mostradas a través de las Herramientas administrativas (Inicio Herramientas admin. Administración de equipos Usuarios y grupos locales Carpeta Usuarios). 4.4 Seguridad de cuentas de usuario Para incrementar la seguridad del equipo y evitar al máximo los momentos de vulnerabilidad se recomienda: No iniciar sesión con una cuenta con privilegios de administrador. Se aconseja iniciar la sesión como un usuario normal y hacer uso, siempre que se pueda, de instrucciones que permitan, al menos temporalmente, realizar tareas administrativas. En MaX se recomienda hacer uso de la instrucción sudo. En Windows se puede utilizar Ejecutar como administrador. Hay dos formas de ejecutar un programa de esta forma: En el entorno gráfico, haciendo uso de la opción Ejecutar como que aparece al pulsar con el botón derecho sobre algunos programas ejecutables (.exe), algunos iconos del Panel de control (.cpl) o pantallas de administración (MMC)(.msc). En la línea de comandos, haciendo uso de la instrucción runas, por ejemplo: runas /user:w200800\administrador cmd runas /user:administrador@w notepad fichero.txt donde W es el nombre del equipo, Administrador el del usuario, cmd para invocar una sesión en modo texto y notepad fichero.txt para editar el fichero. Son dos ejemplos muy distintos y puede encontrarse más información y más ejemplos en la Ayuda de Windows. Página.- 109

111 Incluir las menos cuentas de usuario posibles en los grupos con privilegios de administradores. Mantener deshabilitada la cuenta asignada para los usuarios Invitados o Anónimos puesto que suelen ser cuentas que no requieren contraseña y cualquier usuario puede utilizarlas, con el consiguiente riesgo para la seguridad. Mantener deshabilitada la cuenta del usuario Administrador, por ser la cuenta que todos los intrusos desean desproteger. Incluir en los grupos con privilegios de administradores a los usuarios que gocen de la confianza adecuada para garantizar la seguridad necesaria. 4.5 Seguridad de contraseñas El uso de contraseñas es una de las medidas más importantes para proteger el equipo de los hackers y usuarios no deseados y para mantener la confidencialidad de la información de los usuarios. De alguna forma son la primera línea de defensa contra el acceso no autorizado. Cuanto más segura sea la contraseña mayor será la protección. La mayor parte de los sistemas operativos permiten que el usuario administrador establezca ciertas condiciones a las contraseñas para garantizar su seguridad y fiabilidad. Entre estas condiciones de seguridad de las contraseñas se encuentran: Que contengan un número mínimo de caracteres alto (8 por ejemplo). Que no contenga el nombre del usuario, de familiares, de la empresa, etc. Que no contenga palabras completas que puedan estar incluidas en cualquier tipo de diccionario. Que sea significativamente diferente a las usadas con anterioridad. Que contenga símbolos de los diferentes tipos: letras mayúsculas, letras minúsculas, números y caracteres especiales permitidos (<>&%$()=? ). Para recordar contraseñas que cumplan con las condiciones de seguridad pueden emplearse métodos como: Usar las iniciales de las palabras de una frase fácil de recordar, por ejemplo: Yo nací el 25 de marzo de 1963 podría convertirse a Yne25-M/1963. Trasladar las letras de una palabra a números, caracteres especiales y errores ortográficos, por ejemplo, Santiago puede convertirse en 5@Mt1@j0. Etc. Página.- 110

112 Si aún así, se cree conveniente anotar la contraseña para que no se olvide, debe hacerse en lugar seguro y sin indicar que es una contraseña. 4.6 Administración de perfiles locales de usuario El perfil de un usuario está compuesto por los ficheros que contienen la información de configuración para ese usuario específico. Esa información puede ser relativa a la configuración del escritorio, las conexiones persistentes a carpetas e impresoras de red y la configuración de aplicaciones. Generalmente el perfil inicial de un usuario se genera en el momento de la creación del usuario o la primera vez que el usuario inicia una sesión en el equipo. Durante la instalación de MaX se genera la carpeta /home destinada a contener la información de los usuarios. Dentro de /home se crea automáticamente una carpeta para cada usuario, tanto para los usuarios preestablecidos: madrid, profesor y alumno, como para los que se crean posteriormente. Por ejemplo, el usuario usprueba01 dispondrá de una carpeta llamada /home/usprueba01. El único usuario cuya carpeta de trabajo no se sitúa dentro de /home es el usuario root, cuya carpeta se crea directamente debajo del directorio raíz (/root). De forma preconfigurada, cuando un usuario inicia una sesión, se encuentra con que en el escritorio hay un icono con la figura de una casa y con el título Carpeta personal de nombre_del_usuario que conduce directamente a la carpeta /home/nombre_del usuario. En dicha carpeta, y también de forma automática, se generan varias subcarpetas y ficheros, unas destinadas a contener cierto tipo de ficheros que genere el usuario y otras pertenecientes al perfil propiamente dicho del usuario: Documentos.- destinada a contener los documentos que genere el usuario. Imágenes.- idem. Música.- idem. Plantillas.- destinada a contener plantillas de documentos, de páginas web, etc. Público.- para contener los ficheros que el usuario quiera compartir con los demás. Vídeos.- idem. Escritorio.- contiene los elementos que se muestran y se crean en el escritorio, a excepción de los correspondientes a: Equipo, Carpeta personal del usuario y Servidores de red. Un gran número de carpetas y ficheros ocultos (su nombre comienza por un punto, por ejemplo.mozilla) que contienen la configuración del usuario para los diferentes programas, las instrucciones que deben ejecutarse al iniciar la sesión,etc. Para mostrar los ficheros ocultos basta con marcar la casilla de verificación Mostrar los archivos ocultos que se encuentra en la opción Ver de la barra de menú del Navegador de archivos. Página.- 111

113 Fig 45: Carpeta personal de usprueba02 Fig 46: Opción para visualizar ficheros ocultos Fig 47: Carpeta personal con ficheros ocultos Página.- 112

114 La ubicación preestablecida para las carpetas de los usuarios puede modificarse en las propiedades del usuario. Fig 48: Especificación de la carpeta personal En cuanto a la configuración del escritorio, su comportamiento es básicamente el mismo que el de cualquier otra carpeta puesto que en él se pueden crear carpetas, lanzadores (accesos directos o links) y documentos, pero posee un papel relevante por ser la base sobre la que se van a mostrar los demás elementos y, además, tiene algunas propiedades diferenciadas a las que se accede a través de la opción Cambiar el fondo del escritorio, accesible a través de su menú contextual (click con el botón derecho del ratón sobre un espacio vacío del escritorio) y desde el menú Aplicaciones Sistema Preferencias - Apariencia. Fig 49: Cambiar el fondo del escritorio Aunque la opción mostrada es Cambiar el fondo del escritorio, son más las operaciones que se pueden realizar y se encuentran recogidas en las fichas: Tema.- permite elegir la apariencia de las ventanas. Dispone de un conjunto de configuraciones preestablecidas pero también admite personalizar los diferentes componentes de cada ventana (bordes, colores, punteros, ). Página.- 113

115 Fondo del escritorio.- permite seleccionar la imagen que ocupará el fondo del escritorio de entre las que incorpora MaX o añadir otras elegidas por el usuario. Puesto que la imagen elegida generalmente no coincide con el tamaño del escritorio, a través de la lista desplegable Estilo se puede configurar como se realizará el relleno del fondo del escritorio: repitiendo la imagen (Mosaico), ampliandola (Ampliación), etc. Si se elige un estilo en el que la imagen no ocupa totalmente el fondo del escritorio, puede elegirse un color de relleno y si este color se repartirá de forma homogénea o con algún tipo de degradación (transición entre dos colores). El botón Ayuda muestra información adicional. Tipografías.- permite configurar el tipo de letra para diferentes elementos. A través del botón Ayuda se muestra información exhaustiva al respecto. Interfaz.- permite configurar los menús y barras de herramientas: si se mostrarán iconos, las combinaciones de teclas de acceso rápido, si los botones constarán de icono y título, etc. Efectos visuales.- su función es hacer más agradable y atractivo el funcionamiento y visualización de objetos en el escritorio: apertura movimiento y cierre de ventanas, movimientos del puntero del ratón, etc. La ficha los presenta clasificados en tres categorías (ninguno, normal y extra), que pueden examinarse a través del menú Aplicaciones Sistema - Preferencias Administrador de opciones CompizConfig. Las carpetas y ficheros ocultos que se crean dentro de la carpeta de trabajo del usuario pueden clasificarse en dos grupos fundamentales: Ficheros que se ejecutan al iniciar la sesión el usuario.- es el caso de los ficheros.profile,.bash_profile y.bash_login, que contienen instrucciones que se ejecutan al iniciar el usuario una sesión en modo texto. Ficheros y carpetas con las configuraciones personales del usuario para los diferentes programas.- como es el caso de la carpeta.mozilla que contiene la configuración de Firefox del usuario. Así, el historial, los marcadores, etc. de Firefox serán diferentes para cada usuario. Por otra parte, un gran número de facetas personalizables del entorno del usuario se encuentran en el menú Aplicaciones Sistema Preferencias y se describen en el apartado 16.1 de la Guía de Referencia. Entre las más significativas se encuentran: Acerca de mi.- permite introducir la contraseña y datos personales. Administrador de opciones CompizConfig.- descrito anteriormente. Apariencia.- Idem. Aplicaciones al inicio.- para especificar las aplicaciones que se ejecutarán al iniciar la sesión. Página.- 114

116 Aplicaciones preferidas.- para especificar las aplicaciones que se utilizarán para la realización de ciertas tareas. Etc. etc. Fig 50: Preferencias del entorno del usuario Otro aspecto que afecta al entorno del usuario, y que hace referencia a las autorizaciones que se le asignan, se determina en el momento de la creación del usuario. La ventana correspondiente a la creación de cuenta de usuario nueva (menú Aplicaciones Sistema Administración Usuarios y grupos Desbloquear Añadir usuario) solicita un perfil para el usuario, pudiendo elegir entre las opciones: Administrador.- usuario con privilegios para administrar el equipo. Aparte de obtener unos privilegios adicionales, que pueden consultarse en la misma ventana, en la ficha Privilegios del usuario, el usuario es incluido en el grupo admin, pasando a tener características similares al usuario predeterminado madrid. Usuario del escritorio.- puede utilizar las aplicaciones instaladas pero no administrar el equipo. Puede consultarse como, de forma predeterminada, se le otorgan menos autorizaciones que a los anteriores. Página.- 115

117 Usuario sin privilegios.- pensado para ser asignado a usuarios temporales que en un momento puntual necesitan iniciar una sesión. Son los usuarios invitados o anónimos. De forma predeterminada tienen las mismas autorizaciones que los Usuarios de escritorio. Fig 51: Perfil del usuario La configuración del usuario preestablecido alumno requiere una atención especial. Cuando este usuario inicia una sesión en el entorno gráfico se reinician sus ficheros de configuración y se vacían las carpetas existentes en /home/alumno, borrándose los ficheros generados en su sesión anterior. El perfil del usuario alumno puede considerarse un perfil local obligatorio donde los cambios de configuración y los ficheros creados se pierden al cerrar la sesión. Los ficheros que controlan estas operaciones se encuentran en la carpeta /etc/homealumno, cuyo contenido es el siguiente: config.- fichero de configuración donde se especifican entre otros parámetros: Los usuarios a los que se aplicará el perfil (parámetro USERS). El grupo de usuarios al que se aplicará el perfil (parámetro GROUP). Los archivos que no se borrarán (parámetro EXCLUDE). Directorio del perfil extra del alumno (parám. SKEL). Comandos que se ejecutarán antes de la restauración (parám. PRECLEAN). Comandos que se ejecutarán después de la restauración (par. POSTCLEAN). exclude.- contiene los nombres de los ficheros o carpetas (uno por línea) que no se borrarán. Página.- 116

118 preclean.- contiene las instrucciones que se ejecutarán antes de restaurar las configuraciones iniciales. postclean.- contiene las instrucciones que se ejecutarán después de la restauración. preclean.d.- carpeta con scripts que son lanzados desde el fichero preclean. postclean.d.- carpeta con scripts que son lanzados desde el fichero postclean. skel.- directorio de perfil extra del usuario alumno. Por último, hay que considerar el paquete Sabayon que permite configurar el perfil del escritorio de cada usuario. Sabayon no se instala por defecto con lo cual, si se desea trabajar con el, en primer lugar hay que instalarlo. Una vez instalado, su ejecución puede lanzarse a través de la opción Editor de perfiles de usuario dentro del menú Aplicaciones Sistema Administración. Fig 52: Sabayon La ventana de Sabayon muestra los perfiles creados, que la primera vez no contendrá ninguno. Pulsando el botón Añadir se puede crear un nuevo perfil. Una vez creado habrá que seleccionarlo y pulsar sobre el botón Editar. Aparecerá un escritorio similar al que aparece la primera vez que se conecta un usuario. Sobre este escritorio se realizan las modificaciones que se consideren oportunas: quitar, poner o modificar iconos, quitar o añadir elementos de la barra de tareas, quitar o añadir opciones del menú Aplicaciones, etc. etc. Una vez que el escritorio está a gusto del administrador, se guarda mediante la opción Perfil Guardar. Por último, a través del botón Usuarios se especifican los usuarios que tendrán el escritorio anteriormente diseñado. Esta operación se realiza marcando la casilla de verificación de los usuarios que aparece en la ventana correspondiente, como muestra la figura. Página.- 117

119 Fig 53: Usuarios para el perfil La ventana permite, mediante la activación del correspondiente cuadro de verificación, utilizar un único perfil para todos los usuarios. 4.7 Actividades 1. En MaX, crear un usuario con nombre usprueba02, nombre real Anton Martin, perfil de Usuario de escritorio, contraseña pasprueba02 y con un teléfono de contacto. Comprobar los privilegios que se le atribuyen automáticamente, así como el directorio de trabajo y su intérprete de comandos. 2. En MaX, probar a otorgar y a bloquear alguna autorización, por ejemplo la de Cambiar la zona horaria al usuario creado en el punto anterior, comprobando el correcto funcionamiento de la autorización. 3. Crear el usuario Administrador2, con privilegios de administrador, en Windows Server 2008 a través del panel de control. Crear el usuario usprueba01 con las Herramientas administrativas. 4. Crear con el usuario madrid de MaX el directorio /prueba y a continuación borrarlo. 5. Ejecutar el comando users-admin con el usuario usprueba01, en MaX. 6. Limitar el acceso de un usuario a unos dias y horas determinadas. 7. Establecer una cuota de disco para el directorio de los usuarios. 8. En Windows, iniciar una sesión como usuario usprueba01 y ejecutar cmd como usuario Administrador a través del comando runas. 9. En Windows, iniciar una sesión como usuario usprueba01 y ejecutar la Configuración regional y de idioma del Panel de control haciendo uso de la opción Ejecutar como del menú contextual (click con botón derecho). Página.- 118

120 10. Crear la carpeta /usuarios con los permisos adecuados para que los usuarios puedan crear subcarpetas. Crear el usuario usprueba2 y hacer que su directorio personal sea /usuarios/usprueba02. Ver las carpetas y ficheros ocultos que se crean automáticamente. Conectarse a internet con este usuario y buscar el directorio o carpeta que contenga alguna información acerca de las páginas a las que se ha conectado. 11. Probar a cambiar la apariencia de las ventanas para el usuario usprueba02 y comprobar el resultado. Probar a personalizar el puntero del ratón y los bordes y colores de las ventanas. 12. Cambiar el fondo del escritorio del usuario usprueba01 y probar la diferencia entre el estilo mosaico y el ampliación. Aplicar un estilo que permita hacer uso de una degradación vertical entre un color amarillo y uno rojo. 13. Probar los efectos visuales Ventanas Gelatinosas y Ventanas 3D. 14. Enumerar, añadiendo una pequeña descripción y un ejemplo, todas las utilidades del menú Aplicaciones Sistema Preferencias que permitan configurar alguna característica del perfil del usuario. 15. Añadir un usuario al fichero /etc/homealumno/config para que su perfil se reinicie al iniciar la sesión. Comprobar su funcionamiento. 16. Crear con Sabayon un perfil que se aplique a los usuario usprueba02 y usprueba03 y comprobar su funcionamiento. Página.- 119

121 5 ADMINISTRACIÓN DE SOFTWARE DE BASE II. GRUPOS LOCALES 5.1 Aspectos didácticos Objetivos: Conocer los tipos usuarios y de permisos de MaX. Conocer los bits de permisos setuid, setgid y sticky. Manejar las ACL's y las herencias de ACL's. Editar los ficheros de configuración de usuarios, grupos y permisos. Conocer los grupos predeterminados y su función. Documentación. La documentación de este tema se puede ampliar con la mostrada por las páginas man e info de cada una de las instrucciones tratadas. También existen gran cantidad de documentos en Internet que tratan los permisos, ACL's, grupos, etc. que se describen en este tema. Resumen. Se explican los diferentes tipos de permisos y grupos de Linux y cómo se administran, tanto desde la línea de comandos como desde el entorno gráfico. Se profundiza con los bits de permisos setuid, setgid y sticky. También se trata con cierta profundidad las listas de control de acceso (ACL), su manejo y administración. Por último, se muestra una visión bastante general de los grupos predefinidos en el sistema y las autorizaciones y permisos que reportan. Temporización: 10 horas. Página.- 120

122 5.2 Administración de grupos locales La función de los grupos es simplificar la administración de usuarios. Los dos casos fundamentales para los que se generaliza el uso de grupos son: Administración de recursos.- se crean grupos según los diferentes permisos que se puedan asignar a los diferentes recursos. Por ejemplo, al instalar una impresora se puede crear el grupo gr-impresores al que se le otorga permiso para imprimir, y el grupo gr-adminimpre al que se le otorgan permisos para imprimir y para administrar la impresora (borrar trabajos, crear colas, modificar preferencias de impresión, ). Posteriormente, si se desea, se podrá incluir a los usuarios en uno de estos grupos. Administración de usuarios.- se crean los grupos según las características homogéneas de los usuarios. Por ejemplo, los usuarios creados para un grupo determinado de alumnos (1º de bachillerato, A) pueden incluirse en un grupo, gr-bach1a, dado que los derechos y permisos para esos usuarios van a ser similares. Una vez creados los grupos, y dependiendo del S.O., podrán incluirse dentro de los mismos las cuentas de los usuarios e incluso otros grupos. El objetivo último consiste en delimitar los tipos de acceso a los diferentes elementos u objetos (ficheros, directorios, dispositivos, ) de forma organizada y simple Derechos de usuario Linux fue concebido desde un principio como un sistema multiusuario, es decir, para ser usado por varios usuarios al mismo tiempo. Esta es una de las grandes diferencias con respecto al sistema operativo Windows de Microsoft. La característica más importante es la obligación de registrarse en el sistema al inicio de cada sesión de trabajo. Para ello el usuario dispone de un nombre de usuario propio con su contraseña correspondiente. Esta diferenciación entre usuarios impide que personas no autorizadas puedan acceder a archivos que les han sido vetados. Un usuario, por lo general, no puede (o sólo de forma muy limitada) hacer grandes cambios en el sistema como, por ejemplo, la instalación de programas. Tan sólo el superusuario o administrador root dispone prácticamente de derechos ilimitados y posee acceso sin restricciones a todos los archivos. Quien utilice este concepto con precaución y sólo se registre como root cuando sea realmente necesario, puede reducir en gran medida el riesgo de perder datos de forma involuntaria. La amenaza de caballos de Troya o de comandos destructivos introducidos sin querer se reducen de forma significativa dado que normalmente sólo el superusuario puede borrar archivos del sistema o formatear discos duros. Página.- 121

123 Derechos en el sistema de archivos Para controlar el sistema básico de derechos o permisos que los usuarios poseen sobre un determinado archivo o directorio, dentro del sistema de archivos de Linux hay que considerar dos factores: los diferentes tipos de usuarios y los diferentes tipos de permisos. Tipos de usuarios.- existen tres tipos de usuarios: Propietario (owner).- es el usuario que crea el fichero o directorio. Grupo (group).- son los demás usuarios que pertenecen al mismo grupo que el propietario. Los otros (other).- son los demás usuarios que no son el propietario ni pertenecen al grupo del propietario. Tipos de permisos.- existen tres tipos de permisos, cuyo significado es diferente para los ficheros que para los directorios: lectura (read).- Permite ver (leer) el contenido del fichero o del directorio. escritura (write).- Permite modificar el fichero. Aplicado a directorios permite crear nuevos ficheros o borrar los existentes. ejecución (execute).- Permite ejecutar el fichero (si es ejecutable) o situarse en el directorio (hacer que sea el directorio activo). Los diferentes tipos de usuario pueden ser manejados por el usuario administrador root o por el usuario madrid a través del menú Aplicaciones Sistema Administración Usuarios y grupos. Fig 54: Usuarios y grupos Página.- 122

124 Vamos a desarrollar un ejemplo que permita realizar la aplicación de los diferentes conceptos. Para ello vamos a crear 5 usuarios: usprueba01,, usprueba05. Algunos de ellos ya se han creado en prácticas anteriores. Una vez creados los usuarios crearemos tres grupos, en los que incluiremos los usuarios anteriores, de la siguiente forma: gr-prueba12.- contendrá a usprueba01 y usprueba02. gr-prueba34.- contendrá a usprueba03 y usprueba04. gr-prueba5.- contendrá a usprueba05. Los usuarios se guardan en el fichero /etc/passwd, a razón de un usuario por línea, con la información: cuenta:contraseña:uid:gid:nombre_completo:directorio:intérprete El significado de cada campo es el siguiente: Cuenta.- la cuenta de usuario. Contraseña.- aparece una x puesto que las contraseñas, cifradas, se encuentran en el fichero /etc/shadow. Dependiendo del sistema de encriptación puede utilizarse un fichero diferente. UID.- número de identificación asignado al usuario. GID.- número de identificación del grupo principal al que pertenece el usuario. Nombre_completo.- nombre completo del usuario. Directorio.- directorio de trabajo del usuario. Intérprete.- nombre del programa intérprete de comandos que utiliza el usuario. Durante la operación de creación del usuario se introducen los valores de algunos de los campos descritos, pero otros se toman por defecto según los valores de configuración del fichero /etc/adduser.conf. Por ejemplo, si se desea que al crear un usuario se cree un grupo con el mismo nombre, con el GID igual al UID y que sea asignado como grupo principal del usuario, en /etc/adduser.conf deberá establecerse USERGROUPS=yes, que es la configuración establecida por defecto. Si por el contrario se desea que a los usuarios que se crean se les asigne por defecto, como grupo principal, el grupo users cuyo GID es el 100, deberán establecerse USERGROUPS=no y USERS_GID=100 (cada parámetro en una línea). Siguiendo con el ejemplo anterior, se puede comprobar el contenido de los ficheros afectados (/etc/passwd, /etc/shadow y /etc/adduser.conf) con las instrucciones: cat /etc/passwd sudo cat /etc/shadow cat /etc/adduser.conf (Se necesitan permisos de usuario administrador) Página.- 123

125 Los datos correspondientes a los grupos se encuentran en el fichero /etc/group. Cada línea de este fichero contiene: nombre_grupo:clave:gid:otros_usuarios cuyo significado es: Nombre_grupo.- obviamente el nombre del grupo. Clave.- no se suele utilizar. GID.- número identificador del grupo. Otros_usuarios.- se utiliza cuando un grupo contiene más de un usuario y se especifican separados por comas. En el ejemplo, comprobar el contenido de /etc/group (cat /etc/group). De todos los ficheros nombrados anteriormente el único que no debe modificarse es el que contiene las claves encriptadas (/etc/shadow). Por último, el fichero /etc/skel contiene las carpetas y ficheros que se incluirán de forma automática en la carpeta de trabajo al crear un usuario. Con la configuración por defecto, por cada usuario que se crea, se crea un grupo con el mismo nombre y se le atribuye la categoría de grupo principal del usuario. Puede establecerse que los usuarios nuevos se incorporen al grupo users y no se creen grupos adicionales nuevos editando y modificando /etc/adduser.conf como se ha descrito anteriormente, con la instrucción sudo editor /etc/adduser.conf. Desde la línea de comandos pueden utilizarse algunas de las siguientes instrucciones para manejo de usuarios y grupos: adduser, deluser, addgroup, delgroup, cuya configuración se encuentra en /etc/adduser.conf. useradd, userdel, usermod, groupadd, groupdel, cuyo fichero de configuración es /etc/ login.defs. groups.- muestra los grupos a los que pertenece el usuario activo. Para asignar los diferentes permisos (lectura (r), escritura (w), ejecución (x)) a los distintos tipos de usuario (propietario (u), grupo (g), otros (o)) puede hacerse uso de las propiedades del fichero o carpeta, mediante la ficha Permisos. Página.- 124

126 Fig 55: Propiedades de un fichero. La comprobación de los permisos de los ficheros y directorios puede hacerse mediante la instrucción ls -l. En la figura se muestra un ejemplo. Fig 56: Resultado de la instrucción ls -l La información relativa a los permisos se encuentra en las columnas primera, tercera y cuarta: La primera columna está formada por 10 caracteres, cuyo significado es el siguiente: El primer carácter indica el tipo de fichero, siendo los mas comunes: - para ficheros normales, d para directorios, l para links o accesos directos, b para dispositivos de bloques, c para dispositivos de caracteres, etc. Los caracteres 2, 3 y 4 indican los permisos del usuario propietario: El carácter 2º puede ser una r, que indica permiso de lectura, o un guión (-), que indica ausencia del permiso de lectura. El carácter 3º puede ser una w, que indica permiso de escritura, o un guión (-), que indica ausencia del permiso de escritura. Página.- 125

127 El carácter 4º puede ser una x, que indica permiso de ejecución, o un guión (-), que indica ausencia del permiso de ejecución. Este permiso puede ignorarse para ficheros que no son ejecutables. Los caracteres 5, 6 y 7 indican los permisos del grupo, es decir, de los usuarios que pertenecen al grupo principal del usuario propietario. Su significado es similar al de los caracteres 2, 3 y 4, es decir, r significa permiso de lectura, w de escritura, x de ejecución y - ausencia del permiso correspondiente. Los caracteres 8, 9 y 10 tienen un significado similar a los tres anteriores pero para los demás usuarios, es decir, para aquellos usuarios que no son el propietario ni pertenecen al grupo principal del usuario propietario. La tercera columna muestra el nombre del usuario propietario del fichero. La cuarta columna muestra el grupo principal al que pertenece el usuario propietario. Siguiendo con el ejemplo, vamos a comprobar los permisos que se asignan por defecto a los ficheros y directorios de nueva creación. Para ello, iniciamos una sesión como usuario usprueba01 y creamos el fichero fich y el directorio direc dentro de la carpeta Documentos. Desde el entorno gráfico no tiene complicaciones. Desde la linea de comandos habría que ejecutar las instrucciones: cd Documentos ls > fich mkdir direc ls -l Para cambiar el directorio activo. Crea el fichero fich. Crea el directorio direc. Visualiza el contenido del directorio con los permisos. Entre las instrucciones que permiten modificar el propietario, el grupo y los permisos, tenemos: chown.- permite cambiar el propietario y el grupo de los ficheros y directorios. chgrp.- permite cambiar el grupo de los ficheros y directorios. chmod.- permite cambiar los permisos de los ficheros y directorios. Por ejemplo: chown usprueba03:gr-prueba34 fich chgrp gr-prueba5 fich chmod g+w fich Cambia el propietario y el grupo de fich. Cambia el grupo de fich. Añade al grupo el permiso de escritura. Página.- 126

128 Esta última instrucción en su forma más general va acompañada de una expresión de tres caracteres cuyo significado es: El primer carácter identifica a quien afecta el cambio, pudiendo ser: u para el propietario, g para el grupo, o para los otros y a para todos. Puede utilizarse una combinación de ellos. El segundo carácter expresa si se añade el permiso (+), se quita (-) o se establece (=). El tercer carácter identifica el permiso, que será lectura (r), escritura (w) o ejecución (x). Puede utilizarse una combinación de varios caracteres. Pueden utilizarse una o varias expresiones para uno o varios ficheros, por ejemplo: chmod go-x u-w direc Puede utilizarse una notación numérica para hacer referencia a los diferentes permisos de los diferentes usuarios: teniendo en cuenta la forma en que muestra los permisos la instrucción ls -l resulta que los nueve caracteres de la columna relativa a los permisos puede dividirse en tres grupos de tres caracteres cada uno conteniendo cada grupo los permisos del usuario propietario, los del grupo y los de los demás respectivamente. Cada grupo de tres caracteres tendrá el carácter correspondiente al permiso para expresar la posesión del mismo, o un guión que expresa la ausencia, por ejemplo rwx rw- r--. Si se cambian las letras por números 1 y los guiones por 0 se obtiene una notación en binario de la forma: Pasando cada grupo de tres dígitos a decimal se obtiene Algunos ejemplos más serían: rw- rw- r rw- r Para hacer la conversión obviando el paso a binario se puede suponer que el permiso de lectura (r) vale 4, el de escritura 2 y el de ejecución 1. La instrucción chmod admite esta notación y para establecer los permisos rwx rw r-- al fichero fich puede utilizarse: chmod 764 fich. A los ficheros y directorios que crea un usuario se les asigna unos permisos por defecto que pueden ser modificados mediante la instrucción umask. En umask se utiliza una expresión numérica que cumple la relación: Permisos_base - Expresión_umask = Permisos_reales Página.- 127

129 Los permisos base para los directorios son 777 (rwx rwx rwx: lectura, escritura y ejecución para todos) y para los ficheros son 666 (rw- rw- rw-: lectura y escritura para todos). Así, la instrucción: umask 022 establecerá para los directorios que se creen a partir de su ejecución los permisos reales: = 755 (rwx r-x r-x) y para los ficheros: = 644 (rw- r-- r--) umask cambia el valor de los permisos por defecto de forma temporal mientras el usuario se encuentra activo en una consola, si cierra la consola o la sesión se perderán los efectos de umask. Para que los efectos de umask sean permanentes hay que introducir la instrucción en el archivo.bashrc de la carpeta /home/nombre_usuario y así afectará siempre al usuario. Para que afecte a todos los usuarios del sistema hay que introducirla en el fichero /etc/profile; para modificar este último fichero hay que tener permisos de root. Puede comprobarse el valor establecido actualmente en dichos ficheros mediante las instrucciones: cat /etc/profile grep umask cat /home/usprueba01/.bashrc grep umask Ampliación de derechos El bit setuid.- hay situaciones en las que los derechos básicos son demasiado restrictivos. En estos casos, existen en Linux opciones adicionales que permiten cambiar temporalmente el usuario y grupo de identidad actual para realizar una determinada acción. Por ejemplo, el programa passwd requiere normalmente derechos de root para acceder a /etc/passwd. Este archivo contiene información importante como por ejemplo los directorios personales de los usuarios y los IDs de usuarios y grupos. Un usuario normal no podría cambiar passwd porque sería demasiado peligroso conceder a todos los usuarios acceso directo a este archivo. La solución a este problema se encuentra en el mecanismo setuid. Setuid (Set User ID) es un atributo especial de archivo que el sistema regula, con el fin de que se ejecuten los programas seleccionados con una determinada identificación de usuario previamente indicada. Veamos el comando passwd: -rwsr-xr-x 1 root root :49 /usr/bin/passwd Página.- 128

130 En el ejemplo se puede ver el bit s definido para los permisos de usuario. Gracias al bit setuid, todos los usuarios que inicien el comando passwd lo ejecutarán como usuario root. El bit setgid.- el atributo setuid es válido para usuarios, pero existe un atributo equivalente para grupos: setgid. Cuando se asigne a un programa, este se ejecutará con la identificación de grupo definida, independientemente del usuario que lo haya arrancado. Por eso todos los archivos y subdirectorios que se crean dentro de este directorio pertenecen al mismo grupo que el directorio. Veamos el siguiente ejemplo: drwxrws--- 2 usprueba01 gr-prueba :23 copia Se puede ver el bit s definido para los permisos de grupo, lo que significa que el propietario del directorio y los miembros del grupo gr-prueba12 pueden acceder a este directorio. Los usuarios que no son miembros de este grupo se mapean al grupo correspondiente. El ID de grupo efectivo de todos los archivos escritos esgr-prueba12. Por ejemplo, una copia de seguridad que se ejecute con el ID de grupo gr-prueba12 podrá acceder a este directorio sin tener permisos de root. El bit sticky.- aquí se debe diferenciar si se trata de un programa ejecutable o de un directorio. En el caso de un programa, un archivo marcado con este bit se carga a la memoria RAM para no tener que obtenerlo del disco duro cada vez que se utiliza. Hoy en día, este atributo se usa en raras ocasiones porque los discos duros modernos cumplen con creces los requisitos de velocidad. Ahora bien, si se asigna este atributo a un directorio, este impide que los usuarios borren los archivos. (En directorios con sticky bit, los usuarios sólo puede eliminar archivos que posean ellos mismos). Los ejemplos típicos son los directorios /tmp y /var/tmp : drwxrwxrwt 15 root root :40 tmp El comando chmod permite manejar estos permisos de forma similar a como hace con los de lectura (r), escritura (w) y ejecución (x). Se utiliza para los bits setuid y setgid la letra s y para el bit sticky la letra t. Para la notación numérica se antepone a los tres vistos anteriormente un dígito cuyo valor es la suma de los valores individuales siguientes: 4 para el bit setuid, 2 para el bit setgid y 1 para el bit sticky. Por ejemplo: chmod u+s fich chmod g-s fich chmod o+t direc chmod 6754 fich Añade a fich el bit setuid. Quita a fich el bit setgid. Añade al directorio direc el bit sticky. Establece para fich los siguientes permisos: El 6 establece los bits de setuid y setgid. El 7 establece los permisos de lectura, escritura y ejecución para el propietario. El 5 establece los permisos de lectura y ejecución para el grupo. El 4 establece el permiso de lectura para los otros. Página.- 129

131 5.2.2 Listas de control de acceso (ACL) MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red De manera tradicional, para cada objeto en Linux se definen tres grupos de permisos. Estos grupos reflejan los permisos de lectura (r), escritura (w), y ejecución (x) para las tres clases de usuarios: propietario del archivo (owner), grupo (group) y el resto (other). Además es posible definir los bits setuid, setgid y sticky. Para la mayoría de los casos que se dan en la práctica, este escueto concepto es más que suficiente. En el caso de escenarios complejos o aplicaciones más avanzadas, los administradores de sistemas debían echar mano antiguamente de distintos trucos para evitar las limitaciones del concepto de permisos tradicional. Las ACLs intervienen en las situaciones en las que el concepto tradicional de permisos para archivos resulta insuficiente. Estas permiten asignar permisos a otros usuarios distintos del propietario y a otros grupos distintos del grupo al que pertenece el propietario. Las listas de control de acceso son una característica del kernel de Linux y actualmente están soportadas por, al menos, ReiserFS, Ext2, Ext3, Ext4, JFS y XFS. Con su ayuda es posible llevar a la práctica complejos escenarios sin que sea necesario implementar complicados modelos de permisos a nivel de aplicaciones. Para ilustrar las ventajas de las listas de control de acceso puede tomarse el ejemplo de un servidor Windows que va a ser reemplazado por un servidor Linux. Algunas de las estaciones de trabajo conectadas seguirán funcionando con Windows. El sistema Linux, por su parte, proporciona a los clientes Windows servicios de servidor de archivos y de impresión por medio de Samba. Samba soporta las listas de control de acceso, por lo que los permisos de usuarios pueden ser configurados tanto en el servidor Linux como en Windows a través de una interfaz gráfica de usuario. La herramienta winbindd permite incluso definir permisos para usuarios que sólo existen en el dominio Windows y no disponen de cuenta de usuario en el servidor Linux. Luego, con las ACL's se amplían los tipos de usuarios con dos nuevas categorías: Los usuarios especificados o nombrados.- si hasta ahora, a nivel individual, solamente se le asignaban permisos al usuario propietario, con las ACL's se podrán añadir permisos a otros usuarios individuales. Por ejemplo, se podrán especificar permisos del tipo: Pedro lectura, Juan lectura y escritura, etc. Los grupos especificados o nombrados.- de forma similar a los usuarios, podrán especificarse permisos para otros grupos, por ejemplo: gr-contables lectura, grnominas lectura y escritura, etc. Con lo cual, con las ACL's existen cinco tipos de usuarios: el propietario, los usuarios nombrados, el grupo de usuarios del propietario, los grupos nombrados y los otros. Además de establecer permisos para cada tipo de usuario, puede especificarse una máscara que limita los permisos otorgados a los usuarios nombrados, al grupo del propietario y a los grupos nombrados, es decir, limita los permisos de todos los usuarios excepto del propietario y de los otros. La limitación consiste en que si el permiso no se encuentra en la Página.- 130

132 máscara no se aplica. Por ejemplo, si Juan (que no es el propietario) tiene asignado sobre un fichero permisos de lectura y escritura pero se crea una máscara con permiso de lectura, el permiso real de Juan es de lectura. Las ACL's están formadas por una serie de entradas (listas) y cada entrada especifica un permiso para un tipo de usuario. Por ejemplo: user: : rwx Otorga al propietario lectura (r), escritura (w) y ejecución (x). user:usprueba02:rw Otorga a usprueba02 r y w. group: :rw Otorga al grupo del propietario r y w. group:gr-prueba34:rw Otorga a los usuarios del grupo gr-prueba34 r y w. mask: :r Asigna una máscara con permiso de lectura. other: : Otorga a los otros permiso de lectura. En el ejemplo, la máscara limita los permisos de usprueba02, del grupo de usuarios del propietario y del grupo gr-prueba34 al permiso de lectura (r). También se puede observar como las entradas correspondientes a los usuarios y grupos nombrados llevan especificado el nombre correspondiente entre los dos caracteres dos puntos :. Para hacer uso de las ACL's hay que tener en cuenta: 1. El núcleo de linux debe soportar y estar compilado para soportar ACL. MaX v.5.0 está preparado para utilizar ACL's. Puede comprobarse mediante la instrucción: grep POSIX_ACL /boot/config-`uname -r` La comilla utilizada en la instrucción es la que está situada a la derecha de la letra p en el teclado. Aparecerán varias líneas entre las que se encontrarán las que se refieran al tipo de sistema de archivos que se está utilizando con valor y : CONFIG_EXT3_FS_POSIX_ACL=y CONFIG_EXT4_FS_POSIX_ACL=y 2. El sistema de ficheros tiene que montarse con el atributo acl. Los atributos de montaje se especifican en el fichero /etc/fstab. Los sistemas de ficheros montados con acl tendrán la palabra clave "acl" en las opciones de montaje de sus entradas en el fichero, como puede observarse en el siguiente ejemplo: Página.- 131

133 # /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/sda6 during installation UUID= / ext4 relatime,errors=remount-ro 0 1 # /home was on /dev/sda7 during installation UUID=6b /home ext4 relatime,acl 0 2 En este caso sda7 tiene soporte acl en el punto de montaje /home; si se quiere hacer lo mismo en sda6 habría que modificar la línea correspondiente para que tuviera la forma: UUID= / ext4 relatime,acl,errors=remount-ro 0 1 Una vez modificado /etc/fstab hay que volver a montar el sistema de ficheros reiniciando el equipo o mediante la instrucción: mount -o remount,acl /dev/sda6 3. Deben instalarse utilidades que permitan el manejo de las ACL's. Puede comprobarse con Synaptic que se encuentran instalados los paquetes acl y libacl1. Otro programa que permite el manejo de ACL's y que puede instalarse es eiciel. Una vez realizadas las comprobaciones, modificaciones e instalaciones referidas en los tres pasos anteriores pueden realizarse algunas pruebas. Por ejemplo, que usprueba02 cree en su directorio de trabajo, en la subcarpeta Documents el fichero f1 y el directorio d1. Comprobar que ahora en las propiedades de f1 y d1 aparece la ficha Lista de control de acceso. Añadir para f1 el permiso de lectura y escritura para el usuario usprueba3. Comprobar que ahora el usuario usprueba03 puede modificar el fichero f1. Aplicar a d1 la ACL por defecto y comprobar los permisos que se añaden. Comprobar los valores iniciales de la máscara. Comprobar que el programa eiciel permite el manejo de las ACL's de forma similar a como lo hace la ficha Lista de control de acceso. Página.- 132

134 Fig 57: ACL's Control de ACL desde la línea de comandos La instrucción ls -l indica la existencia de ACL añadiendo a la columna de los permisos el carácter +. Fig 58: El carácter "+" indica existencia de ACL Página.- 133

135 La instrucción getfacl muestra la ACL del fichero o directorio especificado. Por ejemplo: Fig 59: Resultado de: getfacl f1 Las tres primeras líneas muestran el nombre del fichero, el del usuario propietario y el del grupo. Las líneas siguientes muestran los permisos, incluida la máscara y los permisos de los otros. Cada entrada de la ACL se compone de tres campos separados por : : El primer campo puede ser: user (u), group (g), other (o), mask (m). El segundo campo puede estar vacío e identificará al propietario o contendrá el nombre o el nº identificador del usuario (UID) o grupo (GID). El tercer campo identifica los permisos y será una cadena compuesta de los caracteres r, w, x, -, según corresponda. Las instrucciones chown y chgrp permiten cambiar el propietario y el grupo del fichero o directorio. Hay que recordar que para utilizar estas instrucciones hay que disponer de los permisos adecuados. Puede hacerse una clasificación de las ACL's según contengan o no una entrada para la máscara. Esta entrada aparecerá al asignarle un valor o de forma automática al añadir una entrada de usuario o grupo especificado (usuario o grupo distinto del propietario). Las ACL's estándar no contienen entradas para la máscara, es decir, solamente contienen entradas para el propietario, el grupo y los otros. Su correspondencia con los permisos estándar es trivial. Las modificaciones desde el entorno gráfico, o a través de la instrucción chmod, de los permisos estándar se trasladan automáticamente a las ACL's y viceversa. Página.- 134

136 Las ACL's extendidas son aquellas que contienen la entrada de la máscara. En éstas, la correspondencia que se establece entre los permisos estándar y las entradas ACL es la siguiente: Entrada ACL Ej. ACL Ej. permisos Permisos Propietario user: :rw- rw- Propietario Usuario especificado Grupo propietario Grupo especificado user:pepe:rw group: : rw group:gr1:rw Máscara mask: : rw rw- Grupo propietario Otros other: : r r - - Otros Es decir, las entradas de usuario especificado, grupo del propietario y grupo especificado no tienen correspondencia con los permisos estándar, las entradas del propietario de y de los otros tienen correspondencia con sus homólogos y la entrada de la máscara se corresponde con la del grupo del propietario de los permisos estándar. La comprobación de las correspondencias de la tabla es simple: en la figura 55 se observa que el fichero f1 tiene un ACL extendida pues contiene la entrada de máscara. Si se ejecuta la instrucción: chmod g=rw f1 y se comprueba de nuevo su ACL, se observará que la entrada que ha sido modificada ha sido la correspondiente a la máscara, no la correspondiente al grupo. Si esta misma comprobación se realiza con un fichero con ACL estándar se verá que la entrada ACL modificada es la del grupo, puesto que la de la máscara no existe. La instrucción chacl permite cambiar, examinar o eliminar una ACL existente. Por ejemplo: chacl u::rwx,u:usprueba03:rw-,g::rw-,m::rw-,o::r f1 donde se puede observar que hay que definir todas las entradas (u, g, m y o) de la ACL. Esta instrucción tiene varias opciones entre las que se encuentran -B, -D y -R que permiten borrar entradas. La instrucción setfacl sobreescribe una ACL anterior, o, con la opción -m, permite modificarla. Por ejemplo, para añadir a la ACL de f1 el permiso de lectura y escritura para el usuario usprueba04, hay que ejecutar la instrucción: setfacl -m u:usprueba04:rw- f1 Página.- 135

137 El resultado podrá verse con getacl f1. Además, setfacl puede modificar la entrada de la máscara de forma automática para que la entrada especificada pueda tener efecto, esto es, si se añade un nuevo usuario con permiso rw pero la máscara estaba establecida con el valor r, se modifica automáticamente a rw para que la nueva entrada pueda ser efectiva (salvo que se establezca lo contrario mediante la opción -n ). Para obtener una descripción completa de estas instrucciones puede hacerse uso del comando man. Directorios con ACL's predeterminados Los directorios pueden ser equipados con un tipo especial de ACLs, las ACLs predeterminadas. Estas definen los derechos que heredan los subobjetos de estos directorios en el momento de su creación. La ACL predeterminada tiene vigencia tanto sobre subdirectorios como sobre archivos. Los permisos de acceso en la ACL predeterminada son heredados de forma distinta por archivos y subdirectorios: Un subdirectorio hereda la ACL predeterminada del directorio superior como propia default ACL y además como access ACL. Un archivo hereda la ACL predeterminada como propia access ACL. Todas las llamadas del sistema (system calls) que crean objetos del sistema utilizan un parámetro mode. Este parámetro se encarga de definir los permisos de acceso sobre el nuevo objeto del sistema: si el directorio superior carece de ACL predeterminada, los permisos resultantes son los introducidos en el parámetro mode menos los permisos asignados en umask. Si existe una ACL predeterminada para el directorio superior, se asignan al objeto los bits de permiso resultantes de la intersección de los permisos del parámetro mode y de los que contiene la ACL predeterminada. En este caso no se tiene en cuenta umask. Página.- 136

138 A través de la ficha Lista de control de acceso de las propiedades de una carpeta, con el botón ACL por defecto y la Lista de participantes por defecto puede establecerse la ACL predeterminada o por defecto. También pude hacerse desde la línea de comandos como se muestra en los siguientes ejemplos: 1. Partimos del directorio d2 cuya información de la instrucción getfacl d2 es: # file: d2 # owner: usprueba02 # group: grprueba12 user: : rwx group: : r x other: : r - x Fig 60: ACL's predeterminadas 2. Se añade una ACL predeterminada al directorio d2: setfacl -d -m group:grprueba34:r x -d indica que es una entrada predeterminada, -m indica modificación. Página.- 137

139 La ACL ahora es: getfacl d2 # file: d2 # owner: usprueba02 # group: grprueba12 user: : rwx group: : r x other: : r x default:user: : rwx default:group: : r x default:group:grprueba34:r x default:mask:: r x default:other: : r x La salida de getfacl contiene tanto la access ACL como la ACL predeterminada. Todas las líneas que comienzan por default forman la ACL predeterminada. Aunque en el comando setfacl sólo se había indicado una entrada para el grupo grprueba34 en la ACL predeterminada, setfacl ha copiado automáticamente el resto de entradas de la access ACL para construir una ACL predeterminada válida. Las ACL's predeterminadas no influyen de manera directa en los permisos de acceso, sino que sólo tienen efecto durante la creación de objetos del sistema. En términos de herencia, sólo se tiene en cuenta la ACL predeterminada del directorio superior. 3. A continuación se creará la subcarpeta subd2 dentro de d2 que heredará la ACL predeterminada: mkdir d2/subd2 getfacl d2/subd2 # file: d2/subd2 # owner: usprueba02 # group: grprueba12 user: : rwx group: : r x group:grprueba34:r x mask: :r x other: : r x default:user: : rwx default:group: : r x default:group:grprueba34:r x default:mask:: r x default:other: : r x Página.- 138

140 Como era de esperar, el subdirectorio recién creado subd2 tiene los permisos de la ACL predeterminada del directorio superior. La access ACL de subd2 es una réplica exacta de la ACL predeterminada de d2. Lo mismo sucede con la ACL predeterminada, que a su vez se pasará a los subobjetos de este directorio. 4. Ahora creamos un fichero en d2 con la instrucción ls > d2/f2. La instrucción ls -l d2/f2 mostrará: - rw - r - - r usprueba02 grprueba :19 d2/f2 La instrucción getfacl d2/f2 mostrará: # file: d2/f2 # owner: usprueba02 # group: grprueba12 user: : rwgroup: : r x #effective:r - - group:grprueba34:r x #effective:r - - mask: :r - - other: : r - - El parámetro mode con el que se crean los ficheros es 0644, lo que significa que los nuevos archivos se crean con permisos de lectura y escritura para el propietario y lectura para el grupo y los otros, a no ser que existan otras restricciones por parte de umask o de la ACL predeterminada. En nuestro ejemplo esto significa que todos los permisos que no están incluidos en mode serán eliminados de las entradas ACL correspondientes. Aunque no se ha eliminado ningún permiso de la entrada ACL de grupo, la entrada de máscara puede ser adaptada para que los bits de permiso definidos por mode no sean enmascarados. De este modo se garantiza que un compilador, por ejemplo, pueda funcionar sin problemas con ACLs. Puede crear archivos con permisos de acceso restringidos y a continuación marcarlos como ejecutables. El mecanismo mask se ocupa de que sólo los usuarios y grupos adecuados puedan ejecutar los archivos. Evaluación de una ACL Una vez explicado el funcionamiento de las herramientas de configuración más importantes de las ACLs, a continuación se describe brevemente el algoritmo de evaluación al que se somete cualquier proceso o aplicación antes de que se le proporcione acceso a un objeto del sistema protegido por ACLs. Las entradas ACL son analizadas en el siguiente orden: owner, named user, owning group o named group y other. El acceso se regula a través de la entrada que mejor se ajuste al proceso. Página.- 139

141 El mecanismo se complica cuando un proceso pertenece a más de un grupo, ya que potencialmente podrá ajustarse a varias entradas group. En este caso se selecciona una de las entradas adecuadas con los permisos requeridos. Para el resultado final acceso autorizado es irrelevante cuál de estas entradas ha sido seleccionada. Si ninguna de las entradas group apropiadas contiene los permisos correctos, se selecciona una cualquiera que provocará el resultado final acceso denegado. Como se ha mencionado en los apartados anteriores, las ACLs permiten implementar complejos escenarios de permisos que cumplen a la perfección los requisitos de las aplicaciones más actuales. El concepto tradicional de permisos y las ACLs pueden combinarse de forma muy hábil. Los comandos de archivos básicos (cp, mv, ls, etc.) soportan las ACLs así como Samba. En cambio, numerosos editores y administradores de archivos (ej. Konqueror) carecen de soporte ACL. Así, las ACLs todavía se pierden al copiar archivos con Konqueror. Al procesar con un editor un archivo que contenga una access ACL, el que la access ACL se mantenga o no tras finalizar el proceso de edición depende del modo backup del editor utilizado: Si el editor escribe los cambios en el archivo original, la access ACL se mantiene. Si el editor crea un nuevo archivo que recibe el nombre del antiguo archivo al finalizar los cambios, es posible que se pierdan las ACL a no ser que el editor las soporte. En el campo de los programas de copias de seguridad, no existe (con la excepción del archivador star) ningún programa que pueda garantizar el mantenimiento total de las ACLs Gestión de grupos Una de las formas más sencillas de gestionar los grupos en MaX es mediante la herramienta gráfica Usuarios y grupos accesible a través del menú Aplicaciones Sistema Administración. Una vez que se desbloquea la ventana y se pulsa sobre el botón Gestionar grupos aparece la ventana de Configuración de los grupos que permite añadir, borrar y, a través del botón Propiedades, establecer los usuarios que pertenecen al grupo previamente seleccionado. Fig 61: Gestión de grupos Página.- 140

142 Desde el modo comando, adduser y addgroup permiten añadir usuarios y grupos al sistema. La operación de estos comandos se configura en el fichero /etc/adduser.conf. Veamos algunos ejemplos: adduser usprueba07 añade el usuario usprueba07 al sistema. El sistema pedirá alguna información adicional sobre el usuario y un password o clave. Por defecto, se crea un grupo con el nombre del usuario y éste será el grupo principal o por defecto. adduser - - ingroup users usprueba08 añade el usuario usprueba08 al sistema estableciendo users como su grupo principal. adduser usprueba07 cdrom añade el usuario pepe (previamente creado) al grupo cdrom. Cuando el número de usuarios es numeroso y heterogéneo, puede ser necesario añadir nuevos grupos. Esto se hace con el comando addgroup. Por ejemplo: addgroup grprueba78 añade al sistema un grupo llamado grprueba78. Alternativamente a los comandos anteriores, se pueden añadir usuarios y grupos empleando useradd y groupadd. Estos comandos leen información de configuración del fichero /etc/login.defs. Para eliminar usuarios y grupos se emplean userdel y groupdel respectivamente. Por ejemplo: userdel usprueba08 elimina el usuario usprueba08. Si además se indica la opción -r, también se borrará el directorio personal del usuario con todo su contenido. groupdel grprueba78 elimina el grupo grprueba78. Para modificar las características de los usuarios y grupos se emplean los comandos usermod y groupmod. Algunos ejemplos: usermod -d /home/alumnos/usprueba07 -m cambia el directorio de inicio del usuario usprueba07 para que sea /home/alumnos/usprueba07. La opción -m hace que mueva el contenido del antiguo directorio al nuevo emplazamiento. Página.- 141

143 usermod -g alumnos usprueba07 cambia el grupo inicial del usuario usprueba07 para que sea alumnos. usermod -l pepe usprueba07 cambia el nombre del usuario usprueba07. El nuevo nombre es pepe. groupmod -n alu alumnos cambia el nombre del grupo alumnos a alu. Algunos ficheros relacionados con las cuentas de usuario son: /etc/passwd: contiene información sobre cada usuario: ID, grupo principal, descripción, directorio de inicio, shell, etc. También contiene el password encriptado, salvo que se usen shadow passwords. /etc/shadow: contiene los passwords encriptados de los usuarios cuando se emplean shadow passwords. /etc/group: contiene los miembros de cada grupo, excepto para el grupo principal, que aparece en /etc/passwd. /etc/skel: directorio que contiene el contenido del directorio de los nuevos usuarios. Página.- 142

144 5.3 Grupos predeterminados Además de los grupos creados por el usuario existen otros grupos especiales que sirven fundamentalmente para: Establecer los privilegios y controlar los accesos a los dispositivos mediante los permisos adecuados a ficheros de dispositivos situados en /dev. Fig 62: Privilegios predeterminados A este tipo pertenecen los siguientes grupos predeterminados: plugdev.- permite acceder automáticamente a dispositivos de almacenamiento externo. admin.- permite administrar el sistema. video.- permite capturar vídeo de TV o de webcams, y usar aceleración 3D. sambashare.- permite compartir archivos con la red local. dip.- permite conectar a internet con un modem. netdev.- permite conectarse a redes ethernet e inalámbricas. lpadmin.- permite configurar impresoras. fax.- permite enviar y recibir faxes. adm.- permite monitorizar los registros del sistema. fuse.- permite montar sistemas de archivos es espacio de usuario. Página.- 143

145 audio.- permite usar dispositivos de sonido. Algunos ejemplos de estos dispositivos pueden ser: /dev/dsp, /dev/mixer, /dev/sndstat. dialout.- permite usar modems. Corresponde a dispositivos conectados en los puertos serie, por ejemplo, /dev/ttys1. cdrom.- permite usar unidades de CD-ROM. El dispositivo concreto afectado depende de donde estén conectadas las unidades de CD-ROM, por ejemplo, /dev/hdc. tape.- permite usar unidades de cinta. vboxusers.- permite usar VirtualBox. Para dar acceso a un usuario a uno de estos servicios, basta con añadirlo al grupo adecuado. Alternativamente, para sistemas pequeños suele ser mejor desproteger los dispositivos adecuados para que todos los usuarios puedan usarlos, evitando tener que recordar añadir usuarios a los grupos adecuados. Por ejemplo, para dar acceso de lectura al CD ROM, suponiendo que esté en /dev/hdc, podría utilizarse la instrucción: chmod a+r /dev/hdc Permitir el uso de algunas aplicaciones instaladas. Al instalar algunas aplicaciones, automáticamente se crea un grupo de tal forma que aquellos usuarios que quieran tener acceso a la aplicación deben ser incluidos en dicho grupo. Como ejemplos podemos tener los grupos: mysql, ssh, tcos, etc. Para poder visualizar el conjunto de grupos creados puede utilizarse la instrucción: cat /etc/group Y para conocer los grupos a los que pertenece un usuario puede utilizarse la instrucción: groups nombre_usuario Página.- 144

146 5.4 Actividades 1. Crear un usuario editando los ficheros /etc/passwd y /etc/group. A continuación asignarle una clave haciendo uso de la utilidad del entorno gráfico Usuarios y grupos. Comprobar si esta utilidad ha realizado cambios en los ficheros anteriores. 2. Consultar la información que la instrucción man muestra acerca de los comandos chown, chgrp y chmod. Probar exhaustivamente sus diferentes formatos. 3. Desarrollar dos ejemplos que permitan comprobar el funcionamiento del bit setuid, otros dos el bit setgid y otros dos el bit sticky. 4. Desarrollar dos ejemplos, uno con un fichero y otro con un directorio, donde la máscara de sus ACL's respectivas limite los accesos de los usuarios y grupos. 5. Crear un fichero y comprobar su ACL. Añadir una entrada de usuario a la ACL y comprobar que automáticamente aparece la entrada de máscara. 6. Comprobar el funcionamiento de la opción -n de la instrucción setfacl. 7. Crear un directorio, asignarle una ACL por defecto. Crear dentro del directorio un subdirectorio y un fichero y comprobar que se cumple la herencia de ACL's. Modificar las ACL's desde el entorno gráfico y desde la línea de comandos. 8. Comprobar si la pertenencia al grupo admin autoriza el uso de la instrucción sudo. 9. Hacer un resumen de las instrucciones tratadas en el tema. 10. Hacer un resumen de los ficheros de configuración vistos. Página.- 145

147 6 ADMINISTRACIÓN DE SOFTWARE DE BASE III. CONFIGURACIÓN DE LA RED 6.1 Aspectos didácticos Objetivos: Conocer los parámetros de configuración del protocolo TCP/IP. Saber asignar los parámetros de configuración del protocolo TCP/IP adecuados según las necesidades de una red. Configurar mediante el entorno gráfico el protocolo TCP/IP. Saber en qué ficheros se guardan los parámetros de configuración de TCP/IP. Ejecutar los comandos de parada y lanzamiento del funcionamiento de un interface de red. Documentación. La documentación de este tema se puede ampliar a través de la ayuda del S.O. Resumen. La parámetros fundamentales de configuración del protocolo TCP/IP son la dirección IP, la máscara de (sub)red, la puerta de enlace y los DNS's. En este tema se explica exhaustivamente el significado de cada uno de estos parámetros, se realizan prácticas y se proponen actividades de apoyo a su comprensión. También se incluyen apartados que cuentan el funcionamiento de la nueva versión del protocolo TCP/IP: ipv6. Por último, se comentan los archivos de configuración fundamentales y algunos de los scripts encargados de lanzar o controlar determinados servicios. Temporización: 20 horas. Página.- 146

148 6.2 Fundamentos de conexión a redes MaX utiliza al igual que otros sistemas operativos un protocolo de comunicación que se llama TCP/IP. En realidad no se trata de un solo protocolo de red sino de una familia de protocolos con diferentes prestaciones. Para el intercambio de datos vía TCP/IP entre dos ordenadores con Linux, existen los siguientes servicios: TCP.- (Transmission Control Protocol) es un protocolo asegurado orientado a la conexión. Desde el punto de vista de las aplicaciones, los datos se transmiten como un caudal y es el sistema operativo el que se encarga de convertirlos al formato adecuado para su transmisión. Las aplicaciones en la máquina remota reciben el caudal de datos tal como fue enviado y TCP se encarga de que el caudal llegue completo y ordenado. Por eso TCP se utiliza cuando el orden de los datos importa y cuando se puede hablar de una conexión. UDP.- (User Datagram Protocol) es un protocolo no asegurado y sin conexión. La transferencia de datos está orientada a paquetes creados directamente por la aplicación. El orden de llegada de los paquetes no está garantizado y tampoco la llegada en sí. UDP sirve para aplicaciones que transmiten bloques de datos y tiene menos tiempo de respuesta que TCP. ICMP.- (Internet Control Message Protocol) es un protocolo que básicamente no puede ser usado por el usuario, ya que su tarea es la de transmitir errores y de controlar los ordenadores que participan en el intercambio de datos. Además ICMP incorpora un modo especial de eco, que se puede comprobar mediante ping. IGMP.- (Internet Group Management Protocol) es un protocolo que controla el comportamiento de los ordenadores utilizando IP multicast. Las redes basadas en TCP/IP y que están interconectadas a nivel mundial se denominan en su conjunto como Internet.. RFC son las siglas de Request for Comments. Los RFC son documentos que describen los diferentes protocolos de Internet y la implementación de ellos en un sistema operativo o en aplicaciones. Los documentos RFC describen la estructura de los protocolos de Internet. Para profundizar sobre un determinado protocolo se recomienda consultar el documento RFC del protocolo correspondiente. Puede visitarse para más información. Como se muestra en la figura siguiente (modelo de capas simplificado para TCP/IP), e, el intercambio de datos tiene lugar en distintas capas. En la capa de comunicación se lleva a cabo la transferencia de datos insegura a través de IP (Internet Protocol). Por encima de IP, el protocolo TCP (Transmission Control Protocol) garantiza la seguridad de la transferencia de datos hasta cierto punto. Por debajo de la capa IP se encuentra el protocolo que depende del hardware (por ejemplo Ethernet). Página.- 147

149 Fig 63: Modelo de capas para TCP/IP La imagen muestra uno o dos ejemplos para cada capa. Las capas se ordenan según su nivel de abstracción; la capa inferior se encuentra más próxima al hardware, mientras que la capa superior envuelve el nivel de abstracción mas alto. Cada capa tiene una determinada función que se explica a continuación. La red está representada por la capa de transmisión de bits y por la capa de seguridad. Casi todos los protocolos de hardware están basados en paquetes. Los datos a transmitir se han de dividir en pequeños paquetes, ya que es imposible transmitirlos de golpe. TCP/IP también trabaja con paquetes cuyo tamaño máximo es de casi 64 kilobytes. En realidad los paquetes suelen tener un tamaño mucho menor, ya que el tamaño máximo de un paquete sobre una Ethernet es de 1500 bytes. Por eso el tamaño de cada paquete TCP/IP se limita a estos 1500 bytes cuando el paquete pasa por una red del tipo Ethernet. Para transmitir más datos, el sistema operativo tiene que enviar la cantidad correspondiente de paquetes. Cada capa necesita un cierta información adicional para poder cumplir con su tarea. Esta información se encuentra en la cabecera (header) de cada paquete. Cada capa añade un pequeño bloque de datos (denominado cabecera de protocolo (protocol header) al paquete que se está formando. La siguiente figura muestra el ejemplo de la composición de un paquete TCP/IP que viaja sobre un cable de una red tipo Ethernet. Una excepción de la estructura de la cabecera son los dígitos de control que no se encuentran en la cabecera sino al final. De esta forma el hardware de red lo tiene más fácil. Fig 64: Paquete TCP sobre Ethernet Página.- 148

150 Cuando una aplicación quiere enviar datos por la red, los datos pasan por las diferentes capas que se encuentran (con excepción de la primera) implementadas en el kernel de Linux. Cada capa se encarga de preparar los datos de tal forma que puedan ser pasados a la capa inferior. La capa más baja se encarga finalmente del envío de los datos. Al recibir los datos, todo el proceso se invierte. Como en una cebolla, cada capa separa los encabezamientos de la parte útil de datos. Finalmente la cuarta capa se encarga de preparar los datos para la aplicación en la máquina remota. Durante el proceso de transferencia, cada capa sólo se comunica con aquella que se encuentra directamente encima o debajo. Por eso para una aplicación es totalmente irrelevante si los datos viajan a través de una red de 100 MBit/s- FDDI o a través de una línea de módem de 56 kbit/s. Igualmente para la línea no son importantes los datos que se han de transferir sino que estos estén correctamente empaquetados Direcciones IP En principio esta sección y las siguientes se refieren a las redes IPv4. Su sucesor, IPv6 será tratado más adelante. Cada ordenador en Internet dispone de una dirección IP única de 32 bits. Estos 32 bits, o 4 bytes, se representan normalmente como se muestra en la notación decimal del ejemplo siguiente: Dirección IP en binario: Dirección IP en decimal: En la notación decimal, la dirección ip se especifica con cuatro cifras, de 0 a 255, separadas por un punto, con lo cual, la ip del ejemplo queda como Esta dirección asignada al ordenador o a su interfaz de red es única y no puede ser utilizada en ningún otro lugar del mundo, con algunas excepciones, que no tienen relevancia para el ejemplo expuesto. La tarjeta Ethernet posee un número único llamado MAC (Media Access Control). Este número es de 48 bits y único en el mundo; su fabricante lo almacena de forma fija en la tarjeta red. La asignación de los números MAC por parte de los fabricantes tiene una desventaja fatal: no hay ninguna jerarquía entre las tarjetas, están distribuidas al azar ; por eso no es posible utilizarlas para comunicarse con un ordenador a mucha distancia. Sin embargo la dirección MAC es de mucha importancia en una red local, siendo la parte importante de la cabecera del protocolo en la capa 2. Los puntos separadores de la dirección ip ya indican la estructura jerárquica de las direcciones. Hasta mediados de los noventa había una separación estricta en clases pero el sistema resultó muy poco flexible por lo que practicamente se ha dejado de utilizar. Ahora se usa routing sin clases (Classless Inter Domain Routing o CIDR). Página.- 149

151 6.2.2 Máscaras de (sub)red La dirección IP de un equipo está dividida en dos partes, como se muestra en la figura siguiente: Fig 65: Partes de una dirección IP Dirección de red.- son los primeros bits de la dirección ip. Se cumplen dos características muy importantes: Todos los equipos de la misma red tienen en su dirección ip la misma dirección de red. Todos los equipos de la misma red se pueden comunicar de forma directa, sin intermediarios. Un equipo que quiera enviar un mensaje a otro equipo de la misma red esperará a que el medio de comunicación esté libre (cable ethernet, fibra optica, etc.) y entonces enviará las tramas correspondientes. A su vez, el receptor estará supervisando el medio de comunicación continuamente para comprobar si las tramas que circulan son para él (tienen su dirección ip). Si son para él las recoge y procesa y si no son para él las ignora. Dirección del host o equipo.- son los últimos bits de la dirección ip y debe ser diferente para cada equipo de la red. Luego, los equipos de la misma red tienen direcciones ip con la misma dirección de red y diferente dirección de host o equipo. En el ejemplo de la figura anterior la dirección de red ocupa los tres primeros bytes y la dirección de host el último byte. Por lo tanto, los equipos de esa red tendrán todos como dirección ip n, siendo n cualquier valor entero entre 0 y 255 (con unas pequeñas excepciones que se verán más adelante). La función fundamental de la máscara de red es establecer la longitud de la dirección de red, es decir, establecer qué parte de la dirección ip corresponde a la dirección de la red y qué parte corresponde a la dirección del host. La máscara de red, también llamada máscara de subred, tiene la forma de una dirección ip un poco particular: es una dirección ip que tiene todos los bits de la parte correspondiente a la dirección de red con valor 1 y los bits correspondientes a la dirección del equipo con valor 0. Aplicando esto al ejemplo anterior se obtiene: Página.- 150

152 Fig 66: Máscara de (sub)red Para especificar la dirección ip y la máscara, además de la notación decimal, existe otra notación denominada Classless Inter-Domain Routing (CIDR) que consiste en especificar la dirección ip en notación decimal y a continuación, separada por el carácter /, la longitud en número de bits de la parte correspondiente a la dirección de red. En el ejemplo, como la dirección de la red son 24 bits, la dirección ip y la máscara en formato CIDR sería: / 24 Cuando un equipo tiene que comunicarse con otro, la primera operación que realiza es consultar si el equipo con el que se quiere comunicar se encuentra en su misma red y entonces: Si está en la misma red, pone la información en el medio encargado de realizar la transmisión (cable ethernet, fibra óptica, ) entendiendo que el equipo receptor estará escuchando y recibirá la información. Si no está en la misma red, enviará la información al router, que se encargará de enrutarla hacia el destino. El procedimiento del equipo emisor para comprobar si si el equipo receptor está en la misma red es el siguiente: 1. El equipo emisor realiza la operación AND entre su dirección IP y su máscara. 2. El equipo emisor realiza la operación AND entre su máscara y la dirección ip del equipo receptor. 3. Si obtiene el mismo resultado es porque los dos equipos están en la misma red. En caso contrario los equipos estarán en redes diferentes y la información deberá ser transmitida a través de enrutadores intermedios. Página.- 151

153 La siguiente tabla muestra los resultados obtenidos al realizar la operación AND con los correspondientes operandos binarios: Operación AND Operando 1 Operando 2 Resultado Como ayuda para agilizar la operativa entre la dirección ip de un equipo y su máscara de red, puede observarse en la tabla el cumplimiento de las siguientes características: Cuando un operando tiene valor 1 el resultado coincide con el otro operando. Cuando un operando es 0 el resultado es 0. Con lo cual, teniendo en cuenta que la máscara de red tiene los bits correspondientes a la parte de dirección de red con valor 1 y los bits correspondientes a la parte de dirección de equipo con valor 0, al realizar la operación AND entre una ip y la máscara se obtendrá una dirección ip que cumplirá: La parte correspondiente a la dirección de red coincidirá con la de la dirección ip, puesto que en la máscara todos esos bits tienen valor 1. La parte correspondiente a la dirección del host serán 0, puesto que en la máscara todos esos bits tienen valor 0. Fig 67: Operación AND entre dirección IP y máscara de red La dirección resultante de la realización de la operación AND entre la ip y la máscara se llama dirección de la red y su característica fundamental es que coincide con la dirección ip más baja de las pertenecientes a la misma red, es decir, la parte de dirección de red es la misma de todas las ip's de la red y la parte de dirección del host está a ceros. En el ejemplo, la parte de dirección de red son los tres primeros bytes, con lo cual todos los equipos de esa red tendrán la forma n, con n entre 0 y 255 y la dirección ip más baja de esa red sera la que, como se puede ver en la figura, corresponde con la dirección resultante del AND, es decir, con la dirección de la red. Página.- 152

154 Dentro del rango de posibles direcciones ip's que puede haber dentro de una red hay dos direcciones que tienen un significado especial, y que no pueden ser asignadas a los equipos de la red: La dirección de red.- es la dirección más baja del rango y se utiliza para identificar a la red. Su parte de dirección del host está a ceros. La dirección de broadcast o de difusión.- es la dirección más alta del rango y la utiliza un equipo cuando quiere comunicarse con todos los demás equipos de la red. Su parte de dirección del host está a unos. Por ejemplo, si un equipo quiere comunicar a todos los demás equipos de la red que tiene una impresora instalada que comparte con la red, puede hacer uso de la dirección de difusión. Siguiendo con el ejemplo, si el equipo con dirección ip y máscara de red ( / 24) quiere enviar alguna información al equipo con dirección ip , antes de enviar ninguna trama de información procede de la forma: 1. Realiza la operación AND entre su ip ( ) y la máscara ( ) obteniendo como resultado la dirección de red Realiza la operación AND entre su máscara ( ) y la ip del receptor ( ) obteniendo como resultado la dirección de red Compara los dos resultados obtenidos y si coinciden (como es el caso) es porque los dos equipos están en la misma red y enviará las tramas directamente al receptor. Si no coinciden enviará las tramas al router. Práctica Instalar en el equipo anfitrión y en el invitado con MaX 5.0 un analizador de tramas que permita capturar la información que viaja a través de la red. Comprobar que: Cuando un ordenador envía una trama a un equipo de su misma red, la trama llega a todos los equipos de la misma red. El equipo al que va dirigida la trama la procesa y los demás la ignoran. Cuando un ordenador va a enviar una trama a un equipo que no está en su misma red: Si no tiene configurada la puerta de enlace muestra un mensaje de error y no envía la trama. Si tiene configurada la puerta de enlace, envía la trama al equipo especificado como puerta de enlace. El equipo que realiza la función de puerta de enlace reenviará la trama donde corresponda y los demás equipos la ignorarán. Página.- 153

155 Una forma de proceder es la siguiente: Tanto en el ordenador anfitrión como en el cliente de MaX 5.0 se inicia una sesión como usuario madrid. Se instala el paquete Wireshark a través del menú Aplicaciones Sistema Administración Gestor de paquetes Synaptic. Una vez instalado aparecerá en el menú Aplicaciones Internet las opciones Wireshark y Wireshark (as root), siendo esta última la que se utiliza para ejecutarlo y teniendo en cuenta que se necesitan privilegios de administración como los tienen los usuarios madrid o root. Desde la línea de comandos se lanza con el nombre del paquete (wireshark). La primera vez que se ejecuta Wireshark aparecerán dos ventanas, una la correspondiente al programa y otra con un mensaje que avisa que se está ejecutando como usuario root y grupo root con los riesgos que ello conlleva. Para continuar hay que pulsar el botón Aceptar de esta última. Fig 68: Mensaje de wireshark Algunas de las opciones más interesantes del programa son: Interfaces....- Permite elegir el interface o tarjeta donde se realizará la captura y análisis de las tramas. Options....- Permite establecer las opciones para la captura y el análisis. Start.- Permite iniciar el proceso de captura de tramas. Capture Filters....- Permite establecer filtros o características de las tramas que deben ser capturadas para analizar y cuales deben ser ignoradas. Fig 69: Wireshark Página.- 154

156 Para capturar tramas, en primer lugar hay que elegir el interface. Además de las interfaces de red del equipo, aparecen el interface any, que equivale a seleccionar todos, y el interface lo, que es el interface de loopback del equipo. Fig 70: Selección de interfaces Una vez seleccionado el interface podrá pulsarse sobre el botón Start y aparecerá una ventana que mostrará las tramas que se van capturando. Fig 71: Captura de tramas Con el botón de Stop se finalizará la captura de las tramas. Si se vuelve a pulsar para realizar una nueva captura el programa avisará de si se quieren guardar en un fichero las tramas de la captura anterior. Página.- 155

157 La ventana que muestra las tramas se encuentra dividida horizontalmente en tres subventanas: La primera muestra una lista con un resumen de las tramas capturadas, con información relativa al número de trama, momento de la captura, equipo emisor, a qué equipo va dirigida, protocolo, etc. La segunda muestra información sobre cada etiqueta o campo contenido en la trama. La tercera muestra el contenido de la trama en formato hexadecimal a la izquierda y en ascii a la derecha. Una vez visto, de forma somera, el funcionamiento de Wireshark vamos a proceder de la forma siguiente: 1. Comprobar que los tres equipos (anfitrión, invitado con MaX 5.0 e invitado con Windows XP o similar) se encuentran en la misma red, es decir, comprobar que coincide el resultado de realizar la operación AND entre ip y máscara de cada equipo. Por ejemplo, teniendo en cuenta que la dirección de red es el resultado del AND: Dirección ip Máscara Dirección de red Anfitrión Invitado MaX Invitado XP Si la dirección de red no fuera la misma para los tres equipos deberá modificarse la ip y máscara de los mismos para que lo sea. 2. Desde un equipo vamos a enviar tramas a otro y a comprobar que llegan a todos los de la red. Por ejemplo, desde el equipo invitado con XP vamos a realizar un ping sostenido al equipo anfitrión y comprobaremos que las tramas llegan tanto al anfitrión como al invitado con MaX. La instrucción ping se utiliza para comprobar si un equipo se encuentra escuchando en la red. El formato más estandard es ping ip_destino. El equipo origen que ejecuta la instrucción envía una trama al equipo destino y si éste se encuentra escuchando contestará con otra trama hacia el origen. En MaX la instrucción ping envía tramas de forma indefinida (sostenida) hasta que se para con las teclas <Ctrl>+<C> pero en Windows XP, la misma instrucción, solamente envía tres tramas y hay que hacer uso de la opción -t para que el ping se realice hasta pulsar <Ctrl>+<C>. Página.- 156

158 Entonces, en el equipo invitado con XP ejecutamos la instrucción: ping t En el equipo anfitrión primero, y en el invitado con MaX después, lanzamos el programa Wireshark y podrá comprobarse que reciben tramas, unas con dirección origen y destino y otras en el sentido contrario. 3. Comprobar que si el invitado con XP no tiene configurada la puerta de enlace y se le asigna una dirección ip que no se encuentre en la misma red que los equipos invitados, la instrucción ping mostrará un error del tipo Host de destino inaccesible y no enviará ninguna trama a la red, es decir, el equipo anfitrión y el invitado con MaX no reciben las tramas correspondientes al ping de XP. 4. Volver a configurar el equipo invitado con XP con la dirección ip inicial y configurar su puerta de enlace con la dirección ip del anfitrión. Si ahora el equipo con XP hace ping a un equipo que no esté en su red, por ejemplo al equipo : ping t se podrá observar que envía las tramas al equipo configurado como puerta de enlace, en este caso al equipo anfitrión. Otra característica esencial de las redes es el número de equipos que pueden contener. Este número se deduce, o está condicionado, por el número de bits de la dirección ip que corresponden a la dirección del equipo. Teniendo en cuenta que: Todos los equipos de la misma red tienen en su dirección ip los bits correspondientes a la dirección de red iguales. Todos los equipos de la misma red tienen en su dirección ip los bits correspondientes a la dirección del equipo distintos. Hay dos direcciones dentro del rango de posibles direcciones ip de la red que no pueden ser asignadas a los equipos, que son la dirección de la red y la dirección de difusión (broadcast), que coinciden con la dirección más baja y con la más alta del rango respectivamente. algunas características de la numeración en binario: Con 1 bit se pueden especificar 2 valores diferentes (0, 1), es decir, 2 1 = 2 valores. Con 2 bits se pueden especificar 4 valores diferentes (00, 01, 10, 11), es decir, 2 2 = 4 valores. Página.- 157

159 Con 3 bits se pueden especificar 8 valores diferentes (000, 001, 010, 011, 100, 101, 110, 111), es decir, 2 3 = 8 valores. Y así sucesivamente y que es la máscara la que identifica cuantos bits de la dirección ip corresponden a la dirección de la red (bits a 1 en la máscara) y cuantos a la dirección del equipo (bits a 0 en la máscara) se tiene que: La máscara identifica 31 bits de dirección de red y 1 bit de dirección de equipo. La máscara identifica 30 bits de dirección de red y 2 bits de dirección de equipo. La máscara identifica 29 bits de dirección de red y 3 bits de dirección de equipo. Y así sucesivamente se obtiene la tabla: Máscara en decimal Máscara en binario Nº bits de dir. de red Nº bits de dir. de equipo Nº max. de dir. ip Nº max. de equipos = = = = = = = = = = = = = = = = = = = = Para atravesar distancias largas, ya no se puede utilizar Ethernet sino que hace falta pasar los paquetes IP por un soporte diferente (por ejemplo FDDI o RDSI) mediante dispositivos denominados router (enrutador) o gateway (pasarela). Un ordenador con MaX también se puede encargar de ello; esta funcionalidad se denomina ip_forwarding. Página.- 158

160 En caso de trabajar con una pasarela, el paquete IP se manda a ésta y la pasarela trata de pasar el paquetes según el mismo esquema. Este proceso se repite hasta el momento de alcanzar el ordenador de destino o hasta que el tiempo de vida del paquete TTL (time to live) se haya agotado. No se pueden utilizar direcciones IP al azar, ya que éstas deben ser únicas en todo el mundo. Existen tres rangos de direcciones IP que pueden utilizarse en la configuración de una red privada y con las cuales no puede realizarse una conexión directa a Internet sino que la conexión se realiza a través de un equipo, por lo general un router, que realiza ciertas conversiones en las direcciones IP. Estos tres rangos están especificados en la RFC 1597 y son los siguientes: Rangos para direcciones IP privadas Red / máscara de red Rango / n. n. n / n. n n. n / n. n Además, en cada ordenador la dirección corresponde al dispositivo loopback y se utiliza para crear una conexión en la propia máquina. Para entender el funcionamiento o la relación que se establece entre las direcciones IP públicas y privadas vamos a tomar un ejemplo sencillo: Cuando una empresa quiere que sus empleados tengan acceso a Internet debe ponerse en contacto con un proveedor de servicios de Internet, que por lo general son empresas de telefonía (pero no exclusivamente). El proveedor de servicios de Internet instala en la empresa un router con dos interfaces de red: un interface se conecta al exterior a través de un medio (cable telefónico, fibra óptica, ) y el otro interface se conecta a la red local mediante otro medio (cable Ethernet, fibra óptica, ondas, ). El interface conectado al exterior estará configurado con una dirección IP pública, única en todo el mundo y el interface conectado a la red local con una dirección IP privada, única en la red privada pero no en el mundo entero. Por ejemplo, la IP pública puede ser y la privada Cuando un equipo de la red local, por ejemplo el que tiene dirección IP , envía una trama de información a Internet, la trama sale con dirección IP origen pero cuando pasa por el router es cambiada por la dirección IP externa del router, es decir, por la y así llegará a su destino. Cuando el equipo destino responda, la trama irá dirigida al equipo con IP , es decir, al router, que al recibir la trama la encaminará al equipo con IP Esta conversión de direcciones IP se denomina NAT (Network Adress Traslation) y para poder realizarla el router deberá gestionar ciertas tablas con información sobre los equipos que envían y esperan información. Página.- 159

161 Práctica Si un equipo tiene la configuración IP / 25 calcular: la máscara en formato decimal, la dirección de la red, la dirección de difusión, el número máximo de direcciones IP diferentes en la red y el número máximo de equipos diferentes en la red. Pasamos la dirección IP a binario y se obtiene: De la máscara se sabe que tiene los primeros 25 bits con valor uno, es decir, Pasando estos datos a decimal se obtiene que la máscara es: Los primeros 25 bits de la dirección IP corresponden a la dirección de red, que será igual en todos los equipos de la red, y los 7 restantes a la dirección del equipo, que serán diferentes para cada equipo. La dirección de la red puede hallarse realizando la operación AND entre la dirección IP y la máscara, y coincidirá con la dirección IP más baja en la red, es decir, aquella cuya parte correspondiente a la dirección del equipo esté a ceros: que en decimal es: La dirección de difusión es la más alta, es decir, aquella cuya parte correspondiente a la dirección del equipo esté a unos: que en decimal es: El número máximo de direcciones IP es 2 elevado al número de bits correspondientes a la dirección del equipo, es decir, 2 elevado a 7 que es 128. El nº máximo de equipos es el nº máximo de direcciones IP menos 2, es decir, 126. Página.- 160

162 Datos de la red Dirección IP Máscara de red Dirección de la red Dirección de difusión Nº máximo de direcciones IP 128 Nº máximo de equipos 126 Práctica Un alumno que en casa dispone de tres ordenadores instala un router para salir a Internet. Qué direcciones IP y máscara de red puede utilizar?. Hallar los demás datos de la red. Se necesita una red que admita 6 direcciones IP: tres para los ordenadores, una para el interface interno del router, la dirección de la red y la dirección de difusión. El dato que condiciona el número máximo de direcciones IP (o de equipos) es la máscara. Para este caso se necesita una máscara que establezca 29 bits para la dirección de red y 3 para la dirección de los equipos puesto que el número máximo de direcciones IP se obtiene al elevar dos al número de bits destinados a la dirección del equipo, es decir, dos elevado a tres que da como resultado ocho y que cumple con los requerimientos de la práctica. Luego, la máscara puede ser: , o, en decimal: y la distribución de las direcciones IP podría ser. Dirección de la red: Dirección del router: Direcciones de los ordenadores: de a Dirección de difusión: En esta red podría haber un máximo de 6 equipos. 6.3 IPv6: la próxima generación de Internet Debido a la aparición de la WWW (World Wide Web), Internet y la cantidad de ordenadores que se comunican vía TCP/IP han crecido vertiginosamente. Desde la invención de la WWW por parte de Tim Berners-Lee, que trabajaba en el CERN ( en el año 1990, la cantidad de ordenadores en Internet ha crecido de algunos miles hasta alrededor de 100 millones actualmente. Página.- 161

163 Como ya sabemos, una dirección IP sólo tiene 32 bits y muchas de las direcciones IP se pierden por la forma en que están organizadas las redes. Internet se divide en subredes. El número de direcciones disponibles en una subred es dos elevado a la potencia del número de bits menos dos. Por eso una subred se compone por ejemplo de 2, 6, 14, 30, etc. direcciones IP. Para conectar por ejemplo 128 ordenadores a Internet, se necesita una subred con 256 direcciones IP de las que hay 254 útiles. Hay que restar dos direcciones para la dirección base de la red y para la de difusión. Para contrarrestar la previsible escasez de direcciones, en el protocolo utilizado actualmente, IPv4, se emplean mecanismos como DHCP o NAT (Network Address Translation). Ambos procedimientos atenúan relativamente la escasez de direcciones en Internet junto con la convención de zonas de direcciones de red públicas y privadas. El mayor inconveniente de estos métodos radica en su compleja configuración, que requiere además un mantenimiento muy intensivo. Para configurar un ordenador en la red IPv4 es necesario introducir numerosos datos como la dirección IP propia, la máscara de subred, dirección de la pasarela y en ocasiones incluso un servidor de nombres. Tiene que saber esta información que no puede deducirse de ningún sitio. Con IPv6, la escasez de direcciones y la compleja configuración pertenecen al pasado. En las secciones siguientes se ofrece información adicional sobre las novedades y ventajas de IPv6 y sobre la transición del antiguo al nuevo protocolo Ventajas de IPv6 La ventaja más importante y llamativa del nuevo protocolo es la considerable ampliación del espacio direccional. Una dirección IPv6 contiene 128 bits en lugar de los tradicionales 32, con lo que el número de direcciones IP disponibles asciende a miles de billones. Las direcciones IPv6 se diferencian de sus predecesoras no sólo en la longitud, sino también en su estructura interna. Esta estructura permite codificar información especial sobre el sistema correspondiente y su red, como se muestra en las siguientes secciones. Entre las ventajas importantes del nuevo protocolo cabe también destacar: Configuración automática.- IPv6 aplica a la red el principio plug and play. Un sistema recién instalado puede integrarse sin problemas en la red (local). El mecanismo automático de configuración del terminal deduce la propia dirección de la información transmitida a través del protocolo ND ( Neighbor Discovery Protocol ) por los enrutadores adyacentes. Este procedimiento no requiere la intervención del administrador y tiene la ventaja adicional de que, a diferencia del distribuidor de direcciones DHCP usado en IPv4, hace innecesario el mantenimiento de un servidor central con las direcciones disponibles. Página.- 162

164 Movilidad.- IPv6 permite asignar varias direcciones paralelas a una interfaz de red. Esto significa para usted como usuario que puede acceder a diversas redes cómoda y fácilmente. Puede comparar este mecanismo con el roaming de las redes de telefonía móvil: aunque usted se encuentre en otro país, su teléfono móvil se introduce en la nueva red garantizando que siga disponible bajo el mismo número de teléfono. Usted llama por teléfono en la red externa como si se tratase de su red habitual. Comunicación segura.- Mientras que en IPv4 la comunicación segura constituía una función adicional, IPv6 incluye IPSec y por tanto la comunicación segura entre dos sistemas mediante un túnel a través de Internet. Compatibilidad con la versión anterior.- No es realista creer que la migración de la totalidad de Internet de IPv4 a IPv6 se va a llevar a cabo rápidamente. Por eso es importante que ambas versiones puedan coexistir en Internet e incluso en un mismo sistema. La coexistencia de ambos protocolos en Internet está asegurada por el uso de direcciones compatibles (las direcciones IPv4 pueden convertirse fácilmente a direcciones IPv6) y la utilización de distintos túneles (véase la sección Coexistencia de IPv4 e IPv6 ). El uso de las direcciones IP de doble pila ( dualstack-ip ) posibilita el soporte de ambos protocolos en el mismo sistema. Cada protocolo utiliza su propia pila de red para que no se produzcan conflictos entre ambas versiones. Multicasting: servicios a la medida.- Mientras que en IPv4 algunos servicios (por ej. SMB) tenían que enviar por broadcast sus paquetes a todos los miembros de la red local, IPv6 permite un procedimiento muy distinto: con multicast es posible dirigirse al mismo tiempo a un grupo de ordenadores. Es decir, no a todos (broadcast) o sólo a uno (unicast), sino a un grupo. De qué grupo se trate depende de la aplicación. No obstante, existen algunos grupos ya definidos como todos los servidores de nombres (all nameservers multicast group) o todos los enrutadores (all routers multicast group) El sistema de direcciones IPv6 Como ya se ha mencionado, el protocolo IP utilizado hasta la fecha presenta dos inconvenientes importantes. Por un lado, las direcciones IP disponibles son cada vez más escasas y por otro, la configuración de red y la administración de tablas de enrutamiento son cada vez más complicadas y requieren un gran esfuerzo de mantenimiento. IPv6 resuelve el primer problema con la ampliación del espacio de direcciones a 128 bits. En cuanto al segundo problema, la solución se encuentra en la estructura jerárquica de direcciones, los sofisticados mecanismos de asignación de direcciones en la red y la posibilidad del multihoming, es decir, la existencia de varias direcciones para cada interfaz con acceso a distintas redes. Página.- 163

165 En relación a IPv6 se distingue entre tres tipos de direcciones: Unicast.- Las direcciones de este tipo pertenecen a una única interfaz de red y los paquetes con una dirección unicast se entregan a un solo destinatario. Las direcciones de esta clase se utilizan para dirigirse a ordenadores individuales en una red local o en Internet. Multicast.- Las direcciones de este tipo hacen referencia a un grupo de interfaces. Los paquetes con una dirección multicast se entregan a todos los destinatarios pertenecientes a ese grupo. Este tipo de direcciones es utilizado principalmente por ciertos servicios de red para dirigirse a grupos determinados. Anycast.- Las direcciones de este tipo hacen referencia a un grupo de interfaces. Los paquetes con una dirección anycast se entregan a los miembros del grupo más cercano al remitente según lo determine el protocolo de enrutamiento utilizado. Las direcciones de este tipo son utilizadas por terminales para encontrar servidores que ofrezcan un servicio determinado en su sector de red. Todos los servidores reciben la misma dirección anycast. Cuando un terminal solicita un servicio, el servidor que responde es aquel que se encuentre más cercano al ordenador según el protocolo de enrutamiento empleado. Si este servidor no está disponible, se utiliza automáticamente el segundo más cercano y así sucesivamente. Las direcciones IPv6 se representan de forma hexadecimal y están formadas por ocho bloques de 16 bits cada uno separados por dos puntos (:). Está permitido suprimir bytes de cero al principio, pero no en medio ni al final de un grupo. Es posible sustituir más de cuatro bytes de cero sucesivos con el comodín ::. No se permite utilizar más de un comodín en una dirección. El proceso de suprimir los ceros se denomina en inglés collapsing. En el siguiente ejemplo se ilustra este procedimiento a través de una misma dirección escrita de tres formas equivalentes: fe80 : 0000 : 0000 : 0000 : 0000 : 10 : 1000 : 1a4 fe80 : 0 : 0 : 0 : 0 : 10 : 1000 : 1a4 fe80 : : 10 : 1000 : 1a4 Cada parte de una dirección IPv6 tiene un significado determinado. Los primeros bytes forman un prefijo que indica el tipo de la dirección. La parte central hace referencia a una red o bien no representa nada, y el final de la dirección es la parte del equipo o host. Las máscaras de red se definen en IPv6 mediante la longitud del prefijo que se indica al final de la dirección con /. Según la dirección representada en el ejemplo siguiente, los últimos 64 bits integran la parte del ordenador y los primeros 64 la parte de red de la dirección. En otras palabras, la cifra 64 significa que la máscara de red se rellena bit a bit comenzando por la izquierda. Por eso la máscara de red tiene 64 bits. Al igual que en IPv4, un enlace del tipo Y de la máscara de red con la dirección IP determina si el ordenador se encuentra en la misma subred o en otra. Ejemplo de dirección IPv6 con prefijo: fe80 : : 10 : 1000 : 1a4 / 64 Página.- 164

166 IPv6 admite distintos prefijos con un significado definido: Prefijo (hexadecimal) 00 Direcciones IPv4 y compatibles con IPv4 sobre IPv6. Un router adecuado tiene que convertir el paquete IPv6 a IPv4. Hay otras direcciones especiales (por ejemplo loopback device) que utilizan este prefijo. Primera cifra 2 ó 3 fe80 : : / 10 fec0 : : / 10 ff Uso (Aggregatable Global Unicast Address) Igual que ahora, también en el caso de IPv6 se puede recibir la asignación de subredes a través de un proveedor. En la actualidad existen los siguientes espacios de direcciones: 2001 : : / 16 (production quality address space) y 2002 : : / 16 (6 to 4 address space). (link-local) Las direcciones con este prefijo no pueden ser enrutadas y por tanto sólo se puede accer a ellas en la misma subred. (site-local) Estas direcciones pueden ser enrutadas pero solamente dentro de una misma organización. Estas direcciones corresponden a las direcciones privadas actuales (por ejemplo 10. x. x. x). (multicast) Las direcciones IPv6 que comienzan por ff son direcciones multicast. La estructura de las direcciones se divide en tres partes: Public topology.- La primera parte, que incluye entre otras cosas uno de los prefijos mencionados en las líneas superiores, sirve para enrutar el paquete en Internet. Contiene información codificada sobre el proveedor o la institución que proporciona la conexión de red. Site topology.- La segunda parte contiene información de ruta sobre la subred en la que ha de entregarse el paquete. Interface ID.- La tercera parte identifica de forma unívoca la interfaz a la que va dirigida el paquete. Aquí se permite utilizar la dirección MAC como parte de la dirección, lo que simplifica enormemente la configuración del ordenador al ser una dirección única en el mundo y estar determinada por el fabricante de hardware. De hecho, los primeros 64 bits se agrupan incluso en un identificador EUI 64 en el que los últimos 48 bits se toman de la dirección MAC y los 14 restantes incluyen información especial sobre el tipo de identificador. Esto también permite asignar un identificador EUI 64 a dispositivos sin dirección MAC (conexiones PPP y RDSI). Página.- 165

167 Partiendo de esta estructura básica, se distinguen cinco tipos de direcciones unicast: : : (unspecified).- Esta es la dirección de salida utilizada por un ordenador cuando su interfaz de red se inicia por primera vez y todavía no dispone de información sobre la propia dirección. : : 1 (loopback).- Dirección del dispositivo loopback. Dirección compatible con IPv4.- La dirección IPv6 está compuesta por la dirección IPv4 y un prefijo de 96 bits 0 al principio de la dirección. Este tipo de direcciones compatibles se utiliza en el tunneling. De esta forma, los ordenadores IPv4/IPv6 pueden comunicarse con otros situados en redes exclusivamente IPv4. Direcciones IPv6 asignadas a IPv4.- Este tipo de dirección indica la dirección IPv6 de un ordenador IPv4. Direcciones locales.- Existen dos tipos de direcciones para el uso puramente local: link-local.- Este tipo de dirección se utiliza exclusivamente en la subred local. Los enrutadores no pueden enviar los paquetes que cuenten con una dirección de salida o destino de este tipo a Internet o a otras subredes. Estas direcciones se caracterizan por un prefijo especial (fe80 : : / 10) y el ID de interfaz de la tarjeta de red. La parte central de la dirección se compone de bytes 0 sin significado. Este tipo de dirección se emplea en los procesos de configuración automática para dirigirse a ordenadores en la misma subred. Site-local.- Este tipo de dirección puede enrutarse entre distintas subredes pero no fuera de una organización (site) hacia Internet. Estas direcciones se utilizan en intranets y equivalen a las direcciones privadas de IPv4. Además de un prefijo definido (fec0 : : / 10) y del ID de interfaz, estas direcciones incluyen un campo de 16 bits en el que está codificado el ID de subred. El resto se rellena con bytes 0. En IPv6 existe además una novedad: a una interfaz de red se le asignan por lo general varias direcciones IP, pudiendo así disponer de redes distintas. Una de ellas puede configurarse por completo automáticamente con ayuda de la dirección MAC y un prefijo conocido. De esta forma, todos los ordenadores de la red local (direcciones link-local) están disponibles inmediatamente después de iniciar IPv6 sin procesos de configuración adicionales. Gracias a las direcciones MAC integradas en las direcciones IP, estas direcciones pueden distinguirse a nivel global. Las partes de la Site Topology o Public Topology pueden variar dependiendo de la red en la que el ordenador se encuentre en ese momento. Si un ordenador se mueve entre distintas redes, necesita al menos dos direcciones. Una de ellas ( home address ) contiene, además del ID de interfaz, información sobre la red local en la que funciona normalmente el ordenador y el prefijo correspondiente. La home address es estática y no se modifica. Todos los paquetes dirigidos a este ordenador se Página.- 166

168 entregan tanto en la red local como en la externa. La entrega de paquetes en la red externa es posible gracias a importantes novedades del protocolo IPv6: stateless autoconfiguration y neighbor discovery. Además de la home address, un ordenador móvil cuenta con una o varias direcciones adicionales pertenecientes a las redes externas en las que se mueve. Este tipo de direcciones se denomina care-of address. La red local del ordenador móvil debe contener una instancia que reenvíe los paquetes dirigidos a la home address en caso de que el ordenador se encuentre en otra red. En entornos IPv6, esta función la realiza un home agent que entrega todos los paquetes dirigidos a la dirección local del ordenador móvil mediante un túnel. Aquellos paquetes cuya dirección destino sea la care-of address pueden ser entregados directamente a través del home agent Coexistencia de IPv4 e IPv6 La migración de todos los ordenadores en Internet de IPv4 a IPv6 no va a producirse de la noche a la mañana, sino que ambos protocolos coexistirán durante algún tiempo. La coexistencia en un ordenador se resuelve gracias a la doble pila o dual stack. No obstante, queda la pregunta de cómo se comunican los ordenadores IPv6 con ordenadores IPv4 y cómo se transporta IPv6 a través de las redes IPv4 aún predominantes. El método de tunneling y las direcciones compatibles constituyen la respuesta a estos problemas. Las islas IPv6 individuales en medio de una red (global) IPv4 intercambian sus datos a través de túneles. Este método consiste en empaquetar los paquetes IPv6 en paquetes IPv4 para poder transportarlos a través de una red exclusivamente IPv4. Un túnel se define como la conexión entre dos puntos finales IPv4. Aquí debe especificarse la dirección destino IPv6 (o el prefijo correspondiente) a la que se dirigen los paquetes IPv6 encubiertos y la dirección remota IPv4 en la que han de recibirse los paquetes enviados por el túnel. En el caso más sencillo, los administradores configuran manualmente estos túneles entre su red y el punto destino. Este método se denomina tuneling estático. Sin embargo, el método manual no siempre basta para configurar y administrar los túneles necesarios para el trabajo diario en red. Por este motivo se han desarrollado tres métodos que permiten el tuneling dinámico: 6over4.- Los paquetes IPv6 se empaquetan automáticamente en paquetes IPv4 y se envían a través de una red IPv4 en la que se ha activado el multicasting. De cara a IPv6 se actúa como si toda la red (Internet) fuese una única LAN (Local Area Network) de proporciones gigantescas. Así se detecta automáticamente el punto final IPv4 del túnel. Los inconvenientes de este mecanismo son una escalabilidad deficiente y el hecho de que el multicasting no está ni mucho menos disponible en toda Internet. Este método, que se describe en el RFC 2529, resulta adecuado para empresas pequeñas o redes de instituciones que dispongan de multicasting. 6to4.- En este método se generan automáticamente direcciones IPv4 a partir de direcciones IPv6, permitiendo así que las islas IPv6 se comuniquen entre sí a través de una red IPv4. No obstante, también existen algunos problemas en la comunicación entre las islas IPv6 e Internet. Este método se basa en el RFC Página.- 167

169 IPv6 Tunnel Broker.- En este método se utilizan servidores especiales que se encargan de crear automáticamente túneles para los equipos con direcciones IPv6. Este procedimiento se describe en el RFC En medio de la anticuada Internet, existe una red mundial de subredes IPv6 conectadas entre sí por medio de túneles. Dicha red se conoce como 6Bone y en ella se prueba IPv6. Los desarrolladores de software y proveedores que desarrollan u ofrecen servicios IPv6 pueden servirse de este entorno de pruebas para acumular experiencias con el nuevo protocolo. Puede obtener información adicional en la página web del proyecto 6Bone: Configuración de IPv6 Para utilizar IPv6 normalmente no hace falta configurar nada especial en el lado del cliente. Únicamente es necesario cargar el soporte de IPv6 por ejemplo ejecutando el comando modprobe ipv6 como usuario root. De acuerdo con la filosofía de autoconfiguración en IPv6, se asigna a la tarjeta una dirección de red dentro de la red link-local. Normalmente no se mantiene ninguna tabla de enrutamiento en un ordenador cliente, ya que éste puede consultar mediante el Router Advertisement Protocol los enrutadores que existen en la red y el prefijo que se ha de utilizar. El programa radvd sirve para configurar un enrutador IPv6. Este programa indica a los clientes el prefijo utilizado para las direcciones IPv6 y el/los enrutador(es) en la red. Asimismo, el programa zebra también se puede utilizar para la configuración automática de direcciones y enrutadores. La página del manual de ifup (man ifup) contiene información muy útil sobre la configuración de túneles con ayuda de los archivos de /etc/sysconfig/network Información adicional sobre IPv6 El resumen de IPv6 presentado no pretende ser una introducción completa acerca del amplio tema IPv6. Para más información (en inglés), puede consultar la literatura impresa o en línea que se presenta a continuación: Serie de artículos que describen de forma excelente los fundamentos de IPv6. Resulta muy adecuado para irse introduciendo en este tema. CÓMOs de IPv6 en Linux y muchos enlaces. Acceder a IPv6 a través de un túnel. Página.- 168

170 Todo acerca de IPv6. RFC 2640 El RFC introductorio sobre IPv6. IPv6 Essentials Información general sobre IPv6. Silvia Hagen: IPv6 Essentials. O'Reilly & Associates, (ISBN ). 6.4 Configuración de la puerta de enlace Continuando con IPv4, sabemos que la configuración básica para que un equipo pueda comunicarse con otros que se encuentren en su misma red consta de: Dirección IP, que identifica al equipo Máscara de red, que identifica la red. Si además se desea que el equipo pueda comunicarse con otros equipos que no se encuentran en su misma red se necesita un dispositivo (generalmente un router) que haga la función de enlace (puerta de enlace o gateway) con las demás redes. Entonces, se necesita configurar un parámetro más: La puerta de enlace o gateway, que identifica el equipo encargado de la comunicación con otras redes. Página.- 169

171 Práctica Configurar tres equipos de tal forma que dos de ellos pertenezcan a redes diferentes y el otro se encuentre en ambas redes y haga la función de enrutamiento entre las dos redes. El esquema de configuraciones puede ser el siguiente: Fig 72: Subredes A la hora de elegir tanto las redes como las direcciones IP debe tenerse en cuenta que no se generen conflictos con las redes preestablecidas y en funcionamiento. La forma de proceder puede ser la siguiente: 1. Se lanza la ejecución de la máquina virtual con XP y se configura su dirección IP, su máscara de red y su puerta de enlace, como se muestra en la figura. Fig 73: Configuración de XP Página.- 170

172 2. Para realizar la configuración TCP/IP de la máquina virtual con MaX hay que realizar una configuración adicional para que dicha máquina simule tener dos adaptadores de red. Para realizar esta configuración es necesario que la máquina virtual se encuentre apagada y proceder de la forma: En VirtualBox seleccionar la máquina virtual con MaX y pulsar sobre la opción Red. Fig 74: Añadir adaptador de red Seleccionar la ficha correspondiente a Adaptador 2 y rellenarla con datos similares a la de Adaptador 1. La única diferencia debe ser la dirección MAC, que el programa tomará de forma aleatoria. Fig 75: Adaptador 2 Página.- 171

173 Después de pulsar sobre el botón Aceptar, en la ficha General, debajo de la opción Red, aparecerán dos adaptadores. A continuación se lanza la ejecución de la máquina virtual y se configuran los dos adaptadores (menú Aplicaciones Sistema Administración Red) con sus correspondientes direcciones IP, máscaras y sin puerta de enlace, como se muestra en la figura. Fig 76: Configuración de los dos adaptadores Una vez realizada esta configuración puede probarse si desde la máquina con XP se hace ping a los dos dispositivos de la máquina con MaX. 3. La máquina con Windows Server se configura de forma similar a la de XP. Se puede comprobar: Que XP hace ping a los dos adaptadores de MaX. Que W_Server hace ping a los dos adaptadores de MaX. Que MaX hace ping a XP y a W_Server. Que XP no hace ping a W_Server. Que W_Server no hace ping a XP. 4. Por último, para que XP pueda comunicarse con W_Server, y viceversa, hay que configurar la máquina con MaX para que haga la función del router y enrute las tramas entre las dos redes. Esto se consigue ejecutando con el usuario root (no vale con el usuario madrid haciendo uso de la instrucción sudo) la instrucción: echo 1 > /proc/sys/net/ipv4/ip_forward Para desactivar la función se ejecuta la misma instrucción cambiando el 1 por un 0. Página.- 172

174 Además, la instrucción no es persistente y si se desea que la máquina realice la función de enrutado de forma continuada deberá ejecutarse cada vez que se inicie la máquina. Otra forma de configurar la máquina para que realice siempre dicha función es buscar en el fichero /etc/sysctl.conf la línea: net.ipv4.ip_forward=1 y borrar el carácter # que tiene delante. Si no existiera dicha línea habría que incluirla. Reiniciar la máquina. Con la función de enrutado activa puede comprobarse que XP ya hace ping a W_Server y viceversa. Si a XP se le quita la puerta de enlace predeterminada no sabrá comunicarse con W_Server y puede comprobarse que ocurre lo siguiente: Al ejecutar en la máquina con XP la instrucción ping comprueba que la dirección especificada no se encuentra en su misma red y, sin puerta de enlace, no podrá comunicarse con otras redes y mostrará un mensaje de error como: Host de destino inaccesible, como se muestra en la figura. Fig 77: Ping de XP a W_Server Al ejecutar en la máquina W_Server la instrucción ping enviará unas tramas de información a la máquina con XP pero, como ésta no puede responderle, W_Server mostrará un mensaje de error como Tiempo de espera agotado para esta solicitud, como se muestra en la figura. Fig 78: Ping de W_Server a XP Página.- 173

175 6.5 Configuración de la resolución de nombres MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red Gracias al Servicio de Nombres de Dominio (DNS) no hace falta recordar direcciones IP, ya que este sistema realiza la asignación de una dirección IP a uno o varios nombres así como la asignación inversa de un nombre a una dirección IP. En Linux, un software especial llamado bind es el que se encarga de establecer el vínculo entre nombres y direcciones IP. Un ordenador que presta este servicio se denomina servidor de nombres (name server). Los nombres también están estructurados dentro de una jerarquía; las diferentes partes funcionales de los nombres se separan por puntos. Esta jerarquía de nombres es independiente de la ya mencionada jerarquía de direcciones IP. Un nombre completo se denomina nombre de dominio totalmente cualificado (Fully Qualified Domain Name o FQDN) y se compone del nombre del ordenador y del nombre del dominio. Por ejemplo, servidor.tiernogalvan.es sería un nombre FQDN donde servidor es el nombre del ordenador y tiernogalvan.es el nombre del dominio. Este nombre de dominio incluye el dominio de primer nivel (Top Level Domain o TLD)(es). Por razones históricas la asignación de los TLDs resulta algo confusa. En los EE.UU. se utilizan TLDs de tres letras mientras que el resto del mundo utiliza los códigos de país ISO de dos letras. Desde el año 2000 existen TLDs adicionales para campos específicos que en ocasiones cuentan con más de 3 letras (por ejemplo.info,.name,.museum, etc.). En los primeros días de Internet (antes de 1990) el archivo /etc/hosts albergaba los nombres de todos los ordenadores disponibles en Internet. Esta forma de resolución de nombre se tornó poco práctica debido al rápido crecimiento de Internet. Por eso se diseñó una base de datos descentralizada, capaz de guardar los nombres de las máquinas de forma distribuida. Esta base de datos o un servidor de nombres no dispone de los datos de todos los ordenadores en Internet, sino que es capaz de consultar otros servidores de nombres en un nivel más alto. En la cúspide de la jerarquía de servidores de nombres se encuentran los Root- Nameserver que administran los dominios de primer nivel (TLD). El Network Information Center (NIC) se encarga de la administración de estos servidores. El Root-Nameserver conoce los servidores de nombres que se encargan de cada dominio de primer nivel. En la página web puede encontrar más información acerca de los dominios de primer nivel gestionados por el NIC. DNS es capaz de realizar otras tareas además de la resolución de nombres. El servidor de nombres conoce igualmente el ordenador que acepta los mensajes de todo un dominio. Este ordenador se conoce como Mail Exchanger (MX). El ordenador de sobremesa tiene que conocer la dirección IP de al menos un servidor de nombres para que sea capaz de convertir nombres en direcciones IP. Con MaX es muy fácil configurar el servidor de nombres. En el caso de una conexión vía módem, puede que no sea necesario configurarlo manualmente, ya que el protocolo utilizado para la conexión proporciona esta información durante el proceso de conexión. Página.- 174

176 La configuración de un servidor de nombres es más compleja y se trata en un capítulo aparte. El protocolo whois es muy similar al de DNS y sirve para averiguar rápidamente quién se responsabiliza de un determinado dominio. 6.6 Configuración del protocolo TCP/IP en un cliente de red En MaX es muy fácil configurar gráficamente el protocolo TCP/IP. Los datos que intervienen en la configuración completa del protocolo TCP/IP son: Dirección IP. Máscara de (sub)red. Puerta de enlace predeterminada o gateway. DNS 1. DNS 2. Es conveniente especificar dos DNS's para que si el primero no responde pueda utilizarse el segundo. Para introducir estos datos se accede con un usuario con los permisos adecuados (root o madrid) al menú Aplicaciones Sistema Administración Red, se desbloquea la ventana de configuración de la red (si aparece bloqueada) introduciendo la clave para el usuario madrid, en la ficha Conexiones se selecciona el adaptador a configurar y pulsando sobre el botón Propiedades aparecerá la ventana de propiedades que permitirá seleccionar una configuración automática o bien la introducción de los parámetros por el usuario. Para que la configuración se realice de forma automática y el adaptador se configure con los datos que le envíe un servidor de DHCP, basta con marcar el cuadro de verificación Activar el modo itinerante, o bien, no marcar dicho cuadro y en los datos relativos a los Ajustes de conexión, en la lista desplegable Configuración elegir Configuración automática (DHCP). Para introducir unos datos de configuración determinados hay que dejar el cuadro de verificación Activar el modo itinerante sin marcar, en la lista desplegable Configuración elegir Dirección IP estática e introducir los datos correspondientes a la dirección IP, la máscara de (sub)red y la dirección IP de la puerta de enlace. Página.- 175

177 Fig 79: Configuración TCP/IP Finalmente se introducen en la ficha DNS las direcciones IP de los DNS's. Para añadir un servidor de DNS hay que pulsar el botón Añadir, se introduce la dirección IP y se pulsa <Intro>. Una vez realizada la configuración se pulsa el botón Cerrar. Fig 80: Configuración de los DNS's Página.- 176

178 6.7 Ficheros de configuración de red Conceptos Para realizar la configuración de la red pueden utilizarse las herramientas gráficas del apartado anterior o bien realizar las modificaciones oportunas en los ficheros que contienen los datos de configuración, teniendo en cuenta que para ello deberá operarse con un usuario que tenga los permisos adecuados. Es recomendable que los usuarios administradores conozcan los ficheros que intervienen en la comunicación entre ordenadores y nunca vendrá mal una explicación de los conceptos subyacentes. Todas las tarjetas de red ya sean integradas o dispositivos hotplug (PCMCIA, USB y parcialmente también PCI) se detectan y configuran por medio de hotplug. Para comprender mejor este proceso, hay que tener presente los siguientes puntos: El sistema percibe a las tarjetas de red de dos formas: por una parte se trata de un dispositivo (device) físico, y por otra, actúa como interfaz (interface). Cuando un dispositivo es insertado o detectado, se genera un evento hotplug. Este evento hotplug hace que el dispositivo sea activado a través del script /sbin/hwup. Al activarse la tarjeta de red como nueva interfaz de red, el kernel produce otro evento hotplug que a su vez desencadena la configuración de la interfaz por medio de /sbin/ifup. El kernel numera los nombres de interfaz en función del orden cronológico en que se han registrado. El orden de inicio es decisivo para la denominación. Si la primera de varias tarjetas de red falla, se modifica la numeración/denominación de todas las tarjetas iniciadas con posterioridad. En el caso de tarjetas con auténtico soporte hotplug, lo importante es el orden en que los dispositivos han sido conectados. Con el fin de posibilitar una configuración flexible, por una parte se ha separado la configuración de dispositivos (hardware) e interfaces y, por otra, la asignación de configuraciones a dispositivos o interfaces ya no se realiza en base a los nombres de interfaz. La configuración de los dispositivos se encuentra en /etc/sysconfig/hardware/hwcfg-* y la de las interfaces en /etc/sysconfig/network/ifcfg-*. Los nombres de las distintas configuraciones describen los dispositivos o interfaces a los que pertenecen. Puesto que la asignación de controladores a nombres de interfaces presupone que los nombres de interfaces permanezcan invariables, esta asignación ya no puede tener lugar en /etc/modprobe.conf. Las entradas alias en este archivo podrían tener incluso efectos secundarios negativos en el nuevo concepto. Los nombres de configuración, es decir, todo lo que sigue a hwcfg- o ifcfg-, pueden describir a los dispositivos mediante el lugar donde están instalados, su ID específico o el nombre de interfaz. El nombre de configuración para una tarjeta PCI puede ser, por ejemplo, bus-pci-0000:02:01.0 (ranura PCI) o bien vpid-0x8086-0x1014-0x0549 (ID de fabricante y Página.- 177

179 producto). Para la interfaz correspondiente puede utilizarse bus-pci-0000:02:01.0 o wlan-id- 00:05:4e:42:31:7a (dirección MAC). Si se prefiere no asignar una configuración de red determinada a una tarjeta especificada sino a cualquier tarjeta de un tipo concreto (del que sólo puede haber una tarjeta insertada en cada momento), se elige un nombre de configuración menos específico. Por ejemplo, es posible emplear bus-pcmcia para todas las tarjetas PCMCIA. Por otra parte, los nombres pueden restringirse un poco más anteponiéndoles un tipo de interfaz. Por ejemplo, wlan-bus-usb puede asignarse a todas las tarjetas WLAN con conexión USB. Siempre se utiliza la configuración que mejor describe una interfaz o el dispositivo correspondiente a la interfaz. /sbin/getcfg se encarga de buscar la configuración más adecuada. La salida de getcfg proporciona todos los datos que pueden emplearse para describir un dispositivo. Consulte la página del manual de getcfg para obtener la especificación exacta de los nombres de configuración. El método descrito permite configurar correctamente una interfaz de red de forma fiable incluso aunque los dispositivos de red no se inicien siempre en el mismo orden. No obstante, aún queda por resolver el problema de que el nombre de interfaz todavía depende del orden de activación. Existen dos formas de garantizar el acceso fiable a la interfaz de una tarjeta de red determinada: /sbin/getcfg-interface nombre_de_configuración.- devuelve el nombre de la interfaz de red correspondiente. Por eso también es posible introducir en algunos (por desgracia no en todos) archivos de configuración de servicios de red el nombre de la configuración en lugar del nombre de interfaz (que no es permanente). Este es el caso, por ejemplo, del cortafuegos, dhcpd, enrutamiento o diversas interfaces de red virtuales (túneles). Es posible asignar un nombre de interfaz permanente a todas las interfaces cuya configuración no se designa con el nombre de interfaz. Para ello se define la entrada PERSISTENT_NAME=<pname> en una en una configuración de interfaz (ifcfg-*). El nombre permanente pname no puede ser uno de los nombres que el kernel asigna automáticamente, lo que ya excluye a eth*, tr*, wlan*, qeth*, iucv*, etc. En su lugar puede utilizarse, por ejemplo, net* o nombres descriptivos como external, internal o dmz. Los nombres permanentes se asignan a la interfaz inmediatamente después de su registro, por lo que es necesario volver a cargar el controlador de la tarjeta de red (o bien ejecutar hwup <descripción_del_dispositivo> ). En este caso no basta con ejecutar rcnetwork restart. Hay que tener en cuenta que el uso de nombres permanentes de interfaz no se ha probado en todas las áreas. Puede ocurrir que algunas aplicaciones no funcionen correctamente con nombres de interfaz elegidos libremente. Página.- 178

180 ifup no inicia el hardware, sino que presupone la existencia de una interfaz. Para iniciar el hardware se emplea hwup, que es ejecutado por hotplug (o coldplug). En cuanto se inicia un dispositivo, ifup se inicia automáticamente para la nueva interfaz a través de hotplug y, si el modo de inicio es onboot, hotplug o auto y el servicio network ha sido activado, ifup es ejecutado. Antiguamente lo normal era que ifup <nombre_de_interfaz> desencadenase el inicio del hardware. Hoy en día el proceso es exactamente el inverso. Primero se inicia un componente de hardware y todas las acciones posteriores resultan de ésta. Esto permite utilizar un juego de configuración existente para configurar de forma óptima una cantidad variable de dispositivos. Para una mayor claridad, en la siguiente tabla se recogen los scripts más importantes que intervienen en la configuración de red. Donde sea posible se distingue entre el punto de vista del hardware y de la interfaz: Etapa de la configuración Hardware Comando hw{up, down, status} Función Los scripts hw* son activados por el subsistema hotplug para iniciar un dispositivo, cancelar el inicio o preguntar el estado de un dispositivo. Puede obtenerse información adicional con man hwu. Interfaz getcfg getcfg pregunta el nombre de interfaz correspondiente a un nombre de configuración o una descripción de hardware. Puede obtenerse información adicional con man getcfg. Interfaz if{up, down, status} Ficheros de configuración Los scripts if* activan o desactivan interfaces de red existentes o devuelven el estado de la interfaz en cuestión. Puede obtenerse información adicional con man ifup. Este apartado describe de forma resumida los archivos de configuración de red disponibles así como sus funciones y formatos. /etc/network/interfaces Este archivo contiene la configuración de las interfaces de red e incluye, entre otros parámetros, el modo de inicio, dirección IP, máscara y puerta de enlace. Los parámetros posibles se describen en la página del manual de ifup. Asimismo, todas las variables de los archivos dhcp, wireless y config pueden utilizarse en los archivos ifcfg-* en caso de que una opción de configuración normalmente global deba utilizarse sólo para una interfaz. Página.- 179

181 Un ejemplo de fichero /etc/network/interfaces para un equipo con tres interfaces de red, dos ethernet y otro wireless, podría ser: auto lo iface lo inet loopback iface wlan0 inet static address netmask gateway wireless-key s:estaesmiclave wireless-essid Mired auto wlan0 iface eth0 inet static address netmask iface eth1 inet dhcp Si se realiza alguna modificación para algún interface en este fichero habrá que suspender el funcionamiento del interface con la instrucción ifdown interface, por ejemplo, ifdown wlan0. Si esta instrucción no suspende el funcionamiento del interface habrá que utilizar ifconfig wlan0 down. Para activar su funcionamiento se utilizaría ifup wlan0 o ifconfig wlan0 up. /etc/resolv.conf En este archivo se indica el dominio al que pertenece el ordenador (palabra clave search) y las direcciones de los servidores de nombres (palabra clave nameserver) al que se debe dirigir. Es posible introducir más nombres de dominio. Al resolver nombres que no estén totalmente cualificados, se intentará generar un nombre válido y cualificado añadiendo entradas únicas en search. Se pueden dar a conocer varios servidores de nombres añadiendo líneas que comiencen con nameserver. Los comentarios se introducen con #. A continuación se muestra un ejemplo del contenido de este fichero: # Generated by NetworkManager search tiernogalvan.es nameserver nameserver Página.- 180

182 Algunos servicios, como pppd (wvdial), ipppd (isdn), dhcp (dhcpcd y dhclient), pcmcia y hotplug pueden modificar los archivos /etc/resolv.conf mediante el script modify_resolvconf. Al modificar el archivo /etc/resolv.conf con este script, se incluirá en el archivo un comentario con información sobre los servicios que se han modificado, el lugar donde se encuentra el archivo original y cómo es posible suprimir las modificaciones automáticas. Si /etc/resolv.conf es modificado más veces, se volverá a limpiar este cúmulo de modificaciones cuando se recojan en otro orden; lo cual puede ocurrir con isdn, pcmcia y hotplug. Si un servicio no ha finalizado limpiamente, se puede restaurar el estado original con ayuda del script modify_resolvconf. Al arrancar se probará si resolv.conf se ha quedado modificado (por ejemplo debido a un cuelgue del sistema); en ese caso se volverá a restaurar el resolv.conf original (sin modificar). /etc/hosts Este archivo tiene una tabla de correspondencia entre nombres de ordenadores y direcciones IP. En esta tabla deben aparecer todos los ordenadores con los que se quiere establecer una conexión IP cuando no se usa un servidor de nombres. Cada ordenador ocupa una línea en la tabla que contiene el número IP, el nombre completo de la máquina y el nombre (abreviado), por ejemplo profe. La línea debe comenzar con la dirección IP y las demás indicaciones se separan con espacios o tabuladores. Los comentarios comienzan con #. Un ejemplo puede ser el siguiente: localhost servidor.tiernogalvan.es servidor profe.tiernogalvan.es profe alumno.tiernogalvan.es alumno /etc/networks En este archivo se convierten los nombres de redes en direcciones de red. El formato se parece al del archivo hosts sólo que aquí los nombres de las redes aparecen por delante de sus direcciones IP, por ejemplo: loopback redlocal /etc/host.conf La resolución de nombres, o sea, la traducción del nombre del ordenador o de la red mediante la librería resolver, se gestiona a través de este archivo. Este sólo se utiliza para programas con enlaces a libc4 o libc5 (para programas glibc actuales, ver las opciones de configuración en /etc/nsswitch.conf). Un parámetro debe ocupar una sola línea y los comentarios comienzan con #. Los parámetros posibles se muestran en la tabla siguiente: Página.- 181

183 Parámetro order hosts, bind, nis multi on/off nospoof on spoofalert on/off trim nombredominio Descripción Determina el orden de llamada a los servicios de resolución de nombres. Los parámetros posibles, separados por espacios o comas, son: - hosts: búsqueda en el archivo /etc/hosts. - bind: llama a un servidor de nombres. - nis: mediante NIS. Determina si un ordenador dado e alta en /etc/hosts puede tener varias direcciones IP. Estos parámetros influyen sobre el spoofing del servidor de nombres, pero no tienen ninguna influencia adicional sobre la configuración de red. El nombre de dominio que se indica aquí, se resta del nombre totalmente cualificado del ordenador que lo contiene (antes de asignar la dirección IP al nombre de ordenador). Se trata de una opción muy útil cuando el archivo /etc/hosts sólo contiene nombres de ordenadores locales (alias) y éstos deben ser reconocidos también cuando se añade el nombre del dominio. Un ejemplo de contenido del fichero /etc/host.conf puede ser: # En la red hay un servidor de nombres order hosts bind # permitir múltiples direcciones multi on /etc/nsswitch.conf Con la version 2.0 de la librería GNU de C comenzó el uso del Name Service Switch (NSS) (ver la página del manual de man 5 nsswitch.conf o bien la información más extensa de The GNU Library Reference Manual, capítulo System Databases and Name Service Switch - ver libcinfo. El archivo /etc/nsswitch.conf determina en qué orden se solicitan determinadas informaciones. El ejemplo siguiente muestra un archivo nsswitch.conf en el que las líneas de comentarios comienzan con # y respecto a la base de datos hosts indica que se envía una solicitud al servicio DNS después de consultar /etc/hosts (files). passwd: group: hosts: networks: services: protocols: compat compat files dns files dns db files db files Página.- 182

184 netgroup: automount: files files nis Las bases de datos accesibles vía NSS se recogen en la tabla siguiente. Para el futuro se espera también la disponibilidad de automount, bootparams, netmasks y publickey. Base de datos aliases ethers group hosts netgroup networks passwd protocols rpc services shadow Descripción Alias de correo, usada por sendmail (ver la página del manual man 5 aliases). Direcciones de ethernet. Usada por getgrent para grupos de usuarios (ver la página man 5 group). Para nombres de host y direcciones IP, utilizada por funciones como gethostbyname o similares. Lista de hosts y de usuarios válida en la red para administrar los derechos de acceso; ver la página del manual man 5 netgroup. Nombres y direcciones de redes, usada por getnetent. Contraseñas de usuarios, utilizada por getpwent. Ver la página man 5 passwd. Protocolos de red, utilizada por getprotoent. Ver la página man 5 protocols. Nombres y direcciones del tipo Remote Procedure Call, utilizada por getrpcbyname y funciones similares. Servicios de red; datos usados por getservent. Las contraseñas shadow de los usuarios, utilizada por getspnam. Ver la página del manual man 5 shadow. Las opciones de configuración para bases de datos NSS se muestran en la tabla siguiente: Opción files db nis, nisplus dns compat Descripción Acceso directo a los archivos, por ejemplo a /etc/aliases. Acceso a través de una base de datos. NIS. Parámetro adicional, solo aplicable para hosts y networks. Parámetro adicional para passwd, shadow y group. Página.- 183

185 /etc/nscd.conf Este es el archivo para configurar nscd (Name Service Cache Daemon) - ver páginas del manual man 8 nscd y man 5 nscd.conf. La información en cuestión es la que se encuentra en passwd y groups. Es esencial para el buen rendimiento de servicios de directorio como NIS y LDAP, ya que en caso contrario cualquier acceso a nombres o grupos requeriría una conexión de red. hosts no se lee para no tener que reiniciar el daemon, por ejemplo, cuando se cambia la resolución de nombres de dominio (DNS) modificando /etc/resolv.conf. Cuando está activada la característica caching para passwd, suelen pasar unos 15 segundos hasta que un usuario recién creado sea conocido en el sistema. Este tiempo de espera se puede reducir reiniciando nscd con el comando rcnscd restart. /etc/hostname Aquí se encuentra el nombre del ordenador, es decir, sólo el nombre del host sin el nombre de dominio. Hay distintos scripts que leen este archivo durante el arranque del ordenador. Sólo debe contener una única línea con el nombre del ordenador. /etc/sysconfig/hardware/hwcfg-* Estos archivos contienen la configuración de hardware de las tarjetas de red y otros dispositivos. Incluyen los parámetros necesarios como por ejemplo módulo del kernel, modo de inicio y correspondencias de scripts. Puede encontrar información adicional en la página del manual de hwup. Los archivos de configuración hwcfg-static-* se aplican al iniciarse coldplug independientemente del hardware disponible en el sistema. /etc/sysconfig/network/config, dhcp, wireless El archivo config incluye opciones de configuración generales para ifup, ifdown e ifstatus. Este archivo está completamente comentado. También hay comentarios en dhcp y wireless, donde se almacenan las opciones generales de configuración para DHCP y las tarjetas de red inalámbricas. También se pueden utilizar todas las variables de estos archivos en ifcfg-*, donde se les da preferencia. /etc/sysconfig/network/routes, ifroute-* Aquí se define el enrutamiento estático de los paquetes TCP/IP. En el archivo /etc/sysconfig/network/routes pueden introducirse todas las rutas estáticas necesarias para las diversas tareas del sistema: la ruta a un ordenador, a un ordenador a través de una pasarela o a una red. Las rutas individuales requeridas por algunas interfaces pueden introducirse en el archivo /etc/sysconfig/network/ifroute-*, en un archivo individual para cada interfaz. El signo * ha de sustituirse por el nombre de la interfaz. Las entradas podrían presentar el siguiente aspecto: DESTINO GATEWAY MASCARA INTERFACE [TIPO] [OPCIONES] DESTINO GATEWAY PREFIXLEN INTERFACE [TIPO] [OPCIONES] DESTINO/PREFIXLEN GATEWAY - INTERFACE [TIPO] [OPCIONES] Página.- 184

186 En caso de que no se especifiquen GATEWAY, MÁSCARA, PREFIXLEN o INTERFACE, debe introducirse en su lugar el signo -. Las entradas TIPE y OPCIONES pueden omitirse sin más. La primera columna contiene el destino de la ruta. Dicho destino puede tratarse de la dirección IP de una red u ordenador o del nombre completo cualificado de una red u ordenador en el caso de servidores de nombres accesibles. En la segunda columna aparece la pasarela predeterminada o una pasarela a través de la cual puede accederse a un ordenador o a una red. La tercera columna contiene la máscara de red de una red u ordenador detrás de una pasarela. La máscara de red para ordenadores que se encuentran detrás de una pasarela es, por ejemplo, La última columna sólo tiene importancia en el caso de redes conectadas al ordenador local (loopback, Ethernet, RDSI, PPP, ). Aquí debe aparecer el nombre del dispositivo Scripts de arranque Además de los archivos de configuración mencionados, existen diferentes scripts (macros) que inician los programas de red cuando el ordenador arranca. Estos scripts se inician cuando el sistema entra en uno de los niveles de ejecución de multiusuario. La siguiente tabla muestra algunos de los scripts de arranque de las aplicaciones de red. Script /etc/init.d/network /etc/init.d/inetd /etc/init.d/portmap /etc/init.d/nfsserver /etc/init.d/sendmail /etc/init.d/ypserv /etc/init.dypbind Descripción Se encarga de la configuración de las interfaces de red. Con este fin, el hardware debe haber sido iniciado a través de /etc/init.d/coldplug (por medio de hotplug). En caso de que el servicio network no se haya iniciado, ninguna interfaz de red será activada mediante hotplug al ser insertada. Inicia xinetd. xinetd puede utilizarse para proporcionar servicios de servidor en el sistema. Así por ejemplo, puede activar vsftpd cuando se inicia una conexión FTP. Inicia portmapper, el cual se necesita para utilizar servidores RPC tales como un servidor NFS. Inicia el servidor NFS. Controla el proceso sendmail. Inicia el servidor NIS. Inicia el cliente NIS. Página.- 185

187 6.8 Actividades 1. Calcular los datos de una red (dirección IP, máscara, dirección de la red, dirección de difusión, nº máximo de direcciones IP y nº máximo de equipos) sabiendo que un equipo está configurado con / En una red configurada para un máximo de 30 equipos, un equipo tiene la dirección IP Calcular los demás datos de la red. 3. Se desea instalar una red con 64 ordenadores. Qué rango de direcciones IP y máscara se les asignaría?. Cuales serían los demás datos de la red?. 4. En una red que admite 126 equipos la dirección de difusión es Calcular el rango de direcciones IP de los equipos y los demás datos de la red. 5. En una red con máscara y dirección de la red hallar el rango de direcciones IP posibles y los demás datos de la red. 6. Haciendo uso de las máquinas virtuales realizar un planteamiento similar a la práctica desarrollada en la documentación pero para dos redes con máscaras diferentes y probar el funcionamiento correcto de la puerta de enlace. 7. Reconfigurar el adaptador de red con valores diferentes a los actuales y comprobar que todo funciona correctamente haciendo uso de la instrucción ping y consultando alguna página de Internet. 8. Modificar la dirección IP del equipo editando el fichero correspondiente y comprobar desde el entorno gráfico que ha quedado modificada. Parar y levantar el funcionamiento del interface afectado y comprobar mediante ifconfig que la modificación efectuada está activa. 9. Añadir un Servidor de nombres editando el fichero adecuado y comprobar la modificación desde el entorno gráfico. 10. Añadir un equipo (con su correspondiente dirección IP) al fichero /etc/hosts y comprobar que se le puede hacer ping tanto por su dirección IP como por su nombre de equipo. 11. Ver el contenido del fichero /etc/networks. 12. Comprobar si existe el fichero /etc/host.conf y explicar la razón de su existencia o inexistencia. 13. Consultar en el fichero adecuado el nombre del equipo. Página.- 186

188 7 ADMINISTRACIÓN DE LA INFORMACIÓN I 7.1 Aspectos didácticos Objetivos: Conocer los sistemas de archivos más comunes y sus características principales. Administrar las particiones de un dispositivo y los sistemas de archivos desde el entorno gráfico. Conocer y practicar las instrucciones de manejo de los sistemas de ficheros. Administrar ficheros y carpetas desde el entorno gráfico. Conocer y practicar las instrucciones de administración de ficheros y carpetas (copiar, borrar, mover, cambiar permisos, cambiar propietario y grupo, ). Practicar el uso de comodines redireccionamientos y filtros. Saber crear los diferentes tipos de enlaces desde el entorno gráfico y mediante comandos. Utilizar herramientas de búsqueda de diferentes tipos de información sobre el sistema. Documentación. La documentación de este tema se puede ampliar a través de la ayuda del S.O. (instrucciones man, info, ) y con la documentación oficial de MaX y de Ubuntu. Resumen. En este tema se dan a conocer los diferentes sistemas de archivos utilizados por los diferentes sistemas operativos y cómo se gestionan tanto desde el entorno gráfico como desde la línea de comandos. Se muestra la organización de los ficheros dentro del sistema de archivos en un área de directorios, otra de inodos y otra con los bloques de información. Se tratan los conceptos de directorio activo, trayectoria, comodines, redireccionamientos y filtros. Y finalmente se recorren las diferentes herramientas y comandos que permiten obtener información del sistema. Temporización: 12 horas. Página.- 187

189 7.2 Sistemas de archivos Antes de pasar a analizar los diferentes sistemas de archivos soportados por MaX es conveniente conocer algunos conceptos: Metadatos.- información sobre la estructura interna de los datos de un sistema de archivos que garantiza su orden y disponibilidad. Todo sistema de archivos posee su propia estructura de metadatos. Aquí es donde radica en parte la causa de las diferencias en cuanto a rendimiento de los sistemas de archivos. Es extremadamente importante mantener intactos los metadatos, ya que de lo contrario se podría dañar todo el sistema de archivos. Inodos.- contienen toda la información sobre un archivo: el nombre, el tamaño, el número de enlaces, la fecha, la hora en que fue creado, modificaciones, accesos como puntero de los bloques del disco duro y dónde se encuentra grabado. Diario (journal).- es una estructura interna del disco con un tipo de protocolo en el que el controlador del sistema de archivos introduce los (meta)datos del sistema de archivos que van a ser modificados. El journaling reduce enormemente el tiempo de elaboración de un sistema Linux, ya que de este modo el controlador del sistema de archivos no debe iniciar una búsqueda de los metadatos modificados en todo el disco. En vez de eso, basta con ver las entradas del diario. El kernel de las nuevas versiones de Linux ofrece una gran selección de sistemas de archivos. El programa Gparted, accesible solamente para usuarios con privilegios de administración (root o madrid), muestra los sistemas de archivos soportados por MaX: Fig 81: Sistemas de archivos mostrados por Gparted Página.- 188

190 Para lanzar la ejecución del programa puede hacerse desde la línea de comandos con gparted o a través del menú Aplicaciones Sistema Administración Editor de particiones Opción Ver - Opción Soporte para sistema de archivos. La ventana muestra además las operaciones permitidas y los paquetes necesarios para cada sistema de ficheros. Hay que tener siempre en cuenta que no existe ningún sistema de archivos que pueda funcionar del mismo modo con todas las aplicaciones. Cada sistema de archivos tiene puntos fuertes y débiles que se deben de tener presentes. Ni el sistema de archivos más desarrollado de todo el mundo puede sustituir a la copia de seguridad. Los conceptos integridad de los datos o coherencia de los datos no se refieren en este capítulo a la coherencia de los datos que un usuario tiene guardados (los datos que una aplicación escribe en los archivos). La coherencia de estos datos debe quedar asegurada por las aplicaciones mismas. En principio, todas las operaciones de particionamiento, así como de creación y edición de sistemas de archivos puede realizarse mediante Gparted Ext2 El origen de Ext2 se remonta a los primeros días de Linux. Su antecesor, el Extended File System fue implementado en abril de 1992 e integrado en Linux 0.96c. Este sufrió una serie de modificaciones y durante años se le conoció como Ext2 a la vez que se le consideró el sistema de archivos más popular de Linux. Con la introducción del sistema Journaling File y de su tiempo de elaboración tan sorprendentemente corto, Ext2 perdió importancia. Algunas de sus características más relevantes son: Estabilidad.- Con el correr del tiempo, Ext2 sufrió muchas mejoras que le hicieron ganarse la reputación de ser sólido como una roca. En caso de una caída del sistema en la que el sistema de archivos no puede desmontarse adecuadamente, e2fsck inicia un análisis de los datos del sistema de archivos. Los metadatos se reconstruyen y los archivos o bloques de datos que quedan sueltos se guardan en un directorio denominado lost+found. En contraposición a la mayoría de los sistemas de archivos transaccionales o journaling, e2fsck analiza todo el sistema de archivos y no sólo los bits de metadatos modificados. Esto lleva más tiempo que la comprobación de los datos de protocolo de un sistema journaling. Dependiendo del tamaño del sistema de archivos, puede llegar a durar más de media hora. Por esta razón, Ext2 no se escoge para ningún servidor que deba tener un alto rendimiento. Debido a que Ext2 no debe hacerse cargo de ningún diario y a la vez necesita poca memoria, a menudo es más rápido que otros sistemas de archivos. Fácil actualización.- Tomando como base la fortaleza de Ext2 y Ext3, Ext4 se convertirá en el sistema de archivos de la próxima generación. Su fiabilidad y estabilidad se complementarían perfectamente con las ventajas de los sistemas de archivos journaling. Página.- 189

191 7.2.2 Ext3 Ext3 fue concebido por Stephen Tweedie. A diferencia del resto de los sistemas de archivos de última generación, no está basado en un nuevo diseño, sino en Ext2. Ambos sistemas de archivos están estrechamente vinculados. Un sistema de archivos Ext3 se puede montar fácilmente sobre un sistema Ext2. La diferencia fundamental entre ambos radica en que Ext3 también soporta journaling. Estas son brevemente las tres ventajas de Ext3: Actualización sencilla y muy fiable de Ext2.- Ya que Ext3 se basa en el código de Ext2, a la vez que comparten formato tanto para el disco como para los metadatos, las actualizaciones no son complicadas. Incluso se pueden llevar a cabo mientras el sistema de archivos Ext2 está montado. El proceso de cambio a otro sistema de archivos journaling, como por ejemplo ReiserFS, JFS, o XFS, puede llegar a ser muy trabajoso debido a que se deben realizar copias de seguridad de todo el sistema de archivos y después instalarlo desde cero. Sin embargo, el cambio a Ext3 puede ser una cuestión de minutos. Además es muy seguro, ya que resulta difícil que la reelaboración de todo un sistema de archivos desde cero no tenga errores. Si se tiene en cuenta la cantidad de sistemas Ext2 disponibles que esperan una actualización a un sistema de archivos journaling, se puede imaginar fácilmente el significado de Ext3 para muchos administradores de sistemas. El pasar de Ext3 a Ext2 es tan fácil como la actualización en sentido contrario. Tan sólo se tiene que desmontar el sistema Ext3 y montarlo como Ext2. Fiabilidad y rendimiento.- Otros sistemas de archivos journaling siguen el principio journaling de sólo metadatos (metadata-only). Esto significa que los metadatos permanecen en un estado coherente, lo que sin embargo no puede garantizarse automáticamente para los datos del sistema de archivos. Ext3 tiene capacidad para cuidar tanto de los metadatos como de los datos mismos. Se puede configurar individualmente el detalle con el que Ext3 debe ocuparse de los datos y metadatos. El grado más alto de seguridad (es decir, integridad de los datos) se consigue al arrancar Ext3 en modo data=journal; esto puede hacer que el sistema sea más lento, ya que se guardarán en el diario tanto los datos como los metadatos. Una posibilidad relativamente nueva consiste en la utilización del modo data=ordered, que garantiza la integridad tanto de los datos como de los metadatos a pesar de que sólo realiza journaling para los metadatos. El controlador del sistema de archivos reúne todos los bloques de datos relacionados con la actualización de los metadatos. Estos bloques de datos se escriben en el disco antes de que los metadatos sean actualizados. Con esto se consigue la coherencia de datos y metadatos sin pérdida de rendimiento. Un tercer tipo de modo es data=writeback. De esta forma se puede escribir datos en el sistema de archivos principal después de que los metadatos hayan pasado al diario. Para muchos, esta opción es la mejor configuración en cuanto a rendimiento. Sin embargo, con esta opción puede ocurrir que aparezcan viejos datos en los archivos después de haberse producido una caída del sistema mientras se garantiza la integridad del sistema de archivos. Mientras no se indique otra opción, Ext3 arrancará con la opción predeterminada data=ordered. Página.- 190

192 7.2.3 Conversión de un sistema de archivos Ext2 a Ext3 Las operaciones a realizar son: Crear el diario (journal).- Hay que ejecutar el comando tune2fs -j como usuario root. tune2fs se encarga de crear el diario Ext3 con parámetros estándar. Si por el contrario se prefiere definir con qué tamaño y en qué dispositivo debe crearse el diario, hay que ejecutar tune2fs -J con los parámetros size=... y device=.... Se puede obtener información adicional sobre tune2fs en las páginas del manual. Determinar el tipo de sistema de archivos en /etc/fstab.- Para que el sistema de archivos Ext3 sea detectado como tal, hay que abrir el archivo /etc/fstab y cambiar el tipo de sistema de archivos de la partición correspondiente de ext2 a ext3. La modificación se aplicará tras reiniciar el sistema. Uso de Ext3 para el sistema de archivos raíz.- Para arrancar el sistema de archivos raíz (root) en ext3, hace falta integrar adicionalmente los módulos ext3 y jbd en el RAM disk inicial initrd. A continuación introduzca estos dos módulos en el archivo /etc/sysconfig/kernel bajo INITRD_MODULES. Posteriormente hay que ejecutar el comando mk_initrd Ext4 Ext4 es el sistema de archivos sucesor de ext3 que actualmente está empezando a utilizarse para Linux. Nace para implementar algunas nuevas características que ext3 no podía implementar. El desarrollo de ext4 empezó en Noviembre de 2006, aunque ha sido desconocido para la mayoría de usuarios de Linux hasta ahora, que empieza a aparecer por defecto en las diferentes distribuciones. Algunas de las ventajas de ext4 son: Rendimiento y tasas de transferencia muy superiores a ext3. Sistemas de ficheros de mayor tamaño.- el tamaño máximo de ext3 es de 32 Tb mientras que el ext4 permitirá tamaños de hasta 1 exabyte (1024 Petabytes Pb) (1024*1024 Tb). Esto puede no ser importante para los usuarios de escritorio, pero sí es importante para servidores con grandes arrays de discos. Extensiones: Se mejora la eficiencia de los descriptores de disco, reduciendo los tiempos de borrado de ficheros largos, además de otras ventajas. Preasignación persistente.- Si una aplicación necesita espacio de disco predefinido previamente a usarlo, la mayoría de Sistemas Operativos lo hacen escribiendo ceros en un espacio de disco no usado. ext4 permite esta preasignación sin hacer esto, mejorando el rendimiento de bases de datos y herramientas multimedia. Página.- 191

193 Ubicación retrasada: ext4 puede retrasar la ubicación de espacio de disco hasta el último momento, mejorando el rendimiento. Más subdirectorios: Si alguna vez te ha fastidiado que un directorio sólo pueda contener subdirectorios en ext3, te alegrará saber que este límite se ha eliminado en ext4. Checksums.- ext4 añade dígitos de control (checksum) a los datos, que aumentan la fiabilidad y el rendimiento. Desfragmentación.- Aunque ext3 apenas se fragmenta, los ficheros almacenados siempre tienen cierta tendencia pequeña a estar fragmentados. ext4 añade soporte para la desfragmentación, que mejorará el rendimiento global. Undelete: ext4 soporta undelete, herramienta para recuperar archivos que han sido borrados de forma accidental. Comprobación de ficheros más rápida: ext4 añade estructuras de datos que permite a fsck saltarse partes no usadas del disco que está comprobando. Timestamp de nanosegundos.- La mayoría de sistemas de archivos, incluyendo ext3, incluyen un timestamp (marca de tiempo) con precisión de un segundo. ext4 añade la precisión de este dato hasta el nanosegundo. Asimismo se dispondrá de marcas de tiempo hasta el año 2514 el lugar del 2038 de ext3. Debido a que ext4 todavía está en una fase temprana de desarrollo, quizá no estaría recomendado para sistemas importantes en producción, aunque llevando más de un año de corrección de bugs, se considera actualmente estable y recomendado para sistemas domésticos o sistemas en producción no estrictamente vitales. Quitando algunas aplicaciones que se muestran incompatibles con ext4 por la utilización de entrada/salida a disco no estándar, el resto de aplicaciones mostrarán un incremento notable de rendimiento ReiserFS ReiserFS es producto elaborado por Hans Reiser y por el equipo de desarrollo Namesys. ReiserFS se perfiló como una alternativa poderosa a Ext2. Sus grandes ventajas eran: una mejor administración de la memoria del disco duro, un rendimiento optimizado del acceso al disco y una recuperación más rápida después de una caída del sistema. A continuación se describen con más detalle: Mejor administración de la memoria del disco duro.- En ReiserFS, todos los datos se organizan en una estructura llamada B*-balanced tree. La estructura de árbol contribuye a una mejor administración de la memoria del disco duro, ya que los archivos pequeños se pueden guardar directamente en las hojas del B*tree (árbol), en lugar de guardarlos en otro lugar y luego tener que administrar el puntero para que apunte al sitio indicado. Además, la memoria no se asignará en unidades de 1 a 4 Kb, Página.- 192

194 sino en la unidad exactamente necesaria. Otra ventaja es el proceso dinámico de inodes. Esto dota al sistema de archivos de una gran flexibilidad frente a los sistemas convencionales, como por ejemplo Ext2, en el que se debe indicar la densidad del inode en el momento de crear el sistema de archivos. Mejor rendimiento del acceso al disco duro.- En los archivos pequeños, tanto los datos del archivo como la información de estado (inodo) se guardan uno al lado del otro. Basta con un único acceso al disco duro para suministrar toda la información necesaria. Rápida recuperación tras una caída del sistema.- Desde el contenido de un diario al seguimiento de las pequeñas modificaciones de metadatos, la comprobación del sistema de archivos se reduce a unos pocos segundos incluso en sistemas de archivos grandes. Fiabilidad gracias al registro de diario (data journaling).- ReiserFS también soporta el diario y el modo ordered de datos. El modo predeterminado es data=ordered, lo que garantiza la integridad tanto de los datos como de los metadatos. No obstante, el diario se utiliza sólo para los metadatos Reiser4 Inmediatamente después de que el kernel 2.6 viera la luz, un nuevo miembro se sumó a la familia de sistemas de archivos transaccionales: Reiser4. Reiser4 se diferencia sustancialmente de su predecesor ReiserFS (versión 3.6), introduce el concepto de plugins para configurar las funciones del sistema de archivos y un concepto de seguridad más elaborado. Concepto de seguridad elaborado.- Durante el diseño de Reiser4, los desarrolladores pusieron especial énfasis en la implementación de funciones relacionadas con la seguridad. Como consecuencia, Reiser4 incorpora un conjunto de plugins de seguridad dedicados, el más importante de los cuales introduce el concepto de elementos de archivo o items. Actualmente, el control de acceso a los archivos se define en función del archivo. Si existe un archivo muy grande que contiene información relevante para varios usuarios, grupos o aplicaciones, los permisos de acceso deben ser poco precisos para incluir a todos los interesados. En Reiser4 es posible dividir este tipo de archivos en porciones más pequeñas o items. Los permisos de acceso pueden definirse para cada elemento y usuario, permitiendo una gestión de seguridad de archivos mucho más precisa. El archivo /etc/passwd constituye un ejemplo perfecto. Actualmente, root es el único usuario que puede leer y editar este archivo mientras que el resto de usuarios sólo tiene permiso de lectura. El concepto de items de Reiser4 hace que sea posible dividir este archivo en un conjunto de elementos (un item por cada usuario) y permitir a usuarios o aplicaciones modificar sus propios datos sin acceder a los datos de otros usuarios. Este concepto favorece tanto la seguridad como la flexibilidad. Página.- 193

195 Extensiones a través de plugins.- Muchas de las funciones inherentes a un sistema de archivos o externas pero usadas normalmente por sistemas de archivos se han implentado en Reiser4 en forma de plugins. Si desea enriquecer el sistema de archivos con nuevas funciones, estos plugins pueden añadirse fácilmente al sistema base sin necesidad de volver a compilar el kernel o reformatear el disco duro. Estructura mejorada del sistema de archivos gracias a la asignación retardada.- Al igual que XFS, Reiser4 soporta la asignación retardada incluso para metadatos, mejorando el rendimiento global del sistema JFS JFS, Journaling File System, fue desarrollado por IBM para AIX. La primera versión beta de JFS portada a Linux llegó al entorno Linux en el verano del año La versión salió a la luz en el año JFS está diseñado para cumplir las exigencias del entorno de un servidor de alto rendimiento. Al ser un sistema de archivos de 64 bits, JFS soporta archivos grandes y particiones LFS (Large File Support), lo cual es una ventaja más para los entornos de servidor. Un análisis más detallado de JFS muestra por qué este sistema de archivos es una buena elección para su servidor Linux: Journaling eficaz.- JFS sigue el principio de metadata only. En vez de una comprobación completa, sólo se tienen en cuenta las modificaciones en los metadatos provocadas por las actividades del sistema. Esto ahorra una gran cantidad de tiempo en la fase de recuperación del sistema tras una caída. Las actividades simultáneas que requieren más entradas de protocolo se pueden unir en un grupo en el que la pérdida de rendimiento del sistema de archivos se reduce en gran medida gracias a múltiples procesos de escritura. Eficiente administración de directorios.- JFS abarca diversas estructuras de directorios. En pequeños directorios se permite el almacenamiento directo del contenido del directorio en su inode. En directorios más grandes se utilizan B + trees, que facilitan considerablemente la administración del directorio. Mejor utilización de la memoria mediante la asignación dinámica de inodes.- En Ext2 es necesario indicar el grosor del inode (la memoria ocupada por la información de administración) por adelantado. Con ello se limita la cantidad máxima de archivos o directorios de su sistema de archivos. Esto no es necesario en JFS, puesto que asigna la memoria inode de forma dinámica y la pone a disposición del sistema cuando no se está utilizando. Página.- 194

196 7.2.8 XFS Pensado originariamente como sistema de archivos para sistemas operativos IRIX, SGI comenzó el desarrollo de XFS ya a principios de la década de los noventa. Con XFS consigue un sistema de archivos journaling de 64 bits de gran rendimiento adaptado a las necesidades extremas de hoy en día. XFS también está indicado para el trabajo con archivos grandes y ofrece un buen rendimiento en hardware de última generación. Sin embargo XFS, al igual que ReiserFS, tiene la desventaja de conceder mucha importancia a la integridad de los metadatos y muy poca a la de los datos. Algunas de sus funciones clave son: Manejo de grupos de asignación (allocation groups).- En el momento de la creación de un sistema de archivos XFS, el dispositivo de bloque (block-device) que sirve de base al sistema de archivos se divide en ocho o más campos lineales de igual tamaño denominados grupos de asignación. Cada grupo de asignación administra inodes así como memoria libre. Se puede considerar a estos grupos prácticamente como sistemas de archivos dentro de sistemas de archivos. Puesto que estos grupos de asignación son bastante independientes, el kernel puede dirigirse a más de uno simultáneamente. Este concepto de grupos de asignación independientes satisface los requisitos de los sistemas con varios procesadores. Alto rendimiento con eficiente administración de la memoria del disco.- B + trees administran la memoria libre y los inodes dentro de los grupos de asignación. El manejo de B + trees contribuye al gran rendimiento de XFS. Una característica de XFS es la llamada asignación retardada. XFS realiza la asignación de la memoria mediante la división en dos de los procesos. Una transacción en suspenso queda guardada en RAM y el espacio en la memoria queda reservado. XFS aún no decide dónde exactamente (en qué bloque del sistema de archivos) se almacenan los datos. Esta decisión se retrasará hasta el último momento. Con esto, algunos datos temporales no quedan nunca almacenados en el disco, ya que cuando llegue el momento de decidir el lugar de almacenamiento ya estarán obsoletos. Así, XFS aumenta el rendimiento y disminuye la fragmentación del sistema de archivos. Debido a que una asignación retardada tiene como consecuencia menos procesos de escritura que en otros sistemas de archivos, es probable que la pérdida de datos tras una caída del sistema durante el proceso de escritura sea mayor. Preasignación para evitar la fragmentación del sistema de archivos.- Antes de la escritura de los datos en el sistema de archivos, XFS reserva el espacio de memoria necesario para un archivo que vaya a ser asignado. De esta forma se reduce enormemente la fragmentación del sistema de archivos y el rendimiento aumenta, ya que el contenido de los archivos no queda dividido por todo el sistema de archivos. Página.- 195

197 7.2.9 Otros sistemas de archivos soportados En la siguiente tabla se incluyen otros sistemas de archivos soportados por Linux, algunos solamente en modo lectura, principalmente para garantizar la compatibilidad y el intercambio de datos entre distintos medios o sistemas operativos: Sistema cramfs hpfs iso9660 minix fat16 ncpfs nfs smbfs sysv ufs umsdos vfat ntfs Descripción Compressed ROM file system: sistema de archivos comprimido con permiso de lectura para ROMs. High Performance File System: sistema de archivos estándar de IBM OS/2. Sistema de archivos estándar en CD-ROMs Sistema de archivos con origen en la universidad y fue el primero empleado en Linux. Hoy en día se utiliza como sistema de archivos para discos flexibles. Sistema de archivos empleado originariamente por MS-DOS. Sistema de archivos que permite montar volúmenes Novell a través de una red. Network File System: posibilita el almacenamiento de datos en el ordenador que se elija dentro de una red y permite garantizar el acceso a través de la red Server Message Block: utilizado por productos como por ejemplo Windows para el acceso de archivos a través de una red Utilizado en SCO UNIX, Xenix, etc. Utilizado en BSD, SunOS y NeXTstep. UNIX on MS-DOS: sistema de archivos basado en FAT que emula las características de Unix (derechos, enlaces, nombres de archivo largos) mediante archivos especiales. Virtual FAT: extensión del sistema de archivos fat (soporta nombres de archivo largos). Windows NT file system: sistema de archivos utilizado por Windows Soporte de archivos grandes en Linux En un principio Linux sólo soportaba archivos con un tamaño máximo de 2 Gb. Debido a la creciente utilización de Linux por ejemplo en la administración de bases de datos o en la edición de datos de audio y vídeo, se ha hecho necesario el modificar el kernel y la librería GNU C (glibc) para que soporten archivos mayores de 2 Gb, y se han introducido nuevas interfaces que pueden ser utilizadas por las aplicaciones. Hoy en día todos los sistemas de archivos importantes soportan LFS (Large File System sistema de archivos grandes), lo que permite la edición de datos de gama alta. La siguiente tabla incluye un resumen de las limitaciones de los archivos y sistemas de archivos bajo Linux: Página.- 196

198 Sistema Tamaño máximo de archivo Tamaño máximo del sistema de archivos Ext2 o Ext3 con tamaño de bloque de 1 Kb. 16 Gb (2 34 ) 2 Tb (2 41 ) Ext2 o Ext3 con tamaño de bloque de 2 Kb. 256 Gb (2 38 ) 8 Gb (2 43 ) Ext2 o Ext3 con tamaño de bloque de 4 Kb 2 Tb (2 41 ) 16 Tb (2 44 ) Ext2 o Ext3 con tamaño de bloque de 8 Mb 64 Tb (2 46 ) 32 Tb (2 45 ) Ext4 16 Tb (2 44 ) 1 Eb (2 60 ) ReiserFS v3 64 Tb (2 46 ) 32 Tb (2 45 ) XFS 8 Eb (2 63 ) 8 Eb (2 63 ) JFS con tamaño de bloque de 512 bytes 8 Eb (2 63 ) 512 Tb (2 49 ) JFS con tamaño de bloque de 4 Kb. 8 Eb (2 63 ) 4Pb (2 52 ) NFS v2 2 Gb (2 31 ) 8 Eb (2 63 ) NFS v3 8 Eb (2 63 ) 8 Eb (2 63 ) El núcleo (kernel) del sistema operativo también impone sus restricciones en cuanto a tamaño de los ficheros y sistemas de archivos y si son sobrepasados no podrán ser procesados correctamente. Por ejemplo, para la versión 2.6 el límite para ficheros era de 2 Tb (2 41 ) y para sistemas de archivos 2 73 bytes Información adicional Cada proyecto de sistema de archivos cuenta con su propia página web en la que puede encontrar información adicional y listas de correo, así como FAQs: Página.- 197

199 7.3 Estructura de un sistema de archivos Para poder entender el comportamiento de algunos comandos, sobre todo los relacionados con la gestión de enlaces a ficheros, es conveniente conocer la estructura típica de los sistemas de ficheros estándares de linux (ext2, ext3, ). Además, aunque un sistema de ficheros puede contener otros elementos distintos de los ficheros: directorios, enlaces, etc., en este apartado se va a hacer referencia únicamente a los ficheros para simplificar la terminología y delimitar el estudio a la lógica de funcionamiento. Fig 82: Esquema de localización de un fichero Se puede suponer que el sistema de archivos se encuentra dividido en tres áreas: El directorio.- contiene, por cada fichero unos bytes de información con el nombre del fichero y el número del inodo o índice que contiene las propiedades del mismo. Área de inodos.- contiene un inodo o bloque de información por cada fichero. Este bloque de información del fichero (propiedades) contiene entre otros datos: el tipo de fichero, los permisos, el identificador del propietario (ID), el identificador del grupo (GID), cuánto ocupa, la fecha y hora de creación y última modificación, el número de enlaces y los números de los bloques donde se almacena la información contenida en el fichero. Para especificar los bloques donde se encuentra el fichero cada inodo contiene 13 referencias: 10 referencias a bloques directos, una referencia a un bloque indirecto sencillo, una referencia a un bloque indirecto doble y una referencia a un bloque indirecto triple. Las referencias a bloques directos son números de bloque cuyo contenido son datos del fichero. Las referencia al bloque indirecto sencillo es un número de bloque cuyo contenido son referencias a bloques directos. Y así sucesivamente. Ver esquema. Página.- 198

200 Bloques de datos.- son bloques de información con una capacidad determinada (por ejemplo 1 Kb.) que contienen los datos del fichero. Cuando se crea un fichero se le asigna, si es posible, un grupo de 8 bloques de datos contiguos para evitar la fragmentación del fichero a medida que crece de tamaño. 7.4 Gestión de sistemas de archivos desde el entorno gráfico Cuando se habla de sistemas de archivos, no solamente se tienen que considerar los discos duros, CD's y DVD's. Existen multitud de dispositivos de almacenamiento incorporados a un sinfín de aparatos electrónicos: cámaras digitales para almacenar fotos, fotocopiadoras para almacenar copias, faxes, televisores para almacenar películas, lavadoras para almacenar programas, gps's para almacenar mapas, teléfonos que almacenan agendas, imágenes, videos, etc. etc. etc.. Y los sistemas operativos van incorporando programas o herramientas específicas para que el tratamiento de la información de esos dispositivos sea más intuitivo. Ejemplos claros los encontramos en las cámaras digitales, con programas que permiten el agrupamiento de fotos en álbunes, el borrado y duplicación de forma sencilla; para el tratamiento de CD's y DVD's existen programas que permiten su duplicación, formateado, etc. En este apartado vamos a centrarnos en el dispositivo más estandar de un ordenador: el disco duro con sus particiones; todos los conceptos y explicaciones pueden hacerse extensivos para cualquier tipo de sistemas de ficheros, que al fin y al cabo no dejan de ser un tipo de memoria con capacidad de almacenar información en binario. La elección del tipo de sistema de archivos se realiza después de particionar el disco y antes de formatearlo puesto que el formateo precisamente distribuye las diferentes áreas de organización, datos, etc. en función del tipo de sistema de archivos que se elija. Hay dispositivos que no admiten el particionamiento (CD's, DVD's, ) y otros que solamente reconocen un tipo determinado de sistema de archivos. Durante la instalación de MaX se particiona el disco y se elige el tipo de sistema de archivos de cada partición, siendo en la actualidad ext4 el más estandar. Cuando, una vez instalado el sistema operativo, se necesitan crear nuevas particiones, puede utilizarse el programa gparted, al que se accede a través del menú Aplicaciones Sistema Administración Editor de particiones. Página.- 199

201 La siguiente figura muestra su aspecto: Fig 83: Programa gparted Algunas de las opciones más significativas son: Gparted Refrescar dispositivos.- permite escanear de nuevo los dispositivos disponibles. Útil cuando se trabaja con dispositivos extraibles. Gparted Dispositivos.- permite seleccionar el dispositivo cuyas particiones se desea visualizar o modificar. Gparted Salir.- para finalizar la ejecución del programa. Editar Deshacer la última operación.- anula la última operación realizada si aún no es definitiva. Editar Limpiar todas las operaciones.- anula todas las operaciones que aún no hayan sido llevadas a efecto. Editar Aplicar todas las operaciones.- lleva a efecto todas las operaciones programadas con las particiones. Ver.- permite mostrar información sobre el dispositivo seleccionado, las operaciones programadas pero pendientes de efectuar en el dispositivo y los diferentes sistemas de archivos soportados. Dispositivo Crear tabla de particiones.- Crea una nueva tabla de particiones lo que conlleva la pérdida de las particiones y los datos del dispositivo. Página.- 200

202 Partición.- permite realizar la mayor parte de las operaciones posibles con particiones: crear, borrar, redimensionar, copiar, pegar, dar formato, etc. etc. A través de la opción Gestionar flags se pueden establecer atributos a una partición como son: Establecer la partición activa (boot). Si es una partición oculta (hidden). Si la partición forma parte de un volumen RAID (raid). Etc. Ayuda.- contiene cierta información acerca de gparted. Debe tenerse muy en cuenta que el trabajo con las particiones es extremadamente delicado y que deben hacerse copias de seguridad de la información de los dispositivos antes de realizar cualquier modificación sobre las particiones. Para que el sistema asuma las modificaciones realizadas sobre la tabla de particiones debe reiniciarse el equipo. Después de redimensionar una partición NTFS, antes de realizar cualquier operación en la misma, debe iniciarse el sistema Windows para que efectúe las verificaciones, chequeos y pruebas de consistencia oportunas. Una herramienta interesante es el Analizador de uso de disco que muestra el contenido y tamaños de los directorios de los sistemas de archivos. El programa está accesible a través del menú Aplicaciones Accesorios Analizador de uso de disco. El nombre del programa es baobab. Fig 84: Programa baobab (analizador de uso de disco) Página.- 201

203 A través del menú Aplicaciones Sistema Preferencias se accede a la utilidad Unidades y soportes extraibles que permite realizar ciertas operaciones con dispositivos como cámaras digitales, PDA's, etc. Otros dos programas accesibles desde el menú Aplicaciones Sistema Administración, relacionados con los sistemas de archivos son el Encargado de limpieza, que muestra y permite eliminar los paquetes que quedan en desuso, y la Herramienta de Configuración NTFS, que permite establecer qué particiones NTFS deben montarse al iniciar el sistema y en qué punto (directorio). Nautilus es la aplicación que permite navegar por las carpetas y archivos de nuestro disco duro, e incluso de otros ordenadores conectados a la red. Puede abrirse desde el menú Aplicaciones Lugares Carpeta personal. 7.5 Gestión de sistemas de archivos mediante comandos Los comandos más significativos, relacionados con los sistemas de archivos son los siguientes: parted [opciones] [dispositivo [comando [opciones] ] ] Permite crear, borrar, redimensionar, mover y copiar particiones. Para obtener información completa acerca de este comando puede instalarse el paquete parted-doc. Algunas de sus opciones son: -h Visualiza información de ayuda. -v Muestra la versión. -m Muestra el dispositivo activo y permite introducir comandos parted. Cuando no se indica el dispositivo sobre el que tiene que realizarse la operación, parted utiliza el primer dispositivo que encuentra. Se pueden especificar los comandos con las opciones adecuadas o no especificar ninguno y parted mostrará un prompt y esperará a que se introduzcan de forma interactiva. Algunos de estos comandos son: check partición.- Chequea la partición especificada. cp [dispositivo_origen] partición_origen partición_destino.- Copia el sistema de ficheros de la partición_origen del dispositivo_origen en la partición_destino del dispositivo actual. help [comando].- Muestra información general o sobre el comando especificado. mkfs partición tipo_sistema_ficheros.- Crea un sistema de ficheros del tipo especificado en la partición. Página.- 202

204 mkpart tipo_partición [tipo_sistema_ficheros] inicio fin.- Crea una partición con un sistema de ficheros empezando en inicio y terminando en fin (expresados normalmente en Mb). El tipo de partición puede ser uno de los valores: primary, logical o extended. El tipo_sistema_ficheros puede ser: fat32, NTFS, ext2, linux-swap, mkpartfs tipo_partición tipo_sistema_ficheros inicio fin.- Crea una partición. move partición inicio fin.- Mueve la partición llevándola entre inicio y fin. print.- Muestra la tabla de particiones. quit.- Abandona el programa parted. rescue inicio fin.- Recupera una partición perdida que hubiera estado localizada entre inicio y fin. Si se encuentra una partición, parted pregunta si se desea crear una entrada para ella en la tabla de particiones. resize partición inicio fin.- Redimensiona el sistema de ficheros de la partición para que comience en inicio y termine en fin (dados en Mb). rm partición.- Borra la partición. select dispositivo.- Elige el dispositivo como el dispositivo actual a editar. El dispositivo normalmente será un disco duro de Linux pero también puede ser una partición, un dispositivo RAID o un volumen lógico (LVM). set partición atributo estado.- cambia el estado del atributo de una partición. Los atributos soportados son: boot, root, swap, hidden, raid, lvm, lba y palo. Los posibles estados son: on y off. unit unidad.- Establece la unidad a utilizar cuando se visualicen localizaciones o capacidades y cuando se asignen por el usuario sin especificar la unidad. La unidad puede ser: s (sectores), B (bytes), kb, MB, GB, TB, % (porcentaje de la capacidad del dispositivo), cyl (cilindros), chs (cilindros, cabezas, sectores) o compact (MB para entrada y una forma amigable para salida). version.- Muestra información sobre la versión y el copyright. Esta instrucción no permite (aún) el redimensionamiento de sistemas de ficheros ext3 y ext4. Para ello puede utilizarse la instrucción resize2fs. Página.- 203

205 fdisk [opciones] dispositivo Permite manejar las particiones del disco. La forma generalizada de utilizarlo es introducir el comando acompañado del nombre del dispositivo sobre el que se desea actuar, por ejemplo: fdisk /dev/sda. A continuación el comando muestra un mensaje sobre los cilindros del disco e informa de la posibilidad de pulsar la letra m (e <Intro>) para obtener ayuda. Si se pulsa <m> e <Intro> se muestra una lista de las posibles opciones: a b c d l m n o p q s t u v w x Cambia el indicador de iniciable. Modifica la etiqueta de disco bsd. Cambia el indicador de compatibilidad con DOS. Borra una partición. Muestra los tipos de particiones que reconoce. Muestra las opciones disponibles. Añade una partición. Crea una nueva tabla de particiones DOS vacía. Muestra la tabla de particiones. Sale sin guardar los cambios. Crea una nueva etiqueta de disco Sun. Cambia el identificador de sistema de una partición. Cambia las unidades de visualización y entrada. Verifica la tabla de particiones. Escribe la tabla en el disco y sale. Funciones adicionales (sólo para usuarios avanzados). mount [opciones] [dispositivo] punto_de montaje Permite montar o situar la información de un dispositivo dentro del árbol de directorios del sistema. En la instrucción debe indicarse el tipo de sistema de ficheros del dispositivo, el nombre del dispositivo y el directorio donde se va a situar la información. Este directorio debe estar creado previamente y vacío. -r Monta el dispositivo en modo de sólo lectura. -t sistema_archivos Especifica el tipo de sistema de archivos del dispositivo a montar. Los tipos más comunes son: ext3, ext4, ntfs, iso9660, vfat, msdos, El tipo de sistema de archivos debe especificarse cuando las unidades no están definidas en el archivo /etc/fstab y solamente el usuario root podrá montarlo. Para que el sistema de archivos pueda ser montado por otros usuarios debe introducirse la opción user en la línea correspondiente del archivo /etc/fstab, utilizando comas para separar los usuarios y guardando los cambios. Ejemplos: mount -t ntfs /dev/sda1 /media/windows Página.- 204

206 umount [opciones] punto_de_montaje Desmonta un dispositivo del árbol de directorios, quedando así inaccesible. Debe ejecutarse antes de retirar un medio de almacenamiento, por ejemplo las memorias usb, para que los buffers del dispositivo vuelquen toda su información al mismo. Generalmente sólo el usuario root puede ejecutar las operaciones mount y umount, con la excepción de que en el fichero /etc/fstab se incluya la opción user. df [opciones] [directorio] Muestra una estadística del espacio total, el ocupado y el libre de todas las particiones y dispositivos montados. Si se especifica un directorio se mostrarán las estadísticas del volumen que incluya ese directorio. -h Muestra la información en Kb, Mb o Gb. -T Muestra el tipo de volumen. du [opciones] [ruta] Muestra el espacio total de almacenamiento utilizado por los archivos del directorio activo o del especificado y de sus subdirectorios. -a Indica el tamaño de cada archivo. -h Utiliza las unidades Kb, Mb, GB, etc. -s Muestra únicamente el tamaño total. free [opciones] Muestra el tamaño total y el usado de la memoria física y del área de swaping. -b Utiliza como unidad de medida el byte. -k Utiliza el Kb. -m Utiliza el Mb. Página.- 205

207 7.6 Estructura de directorios Herramienta gráfica para administrar directorios y ficheros: Nautilus El programa incluido dentro de gnome para manejo de directorios y ficheros se llama Nautilus. Algunas formas de acceder a este programa son: Doble click sobre el icono Equipo del escritorio. Doble click sobre la carpeta personal del usuario en el escritorio. Menú Aplicaciones Lugares Carpeta personal. Fig 85: Nautilus La ventana de Nautilus muestra, de arriba a abajo y de izquierda a derecha: La barra de título. La barra de menú.- con las opciones Archivo, Editar, Ver, Ir, Marcadores, Solapas y Ayuda. Iconos: Atrás.- permite volver a la última carpeta visitada según el historial. Adelante.- para ir a la siguiente carpeta según el historial. Subir.- permite ir a la carpeta que contiene a la carpeta actual, por ejemplo, si estamos en /home/usprueba01 iríamos a /home. Detener. Recargar. Carpeta personal.- para ir a la carpeta de trabajo del usuario. Equipo.- muestra los dispositivos de almacenamiento del sistema y permite montarlos, expulsarlos, acceder a su contenido, etc. Página.- 206

208 Barra de navegación.- muestra en forma de botones toda la jerarquía de carpetas desde la carpeta raíz del sistema hasta la carpeta que se está visualizando. Permite moverse a las carpetas superiores con un solo click. Mediante el botón de más a la izquierda con forma de libreta con lápiz (o pulsando <Ctrl> + <L>) se puede cambiar la forma de visualizar el camino o ruta hasta la carpeta actual entre los botones o el modo texto. A la derecha hay iconos que permiten modificar el tamaño con que se muestran los archivos y una lista desplegable que permite cambiar la vista de los ficheros entre las opciones: Vista de icono.- cada archivo o carpeta estará representado por un icono sobre el nombre. Vista de lista.- los archivos se mostrarán en forma de listado con información adicional en cada línea. El listado será en forma de árbol de forma que se puede ver el contenido de una carpeta haciendo un click en el triángulo que aparece al lado derecho de la misma, sin tener que hacer doble click sobre ella. Vista compacta.- similar a Vista icono pero con el tamaño de los iconos más pequeño. Panel lateral izquierdo.- su visualización se activa y desactiva desde el menú de opciones Ver Panel lateral y permite seleccionar el tipo de información a mostrar, pudiendo elegir entre: Lugares.- muestra enlaces directos a la carpeta de trabajo, escritorio, red, subcarpetas del usuario, Información.- muestra información sobre la carpeta actual. Árbol.- muestra el árbol de directorios o carpetas permitiendo el movimiento sencillo entre ellas. Histórico.- muestra las últimas carpetas a las que se ha accedido. Notas.- permite poner notas a la carpeta que se está visualizando. Emblemas.- arrastrando cualquiera de los iconos sobre una carpeta, el emblema se añadirá al icono de la carpeta para diferenciarlo, y podrá ser eliminado en las propiedades de la carpeta, ficha Emblemas. Panel derecho.- muestra el contenido de la carpeta actual, tanto subcarpetas como ficheros. Página.- 207

209 Hay que tener muy en cuenta que en los sistemas Linux se guardan los archivos utilizando una estructura de tipo árbol invertido o piramidal donde no existen unidades del tipo C:, D:,, sino que todas las carpetas, subcarpetas y ficheros cuelgan de dicha estructura piramidal estando ocupado el vértice por la carpeta raíz o principal, denominada / Árbol de directorios Fig 86: Directorios Página.- 208

210 La figura muestra las carpetas del primer nivel, las que se encuentran en el directorio raíz. Una breve explicación de su contenido es: / Directorio raíz. /bin Ejecutables. /boot Ficheros de configuración del arranque. /dev Dispositivos. /etc Carpetas y ficheros de configuración. /home Directorios de trabajo de los usuarios. /lib Librerías. /lost+found /mnt Directorio para montar sistemas de archivos. /media Directorio para montar dispositivos. /media/cdrom /media/usbdisk /opt Aplicaciones que se instalan en un único directorio. /proc Archivos virtuales con información del sistema. /root Directorio de trabajo del usuario root. /sbin Ejecutables del sistema. /tmp Ficheros y carpetas temporales. /usr Programas no básicos del sistema. /usr/x11r6 X Windows. /usr/x11r6/bin Ejecutables. /usr/x11r6/include Encabezamientos. /usr/x11r6/lib Librerías. /usr/x11r6/man Manuales. /usr/x11r6/share Archivos comunes. /usr/bin Ejecutables. /usr/doc Documentación. /usr/etc Configuración adicional. /usr/include Encabezamientos. /usr/info Ayuda. /usr/lib Librerías. /usr/local Archivos locales de programas instalados manualmente. /usr/man Manuales. /usr/share Archivos comunes. /usr/sbin Ejecutables. /usr/src Código fuente. /var Archivos administrativos y datos que cambian frecuentemente. /var/lock Archivos de bloqueo. /var/log Registro de eventos / errores. /var/spool Archivos de spool. /var/spool/mail Correo de los usuarios. /var/spool/cups Cola de impresión. Página.- 209

211 A través de la opción Ver de la barra de menú se puede acceder a algunos lugares especiales: Carpeta personal.- directorio de trabajo del usuario. Equipo.- dispositivos y particiones del sistema. Plantillas.- todo documento que se guarde en este directorio aparecerá al pulsar con el botón derecho en un espacio vacío de Nautilus o del escritorio, en la sección Crear documento. Papelera.- lugar donde queda todo lo que se borre con Nautilus. Grabador de CD / DVD.- permite grabar CD's / DVD's Trabajo con ficheros y carpetas Propietarios y permisos En MaX, como en todos los sistemas Linux, los ficheros y directorios tienen propietario y permisos. El propietario de un fichero/directorio es el usuario que lo crea. Además, el fichero/directorio tendrá asociado como grupo el grupo principal al que pertenece el propietario. Los permisos predeterminados que se asignan a los ficheros/directorios creados son los siguientes: Lectura y escritura para el propietario. Lectura para el grupo, es decir, para los usuarios que pertenecen al grupo principal del propietario. Lectura para el resto, es decir, para aquellos usuarios que no son el propietario ni pertenecen al grupo principal del propietario. Práctica Comprobar los permisos que se asignan a un fichero que el usuario crea en su carpeta de trabajo. Una forma de proceder puede ser la siguiente: Accedemos con Nautilus a la carpeta de trabajo del usuario mediante el icono del escritorio Carpeta personal de usprueba01. En un espacio vacío del panel que muestra los ficheros y carpetas pulsamos con el botón derecho, elegimos las opciones Crear un documento - Archivo vacío y se creará un fichero que, salvo que cambiemos el nombre, se llamará archivo nuevo. Pulsando con el botón derecho sobre el icono de dicho archivo se accede a su menú contextual y se elige la opción Propiedades. Página.- 210

212 Fig 87: Propiedades de un archivo La ficha Permisos muestra y permite modificar los permisos para el propietario, para el grupo (los usuarios que pertenecen al grupo principal del propietario) y para los otros (los demás usuarios). Además, hay que tener muy en cuenta los permisos asignados a la carpeta donde se encuentra el fichero. Las demás fichas permiten obtener más información acerca del fichero, destacando: La ficha Básico muestra el tamaño y las fechas de modificación y último acceso. La ficha Emblemas permite seleccionar un dibujo con el que remarcar el icono del fichero con un distintivo. La ficha Abrir permite asociar el tipo de fichero con los programas que pueden manejarlo. Por ejemplo, en nuestro caso ya se encuentra asociado al editor de textos y al hacer doble click sobre el fichero se lanzará la ejecución del procesador de textos que abrirá el fichero para trabajar con él. Si se cambia la asociación de un fichero con un programa, cambiará para todos los ficheros que tengan la misma extensión. La ficha Notas permite añadir anotaciones o comentarios a los ficheros. Estas notas sólo serán visibles desde Nautilus y únicamente se conservan si siempre se trabaja (copiar / mover9 con Nautilus y no desde la pantalla de comandos. La ficha Lista de control de acceso aparece únicamente si se han activado las ACL's y muestra y permite modificar los permisos asignados con ACL's. El tratamiento de las carpetas es similar al de los ficheros tanto para su creación como para el cambio de permisos y demás operaciones. Página.- 211

213 Otras operaciones: borrar, seleccionar, copiar, mover, renombrar, etc. Para borrar una carpeta o un fichero, basta con hacer click sobre su icono con el botón derecho y seleccionar Mover a la papelera o Borrar. La diferencia consiste en que los que se mueven a la papelera son recuperables accediendo a ésta a través de su icono en la barra de tareas. Para seleccionar varias carpetas o ficheros se puede hacer click con el botón izquierdo en un espacio vacío y, sin soltar el botón, arrastrar hasta que el recuadro que se genera cubra los archivos que se quiere seleccionar. También se puede ir haciendo click con el botón izquierdo en cada fichero manteniendo pulsada la tecla <Ctrl>. Para deseleccionar basta con hacer click en un lugar vacío. Para copiar archivos o carpetas se puede proceder de varias formas. Una de ellas puede ser la siguiente: Seleccionar los ficheros y carpetas que se desea copiar. Se hace click con el botón derecho sobre alguno de los elementos seleccionados. Se pulsa sobre la opción Copiar. Se abre la carpeta donde se desea copiar lo seleccionado. Se pulsa con el botón derecho en un espacio vacío y se elige la opción Pegar. Para mover archivos se puede seguir el mismo procedimiento pero eligiendo la opción Cortar en vez de Copiar. Es posible mover ficheros o carpetas simplemente arrastrándolos a la nueva ubicación. Si la operación se realiza entre dispositivos o particiones diferentes, en vez de moverse, el elemento se copia. Si en vez de mover se desea copiar, basta con mantener pulsada la tecla <Ctrl> mientras se arrastra (en el cursor aparece un + que identifica la operación de copia). Si en vez de la tecla <Ctrl> se pulsa <Alt>, al soltar aparecerá un menú de opciones que permite seleccionar la operación a realizar. Otra posibilidad para copiar / mover elementos consiste en seleccionarlos, pulsar <Ctrl>+<C> para copiar o <Ctrl>+<X> para mover, ir a la carpeta de destino y pulsar <Ctrl>+<V> para pegar. Para cambiar el nombre de un elemento se puede seleccionar y pulsar <F2> o eligiendo la opción Renombrar de su menú contextual (click con botón derecho sobre el elemento). Página.- 212

214 En general, muchas de las ventanas de MaX sólo disponen del botón Cerrar, no tienen ningún Aceptar, Aplicar o Cancelar, con lo cual los cambios se aplican automáticamente al pulsar Cerrar. Ficheros y carpetas ocultos Los ficheros y carpetas ocultos se diferencian de los normales en que su nombre empieza por un punto y normalmente Nautilus no los visualiza. Para hacerlos visibles hay que elegir en Nautilus la opción Ver y marcar la casilla de verificación Mostrar los archivos ocultos. La funcionalidad de estos directorios o archivos suele ser la de guardar configuraciones de programas y al ocultarlos se evita su borrado accidental. Para crear un archivo / directorio oculto basta con hacer que su nombre comience por un punto, por ejemplo.noseve Gestión de directorios mediante comandos La mayor parte de las instrucciones o comandos del sistema operativo disponen de una gran cantidad de opciones que pueden ser consultadas mediante el comando man instrucción o info instrucción. En ésta sección solamente se tratarán los comandos que realizan las operaciones homólogas a las del apartado anterior de Nautilus con sus opciones más relevantes. Directorio activo Ya se ha visto que toda la información que gestiona MaX se encuentra estructurada en una serie de directorios y subdirectorios en forma arborescente siendo el directorio raíz el que ocupa el nivel más alto, el que engloba a todos los demás elementos (ficheros y subdirectorios) y que recibe el nombre de /. A estas alturas debe estar totalmente claro que los ficheros son los elementos que contienen la información y que los directorios y subdirectorios son elementos organizativos cuya función es la de mantener una estructura que permita tener organizados los ficheros para facilitar el acceso a los mismos. Para evidenciar la diferencia puede tomarse como ejemplo una biblioteca: los libros se corresponden con los ficheros y las diferentes estancias, armarios, baldas, etc. cuya función es mantener una organización en la biblioteca, se corresponderían con los directorios. Hay varias formas de referirse a un fichero o directorio dependiendo de que se tenga en cuenta o no la estructura jerárquica en la que se está situado. El directorio en el que se está situado es lo que se llama directorio activo o actual. Hay varias formas de saber cuál es el directorio activo pero es conveniente conocer previamente el nombre de varios directorios que tienen un significado especial: Página.- 213

215 /.- directorio raíz. ~.- directorio de trabajo del usuario (por defecto /home/usuario)...- directorio activo....- directorio padre (directorio inmediatamente superior en la escala jerárquica que incluye al directorio activo. Por ejemplo, el directorio padre de /home/usuprueba01 es /home. Al abrir un terminal para introducir instrucciones, el sistema operativo muestra el llamado prompt del sistema y espera a que se introduzca una instrucción y se pulse <Intro>. El prompt por defecto muestra la siguiente información: usuario@equipo:directorio_activo$ es decir, el nombre del usuario, el el nombre del equipo, el carácter :, el directorio activo y el carácter $. Para el usuario root este último carácter en vez de ser un dólar es una almohadilla (#). Trayectoria Otra forma de conocer cuál es el directorio activo es mediante la instrucción pwd. Partiendo del directorio activo, la posición de un fichero o directorio en el árbol de directorios del sistema es la trayectoria. Dentro de la trayectoria, el carácter / se utiliza para separar los nombres de los directorios, subdirectorios. Hay dos tipos de trayectorias: Fig 88: Ejemplo de árbol de directorios Trayectoria absoluta.- consiste en especificar el nombre de un fichero/directorio empezando desde el directorio raíz, los directorios intermedios hasta el fichero/directorio y finalmente el nombre del fichero/directorio, separando todos ellos por el carácter /. Así, en el ejemplo de la figura, la trayectoria absoluta del fichero f311 es: /d3/d31/f311. El primer carácter / no es un carácter separador sino que hace referencia al directorio raíz. Página.- 214

216 Esta trayectoria no depende del directorio activo y es única. Trayectoria relativa.- consiste en especificar el nombre de un fichero/directorio empezando desde el directorio activo, los directorios intermedios hasta el fichero/directorio y finalmente el nombre del fichero o directorio, separando todos ellos por el carácter /. Así, en el ejemplo de la figura, si el directorio activo es d3, la trayectoria relativa del fichero f311 es: d31/f311. Es muy importante tener en cuenta que en esta trayectoria el primer carácter no es el correspondiente al directorio raíz. Para especificar una trayectoria relativa a veces puede ser necesario hacer uso del nombre del directorio padre (..). Por ejemplo, si el directorio activo es d33, la trayectoria relativa del directorio d212 es:../../d2/d21/d212. Dependiendo del directorio activo, la trayectoria de un fichero/directorio será una u otra. Órdenes de gestión de directorios, ficheros y sistemas de archivos ls [opciones] [archivos] Sin opciones ni parámetros muestra el contenido del directorio activo. -l Muestra el contenido de forma más detallada, visualizando los permisos. -a Muestra los ficheros ocultos. Ejemplos: ls -l cp [opciones] original copia Crea una duplicado de original en copia. -r Copia recursiva. Incluye la copia de subdirectorios con su contenido. Ejemplos: cp fichero1 fichero2 cp -r /home/* /media/usbdisk Página.- 215

217 mv [opciones] origen destino Renombra o hace una copia de origen en destino y a continuación borra el archivo original. -b Crea una copia de seguridad antes de desplazar origen. Ejemplos: mv fich1 fichero rm [opciones] [archivos] Borra el/los archivo(s) indicado(s). Para que se borren los directorios y su contenido hay que utilizar la opción -r. -r Borrado recursivo. Permite borrar directorios y su contenido. -i Espera una confirmación antes de borrar cada fichero. Ejemplos: rm fichero rm -r directorio ln [opciones] destino link Crea un acceso directo (link o enlace) a un fichero destino. Normalmente este enlace apunta directamente a la posición de destino (a los datos del fichero) dentro del mismo sistema de archivos. Aparentemente es como si se hubiera duplicado el fichero destino aunque se puede comprobar que las modificaciones en uno de ellos se reflejan en el otro. Si se utiliza la opción -s, se crea un enlace simbólico apuntando al nombre del fichero. -s Crea un enlace simbólico. cd [opciones] [directorio] Cambia el directorio activo. Si no se especifica directorio cambia al directorio de trabajo del usuario. Ejemplos: cd.. cd /etc mkdir [opciones] directorio Crea un directorio Ejemplos: mkdir proyecto Página.- 216

218 rmdir [opciones] directorio Borra directorios, pero sólo si están vacíos. chown [opciones] usuario [ : [ grupo ] ] archivos Cambia el propietario de los archivos al nombre (y grupo) especificado. -R Cambia el propietario de los archivos de los subdirectorios. Ejemplos: chown -R usprueba01:usprueba01 carpeta chown usprueba fichero chgrp [opciones] grupo archivos Cambia el grupo al que pertenece el archivo. El propietario del archivo sólo puede cambiar este valor si pertenece tanto al grupo anterior como al nuevo al que se desea asignar el archivo. Ejemplos: chgrp users fichero chmod [opciones] modo archivos Cambia los permisos de acceso a los ficheros. El parámetro modo tiene tres partes: a quién se aplica, como se aplica y qué derecho se aplica. Para definir a quién se aplica pueden utilizarse los siguientes caracteres: u g o a al propietario. al grupo del propietario. a los otros. a todos (all). Para definir cómo se aplican pueden utilizarse: + para permitir el acceso. - para denegar el acceso. = para establecer los permisos. Página.- 217

219 Para definir qué permisos pueden utilizarse: r w x X s t lectura. escritura. ejecución (o búsqueda en directorios). ejecución o búsqueda (ver información mostrada por man chmod. establecer usuario o grupo para ejecución (set uid bit). restringir el borrado. Una alternativa a esta forma de expresar el modo es utilizar un código de 4 cifras donde cada cifra corresponde a la suma de los valores 4, 2 y 1. La primera cifra ocupa el atributo set user ID (4) y/o set group ID (2) y/o el atributo sticky-bit (1), la segunda los derechos del propietario, la tercera los del grupo y la cuarta los de los otros. El derecho de lectura se representa con el valor 4, el de escritura con el 2 y el de ejecución con el 1. Ejemplos: chmod u+x ejecutable chmod a-w fichero chmod 0640 fichero3 gzip [opciones] archivos Comprime el contenido de los ficheros. El nombre del fichero comprimido tendrá extensión.gz y deberá descomprimirse antes de poder usarse. Para comprimir más de un archivo, o directorios completos, deberá utilizarse además el comando tar. -d Descomprime el archivo (se corresponde con el comando gunzip). Ejemplos: gzip fichero gzip -d fichero.gz (gunzip fichero.gz). tar opciones paquete archivos Agrupa uno o más archivos en un paquete para después comprimirlo, copiarlo, Es una instrucción compleja y con gran cantidad de opciones, entre ellas: -f La información generada por el proceso se escribe en el fichero especificado en vez de mostrarse por pantalla. -c Crea un nuevo archivo de tipo tar. -r Agrega archivos a un paquete existente. -t Muestra el contenido de un paquete. -u Agrega archivos al paquete sólo si estos son más recientes que los existentes. -x Extrae o desempaqueta archivos de un paquete. -z Comprime con gzip el paquete generado. -j Comprime con bzip2 el paquete generado. -v Proporciona los nombres de los archivos procesados. Página.- 218

220 Los archivos creados mediante tar tienen extensión.tar. Cuando el archivo tar se comprime con gzip la extensión es.tar.gz y si se comprime con bzip2 será.tar.bz2. Ejemplos: tar -cvf paquete.tar directorio (crea paquete.tar con directorio). tar -xvf paquete.tar (extrae el cont. de paquete.tar). tar -tf paquete.tar (muestra el contenido). tar -xvzf paquete.tar.gz (extrae descomprimiendo). locate ficheros Muestra los directorios donde se encuentran los ficheros especificados. La búsqueda es muy rápida puesto que la búsqueda no se realiza en el sistema de ficheros sino en una base de datos propia creada al efecto. Esta base de datos puede crearla el usuario root con la instrucción updatedb. Ejemplos: locate fichero update [opciones] Permite actualizar de forma sencilla la base de datos utilizada por la instrucción locate. Para que se tengan en cuenta todos los ficheros, debe ser ejecutado por el usuario root. Se puede lanzar su ejecución en segundo plano añadiendo a la instrucción el carácter & (update &), para poder seguir trabajando mientras se genera la base de datos. Habitualmente este comando se ejecuta como tarea cron diaria (ver cron.daily). Ejemplos: updatedb & find [opciones] Permite buscar un archivo en un determinado directorio. Al contrario que locate, find busca en el directorio especificado. Es muy común que el primer argumento utilizado sea el directorio desde el que se realizará la búsqueda. -name Utilizado para especificar el/los fichero(s) a buscar. -print Visualiza los resultados en pantalla. Ejemplos: find / -name fichero -print find. -name pp -print find / -name [0-9]* -print Página.- 219

221 cat [opciones] archivos Muestra el contenido de los archivos especificados. -n Numera las líneas. Ejemplos: cat fichero less [opciones] archivos Permite examinar el contenido de los archivos especificados puesto que admite el uso de las teclas <Av Pág>, <Re Pág>, <Inicio>, <Fin>, etc. La tecla <Q> finaliza la visualización. Ejemplos: less fichero more [opciones] [archivos] Permite visualizar el contenido de los archivos especificados pantalla a pantalla o línea a línea. La tecla <Q> finaliza la visualización. Ejemplos: more fichero grep [opciones] cadena archivos Busca una cadena en los archivos especificados y muestra la línea que contiene la cadena y el nombre del fichero (sólo si se han especificado varios). Dentro de la cadena el carácter ^ identifica el principio de línea y el $ el final de línea. -i Ignora las diferencias entre mayúsculas y minúsculas. -l Muestra sólo el nombre del archivo y no el número de línea. -n Numera las líneas donde se encontró la cadena. -L Muestra los nombres de los archivos que no contienen la cadena. diff [opciones] archivo1 archivo2 Compara el contenido de dos archivos y muestra las líneas en las que se detectan diferencias. Puede utilizarse para enviar los cambios realizados en un programa sin necesidad de enviar todo el texto fuente. -q Indica solamente si existen diferencias entre los dos ficheros. -u Produce un resultado unificado para que sea más legible. Página.- 220

222 Comodines Para hacer referencia a uno o más ficheros/directorios puede hacerse uso de los denominados comodines, cuya función es la de sustituir a uno o más caracteres del nombre de los ficheros/directorios. Existen los siguientes comodines:? Sustituye exactamente un carácter. * Sustituye cualquier cadena de caracteres. [cadena] [!cadena] Sustituye un carácter de los comprendidos en la cadena. Si la cadena está formada por caracteres consecutivos de la tabla de códigos ASCII, puede expresarse poniendo el primer carácter, un guión y el último carácter. Por ejemplo [0-9] sustituye a un número, [a-z] a una letra minúscula y [A-Z] a una letra mayúscula. También admite la forma [0-3,6-9] para identificar dos segmentos de caracteres. Sustituye un carácter que no esté comprendido en la cadena. Por ejemplo, si el directorio activo contiene los ficheros: fich, fich1, fich2, fich3, fich3.txt, fichero, 1.txt y 2.txt, rm fich? rm fich* rm [0-9].txt rm [0-9]* Borra fich1, fich2 y fich3. Borra todos los ficheros cuyo nombre comience por fich. Borra 1.txt y 2.txt. Borra todos los ficheros cuyo nombre empiece por un número. Redireccionamientos Normalmente la salida estándar de los comandos es la pantalla y la entrada estándar es el teclado. Para cambiar tanto la entrada como la salida estándar, pueden utilizarse los siguientes caracteres de redireccionamiento: > Permite redirigir la salida del comando. Si se redirige a un fichero, el fichero se crea antes de ejecutar la instrucción; si el fichero existe previamente, se borra su contenido. Por ejemplo, la instrucción ls > fichero guarda el resultado de la instrucción ls en fichero. Este redireccionamiento se utiliza muy frecuentemente para crear ficheros de forma rápida para probar comandos. Página.- 221

223 >> Redirige la salida añadiendo, es decir, si se redirige a un fichero y éste existe previamente, no se borrará su contenido y el resultado de la ejecución del comando se añadirá a lo que contenía previamente. Si el fichero no existe se crea. Por ejemplo, la instrucción ls >> fichero añade el resultado de la instrucción ls al contenido de fichero. < Redireccionamiento de entrada. Permite modificar la entrada estándar de un comando, por ejemplo, la instrucción sort < fichero ordena las líneas de fichero y las muestra por pantalla; sort < fich > fichero_ordenado ordena las líneas de fich llevando el resultado a fichero_ordenado. 2> Redirecciona la salida estándar de errores. Por ejemplo, cp f1 f2 2>mensaje hace una copia de f1 como f2 y si se produce algún error lo lleva al fichero mensaje. >& Redirecciona la salida estándar y los errores. También se admite la redirección >>& para añadir. Filtros Los filtros se utilizan para convertir la salida de una instrucción en la entrada de otra. El carácter de filtrado, también llamado piping, es (<Alt Gr>+<!>). Por ejemplo, si se desea mostrar ordenadamente el contenido del fichero f1 puede hacerse con la instrucción cat f1 sort ; otro ejemplo es cat f1 more que muestra el contenido de f1 pantalla a pantalla. 7.7 Gestión de enlaces, links o accesos directos Los enlaces, accesos directos o links se utilizan para tener acceso a un objeto, generalmente un fichero o programa, desde un lugar diferente de la carpeta donde se encuentra ubicado. El uso más común es la creación de enlaces en el escritorio que permiten el acceso rápido a los programas, ficheros o carpetas. Algunos programas durante la instalación crean de forma automática, o previa consulta al usuario, un enlace al programa en el escritorio. El hecho de que un fichero pueda ser accedido desde diferentes lugares del árbol de directorios, que pueda tener nombres diferentes e incluso permisos distintos, facilita el acceso y el control del mismo. Pero los enlaces ofrecen otra gran ventaja que es el mantenimiento de la integridad del fichero y la no duplicación de datos. Al ser un único fichero el que es accedido desde diferentes lugares garantiza que las modificaciones que puedan realizar diferentes usuarios, o la apertura del fichero desde diferentes carpetas, queden siempre registradas en el fichero único de datos. Página.- 222

224 7.7.1 Gestión de enlaces desde el entorno gráfico MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red Hay que diferenciar dos formas de crear enlaces: En el escritorio.- situando el cursor en un espacio vacío del escritorio, pulsando el botón derecho y eligiendo la opción Crear un lanzador. Fig 89: Creación de un enlace en el escritorio La ventana permite seleccionar o introducir la siguiente información: El icono que representará al enlace o lanzador. Su selección se realiza pulsando sobre el icono situado en la parte superior izquierda. Tipo.- permite seleccionar, desplegando la lista, si el enlace (lanzador) inicia una aplicación o abre un documento: Aplicación: inicia una aplicación. Aplicación en terminal: inicia una aplicación a través de una ventana del terminal. Lugar: abre un archivo, una página web u otra ubicación. Nombre.- es el nombre que aparecerá debajo del icono. Comando.- este cuadro aparece si en Tipo se ha elegido Aplicación o Aplicación en terminal. Debe introducirse el nombre de la aplicación y, opcionalmente, el fichero a abrir. Algunos ejemplos pueden ser: gedit gedit /home/usprueba01/fichero.txt nautilus /home/usprueba01/carpeta Página.- 223

225 Lugar.- este cuadro aparece si en Tipo se ha elegido Lugar. Permite especificar ficheros, carpetas, sitios web, sitios ftp, Algunos ejemplos pueden ser: file:///home/usprueba01/fichero.txt file:///home/usprueba01/carpeta ftp://ftp.gnome.org Comentario.- nota que se muestra al situar el puntero sobre el icono del lanzador. Al crear el lanzador en el escritorio se crea un fichero con el nombre introducido en el cuadro de texto correspondiente a la etiqueta Nombre y con extensión.desktop en el directorio /home/nombre_usuario/escritorio. El contenido del fichero consta de varias entradas que recogen, entre otra información, los datos introducidos en la ventana de creación del lanzador. Desde el objeto al que se quiere crear el enlace.- para crear un enlace a, por ejemplo, un fichero o carpeta, basta con elegir del menú contextual (botón derecho) del mismo la opción Crear un enlace. De esta forma se crea en la misma carpeta donde se encuentra el objeto un enlace simbólico al mismo, con un icono igual al del objeto pero añadiéndole una flecha verde en la esquina superior derecha que caracteriza a los enlaces y con el nombre Enlace hacia nombre_objeto. Con la opción Renombrar del menú contextual del enlace puede cambiarse el nombre y, además, puede moverse el enlace, igual que se mueve cualquier fichero, al lugar que convenga para tener acceso al mismo fichero desde lugares diferentes Gestión de enlaces mediante comandos Es conveniente recordar que en la estructura de ficheros de MaX cada fichero tiene asignado un número de inodo y que este inodo contiene información relativa al tipo de fichero, permisos, etc., así como los números de los bloques donde se encuentra físicamente el contenido del fichero. Los números de inodos pueden verse con la instrucción ls -i o, mejor aún, con ls -il. Existen dos tipos de enlaces: enlaces rígidos, también llamados duros o físicos, y enlaces simbólicos. Para crear enlaces se utiliza el comando ln; por ejemplo, para crear un enlace rígido con nombre enlace_rigido al fichero llamado fichero habría que ejecutar: ln fichero enlace_rigido Para crear un enlace simbólico la instrucción a ejecutar es: ls -s fichero enlace_simbolico Página.- 224

226 La instrucción ls -il mostrará algo parecido a la figura siguiente: Fig 90: Resultado de la instrucción ls -il donde puede observarse que la primera columna contiene el nº de inodo del fichero y la tercera el número de enlaces físicos (duros) del fichero. Un fichero no se borrará físicamente hasta que no le queden enlaces físicos apuntándole. Enlaces duros Cuando se crea un enlace duro a un fichero, se crea una entrada en el directorio con el nombre del enlace pero con el número de inodo del fichero. Así, el fichero pasa a tener dos nombres pero un solo inodo y un único contenido. En el ejemplo de la figura anterior, la tercera columna de la información mostrada por ls -il muestra un 2 para fichero y para enlace_rígido, que indica la existencia de dos nombres para el mismo fichero. También puede comprobarse que los dos nombres tienen el mismo número de inodo, el El fichero no se borrará hasta que se borren todos sus nombres. Los directorios tienen dos enlaces duros, uno apuntando a si mismo (.) y otro apuntando a su directorio padre (..). En el directorio raiz (/) el enlace.. apunta a /. Enlaces simbólicos A diferencia de los enlaces duros, estos enlaces solamente dan otro nombre a un archivo pero no hacen un enlace a nivel de inodo. Serían los homólogos de los accesos directos de Windows. Se crean con la instrucción ln -s nombre_fichero nombre_enlace y, como muestra la figura, la instrucción ls -il muestra a qué archivo está apuntando. Las diferencias más significativas con los enlaces duros son: La instrucción ls -l muestra a qué archivo apuntan los enlaces simbólicos pero no los enlaces duros. Los enlaces simbólicos no apuntan al mismo inodo que el nombre del fichero. Página.- 225

227 Los permisos de los enlaces simbólicos no se utilizan, se usan los de los ficheros a los que apuntan. La instrucción ls -l muestra en el primer carácter de la primera columna, el relativo al tipo de fichero, una l (de link). Pueden crearse enlaces simbólicos, pero no duros, a archivos que no existen. Los enlaces simbólicos son muy utilizados para apuntar a librerías compartidas. 7.8 Búsqueda de información del sistema Existen multitud de herramientas gráficas e instrucciones que reportan información sobre diferentes aspectos del sistema. Algunas pueden ser utilizadas por cualquier usuario y otras solamente por el usuario root o por usuarios con ciertos privilegios Herramientas gráficas Dada la gran diversidad de herramientas existentes, solamente se van a tener en cuenta aquellas que se instalan de forma predeterminada y se describirán en el mismo orden que aparecen en el menú Aplicaciones. Administrador de trabajos de impresión Se accede desde Accesorios Administrar trabajos de impresión. Permite administrar (eliminar, retener, ) los trabajos de impresión enviados a las diferentes colas de impresión de las diferentes impresoras instaladas en el sistema. Analizador de uso de disco Se accede desde Accesorios Analizador de uso de disco Permite explorar sistemas de archivos y carpetas, tanto locales como remotas, informando del nivel de ocupación, número de ficheros y carpetas que contienen, etc. Página.- 226

228 Buscador de archivos Se accede desde Lugares Buscar archivos Permite buscar archivos mediante la introducción de algunas características relacionadas con su nombre, la carpeta donde se encuentra, el texto que contiene, la fecha de modificación, el tamaño, el propietario, etc. Aplicaciones al inicio Se accede desde Sistema Preferencias Aplicaciones al inicio Permite establecer las aplicaciones que se pondrán en ejecución al iniciar la sesión. Comprobación del sistema Se accede desde Sistema Administración Comprobación del sistema Comprueba la conexión a Internet, el funcionamiento del teclado y el ratón, detecta los controladores de red, de sonido, la resolución de la pantalla, y finalmente elabora un informe detallado que puede mostrarse pulsando sobre el enlace View report o enviarse a una dirección de correo electrónico que se especifique. Editor de particiones Se accede desde Sistema Administración Editor de particiones Muestra y permite administrar las particiones de los distintos discos duros. Este programa (gparted) ha sido descrito en uno de los apartados anteriores de este capítulo. Gestor de paquetes Synaptic Se accede desde Sistema Administración Gestor de paquetes Synaptic Permite administrar la instalación de paquetes en el sistema. Este programa ya ha sido descrito anteriormente. Página.- 227

229 Herramientas de red Se accede desde Sistema Administración Herramientas de red Fig 91: Herramientas de red La ventana que muestra el programa dispone de varias fichas que permiten administrar los dispositivos de red del sistema y hacer uso de herramientas relacionadas con la administración de la red: Dispositivos.- permite seleccionar el dispositivo de red, configurarlo y muestra información y estadísticas de transmisión/recepción del mismo. Ping.- permite enviar, un número determinado o de forma indefinida, tramas ping y presenta información acerca de las tramas enviadas y recibidas y los tiempos necesitados para realizar los envíos/recepciones. Netstat.- permite mostrar tablas de ruteo, servicios de red activos e información multicast. Traceroute.- muestra los routers por los que pasa una trama hasta llegar a una dirección de destino previamente especificada. La dirección puede ser una dirección ip o un nombre de host (equipo). Explorar puerto.- permite detectar los puertos abiertos de un equipo. Página.- 228

230 Lookup.- permite explorar equipos y mostrar cierta información de los mismos. Finger.- Muestra información acerca de los usuarios. Whois.- Muestra información sobre los dominios. Hora y fecha Se accede desde Sistema Administración Hora y fecha Permite modificar la fecha, la hora y la zona horaria del sistema. Monitor del sistema Se accede desde Sistema Administración Monitor del sistema El programa muestra varias fichas con información acerca del sistema: Sistema.- muestra la versión del sistema operativo, la memoria y el procesador disponibles, y el espacio disponible en disco. Procesos.- informa sobre los procesos en ejecución, su estado, su identificador, la cantidad de memoria que utilizan, etc. Recursos.- presenta de forma gráfica el porcentaje de uso de CPU, el porcentaje de uso de la memoria RAM y de la memoria de intercambio (swap) y los Kb./seg. Enviados y recibidos a través de los interfaces de red. Sistemas de archivos.- muestra los diferentes sistemas de archivos existentes, el tipo y las capacidades libres y usadas. Servicios Se accede desde Sistema Administración - Servicios Permite seleccionar los servicios que se desea que se inicien durante el arranque del sistema. Visor de archivos de sucesos Se accede desde Sistema Administración - Visor de archivos de sucesos Presenta los mensajes generados por el sistema, ordenados por categorías. Página.- 229

231 7.8.2 Búsqueda de información desde la línea de comandos uname [opcion] Visualiza información del sistema -a Toda la información (tipo de núcleo, nombre del equipo, versión del núcleo, fecha y hora, arquitectura de la CPU, tipo de procesador y tipo de sistema operativo). -p Tipo de procesador o unknown. -r Versión del núcleo. fdisk [opciones] [dispositivo] Permite consultar, crear, borrar, redimensionar, particiones. Para su correcta ejecución se necesitan privilegios de usuario root. -l Visualiza las características y la tabla de particiones del dispositivo especificado. Si no se especifica dispositivo muestra las particiones de /proc/partitions (si existe). Es una opción muy útil por mostrar las particiones de todos los dispositivos existentes. Ejemplos: fdisk -l free [opciones] Muestra la cantidad de memoria RAM y de memoria swap libre y usada. Para el buen funcionamiento del sistema la memoria de swaping no debe estar utilizándose. -m Muestra la información en Mb. -t Muestra una línea totalizando RAM + swap Ejemplos: free -mt mount [opciones] [dispositivo directorio] lsmod Se utiliza para montar dispositivos permitiendo una gran variedad de opciones. Sin opciones permite conocer los dispositivos que se encuentran montados y en qué lugar. Su información se complementa con la de la instrucción fdisk -l. Muestra el estado de los módulos del kernel actualmente cargados. Se complementa con los comandos de inserción (insmod) y borrado (rmmod) de módulos. Página.- 230

232 lspci [opciones] lsusb blkid Muestra los dispositivos PCI del sistema. Para analizar la información puede utilizarse la siguiente línea de ejemplo: 05:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02) donde se muestra el slot PCI donde se ubica el dispositivo (05), el bus del dispositivo (00) y la función (0), la clase de dispositivo (Network controller), el fabricante (Intel Corporation), el nombre del dispositivo (PRO/Wireless 3945ABG Network Connection) y el número de revisión del mismo (rev 02). -v Muestra información más detallada. -vv Muestra información mucho más detallada. Lista los dispositivos usb del sistema. -v Muestra información más detallada. Muestra las características de los dispositivos de bloque. dmidecode y lshw df uptime Leen la información de la BIOS y muestran un listado completo del hardware del equipo. -q Muestra un resumen de la información. Muestra la capacidad, el espacio usado y libre y el punto de montaje de las particiones. -h Utiliza el Mb y Gb como unidad de medida. Muestra la hora actual, el tiempo que lleva encendido el equipo, los usuarios conectados y la carga promedio de la CPU (load average) en los últimos 1, 5 y 15 minutos. Para saber quienes son los usuarios conectados puede utilizarse la instrucción w. Página.- 231

233 w Muestra los usuarios conectados y sus programas en ejecución. Como complemento a uptime y w puede utilizarse la instrucción who -b que indica la fecha y hora en que se inició el equipo. lsof last y lastb dmesg Muestra los archivos abiertos por los diferentes procesos en ejecución. Un ejemplo de utilización puede ser el siguiente: para saber los archivos que abre la instrucción man lsof se ejecuta dicha instrucción desde un terminal y desde otro buscamos su PID con, por ejemplo, la instrucción ps -ed grep man ; con la instrucción lsof -p numero_pid se obtiene la información deseada. Es muy útil para conocer las dependencias o ficheros que un programa necesita para ejecutarse. Sin opciones muestra un listado muy extenso. last muestra los últimos usuarios que han iniciado sesión en el equipo. lastb muestra los intentos erróneos de inicio de sesión y puede permitir determinar los intentos de hackeo (logins no permitidos) al sistema. Permite conocer el terminal, día, fecha y hora de inicio de sesión, hora de finalización, si el sistema no se apagó adecuadamente (crash), etc. Muy útiles para detectar posibles intrusiones de usuarios. Muestra los mensajes que se producen durante el inicio del sistema. Permite conocer posibles errores producidos durante la carga de los módulos durante el inicio para determinar posibles problemas de funcionamiento o reconocimiento de los dispositivos. Dada la extensión de la información mostrada, puede redireccionarse a un fichero o hacerse uso de los filtros more, less o grep. ps [opciones] top Muestra información acerca de los procesos en ejecución. -a Todos los procesos. Muestra el estado de los procesos en tiempo real, actualizándose cada 3 segundos. Página.- 232

234 7.9 Actividades 1. Comprobar qué paquetes necesita tener instalado MaX para que pueda manejar el sistema de archivos ntfs. Instalarlos si no lo están. 2. Enumerar las ventajas que presenta el sistema de ficheros ext4. 3. Hacer un gráfico que muestre la estructura de un sistema de ficheros para un fichero de nombre fich que ocupe dos bloques del área de datos. 4. Con Gparted mostrar las particiones del disco duro del equipo. 5. Borrar, crear y redimensionar particiones en un pen drive. 6. Desde el entorno gráfico comprobar el nivel de ocupación de las particiones existentes en el disco duro. 7. Con Nautilus probar a realizar todas las operaciones del apartado Trabajo con ficheros y carpetas : cambio de permisos, copiar, mover, borrar, recuperar de la papelera, renombrar, 8. Crear un fichero y una carpeta ocultos y hacer que Nautilus los muestre. 9. Comprobar los paquetes instalados que han quedado en desuso. 10. Solicitar ayuda sobre el comando parted y mostrar la tabla de particiones usando la opción adecuada. Lo mismo pero con fdisk. 11. Montar una partición de Windows y acceder a su contenido. Desmontarla. 12. Mostrar en Mb el espacio ocupado y el libre de cada partición. 13. Probar el funcionamiento de los comandos du y free. 14. Comprobar la información que muestra Nautilus en el panel lateral izquierdo y las diferentes posibilidades que ofrece. 15. Buscar en el árbol de directorios la carpeta que contiene las subcarpetas de trabajo de los usuarios y la destinada a contener documentación de los diferentes paquetes. 16. Realizar copias, borrados y movimientos de ficheros y directorios de unas carpetas a otras utilizando los comandos y trayectorias adecuadas. 17. Cambiar mediante comandos los permisos, propietarios y grupos de ficheros y directorios. 18. Buscar ejemplos típicos de uso de comodines, redireccionamientos y filtros. 19. Crear en el escritorio un lanzador para un programa de grabación de DVD's. Crear en un directorio enlaces físicos y simbólicos a ficheros y comprobar las diferencias. 20. Probar todas las herramientas gráficas y comandos que gestionen información del sistema. Página.- 233

235 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red 8 ADMINISTRACIÓN DE LA INFORMACIÓN II 8.1 Aspectos didácticos Objetivos: Configurar y utilizar el gestor de paquetes Synaptic. Instalar, comprobar y desinstalar paquetes con la instrucción apt-get. Saber manejar los procesos en ejecución. Monitorizar el uso de la CPU, de la memoria y de la red. Conocer las instrucciones más relevantes que muestran información el sistema. Saber montar y desmontar sistemas de ficheros, tanto desde el entorno gráfico como desde la línea de comandos. Saber administrar las particiones, grupos de volúmenes y volúmenes lógicos de un sistema. Conocer en qué consiste la fragmentación de un sistema de ficheros y saber cómo medirla y reducirla o anularla. Documentación. La documentación de este tema se puede ampliar a través de la ayuda del S.O. (instrucciones man, info, ), con la documentación oficial de MaX y de Ubuntu y con la Ayuda o manuales incluidos en los propios paquetes. Resumen. En este tema se profundiza en la utilización de paquetes e instrucciones que permiten: Administrar el software instalado. Monitorizar los recursos del sistema. Montar y desmontar sitemas de archivos de diferentes dispositivos. Gestionar particiones y volúmenes. Temporización: 12 horas. Página.- 234

236 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red 8.2 Identificación del software instalado mediante herramientas gráficas y comandos Herramientas gráficas El software distribuido con un sistema operativo se compone de un gran número de programas y ficheros. De ellos, una pequeña parte son imprescindibles para el funcionamiento del sistema y la gran mayoría son utilidades que facilitan la gestión y administración del sistema, programas ofimáticos, programas relativos al uso de Internet, programas educativos, juegos, etc. Generalmente un programa necesita más de un fichero para su correcto funcionamiento. Para facilitar la distribución e instalación de programas se forman paquetes de software que contienen los ficheros necesarios para el correcto funcionamiento de un programa. Si el volumen de software de un programa es muy pequeño, o excesivamente grande, pueden conformarse paquetes que contengan varios programas o paquetes que contengan una parte de un programa. También puede ocurrir que un programa o paquete tenga dependencias con otros, de tal forma que, para el funcionamiento de un programa o paquete, se necesite la instalación de otro. Los sitios de Internet donde se encuentran y desde donde se pueden bajar los paquetes se llaman Repositorios. Cada sistema operativo dispone de varios repositorios donde se almacena todo el software que lo componen. De esta forma, si en un momento determinado uno de los repositorios no está disponible, existirán otros que proporcionarán los paquetes solicitados. Synaptic es uno de los programas incluidos en MaX que permite la gestión de paquetes. A él se puede acceder a través de: Aplicaciones Sistema Administración Gestor de paquetes Synaptic. Para poder utilizarlo es necesario iniciar la sesión con un usuario con privilegios de administrador (madrid) y saber su clave (cmadrid). La primera vez que se ejecuta Synaptic muestra una pantalla de bienvenida con información interesante y a continuación se mostrará una ventana similar a la de la figura. Página.- 235

237 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red Fig 92: Gestor de paquetes Synaptic En la ventana del programa se distinguen varias partes: En la parte superior se encuentran las barras de menús y de accesos rápidos cuyas acciones más relevantes son: Configurar las preferencias del programa. Configurar los repositorios u orígenes del software y las actualizaciones. Mostrar el Manual de usuario de Synaptic a través de la opción Ayuda. Recargar los listados de paquetes de los distintos repositorios para que MaX pueda comprobar si existen actualizaciones. Marcar todas las actualizaciones o paquetes que dispongan de actualización para su instalación. Aplicar las acciones de instalación y desinstalación programadas. Cuando se selecciona un paquete para ser instalado (o desinstalado), la operación no se efectúa hasta que se pulsa el botón Aplicar o se elige la opción Editar Aplicar cambios marcados. Ver las propiedades (versión, dependencias, descripción, ) de un paquete previamente seleccionado. Página.- 236

238 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red Buscar los paquetes que en su nombre o descripción contienen una determinada cadena. Si se desea hacer una búsqueda teniendo en cuenta únicamente el nombre del paquete puede hacerse a través de las opciones Editar - Buscar, seleccionando en la lista desplegable Buscar en el elemento Nombre. El cuadro selector en la parte de la izquierda, donde aparecen elementos que permiten hacer un filtrado o restringir el ámbito de los paquetes a mostrar. Así, se puede hacer un filtrado de paquetes según la sección a la que pertenezcan, su estado (instalados o no), su origen (local o de la red), etc. La parte central que muestra el listado de paquetes, indicando su estado, el nombre, la versión y una breve descripción. Los diferentes iconos que pueden aparecer en el estado están descritos en la opción Ayuda Leyenda de iconos. En principio, si el cuadro de verificación es verde indica que el paquete está instalado, si está en blanco el paquete no está instalado. Una forma simple de instalar o desinstalar un paquete es hacer doble click en el cuadro de verificación de estado correspondiente y a continuación pulsar sobre el botón Aplicar. El cuadro inferior derecho muestra información sobre el paquete seleccionado en el cuadro anterior. Si no hay seleccionado ningún paquete, esta parte solamente muestra el texto No hay ningún paquete seleccionado. Por ejemplo, para instalar el paquete wireshark, que es un programa que permite analizar el tráfico en la red, se puede proceder de la forma: Pulsar sobre la opción Secciones del cuadro selector. Pulsar sobre Todo para tener en cuenta todas las secciones. En el cuadro de texto Busqueda rápida introducir wireshark y pulsar sobre el icono Buscar. En el cuadro de la lista de paquetes aparecerán varios paquetes, los que en su nombre o en su descripción contengan la palabra buscada. Hacer doble click sobre el cuadro de verificación correspondiente al estado del paquete. Aparecerá un cuadro informando que se requiere instalar otros paquetes de los que depende wireshark, y pulsaremos sobre Marcar. Por último, para que se lleve a efecto la instalación hay que pulsar sobre el botón Aplicar, en la parte superior de la ventana. El acceso al programa recién instalado se encuentra en: Aplicaciones Internet Wireshark. Para instalar software de otros distribuidores, que no se encuentra en la lista de paquetes de MaX, habrá que proceder siguiendo las instrucciones del distribuidor. Por ejemplo, para instalar la utilidad Webmin hay que seguir los pasos: Página.- 237

239 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red Conectarse mediante el explorador de Internet Firefox a la dirección Seleccionar de la lista Download webmin x.xxx la opción Debian Package. Así se podrá descargar en nuestro ordenador el paquete correspondiente. Para instalarlo bastará con hacer click sobre el fichero descargado. Debe tenerse en cuenta que la sesión debe haber sido iniciada por el usuario madrid, u otro usuario con privilegios de administrador. Por último, para lanzar la ejecución del programa habrá que hacerlo desde Firefox a través de la dirección El programa informará que no puede comprobar si la conexión es segura y, aceptando las advertencias, solicitará un nombre de usuario y contraseña, que pueden ser root y cmadrid respectivamente, y se ejecutará correctamente Instrucciones de línea de comandos Además del programa synaptic del apartado anterior, existen otros como dselect, aptitude, gnome-apt, wajig, etc., pero la utilidad más generalizada de manejo de paquetes desde la línea de comandos es apt-get. Su formato, como se puede comprobar a través de man apt-get es el siguiente: apt-get [-hvs][-o=cadena_de_configuración][-c=fichero]{update upgrade dselect-upgrade install paquete remove paquete source paquete build-dep paquete check clean autoclean } A menos que se utilice la opción -h, que muestra una información de ayuda muy precisa, hay que especificar una de las siguientes órdenes: update.- actualiza el índice de paquetes respecto a sus fuentes. Los índices de los paquetes disponibles se obtienen de los lugares especificados en /etc/apt/sources.list. Siempre debe realizarse un update antes de un upgrade o un dist-upgrade. upgrade.- permite actualizar los paquetes instalados provenientes de las fuentes especificadas en /etc/apt/sources.list. No se desinstalan paquetes ni se instalan paquetes nuevos. Las nuevas versiones de programas instalados que no puedan ser actualizados sin cambiar el estado de instalación de otros paquetes no se instalarán. Antes de upgrade debe realizarse un update para que apt-get sepa cuales son las versiones disponibles de los paquetes. Página.- 238

240 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red dselect-upgrade.- se usa junto con la utilidad dselect. dselect-upgrade recoge los cambios realizados por dselect al campo Status de los paquetes disponibles y realiza las acciones necesarias para que los cambios se lleven a efecto (por ejemplo, borrar paquetes antiguos e instalar las nuevas versiones). dist-upgrade.- además de realizar las acciones de upgrade, maneja inteligentemente los cambios de dependencias debidos a nuevas versiones de paquetes; apt-get tiene un sofisticado sistema de resolución de conflictos, si es necesario tratará de actualizar los paquetes más importantes a costa de los menos importantes. El fichero /etc/apt/sources.list contiene la lista de los sitios de descarga. También se puede consultar apt_preferences(5) si se quiere modificar este comportamiento para paquetes individuales. install.- instala los paquetes que siguen a la palabra install. Cada nombre de paquete no es el nombre completo del paquete junto con la versión sino sólo el nombre del paquete. Se obtendrán e instalarán todos los paquetes especificados para la instalación, así como los requeridos por estos. El fichero /etc/apt/sources.list se usa para localizar los paquetes. Si al nombre del paquete se le antepone un guión (sin ningún espacio), el paquete será desinstalado en vez de instalado. Similarmente el signo de la suma se puede usar para especificar que un paquete debe de ser instalado. Estas últimas características se pueden usar para modificar decisiones tomadas por el sistema de resolución de conflictos de apt-get. Se puede seleccionar una versión especifica de un paquete poniendo a continuación del paquete un igual (=) seguido de la versión deseada. Alternativamente se puede seleccionar una distribución especifica poniendo a continuación del nombre del paquete una barra (/) seguido de la versión de la distribución (stable, testing, unstable). Cualquiera de estos dos métodos de selección puede instalar una versión anterior de los paquetes y debe ser usada con cuidado. Finalmente, apt_preferences(5) permite modificar las normas de selección para paquetes individuales. Si ningún paquete coincide con la expresión que se ha dado y la expresión contiene un punto (.), una interrogación (?), o un asterisco (*), entonces se asume que es una expresión regular de acuerdo con el estándar POSIX, y es aplicada a todos los nombres de paquetes de la base de datos. Cualquier coincidencia se instala (o desinstala). Hay que tener en cuenta que la comparación se hace en subcadenas, de manera que lo.* es válido para "how-lo" y para "lowest". Si este no es el comportamiento deseado se debe anclar la expresión regular con un "^" o un "$", o bien crear una expresión regular más específica. remove.- se comporta de forma similar a install pero desinstalando los paquetes. Si el nombre del paquete es precedido por un carácter más (+) el paquete en cuestión será instalado en vez de eliminado. Página.- 239

241 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red source.- hace que apt-get descargue paquetes fuente. APT examinará los paquetes disponibles para decidir que paquete fuente cogerá. Entones descargará en el directorio actual la versión más reciente del paquete fuente. Los paquetes fuente se obtienen de sitios distintos a los binarios; estos sitios se especifican mediante líneas del tipo deb-src en el fichero sources.list(5). Esto puede provocar que la versión que se descargará del paquete fuente no coincida con la del paquete binario que tenga instalado o pueda instalar. Si se especifica el argumento --compile entonces el paquete se compilará usando dpkg-buildpackage para producir un.deb binario, si se especifica el argumento --download-only entonces el paquete fuente no se desempaquetará. Una versión especifica de un paquete fuente puede requerirse poniendo un signo igual ("=") seguido de la versión a descargar después del nombre del paquete. Es un mecanismo similar al que se usa con los paquetes binarios. Esto permite seleccionar exactamente el nombre y versión del paquete fuente, activando implícitamente la opción APT::Get::Only-Source. Hay que tener en cuenta que los paquetes fuentes no se tratan como los binarios, sólo existen en el directorio actual, es parecido a descargar los paquetes tar comprimidos con las fuentes. build-dep.- hace que apt-get instale/desinstale paquetes en un intento de satisfacer las dependencias de compilación de un paquete fuente. Si hay varios paquetes que satisfacen la misma dependencia, apt-get elige uno aleatoriamente. check.- es una herramienta de diagnóstico. Actualiza la caché de paquetes (/var/cache/apt/pkgcache.bin), vuelve a crear un nuevo árbol de dependencias y busca dependencias imposibles de resolver. clean.- borra totalmente el repositorio local que contiene los ficheros.deb descargados. Borra todo excepto el fichero de bloqueo de los directorios /var/cache/apt/archives/ y / var/cache/apt/archives/partial/. Cuando APT se usa como un método de dselect(8), clean se ejecuta automáticamente. Si no se usa dselect es probable que desee ejecutar apt-get clean de vez en cuando para liberar algo de espacio en disco. autoclean.- borra el repositorio local de paquetes descargados, pero solamente aquellos paquetes que ya no pueden ser descargados, o son claramente inservibles. Esto permite mantener la caché durante largos periodos de tiempo sin que aumente su tamaño sin control. Si la opción de configuración APT::Clean-Installed está desactivada impedirá que se borren paquetes instalados. En cuanto a las opciones, éstas pueden ser especificadas mediante el fichero de configuración; en la descripción de cada opción se indica la opción de configuración que hay que modificar. Para opciones booleanas se puede modificar el fichero de configuración usando formatos tales como: -f-, --no-f, -f=no y alguna variante más. Página.- 240

242 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red -d (--download-only).- descarga los ficheros con los paquetes pero no los desempaqueta ni los instala. Opción de configuración: APT::Get::Download-Only. -f (--fix-broken).- intenta arreglar un sistema con dependencias actualmente rotas. Esta opción usada conjuntamente con install/remove, puede omitir cualquier paquete para permitir a APT deducir una posible solución. Cualquier paquete especificado debe de corregir totalmente el problema. La opción es a veces necesaria cuando se ejecuta apt por primera vez. APT no permite que existan dependencias de paquetes rotas en un sistema. Es posible que la estructura de dependencias de un sistema esté tan deteriorada que requiera una intervención manual (usualmente ejecutar dselect(8) o dpkg --remove para desinstalar alguno de los paquetes que crean el conflicto). El uso de esta opción junto con -m puede producir un error en algunas situaciones. Opción de Configuración: APT::Get::Fix-Broken. -m (--ignore-missing) (--fix-missing).- no tiene en cuenta los paquetes que no se hayan podido descargar o que después de la descarga se encuentren dañados, estos paquetes se tratan como no modificables y se continúa con el resto. El uso de esta opción junto con -f puede producir un error en algunas situaciones. Si un paquete se selecciona para su normal instalación (particularmente si se hace mediante la línea de órdenes) y no puede ser descargado, será tratado como no modificable. Opción de configuración: APT::Get::Fix-Missing. (--no-download).- deshabilita la descarga de paquetes. Usada junto con --ignoremissing es la mejor manera de forzar a APT a usar solo los ficheros que ya se han descargado con anterioridad. Opción de configuración: APT::Get::Download. -q (--quiet).- silencioso. Produce una salida adecuada para un registro, omitiendo los indicadores de progreso. Si se especifican dos q's se conseguirá una salida más silenciosa. También es posible usar -q=# para seleccionar el nivel de silenciosidad, no teniendo en cuenta el fichero de configuración. Hay que tener en cuenta que un nivel silencioso de 2 implica -y, por lo tanto nunca se deberá usar -qq sin añadir un modificador para que no realice ninguna acción como -d, --print-uris o -s para evitar que APT realice algo que no se espera. Opción de configuración: quiet. -s (--simulate) (--just-print) (--dry-run) (--recon) (--no-act).- no realiza ninguna acción; simula lo que hubiese ocurrido, pero sin hacer cambios reales en el sistema. Opción de configuración: APT::Get::Simulate. La simulación muestra por pantalla una serie de líneas, cada una de las cuales representa una operación de dpkg, configurar (Conf), desinstalar (Remv), o desempaquetar (Inst). Un par de corchetes indican paquetes con dependencias rotas, si no hay nada entre ellos significa que no hay ningún problema (poco probable). Página.- 241

243 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red -y (--yes) (--assume-yes).- asume una respuesta afirmativa a todas las preguntas, de esta forma apt-get se ejecuta sin necesidad de intervención posterior para tomar decisiones. apt-get terminará sin hacer nada si se produjese una situación no deseada, como cambiar un paquete puesto en hold (un paquete puesto en hold es un paquete que no debe de ser modificado) o desinstalar un paquete esencial. Opción de Configuración: APT::Get::Assume-Yes. -u (--show-upgraded).- muestra los paquetes que se van a actualizar. Opción de Configuración: APT::Get::Show-Upgraded. -V (--verbose-versions).- muestra la versión completa para los paquetes actualizados e instalados. Opción de configuración: APT::Get::Show-Versions. -b (--compile) (--build).- descarga las fuentes y luego las compila. Opción de configuración: APT::Get::Compile. (--ignore-hold).- no respeta los paquetes retenidos. Esto puede ser interesante junto con dist-upgrade para no tener en cuenta un gran número de paquetes en hold. Opción de configuración: APT::Ignore-Hold. (--no-upgrade).- no actualiza los paquetes. Cuando se usa juntamente con install, noupgrade evita que se actualicen los paquetes listados en la línea de órdenes si ya están previamente instalados. Opción de configuración: APT::Get::Upgrade. (--force-yes).- supone una respuesta afirmativa a todas las preguntas. Ésta es una opción peligrosa que hará que apt-get continúe incluso si va a realizar algo potencialmente peligros. No se debe usar excepto en situaciones muy especiales. force-yes puede destruir el sistema!. Opción de configuración: APT::Get::force-yes. (--print-uris).- muestra las URIs de los ficheros a instalar en vez de descargarlos. Cada URI tiene la dirección de donde se obtendrá el paquete, el fichero de destino, su tamaño y la suma de control md5 esperada. Hay que tener en cuenta que el nombre de fichero no siempre coincide con el nombre de fichero en el sitio remoto. Esto también funciona con las ordenes source y update. Cuando se usa con la orden update, no se incluyen ni la suma de control MD5 ni el tamaño, y es tarea del usuario descomprimir cualquier fichero comprimido. Opción de configuración: APT::Get::Print-URIs. (--purge).- borra los archivos de configuración de todos los paquetes que sean desinstalados. Se mostrará un asterisco "*" a continuación de los paquetes que se encuentren en esta situación. Opción de configuración: APT::Get::Purge. Página.- 242

244 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red (--reinstall).- reinstala los paquetes ya instalados, incluso si son la última versión disponible del paquete. Opción de Configuración: APT::Get::ReInstall. (--list-cleanup).- esta opción está activada por omisión, si quiere desactivarla use --nolist-cleanup. Cuando está activada apt-get administra automáticamente los contenidos de /var/lib/apt/lists para asegurarse de que se borran los ficheros obsoletos. La única razón para desactivarla es un cambio frecuente en la lista de repositorios que usa apt-get. Opción de Configuración: APT::Get::List-Cleanup. -t (--target-release) (--default-release).- esta opción permite tener un control sobre la versión de la distribución desde la cual se instalan los paquetes de manera sencilla, creando un pin de 990 usando la cadena de caracteres proporcionada que hace referencia a la distribución. Algunos ejemplos comunes pueden ser -t '2.1*' o -t unstable. Opción de configuración: APT::Default-Release. Ver además la página del manual de apt_preferences(5). (--trivial-only).- sólo realiza acciones consideradas triviales. Esta opción está relacionada con --assume-yes, donde --assume-yes responderá afirmativamente a cualquier pregunta, --trivial-only responderá negativamente. Opción de configuración: APT::Get::Trivial-Only. (--no-remove).- si algún paquete va a ser desinstalado apt-get termina inmediatamente. Opción de Configuración: APT::Get::Remove. (--only-source).- sólo tiene sentido para la orden source. Indica que los nombres de paquetes fuente dados no deben ser tratados a través de la tabla de binarios. Esto significa que si se especifica esta opción, la orden source sólo aceptará como argumentos nombres de paquetes fuente, en vez de aceptar nombres de paquetes binarios y luego buscar el nombre del paquete fuente correspondiente. Opción de configuración: APT::Get::Only-Source. (--diff-only) (--tar-only).- descarga sólo el fichero diff o tar del archivo fuente. Opciones de configuración: APT::Get::Diff-Only y APT::Get::Tar-Only. (--arch-only).- procesa sólo las dependencias de construcción dependientes de la arquitectura. Opción de configuración: APT::Get::Arch-Only. -h (--help).- muestra un breve resumen del modo de uso. -v (--version).- muestra la versión del programa. -c (--config-file).- especifica el fichero de configuración a usar. El programa leerá el fichero de configuración por omisión y luego este otro. Leer apt.conf(5) para más información acerca de la sintaxis. Página.- 243

245 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red -o (--option).- establece una opción de configuración. La sintaxis es -o Foo::Bar=bar. Los ficheros utilizados por apt-get son: /etc/apt/sources.list.- fichero que contiene los sitios de donde se obtienen los paquetes. Opción de configuración: Dir::Etc::SourceList. /etc/apt/apt.conf.- fichero de configuración de APT. Opción de configuración: Dir::Etc::Main. /etc/apt/apt.conf.d/.- directorio con fragmentos de ficheros de configuración APT. Opción de Configuración: Dir::Etc::Parts. /etc/apt/preferences.-fichero de configuración que contiene preferencias sobre versiones de paquetes, por ejemplo, puede especificar que un cierto paquete se descargue de un sitio diferente, o de una distribución con una versión diferente. Opción de configuración: Dir::Etc::Preferences. /var/cache/apt/archives/.- directorio donde se guardan los paquetes obtenidos. Opción de configuración: Dir::Cache::Archives. /var/cache/apt/archives/partial/.- directorio donde se guardan los ficheros en tránsito. Opción de configuración: Dir::Cache::Archives (Implica partial). /var/lib/apt/lists/.- directorio donde se almacena información de estado por cada sitio especificado en sources.list(5). Opción de configuración: Dir::State::Lists. /var/lib/apt/lists/partial/.- directorio de almacenamiento para la información de estado en tránsito. Opción de configuración: Dir::State::Lists (Implica partial). Otros comandos relacionados con la administración de paquetes son: apt-cache(8), apt-cdrom(8), dpkg(8), dselect(8), sources.list(5), apt.conf(5) y apt-config(8) Puede ser interesante leer la guía de usuario de APT en /usr/share/doc/apt/, apt_preferences(5) y el Cómo de APT. En cuanto a los diagnósticos, apt-get devuelve cero en operaciones satisfactorias y 100 en caso de error. Página.- 244

246 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red 8.3 Gestión de la información del sistema. Rendimiento. Estadísticas En el tema anterior se mostró una breve descripción de algunas de las herramientas y comandos que proporcionan información sobre los diferentes aspectos del sistema. En éste apartado se va a profundizar en la herramienta Monitor del sistema (gnome-systemmonitor) Monitor del sistema La aplicación Monitor del sistema permite mostrar información básica del sistema y monitorizar los procesos del sistema, el uso de los recursos del sistema y de los sistemas de archivos. También se puede usar el Monitor del sistema para modificar el comportamiento de su sistema. Hay dos formas de iniciar el Monitor del sistema: A través del menú Aplicaciones Sistema Administración Monitor del sistema. Desde la línea de comandos con la instrucción gnome-system-monitor. Fig 93: Monitor del sistema La ventana del Monitor del sistema contiene cuatro secciones (fichas) con sus correspondientes etiquetas o solapas: Sistema.- muestra información básica sobre la versión del sistema operativo, el hardware del sistema y el espacio disponible en el disco. Página.- 245

247 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red Fig 94: Monitor del sistema: etiqueta Sistema Procesos.- muestra los procesos activos y cómo están relacionados los procesos entre ellos. Proporciona información detallada acerca de procesos individuales y permite controlar los procesos activos. Recursos.- muestra el uso actual de la CPU, de la memoria y espacio de intercambio y de la red. Fig 95: Monitor del sistema: etiqueta Recursos Sistemas de archivos.- lista todos los sistemas de archivos montados junto con información básica acerca de cada uno. Página.- 246

248 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red El programa muestra una ventana con los siguientes elementos: Barra de menús.- contiene las opciones que permiten realizar todas las operaciones del programa. Área de visualización.- muestra la información a través de las fichas anteriormente comentadas. Barra de estado.- muestra información sobre la actividad actual del Monitor del sistema, así como información contextual acerca de los elementos del menú. Las operaciones fundamentales que pueden realizarse a través de las diferentes opciones de la barra de menú y de las diferentes fichas son las siguientes: Mostrar la información básica del sistema.- que como ya se ha comentado se realiza a través de la etiqueta Sistema. Mostrar la lista de procesos.- a través de la etiqueta Procesos. La información se muestra tabulada conteniendo cada fila información de un proceso y las columnas los diferentes tipos de información: nombre del proceso, estado, porcentaje de CPU utilizado, prioridad, nº identificativo de proceso, cantidad de memoria utilizada, propietario del proceso, etc. Las columnas a mostrar se pueden seleccionar a través de la opción Editar - Preferencias Ficha Procesos. Un proceso puede crear otro proceso. El proceso creado es un proceso hijo del proceso que lo creó, que se llamará proceso padre. De forma predeterminada el Monitor del sistema no muestra las dependencias de los procesos pero puede configurarse para que así sea, como se describirá más adelante. Cada proceso tiene una prioridad que se establece mediante un valor numérico. La prioridad determina el orden de ejecución de los procesos: los procesos con prioridad alta se ejecutan antes que los de prioridad baja. El orden de prioridad es inverso al valor de prioridad asignado a un proceso; así un valor de prioridad alto indicará menor prioridad del proceso que otro con un valor de prioridad más bajo. El valor asignado por defecto es 0. Los procesos hijo generalmente heredan su prioridad de los procesos padre que los crean. Ordenar la lista de procesos.- de forma predeterminada los procesos aparecen ordenados alfabéticamente y de manera ascendente por su nombre. Para ordenarlos por la información de otra columna basta con pulsar sobre el título de dicha columna. Si se vuelve a pulsar sobre el título se invierte el orden. Página.- 247

249 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red Modificar el contenido de la lista de procesos.- puede elegirse qué procesos deben mostrarse a través de la opción Ver del menú de opciones. Las opciones disponibles son: Procesos activos. Todos los procesos. Mis procesos. Dependencias.- si este cuadro de verificación no se encuentra activado los procesos se mostrarán en orden alfabético ascendente, sin diferenciar entre procesos padre y procesos hijo; si se encuentra activado, los nombres e iconos de los procesos padre estarán precedidos por un triangulo pequeño que permitirá, pulsando sobre él, desplegar y ocultar sus procesos hijo. Mostrar el mapa de memoria para un proceso.- se selecciona el proceso y se elige la opción Ver Mapas de memoria. La información se muestra de forma tabulada, con el nombre del proceso sobre la tabla y las columnas siguientes: Archivo.- contiene el nombre del archivo o biblioteca compartida que está siendo usada actualmente por el proceso. Si este campo está vacío, la fila describe la memoria ocupada por el proceso seleccionado. Inicio MV.- dirección de inicio del segmento de memoria. Fin MV.- dirección donde finaliza el segmento de memoria. Tamaño MV.- tamaño del segmento de memoria. Banderas.- describe los diferentes tipos de acceso que el proceso puede realizar a los segmentos de memoria: p r s w x El segmento de memoria es privado al proceso y no es accesible por otros procesos. El proceso tiene permiso de lectura en el segmento de memoria. El segmento de memoria está compartido con otros procesos. El proceso tiene permiso de escritura en el segmento de memoria. El proceso tiene permiso para ejecutar instrucciones contenidas en ese segmento de memoria. Desplazamiento MV.- desplazamiento de la memoria virtual sobre el segmento de memoria. Dispositivo.- contiene los nombres de los dispositivos donde se encuentra la biblioteca compartida. Página.- 248

250 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red nodo-i.- inodo del dispositivo desde el que se carga en memoria la biblioteca compartida. Para ordenar la información por el contenido de alguna columna hay que pulsar sobre el título de la columna. Pulsando de nuevo se invierte el orden. Cambiar la prioridad de un proceso.- se selecciona el proceso y se elige la opción Editar Cambiar la prioridad; aparecerá una ventana que permitirá modificar la prioridad mediante un deslizador y pulsando finalmente el botón Cambiar prioridad. Debe tenerse en cuenta que la prioridad (orden de ejecución) de los procesos es inversa al valor asignado: valores bajos indican prioridades altas y viceversa. Finalizar un proceso.- se selecciona el proceso y se elige la opción Editar Finalizar proceso o se pulsa sobre el botón Finalizar proceso situado en la esquina inferior derecha de la ventana que muestra la tabla de procesos. Terminar ( matar ) un proceso.- se selecciona el proceso y se elige la opción Editar Matar proceso. Esta opción fuerza la finalización del proceso inmediatamente y suele utilizarse en aquellos casos en los que no se puede finalizar un proceso de forma normal. Monitorizar el uso de la CPU.- se realiza desde la ficha Recursos y muestra el uso histórico de la CPU de forma gráfica y, debajo de la gráfica, el uso actual en porcentaje. Monitorizar el uso de la memoria de intercambio.- similar al de la CPU. Debajo de la gráfica se muestra la cantidad de memoria RAM y de intercambio en uso. Monitorizar la actividad de red.- similar a las anteriores. Debajo de la gráfica se muestran los datos recibidos y enviados por segundo y total. Monitorizar el sistema de archivos.- se realiza desde la ficha Sistemas de archivos. Muestra, para los sistemas de archivos montados, la siguiente información: Dispositivo.- ubicación del archivo de bloques. Directorio.- punto de montaje (directorio de acceso) del dispositivo. Tipo.- tipo de sistema de archivos. Total.- capacidad total del dispositivo. Libre.- espacio sin usar del dispositivo. Disponible.- espacio del que se puede disponer. Usado.- espacio usado (y porcentaje del total). Página.- 249

251 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red Personalizar la información mostrada por las diferentes fichas.- se realiza desde la opción Editar Preferencias y permite seleccionar valores como: La frecuencia con que se actualiza la información relativa a los procesos. Las columnas de información para los procesos. La frecuencia de actualización de las gráficas. La frecuencia de actualización de los sistemas de archivos montados. Las columnas de información para los sistemas de archivos. Etc. El cuadro de verificación de Editar Preferencias Ficha Procesos Cuadro de verificación Modo Solaris mostrará el porcentaje de CPU de cada proceso de la tabla de procesos dividido entre el número de CPU's. Los posibles estados en que pueden encontrarse los procesos son: durmiendo y ejecutándose. Mostrar la columna de línea de comandos para los procesos puede ser interesante para conocer el nombre de algún programa en ejecución y las opciones con que ha sido lanzado. Puede consultarse la ayuda del programa para obtener información más detallada Instrucciones que muestran información del sistema Una selección de instrucciones, vistas anteriormente, que muestran información similar a la que muestra la herramienta gráfica Monitor del sistema, pero en el entorno no gráfico, pueden ser: uname [opcion] Visualiza información del sistema -a -p -r Toda la información (tipo de núcleo, nombre del equipo, versión del núcleo, fecha y hora, arquitectura de la CPU, tipo de procesador y tipo de sistema operativo). Tipo de procesador o unknown. Versión del núcleo. Página.- 250

252 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red fdisk [opciones] [dispositivo] Permite consultar, crear, borrar, redimensionar, particiones. Para su correcta ejecución se necesitan privilegios de usuario root. -l Visualiza las características y la tabla de particiones del dispositivo especificado. Si no se especifica dispositivo muestra las particiones de /proc/partitions (si existe). Es una opción muy útil por mostrar las particiones de todos los dispositivos existentes. Ejemplos: fdisk -l free [opciones] Muestra la cantidad de memoria RAM y de memoria swap libre y usada. Para el buen funcionamiento del sistema la memoria de swaping no debe estar utilizándose. -m -t Muestra la información en Mb. Muestra una línea totalizando RAM + swap Ejemplos: free -mt lsmod Muestra el estado de los módulos del kernel actualmente cargados. Se complementa con los comandos de inserción (insmod) y borrado (rmmod) de módulos. df Muestra la capacidad, el espacio usado y libre y el punto de montaje de las particiones. -h Utiliza el Mb y Gb como unidad de medida. uptime Muestra la hora actual, el tiempo que lleva encendido el equipo, los usuarios conectados y la carga promedio de la CPU (load average) en los últimos 1, 5 y 15 minutos. Para saber quienes son los usuarios conectados puede utilizarse la instrucción w. w Muestra los usuarios conectados y sus programas en ejecución. Como complemento a uptime y w puede utilizarse la instrucción who -b que indica la fecha y hora en que se inició el equipo. Página.- 251

253 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red lsof Muestra los archivos abiertos por los diferentes procesos en ejecución. Un ejemplo de utilización puede ser el siguiente: para saber los archivos que abre la instrucción man lsof se ejecuta dicha instrucción desde un terminal y desde otro buscamos su PID con, por ejemplo, la instrucción ps -ed grep man ; con la instrucción lsof -p numero_pid se obtiene la información deseada. Es muy útil para conocer las dependencias o ficheros que un programa necesita para ejecutarse. Sin opciones muestra un listado muy extenso. ps [opciones] Muestra información acerca de los procesos en ejecución. -a Todos los procesos. top Muestra el estado de los procesos en tiempo real, actualizándose cada 3 segundos. 8.4 Montaje y desmontaje de dispositivos en sistemas operativos. Automatización La operación de montar un dispositivo en un sistema de ficheros conlleva dos operaciones diferentes: Reconocer el dispositivo.- se necesita que el sistema operativo tenga cargados los drivers necesarios para que durante el arranque (si es un dispositivo fijo) o en el momento de su inserción (si es un dispositivo extraible) pueda reconocerlo y asignarle un nombre de dispositivo. Montar el dispositivo.- una vez que el sistema operativo reconoce el dispositivo, la operación de montaje consiste en asignar al sistema de ficheros del dispositivo un directorio dentro del sistema de archivos general. Lo mismo ocurre con las demás particiones del propio disco duro: en principio MaX monta las particiones que se le han asignado durante la instalación (la de swap, la utilizada para contener el directorio raíz (/), la utilizada para contener los directorios de los usuarios (/home), etc.) y para poder acceder a las demás particiones del disco duro (windows, otros linux, ) deberán ser montadas en un directorio dentro de la estructura de directorios general. La partición de swap tiene un tratamiento especial y no se monta en ningún directorio. Página.- 252

254 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red Tres de las utilidades que permiten el manejo de particiones y dispositivos son: el propio Nautilus, el programa gparted (menú Aplicaciones Sistema Administración Editor de particiones) y gnome-volume-properties (menú Aplicaciones Sistema Preferencias Unidades y soportes extraibles). Por otra parte, hay que considerar si el usuario tiene privilegios para acceder y usar el dispositivo y para montar el sistema de ficheros. Esto se puede comprobar con el programa users-admin (menú Aplicaciones Sistema Administración Usuarios y grupos). Fig 96: Privilegios de los usuarios Dada la diversidad de herramientas, dispositivos y diferencias en el comportamiento del sistema operativo en la detección y tratamiento de dichos dispositivos, vamos a analizar el uso de tres de los más comunes: otras particiones en el mismo disco duro, una memoria conectada al puerto usb (pen drive) y una cámara de fotos digital. Una de las herramientas gráficas que permite administrar de forma eficiente las diferentes particiones de los discos duros y que ya ha sido comentada en apartados anteriores es gparted (menú Aplicaciones Sistema Administración Editor de particiones). Este programa informa del software que se necesita instalar para que el sistema operativo reconozca los diferentes tipos de particiones a través de la opción Ver Soporte para sistemas de archivos. La opción Gparted Refrescar dispositivos realiza una detección de dispositivos con sus correspondientes sistemas de ficheros. gparted permite crear, redimensionar, borrar, desmontar, particiones pero no dispone de ninguna opción que permita montar una partición. Página.- 253

255 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red Según esto, con gparted puede comprobarse cómo se encuentra particionado un disco, de qué tipo es cada partición y a continuación ejecutar el comando que realiza la operación de montaje. Debe tenerse presente que antes de lanzar la ejecución del comando mount debe haberse creado (y estar vacío) el directorio donde se montará la partición. Suele utilizarse el directorio /media para crear el subdirectorio donde montar la partición. Algunos ejemplos pueden ser los siguientes: Para montar una partición ntfs de windows, habiendo iniciado sesión como usuario root: mkdir /media/windows (crea directorio) mount -t ntfs /dev/sda1 /media/windows (monta la partición) Para montar una partición de MaX de tipo ext4: mkdir /media/max mount /dev/sda3 /media/max (crea directorio) (no hace falta especificar el tipo). Si lo que se pretende es que las particiones se monten de forma automática al iniciar el sistema, habrá que incluir una línea por cada partición a montar en el fichero /etc/fstab. Las líneas del fichero tienen la forma: sistema_ficheros punto_montaje tipo opciones dump pas El sistema de ficheros puede ser el nombre del dispositivo, que tendrá la forma /dev/sdan, o el UUID del dispositivo, que tendrá la forma UUID=fd562ad3-jk nf6. El punto de montaje será el directorio donde se visualizará la información de la partición. Las opciones harán referencia al tipo de acceso, modo de montaje en caso de error, etc. Las nuevas líneas se añadirán al final del fichero, sin tocar las existentes para no generar ningún tipo de problema. Algunos ejemplos pueden ser los siguientes: /dev/hdb2 /media/datos2 ntfs nls=utf8,umask= (partición ntfs) /dev/hdb2 /media/datos2 vfat iocharset=utf8,umask= (partición fat32) /dev/hdb2 /media/datos2 ext3 defaults 0 0 (partición ext3) Pueden asumirse las modificaciones del fichero /etc/fstab sin reiniciar el equipo mediante la instrucción mount -a ejecutada por un usuario con privilegios de administrador. Para desmontar una partición puede utilizarse la opción correspondiente del programa gparted (Partición Desmontar). Esta operación también puede realizarse desde la línea de comandos mediante la instrucción umount, con el usuario adecuado, por ejemplo: umount /media/windows Si el dispositivo es un pen drive que se conecta al puerto USB, lo más normal es que disponga de una partición con un sistema de ficheros común, seguramente de tipo FAT en Página.- 254

256 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red alguna de sus modalidades (FAT16 o FAT32) y que la operación de montaje se realice de forma automática si el usuario que ha iniciado la sesión tiene los privilegios adecuados. Así, al acceder desde el escritorio al contenido del icono Equipo aparecerá el icono que da acceso a la información del pen drive. La figura muestra un ejemplo. Fig 97: Pen drive montado automáticamente Para desmontar el dispositivo basta con pulsar con el botón derecho sobre el icono correspondiente y elegir la opción Desmontar el volumen. La figura del icono cambiará y el pen drive podrá extraerse sin riesgo de pérdida de información. También podrá ser administrado a través de gparted. Dado que a veces surgen complicaciones para montar este tipo de dispositivos, otra forma de proceder desde la línea de comandos sería la siguiente: En primer lugar hay que averiguar qué dispositivo (/dev) es el que se corresponde con el pen drive. Para ello hay que comprobar si el paquete sg3-utils se encuentra instalado, e instalarlo si es necesario. A continuación se ejecuta la instrucción sg_scan -i cuyo resultado puede ser similar al de la figura, donde la línea /dev/sg2:.. corresponde al pen drive. Fig 98: Instrucción: sg_scan -i Página.- 255

257 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red A continuación se ejecuta la instrucción sg_map que deberá mostrar los nombres de dispositivo que corresponden a cada elemento mostrado por la instrucción anterior, de forma similar a como muestra la figura. Fig 99: Instrucción sg_map En el ejemplo es /dev/sdc el dispositivo buscado. Quedaría montar el dispositivo en un directorio creado al efecto, con una instrucción similar a: mount /dev/sdc /mnt/directorio Si el pen drive tiene particiones el montaje deberá efectuarse sobre cada partición, que normalmente tendrán el mismo nombre del dispositivo añadiendo un número (/dev/sdc1, /dev/ sdc2, ). La instrucción cfdisk /dev/sdc puede ayudar a conocer si contiene o no particiones. Para el caso de una cámara de fotos digital deberá considerarse: Conocer las instrucciones de la cámara de fotos para realizar en ella las operaciones que permitan la comunicación con el ordenador. Saber si el usuario tiene el privilegio de acceder a dispositivos de almacenamiento externo. Si es conveniente que al insertar la cámara se lance la ejecución de algún programa concreto. Para este caso puede ser recomendable la ejecución de f-spot-import que permite pasar las fotos de la cámara al ordenador, agruparlas por álbumes y muestra información característica de las fotografías (resolución, histograma,...). Página.- 256

258 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red Fig 100: Preferencias de algunos dispositivos Por lo demás, el sistema de archivos de la cámara de fotos puede ser manejado a través de gparted, Nautilus, etc. como cualquier otro sistema de ficheros. 8.5 Herramientas de administración de discos. Particiones y volúmenes. Desfragmentación y chequeo MaX dispone de una gran variedad de herramientas gráficas y en modo comando que permiten administrar los discos duros. Cada una de ellas tiene sus particularidades, ventajas e inconvenientes. Algunas de ellas ya han sido tratadas en temas o apartados anteriores, como es el caso de gparted (editor de particiones), fdisk, etc., y que ahora sencillamente se mencionarán Particiones Para hacer uso de las herramientas que permiten administrar particiones es necesario disponer de privilegios de administrador. Entre las herramientas más utilizadas se encuentran: gparted Herramienta gráfica que permite administrar las particiones de los discos: crear, borrar, redimensionar, Es accesible mediante la instrucción gparted o a través del menú Aplicaciones Sistema Administración Editor de particiones. Su deficiencia más acusada es que no permite montar las particiones creadas. Ya ha sido analizada en secciones anteriores. pysdm Herramienta gráfica que permite administrar discos y particiones. No se instala por defecto. Su ejecución se lanza a través de la instrucción pysdm o del menú Aplicaciones Sistema Administración Dispositivos de almacenamiento. Página.- 257

259 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red Fig 101: Utilidad pysdm Las opciones que se pueden asignar a cada partición pueden seleccionarse a través del botón Asistente que muestra una breve explicación de cada una de ellas. mountmanager Utilidad gráfica muy completa con gran diversidad de opciones para manipular, montar, desmontar, recuperar, particiones. Funciona correctamente con el escritorio KDE pero con Gnome puede presentar algunos problemas (QGtkStyle cannot be used together with the GTK_Qt engine) dependiendo de la configuración de la apariencia del escritorio. Fig 102: Utilidad mountmanager Página.- 258

260 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red partitionmanager Utilidad gráfica para KDE que permite manejar discos, particiones y una gran variedad de tipos de sistemas de ficheros. También funciona con GNOME y puede lanzarse desde la línea de comandos o a través del menú Aplicaciones Herramientas del sistema Gestor de particiones de KDE. Fig 103: Utilidad partitionmanager fdisk Instrucción que permite administrar las particiones de los discos. testdisk Permite escanear, reparar y recuperar particiones de los discos. Trabaja con gran variedad de tipos de particiones: ext2, ext3, swap, raid, LVM, FAT 16, FAT 32, NTFS, etc. Puede obtenerse información más detallada en y mediante la instrucción man testdisk. Si se ejecuta sin opciones, permitirá elegir entre crear un fichero para registrar la información generada, añadirla a un fichero existente o simplemente no registrarla. Página.- 259

261 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red Fig 104: Instrucción testdisk A continuación permitirá elegir el disco a analizar o salir del programa. Si se selecciona un disco, solicitará el tipo de tabla de particiones y a continuación permitirá analizar, cambiar la geometría, borrar la tabla de particiones, cargar el MBR, etc. Fig 105: Opciones de testdisk / list Muestra las particiones. Ejemplo: testdisk /list Página.- 260

262 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red ddrescue y gddrescue Son herramientas que permiten recuperar datos de particiones que presentan errores. Intentan leer y si se producen fallos continúan con los siguientes sectores donde herramientas como dd no funcionarían. Si el proceso de copia se interrumpe por el usuario es posible continuar a partir de esa posición más tarde. parted Utilidad que mediante comandos permite crear etiquetas, crear tablas de particiones, mover, redimensionar, copiar particiones, etc. Fig 106: Instrucción parted Y una gran variedad de utilidades más que permiten operar con discos, particiones y sistemas de ficheros, entre las que se encuentran: e2tools. grub-disk. filelight. ext3grep. gdecrypt. easycrypt. partimage. recoverdm. recover. secure-delete. gpart. diskmanager. Etc. Página.- 261

263 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red Volúmenes Debe tenerse muy en cuenta que el empleo del gestor de volúmenes lógicos (LVM) conlleva un alto riesgo de pérdida de la información. El bloqueo de aplicaciones, cortes de alimentación y ejecución de comandos erróneos son una fuente de riesgo. Se recomienda realizar una copia de seguridad antes de implementar LVM o reconfigurar volúmenes. El gestor de volúmenes lógicos (Logical Volume Manager o LVM) permite distribuir el espacio del disco de forma flexible en diferentes sistemas de archivos. El LVM se desarrolló por la dificultad que supone modificar las particiones en un sistema en ejecución. LVM pone en común un depósito o pool virtual (Volume Group abreviado VG) de espacio en disco. De este VG se forman los volúmenes lógicos en caso necesario. El sistema operativo accede entonces a éstos en lugar de a las particiones físicas. Los VG se pueden extender por varios discos, de tal forma que un solo VG puede estar constituido por más de una unidad o partes de ellas. Así, el LVM proporciona un cierto nivel de abstracción en relación al espacio físico del disco que permite que su organización pueda ser modificada de una forma mucho más fácil y segura que un reparticionamiento físico. Fig 107: Particiones frente a LVM En la figura puede verse una comparación entre el particionamiento físico (izquierda) y el uso del LVM (derecha). En el lado izquierdo, se ha dividido un solo disco en tres particiones físicas (PART), con un punto de montaje (PM) para cada una, de tal forma que el sistema operativo pueda acceder a ellas. A la derecha, se han dividido dos discos en dos y tres particiones físicas cada uno. Se han definido dos grupos de volúmenes LVM (GV 1 y GV 2). GV 1 contiene dos particiones del disco DISCO 1 y una del DISCO 2. GV 2 emplea las dos particiones restantes del DISC0 2. En LVM, las particiones físicas que son incorporadas a un grupo de volúmenes se denominan volúmenes físicos (Physical volume, PV). Dentro de los grupos de volúmenes se han definido cuatro volúmenes lógicos (desde VL 1 hasta VL 4). Estos volúmenes pueden emplearse por el sistema operativo mediante los puntos de montaje asociados. La línea divisoria entre los diferentes volúmenes lógicos no tiene por qué coincidir con la división de una partición. Página.- 262

264 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red Por ejemplo, los límites de los volúmenes VL 1 y VL 2 no coinciden con los de las particiones. Características de LVM: Es posible juntar varias particiones o discos para formar una gran partición lógica. Si un VL se queda sin espacio (por ejemplo /home), es posible aumentar su tamaño si está correctamente configurado. LVM permite añadir discos duros o VL incluso cuando el sistema está en marcha. Esto requiere, evidentemente, hardware que se pueda cambiar en caliente (hot swap). Es posible utilizar varios discos duros en modo RAID 0 (striping) con el consiguiente incremento de rendimiento. La función snapshot permite, sobre todo en servidores, realizar copias de seguridad coherentes mientras el sistema está en funcionamiento. El uso de LVM vale la pena ya a partir de PCs domésticos muy utilizados o en servidores pequeños. LVM resulta ideal para un volumen de datos creciente como por ejemplo en el caso de bases de datos, archivos de música, directorios de usuarios, etc. En tal caso es posible configurar sistemas de archivos más grandes que un solo disco duro. Otra ventaja del LVM es la de poder crear hasta 256 VL's. Sin embargo, es importante considerar que el trabajo con el LVM se diferencia mucho del trabajo con particiones convencionales. Puede encontrarse información en inglés sobre la configuración del Logical Volume Manager (LVM) en el HowTo oficial de LVM Con la versión 2.6 del kernel, LVM se actualizó a la versión 2. Esta versión, que es compatible con la versión previa de LVM, puede seguir administrando grupos de volúmenes ya existentes. LVM2 no necesita parches del kernel y utiliza el mapeador de dispositivos (device mapper) integrado en el kernel 2.6. A partir de este kernel, LVM sólo puede utilizarse en su versión 2. Por este motivo, cuando en el capítulo se habla de LVM nos referimos siempre a LVM2. Para comprender el correcto funcionamiento de los volúmenes lógicos se propone la realización de la siguiente práctica. Práctica Utilizando un pen drive realizar las siguientes operaciones: Crear cinco particiones, tres primarias y dos lógicas sobre una extendida. Instalar si es necesario lvm2 y system-config-lvm. Página.- 263

265 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red Inicializar las particiones las particiones primarias y las lógicas. Crear dos grupos de volúmenes: GV1 que incluya las dos primeras particiones (primarias) y GV2 que incluya las tres últimas (una primaria y dos lógicas). Crear tres volúmenes lógicos: uno, llamado VL1, que ocupe GV1 completamente y que se montará en /media/vl1, otro, llamado VL2, dentro de GV2 que ocupe la mitad del espacio y que se montará en /media/vl2 y el último, llamado VL3, que ocupará el resto de GV2 y que se montará en /media/vl3. Antes de proceder a la realización de esta práctica, para evitar desastres debidos a confusiones del usuario o errores del sistema, debe realizarse copia de seguridad de la información del equipo. Para evitar problemas con los permisos y autorizaciones se puede iniciar una sesión en un terminal y a continuación hacer uso de la instrucción su root. También puede realizarse con el usuario madrid u otro con privilegios de administrador. A continuación se procede a la creación de las particiones con la instrucción gparted (menú Aplicaciones Sistema Administración Editor de particiones), teniendo cuidado de seleccionar el dispositivo correspondiente al pen drive. Fig 108: Creación de particiones El orden de creación de las particiones debe ser: primero se crean tres primarias, después una extendida que ocupe todo el espacio restante y finalmente las dos lógicas dentro de la extendida. Las operaciones no se realizan hasta que se pulsa el botón Aplicar. Finalizado este proceso el resultado será similar al que muestra la figura. Página.- 264

266 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red Fig 109: Pen drive particionado A continuación se comprueba si se encuentra instalado el paquete lvm2 que gestiona los volúmenes lógicos y el paquete system-config-lvm que es un programa gráfico que permite configurar LVM, instalándolos si es necesario. Se lanza la ejecución de system-config-lvm tecleando la instrucción o a través de la opción menú Aplicaciones Herramientas del sistema Administración de Volúmenes Lógicos. Puede producirse un error al leer o guardar la información de configuración del programa que podría hacer que algunas opciones no funcionen pero que permite continuar perfectamente con el proceso. Aparecerá una ventana con una subventana a la izquierda que deberá mostrar una lista de Entidades no inicializadas que contendrá los dispositivos de almacenamiento del equipo, y entre ellos el pen drive. Desplegando (click sobre el triangulito que precede al elemento) el elemento de la lista correspondiente al pen drive aparecerán las particiones creadas anteriormente. Fig 110: Ventana del programa system-config-lvm Página.- 265

267 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red Hay que inicializar las particiones primarias y las lógicas que van a formar parte del LVM; en este caso todas las lineas (particiones) de /dev/sdb a excepción de las correspondientes a la partición extendida y al espacio sin particionar. Para ello habrá que ir seleccionando una a una y pulsando sobre el botón Inicializar Entidad. Al inicializar la primera, en la subventana de la izquierda aparecerá una nueva lista de Volúmenes no asignados. Al finalizar esta operación las particiones seleccionadas formarán parte del sistema LVM aunque aún no estarán asignadas a ningún grupo de volúmenes lógicos. Para crear los grupos de volúmenes GV1 y GV2 se selecciona, por ejemplo, la partición primera y el tubo de la ventana central se volverá rojo y aparecerán los botones Crear un nuevo Grupo Volumen, Agregar al Grupo Volumen existente y Eliminar Volumen de la AVL (Administración de Volúmenes Lógicos). Pulsando sobre el botón Crear un nuevo Grupo Volumen aparece una ventana (ver figura) solicitando: Nombre del grupo volumen.- en este ejemplo vamos a llamar a un grupo volumen GV1 y al otro GV2. Máximo de volúmenes físicos.- los volúmenes físicos son las particiones. Por defecto toma el valor 256 que suele ser más que suficiente. Máximo de volúmenes lógicos.- por defecto toma el valor 256 que suele ser más que suficiente. Los volúmenes lógicos son partes en las que se dividen los grupos de volúmenes y que van a tener su propio punto de montaje; no tienen por qué coincidir con los volúmenes físicos. Tamaño físico.- es la unidad mínima en que se va a dividir el grupo de volúmenes. Para tener una idea más precisa, sería como la correspondiente a los sectores de una partición o a los inodos de un sistema de ficheros ext4. Por defecto toma 4 Mb. que permitirá volúmenes físicos y lógicos de hasta 256 Gb. Si se prevee sobrepasar esta capacidad deberá aumentarse el valor del tamaño físico. Con clúster.- este cuadro de verificación debe activarse cuando el grupo volumen va a formar parte de un sistema compuesto por varios equipos. Generalmente un ordenador personal dispone de un disco duro donde almacena toda la información; si el volumen de información aumenta pueden instalarse discos duros adicionales; en sistemas que manejan gran cantidad de información, ésta podrá distribuirse (compartiéndola) en varios equipos que formarán lo que se denomina un clúster. Página.- 266

268 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red Fig 111: Creación de grupos de volúmenes Hay que tener en cuenta que al crear un grupo de volúmenes, el programa incluye en él el volumen físico (partición) que se encontraba seleccionado al pulsar el botón para la creación del grupo volumen. En cualquier caso, la operación es reversible y si nos equivocamos se puede deshacer por medio del botón Eliminar volumen de la AVL. Para crear el grupo volumen GV2 bastará con seleccionar la tercera partición y proceder de forma similar a la creación de GV1. Una vez creados los dos grupos de volúmenes habrá que añadirles las particiones que correspondan para que GV1 contenga las dos primeras particiones y GV2 las tres últimas. Puesto que la primera partición ya debe estar incluida en GV1, se procede con la segunda: se selecciona dicha partición de la lista de Volúmenes no asignados y se pulsa sobre el botón Agregar al Grupo Volumen. Aparecerá una lista con los grupos creados, se selecciona GV1 y se pulsa sobre el botón Añadir. Se procede de forma similar para el resto de particiones, finalizando así el proceso de asignación de volúmenes físicos (particiones) a los grupos de volúmenes. Fig 112: Grupo Volumen con Volúmenes físicos incorporados Dependiendo del elemento que se seleccione en las listas de la izquierda se mostrará un gráfico u otro con sus propiedades en las subventanas central y derecha. Página.- 267

269 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red Para crear el primer volumen lógico, VL1, se selecciona en la izquierda el elemento GV1 Vista Lógica y se pulsa sobre el botón Crear nuevo Volumen Lógico. Aparecerá una ventana solicitando los datos correspondientes: Fig 113: Creación de volumen lógico Nombre del volumen lógico.- en nuestro caso los nombres que se asignarán serán VL1, VL2 y VL3 respectivamente. Propiedades del volumen.- dependiendo de las opciones que se elijan permite crear volúmenes normales, RAID 0 o RAID 1. La tecnología RAID establece varios niveles de seguridad y eficacia para los volúmenes. Un volumen RAID 0 distribuye la información de los volúmenes lógicos entre varios volúmenes físicos (striping). Si los volúmenes físicos residen en diferentes discos duros los procesos de lectura/escritura se aceleran puesto que los equipos pueden leer/ escribir en varios discos diferentes a la vez (franjas). Si, por ejemplo, un fichero que ocupa 8 Kb. se graba en dos discos diferentes, los primeros 4 Kb. en uno y los otros 4 Kb. en el otro, el proceso de lectura/escritura se optimiza. Sin embargo, un volumen lógico de n franjas o bandas sólo puede crearse correctamente cuando el espacio de disco requerido por el volumen lógico puede distribuirse de forma uniforme en n volúmenes físicos. Si sólo están disponibles dos volúmenes físicos, un volumen lógico de tres franjas no sería viable. Para configurar un volumen RAID 0 hay que seleccionar Striped (distribuido), el número de franjas del volumen y la capacidad de las partes (gránulos) en las que se van a dividir los ficheros para distribuirlas en cada franja. Si, por ejemplo, un fichero ocupa 12 Kb y disponemos de cinco duros en los que se ha creado un volumen lógico Página.- 268

270 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red de cinco franjas con una granularidad de 2 Kb., el fichero se dividirá en partes o gránulos de 2 Kb. que se irán grabando de forma consecutiva en cada franja, quedando distribuido el fichero de la forma: en el primer disco los gránulos 1º, 6º y 11º, en el segundo disco los gránulos 2º y 7º, etc., como muestra la figura. Fig 114: Distribución RAID 0 Si el equipo puede leer/escribir en los 5 discos a la vez, en cada operación de lectura/escritura abarcará una gran cantidad de información del fichero, incrementando eficazmente el tratamiento de la información. Un volumen RAID 1 utiliza dos discos, el segundo para contener una copia exacta del primero de tal forma que, si uno de ellos se estropea, la información se recuperará a partir del otro. Esta técnica también se llama mirroring o disco espejo. Para generar un volumen lógico RAID 1 deberá activarse el cuadro de verificación Espejado y podrá observarse como la capacidad del volumen pasa automáticamente a ser la mitad (aprox.). Evidentemente este método es efectivo si el volumen lógico cuenta con dos volúmenes físicos (particiones), cada uno en un disco y a ser posible tanto los discos como los volúmenes físicos exactamente iguales. En nuestro caso, los tres volúmenes serán lineales sin espejar. Tamaño del volumen lógico.- se mide en extensiones, teniendo en cuenta que la capacidad de la extensión se establece como Tamaño físico al crear el grupo volumen. En el ejemplo, VL1 constará de 250 extensiones de 4 Mb. cada una, lo que supone un total de 1 Gb., Vl2 constara de 188 extensiones y VL3 de 187. Con esta distribución VL1 ocupará las dos primeras particiones primarias (volúmenes físicos), VL2 la tercera partición primaria y parte de la primera partición lógica y VL3 parte de la primera partición lógica y la segunda partición lógica. Sistema de archivos.- se recomienda utilizar ext3 o ext4. Además mediante los cuadros de verificación Cantidad y Cantidad cuando reinicie permite especificar el punto de montaje (directorio) del volumen y si será montado automáticamente al reiniciar el Página.- 269

271 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red equipo. Si el directorio especificado no existe dará opción a crearlo en ese momento. Por defecto, el directorio de montaje se creará con los permisos rwxr-xr-x, es decir, lectura, escritura y ejecución para el propietario, lectura y ejecución para el grupo al que pertenece el propietario y lectura y ejecución para los otros, teniendo en cuenta que el significado del permiso de ejecución para los directorios consiste en la posibilidad de establecerlo como directorio activo. En nuestra práctica los tres volúmenes serán de tipo ext3, en los tres se marcará el cuadro de verificación Cantidad y los puntos de montaje serán respectivamente /media/vl1, /media/vl2 y /media/vl3. No se marcará el cuadro de verificación Cantidad cuando reinicie porque al estar realizando la práctica sobre un pen drive conectado a un puerto USB puede ocurrir que al reiniciar el equipo el pen drive no se encuentre insertado. Se permitirá la creación automática de los directorios de montaje y para que todos los usuarios puedan escribir en los volúmenes se añadirá el permiso de escritura con la instrucción: chmod a+w /media/vl1 /media/vl2 /media/vl3 Fig 115: Vistas física y lógica del grupo de volumenes Esta práctica puede ser ampliada realizando las operaciones: Crear otra partición lógica e inicializarla. Añadir el nuevo volumen físico a GV2 y a VL3. Todas las operaciones relativas a LVM pueden realizarse desde la línea de comandos como se indica a continuación: Para instalar LVM junto con algunas utilidades: sudo aptitude install lvm2 dmsetup mdadmin Página.- 270

272 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red Para asignar las particiones (/dev/sdb1 /dev/sdb6) al sistema lvm: sudo pvcreate /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb5 /dev/sdb6 Para crear los grupos de volúmenes: sudo vgcreate VG1 /dev/sdb1 /dev/sdb2 sudo vgcreate VG2 /dev/sdb3 /dev/sdb5 /dev/sdb6 Para crear los volúmenes lógicos: sudo lvcreate --name VL1 --size 1G GV1 sudo lvcreate --name VL2 --size 752M GV2 sudo lvcreate --name VL3 --size 748M GV2 Para crear los sistemas de archivos dentro de los volúmenes lógicos: sudo mkfs.ext3 /dev/gv1/vl1 /dev/gv2/vl2 /dev/gv2/vl3 Si los sistemas de ficheros hubieran sido de otro tipo habría que haber utilizado alguno de los comandos: mkfs.ext2, mkfs.xfs, etc. Para crear los directorios y montar los volúmenes lógicos: sudo mkdir /media/vl1 /media/vl2 /media/vl3 mount /dev/gv1/vl1 /media/vl1 mount /dev/gv2/vl2 /media/vl2 mount /dev/gv2/vl3 /media/vl3 Y por último, si se desea que los volúmenes lógicos estén accesibles sin necesidad de usar la cuenta de un usuario administrador, pueden crearse las lineas correspondientes en el fichero /etc/fstab cuyo formato será similar a: /dev/gv1/vl1 /media/vl1 ext3 defaults,users,noatime 0 0 /dev/gv2/vl2 /media/vl2 ext3 defaults,users,noatime 0 0 /dev/gv2/vl3 /media/vl3 ext3 defaults,users,noatime Desfragmentación y chequeo Los sistemas de ficheros están sometidos a un constante trasiego de archivos: creación, borrado, modificación del tamaño,, que provoca, por una parte, que los ficheros se fragmenten y, por otra, que aparezcan huecos sin información útil. La fragmentación de los ficheros produce una ralentización en el acceso a los mismos puesto que las cabezas de lectura/escritura de los discos duros tienen que desplazarse a distintos lugares para leer la información de un mismo fichero. Los huecos se generan con el borrado de ficheros o con la Página.- 271

273 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red disminución de su tamaño y serán los causantes de la fragmentación y dispersión de los nuevos ficheros y, por lo tanto, de reducir el rendimiento y la capacidad de los discos. Entre los factores más influyentes en el rendimiento de los sistemas de archivos a causa de la fragmentación se encuentran: La organización o algoritmos que utilizan los diferentes tipos de ficheros para localizar o situar los archivos. Los sistemas de archivos de tipo FAT y NTFS utilizan un procedimiento simple para situar los archivos que no optimiza la fragmentación: a la hora de grabar un fichero se van ocupando los espacios libres del disco aunque para ello se fragmente enormemente el fichero. Los sistemas ext2, ext3 y ext4, cuando graban el primer bloque se datos del fichero, reservan, si es posible, ocho bloques contiguos para minimizar la fragmentación cuando el fichero crezca. Las reorganizaciones automáticas que realiza el sistema operativo para mantener los sistemas de ficheros en niveles bajos de fragmentación. MaX realiza periódicamente la comprobación de sus sistemas de archivos y efectúa operaciones de optimización si es necesario. La forma o algoritmos de acceso que utilizan los sistemas operativos para acceder a los archivos según el tipo de sistema de ficheros donde se encuentran. Los algoritmos de MaX para acceder a sus sistemas de archivos más típicos (ext3, ext4, ) reducen el impacto de la fragmentación de los ficheros en el incremento de los tiempos de acceso a los mismos.. El tipo de ficheros y de accesos a los mismos. En este sentido tiene gran importancia la capacidad de la unidad de asignación de ficheros elegida para el sistema de archivos al formatear o inicializar los volúmenes. Si se eligen unidades de asignación de ficheros muy grandes y las aplicaciones que se utilizan gestionan gran cantidad de ficheros pequeños puede ocurrir que un gran número de unidades de asignación de ficheros se queden sin completar, desperdiciando así una parte considerable de la capacidad del disco. En el caso contrario, si se eligen unidades pequeñas y las aplicaciones utilizan bases de datos o ficheros enormes, puede ocurrir que el sistema utilice demasiado tiempo en realizar las consultas sobre cuál es el siguiente bloque de información a tratar. En cuanto al tipo de accesos, influye la frecuencia de creación, borrado y modificación de ficheros: generalmente, a mayor frecuencia mayor índice de fragmentación. Página.- 272

274 MAX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Red En Linux escasean las herramientas de tratamiento de la fragmentación por haberse desarrollado técnicas de gestión de los sistemas de archivos y tipos de sistemas de archivos que minimizan la fragmentación o su impacto. Una forma de comprobar el nivel de fragmentación de un volumen consiste en desmontarlo y hacer uso de la instrucción fsck. Por ejemplo: umount /media/vl1 fsck -nvf /dev/gv1/vl1 La instrucción fsck informará de las comprobaciones o chequeos que se realizan, así como del número de inodos utilizados, de ficheros fragmentados, etc. Para desfragmentar un volumen puede hacerse una copia de seguridad comprimida de la información que contiene, borrar completamente toda la información del fichero y volver a recuperarla desde la copia de seguridad. 8.6 Actividades Ver los repositorios configurados en Synaptic. Comprobar las dependencias y archivos instalados del paquete apache2. Buscar los paquetes que en su nombre o descripción contienen la palabra backup. Instalar con apt-get el programa de copias de seguridad keep. Comprobar si el proceso gnome-system-monitor se encuentra activo. Visualizar la lista de procesos ordenada por el nombre del proceso. Eliminar la columna Memoria del servidor X. 7. Abrir un archivo con el editor de textos, buscar el proceso que le corresponde y comprobar si en la lista de ficheros abiertos por el proceso se encuentra el fichero editado. Matar el proceso. 8. Comprobar el uso de la CPU, de la memoria y de la red. 9. Comprobar la ocupación de los sistemas de archivos montados. 10. Probar el funcionamiento de las instrucciones que muestran información del sistema, con sus diferentes opciones. 11. Montar un sistema NTFS y acceder a su contenido consultando sus ficheros y carpetas. Desmontarlo. 12. Montar y desmontar un pen drive. 13. Conectar una cámara de fotos digital al puerto USB y extraer sus fotos. 14. Realizar la práctica relativa a la creación de particiones y volúmenes en un pen drive. Ampliar con un volumen físico el grupo de volúmenes GV1 y el volumen lógico VL3. Comprobar la fragmentación de VL1, VL2 y VL Escribir las instrucciones que permitirían desfragmentar el directorio /home, que podemos suponer que se encuentra montado individualmente sobre una partición. Página.- 273

275 9 VOLÚMENES Y NIVELES RAID 9.1 Aspectos didácticos Objetivos: Conocer las características de los RAID hardware y software. Diferenciar los niveles RAID y conocer sus ventajas e inconvenientes. Conocer el software disponible en MaX para gestión de RAID's y utilizarlo. Saber administrar volúmenes RAID anulando discos defectuosos e incorporando discos nuevos. Documentación. La documentación de este tema se puede ampliar a través de la ayuda del S.O. (instrucciones man, info, ), con la documentación oficial de MaX y de Ubuntu, con la Ayuda o manuales incluidos en los propios paquetes y con la información sobre RAID incorporada en Wikipedia. Resumen. Este tema trata las características de los volúmenes RAID hardware y software, los diferentes niveles existentes de RAID, incorporando esquemas muy intuitivos que facilitan la comprensión. Se da a conocer el software que MaX incorpora para administrar volúmenes RAID y se realiza una práctica para crear un RAID 5 sobre un pen drive. Temporización: 16 horas. Página.- 274

276 9.2 Introducción El apartado muestra las características de los volúmenes y las ventajas de gestionar los discos mediante volúmenes lógicos frente a la gestión de particiones. RAID (Redundant Array of Independent Disk, conjunto redundante de discos independientes) (anteriormente Redundant Array of Inexpensive Disks) hace referencia a un sistema de almacenamiento que usa múltiples discos duros entre los que distribuye o replica los datos. Dependiendo de su configuración o «nivel», los beneficios de un RAID respecto a un único disco son uno o varios de los siguientes: mayor integridad, mayor tolerancia a fallos, mayor rendimiento y mayor capacidad. La integridad es la capacidad para la detección de datos erróneos o incompletos en, por ejemplo, las bases de datos, la tolerancia a fallos es la capacidad para acceder a la información cuando se produce un error que puede ser físico, el rendimiento es el volumen de información que puede gestionar por unidad de tiempo y la capacidad el volumen de información que puede almacenar. En sus implementaciones originales, su ventaja clave era la habilidad de combinar varios dispositivos de bajo coste y tecnología más antigua en un conjunto que ofrecía mayor capacidad, fiabilidad, velocidad o una combinación de éstas que un solo dispositivo de última generación y coste más alto. En el nivel más simple, un RAID combina varios discos duros en un solo volumen lógico. Así, en lugar de ver varios discos duros diferentes, el sistema operativo ve uno solo. Los volúmenes RAID suelen usarse en servidores y normalmente (aunque no es necesario) se implementan con unidades de disco de la misma capacidad. Debido al decremento en el precio de los discos duros y la mayor disponibilidad de las opciones RAID incluidas en los chipsets de las placas base, los niveles RAID se encuentran también como opción en los ordenadores personales más avanzados. Esto es especialmente frecuente en los computadores dedicados a tareas intensivas de almacenamiento, como edición de audio y vídeo. La especificación RAID original sugería cierto número de «niveles RAID» o combinaciones diferentes de discos. Cada una tenía ventajas y desventajas teóricas. Con el paso de los años, han aparecido diferentes implementaciones del concepto RAID. La mayoría difieren sustancialmente de los niveles RAID idealizados originalmente, pero se ha conservado la costumbre de llamarlas con números. Esto puede resultar confuso, dado que una implementación RAID 5, por ejemplo, puede diferir sustancialmente de otra. Los niveles RAID 3 y RAID 4 son confundidos con frecuencia e incluso usados indistintamente. La misma definición de RAID ha estado en disputa durante años. El uso de término «redundante» hace que muchos objeten sobre que el RAID 0 sea realmente un RAID. De igual forma, el cambio de «barato» a «independiente» confunde a muchos sobre el pretendido propósito del RAID. Incluso hay algunas implementaciones del concepto RAID que usan un solo disco. Pero en general, puede decirse que cualquier sistema que emplee los conceptos RAID básicos de combinar espacio físico en disco para los fines de mejorar la fiabilidad, capacidad o rendimiento es un sistema RAID. Página.- 275

277 9.3 Implementación por hardware y por software La distribución de datos en varios discos puede ser gestionada por hardware o por software. Además, existen sistemas RAID híbridos basados en software y hardware específico. Con la implementación por software, el sistema operativo gestiona los discos del conjunto a través de una controladora de disco normal (IDE/ATA, SATA, SCSI, SAS o Fibre Channel). Considerada tradicionalmente una solución más lenta, con el rendimiento de las CPU's modernas puede llegar a ser más rápida que algunas implementaciones hardware, a expensas de dejar menos tiempo de proceso al resto de tareas del sistema. Evidentemente es una solución más barata dado que no se necesita hardware especial y los sistemas operativos de los servidores incorporan el software necesario para configurar y gestionar los diferentes niveles RAID. Una implementación de RAID basada en hardware requiere al menos una controladora RAID específica, ya sea como una tarjeta de expansión independiente o integrada en la placa base, que gestione la administración de los discos y efectúe los cálculos de paridad necesarios para algunos niveles RAID. Esta opción suele ofrecer un mejor rendimiento y hace que el soporte por parte del sistema operativo sea más sencillo (de hecho, puede ser totalmente transparente para éste). Las implementaciones basadas en hardware suelen soportar sustitución en caliente (hot swapping), permitiendo que los discos que fallen puedan reemplazarse sin necesidad de detener el sistema. En los RAID mayores, la controladora y los discos suelen montarse en una caja externa específica, que a su vez se conecta al sistema principal mediante una o varias conexiones SCSI, Fibre Channel o iscsi. A veces el sistema RAID es totalmente autónomo, conectándose al resto del sistema como un NAS (Network Attached Storage). Los RAID híbridos se han hecho muy populares con la introducción de controladoras RAID hardware baratas. En realidad, el hardware es una controladora de disco normal sin características RAID, pero el sistema incorpora una aplicación de bajo nivel que permite a los usuarios construir RAID controlados por la BIOS. Será necesario usar un controlador de dispositivo específico para que el sistema operativo reconozca la controladora como un único dispositivo RAID. Estos sistemas efectúan en realidad todos los cálculos por software (es decir, los realiza la CPU), con la consiguiente pérdida de rendimiento, y típicamente están restringidos a una única controladora de disco. Una importante característica de los sistemas RAID por hardware es que pueden incorporar un caché de escritura no volátil (con alimentación de respaldo por batería) que permite aumentar el rendimiento del conjunto de discos sin comprometer la integridad de los datos en caso de fallo del sistema. Esta característica no está obviamente disponible en los sistemas RAID por software, que suelen presentar por tanto el problema de reconstruir el conjunto de discos cuando el sistema es reiniciado tras un fallo para asegurar la integridad de los datos. Por el contrario, los sistemas basados en software son mucho más flexibles (permitiendo, por ejemplo, construir RAID de particiones en lugar de discos completos y Página.- 276

278 agrupar en un mismo RAID discos conectados en varias controladoras) y los basados en hardware añaden un punto de fallo más al sistema (la controladora RAID). Todas las implementaciones pueden soportar el uso de uno o más discos de reserva (hot spare), unidades preinstaladas que pueden usarse inmediatamente (y casi siempre automáticamente) tras el fallo de un disco del RAID. Esto reduce el tiempo del período de reparación al acortar el tiempo de reconstrucción del RAID. En resumen, las ventajas e inconvenientes de la implementación hardware son: Ni el sistema operativo ni el procesador necesitan dedicar recursos para atender al RAID, la tarjeta realiza todas las funciones. Es muy fácil de configurar. En caso de fallo se reinstala un nuevo disco y la tarjeta realiza la réplica. El hardware conlleva un gasto adicional. 9.4 Niveles RAID RAID 0 Un nivel RAID 0 distribuye los datos equitativamente entre dos o más discos, incrementando así la velocidad de acceso a los mismos. Es importante señalar que el RAID 0 no era uno de los niveles RAID originales y que no es redundante. El RAID 0 se usa normalmente para incrementar el rendimiento, aunque también puede utilizarse como forma de crear volúmenes grandes a partir de discos duros pequeños. Un RAID 0 puede ser creado con discos de diferentes tamaños, pero el espacio de almacenamiento añadido al conjunto estará limitado por el tamaño del disco más pequeño. Así, si se forma un RAID 0 con un disco de 300 Gb y otro de 100 Gb, el tamaño del conjunto resultante será sólo de 200 GB, ya que cada disco aporta 100 Gb. Una buena implementación de un RAID 0 dividirá las operaciones de lectura y escritura en bloques de igual tamaño, por lo que distribuirá la información equitativamente entre los discos. La fiabilidad del volumen RAID 0 será igual a la fiabilidad media de cada disco entre el número de discos del conjunto; es decir, la fiabilidad total es inversamente proporcional al número de discos del conjunto. Si un disco se estropea se pierde la información del conjunto que forma el volumen. Página.- 277

279 Fig 116: Esquema de RAID 0 Entonces, las dos grandes ventajas de un nivel RAID 0 son el incremento de la velocidad de transmisión de datos y la posibilidad de obtener un volumen de gran capacidad a partir de discos de baja capacidad. Una forma de crear en MaX un volumen RAID 0 ya se contempló en el apartado 8.5.2; basta con seleccionar en la ventana de creación de volúmenes lógicos, en la sección de propiedades de VL, la opción Striped, el número de franjas o discos y la capacidad de los bloques en los que se va a dividir la información para distribuirlos por las franjas. Fig 117: Propiedades del volumen lógico RAID lineal o JBOD (Just a Bunch Of Drivers) Aunque este no es uno de los niveles RAID numerados, si es un método popular de combinar múltiples discos duros físicos en un solo disco virtual. Los discos son meramente concatenados uno tras otro comportándose como un solo disco. Se utiliza a veces para combinar varias unidades pequeñas (obsoletas) en una unidad mayor con un tamaño útil. JBOD es muy parecido al gestor de volúmenes lógicos LVM con la diferencia de que en el primer caso la traducción de la dirección lógica del dispositivo concatenado a la dirección física del disco puede ser realizada por el hardware RAID y en el segundo la traducción es realizada por el núcleo. Página.- 278

280 Una ventaja de JBOD sobre RAID 0 es que, en caso de fallo de un disco, en RAID 0 suele producirse la pérdida de todos los datos del conjunto mientras que en JBOD sólo se pierden los datos del disco afectado. Como inconveniente, JBOD no supone ninguna mejora en el rendimiento del sistema. De forma similar al RAID 0, para crear en MaX un volumen lineal o JBOD basta con seleccionar en la ventana de creación de volúmenes lógicos, la opción Lineal; de hecho, los volúmenes lógicos creados en la práctica del apartado son de este tipo RAID 1 (disco espejo o mirroring) El RAID 1 crea una copia exacta (o espejo) de un conjunto de datos en dos o más discos. Esto resulta útil cuando el rendimiento en lectura es más importante que la capacidad. Un conjunto RAID 1 sólo puede ser tan grande como el más pequeño de sus discos. Un RAID 1 clásico consiste en dos discos en espejo, lo que incrementa exponencialmente la fiabilidad respecto a un solo disco; es decir, la probabilidad de fallo del conjunto es igual al producto de las probabilidades de fallo de cada uno de los discos (pues para que el conjunto falle es necesario que lo hagan todos sus discos). Adicionalmente, dado que todos los datos están en dos o más discos, con hardware habitualmente independiente, el rendimiento de lectura se incrementa aproximadamente como múltiplo lineal del número del copias; es decir, un RAID 1 puede estar leyendo simultáneamente dos datos diferentes en dos discos diferentes, por lo que su rendimiento se duplica. Para maximizar los beneficios sobre el rendimiento del RAID 1 se recomienda el uso de controladoras de disco independientes, una para cada disco (práctica a veces denominada splitting o duplexing). Fig 118: Esquema de RAID 1 Como en el RAID 0, el tiempo medio de lectura se reduce, ya que los sectores a buscar pueden dividirse entre los discos, bajando el tiempo de búsqueda y subiendo la tasa de transferencia, con el único límite de la velocidad soportada por la controladora RAID. Sin Página.- 279

281 embargo, muchas tarjetas RAID 1 IDE antiguas leen sólo de un disco de la pareja, por lo que su rendimiento es igual al de un único disco. Algunas implementaciones RAID 1 antiguas también leen de ambos discos simultáneamente y comparan los datos para detectar errores. La detección y corrección de errores en los discos duros modernos hacen esta práctica poco útil. Al escribir, el conjunto se comporta como un único disco, dado que los datos deben ser escritos en todos los discos del RAID 1. Por tanto, el rendimiento no mejora. El RAID 1 tiene muchas ventajas de administración. Por ejemplo, en algunos entornos con más de un disco espejo, es posible «dividir el espejo» marcando un disco como inactivo, hacer una copia de seguridad de dicho disco y al finalizar actualizar el espejo. Esto requiere que la aplicación de gestión del conjunto soporte la recuperación de los datos del disco en el momento de la división. Este procedimiento es menos crítico que la presencia de una característica de snapshot (copia instantánea de un volumen en un momento dado) en algunos sistemas de ficheros, en la que se reserva algún espacio para los cambios, presentando una vista estática en un punto temporal dado del sistema de ficheros. Alternativamente, un conjunto de discos puede ser almacenado de forma parecida a como se hace con las tradicionales cintas. En MaX, un volumen RAID 1 puede crearse seleccionando en la ventana de creación de volúmenes lógicos la opción Lineal y marcando el cuadro de verificación Espejado. Fig 119: Propiedades del volumen lógico RAID 2 Un RAID 2 distribuye los datos en varios discos a nivel de bits en lugar de a nivel de bloques de información y usa un código de Hamming para la corrección de errores, que permite detectar y corregir errores a nivel de bit. Los discos son sincronizados por la controladora para funcionar al unísono. Este nivel de RAID, que permite tasas de transferencia de datos extremadamente altas, actualmente no se utiliza. Teóricamente, un RAID 2 necesitaría 39 discos en un sistema informático moderno: 32 se usarían para almacenar los bits individuales que forman cada palabra y 7 se usarían para la corrección de errores. Página.- 280

282 9.4.5 RAID 3 Un RAID 3 distribuye los datos por varios discos, a nivel de bytes, dedicando un disco exclusivamente para la paridad. Prácticamente no se usa por presentar el problema de no poder atender varias peticiones simultáneas, debido a que por definición cualquier simple bloque de datos se dividirá por todos los discos del conjunto, residiendo la misma dirección dentro de cada uno de ellos. Así, cualquier operación de lectura o escritura exige activar todos los discos del conjunto. Fig 120: Esquema de RAID 3 En el ejemplo de la figura, una petición del bloque «A» formado por los bytes A1 a A6 requeriría que los tres discos de datos buscaran el comienzo (A1) y devolvieran su contenido. Una petición simultánea del bloque «B» tendría que esperar a que la anterior concluyese RAID 4 Fig 121: Esquema de RAID 4 Un RAID 4 usa división a nivel de bloques con un disco de paridad dedicado. Necesita un mínimo de 3 discos físicos. El RAID 4 es parecido al RAID 3 con la diferencia que divide a nivel de bloques en lugar de a nivel de bytes. Esto permite que cada miembro del conjunto funcione independientemente cuando se solicita un único bloque. Si la controladora de disco lo permite, un conjunto RAID 4 puede servir varias peticiones de lectura simultáneamente. En Página.- 281

283 principio también sería posible servir varias peticiones de escritura simultáneamente, pero al estar toda la información de paridad en un solo disco, éste se convertiría en el cuello de botella del conjunto. En la figura de ejemplo, una petición del bloque «A1» sería servida por el disco 0. Una petición simultánea del bloque «B1» tendría que esperar, pero una petición de «B2» podría atenderse concurrentemente RAID 5 Un RAID 5 usa división de datos a nivel de bloques distribuyendo la información de paridad entre todos los discos miembros del conjunto. El RAID 5 ha logrado popularidad gracias a su bajo coste de redundancia. Generalmente, el RAID 5 se implementa con soporte hardware para el cálculo de la paridad. Fig 122: Esquema de RAID 5 En la figura anterior, una petición de lectura del bloque «A1» sería servida por el disco 0. Una petición de lectura simultánea del bloque «B1» tendría que esperar, pero una petición de lectura de «B2» podría atenderse concurrentemente ya que seria servida por el disco 1. Cada vez que un bloque de datos se escribe en un RAID 5, se genera un bloque de paridad dentro de la misma división (stripe). Un bloque se compone a menudo de muchos sectores consecutivos de disco. Una serie de bloques (un bloque de cada uno de los discos del conjunto) recibe el nombre colectivo de división (stripe). Si otro bloque, o alguna porción de un bloque, es escrita en esa misma división, el bloque de paridad (o una parte del mismo) es recalculada y vuelta a escribir. El disco utilizado por el bloque de paridad está escalonado de una división a la siguiente, de ahí el término «bloques de paridad distribuidos». Las escrituras en un RAID 5 son costosas en términos de operaciones de disco y tráfico entre los discos y la controladora. Los bloques de paridad no se leen en las operaciones de lectura de datos, ya que esto sería una sobrecarga innecesaria y disminuiría el rendimiento. Sin embargo, los bloques de Página.- 282

284 paridad se leen cuando la lectura de un sector de datos provoca un error de CRC o verificación de bits. En este caso, el sector en la misma posición relativa dentro de cada uno de los bloques de datos restantes en la división y dentro del bloque de paridad en la división se utilizan para reconstruir el sector erróneo. El error CRC se oculta así al resto del sistema. De la misma forma, si falla un disco del conjunto, los bloques de paridad de los restantes discos son combinados matemáticamente con los bloques de datos de los restantes discos para reconstruir los datos del disco que ha fallado «al vuelo». La operación anterior se denomina a veces Modo Interino de Recuperación de Datos (Interim Data Recovery Mode). El sistema sabe que un disco ha fallado, pero sólo con el fin de que el sistema operativo pueda notificar al administrador que una unidad necesita ser reemplazada: las aplicaciones en ejecución siguen funcionando ajenas al fallo. Las lecturas y escrituras continúan normalmente en el conjunto de discos, aunque con alguna degradación de rendimiento. La diferencia entre el RAID 4 y el RAID 5 es que, en el Modo Interno de Recuperación de Datos, el RAID 5 puede ser ligeramente más rápido, debido a que, cuando el CRC y la paridad están en el disco que falló, los cálculos no tienen que realizarse, mientras que en el RAID 4, si uno de los discos de datos falla, los cálculos tienen que ser realizados en cada acceso. El RAID 5 requiere al menos tres unidades de disco para ser implementado. El fallo de un segundo disco provoca la pérdida completa de los datos. El número máximo de discos en un grupo de redundancia RAID 5 es teóricamente ilimitado, pero en la práctica es común limitar el número de unidades. Los inconvenientes de usar grupos de redundancia mayores son una mayor probabilidad de fallo simultáneo de dos discos, un mayor tiempo de reconstrucción y una mayor probabilidad de hallar un sector irrecuperable durante una reconstrucción. A medida que el número de discos en un conjunto RAID 5 crece, el tiempo medio entre fallos (MTBF) puede ser más bajo que el de un único disco. Esto sucede cuando la probabilidad de que falle un segundo disco en los N-1 discos restantes de un conjunto en el que ha fallado un disco en el tiempo necesario para detectar, reemplazar y recrear dicho disco es mayor que la probabilidad de fallo de un único disco. Una alternativa que proporciona una protección de paridad dual, permitiendo así mayor número de discos por grupo, es el RAID 6. Algunos vendedores RAID evitan montar discos de los mismos lotes en un grupo de redundancia para minimizar la probabilidad de fallos simultáneos al principio y el final de su vida útil. Las implementaciones RAID 5 presentan un rendimiento malo cuando se someten a cargas de trabajo que incluyen muchas escrituras más pequeñas que el tamaño de una división (stripe). Esto se debe a que la paridad debe ser actualizada para cada escritura, lo que exige realizar secuencias de lectura, modificación y escritura tanto para el bloque de datos como para el de paridad. Implementaciones más complejas incluyen a menudo cachés de escritura no volátiles para reducir este problema de rendimiento. Página.- 283

285 En el caso de un fallo del sistema cuando hay escrituras activas, la paridad de una división (stripe) puede quedar en un estado inconsistente con los datos. Si esto no se detecta y repara antes de que un disco o bloque falle, pueden perderse datos debido a que se usará una paridad incorrecta para reconstruir el bloque perdido en dicha división. Esta potencial vulnerabilidad se conoce a veces como «agujero de escritura». Son comunes el uso de caché no volátiles y otras técnicas para reducir la probabilidad de ocurrencia de esta vulnerabilidad RAID 6 El RAID 6, que no era uno de los niveles RAID originales, amplía el nivel RAID 5 añadiendo otro bloque de paridad, por lo que divide los datos a nivel de bloques y distribuye los dos bloques de paridad entre todos los miembros del conjunto. Fig 123: Esquema de RAID 6 Puede ser considerado un caso especial de código Reed-Solomon, que es un código que utilizando unos bits adicionales permite detectar y corregir los errores de los datos en el receptor. Al añadir códigos adicionales es posible alcanzar cualquier número de discos redundantes, y recuperarse de un fallo de ese mismo número de discos en cualquier punto del conjunto, pero en el nivel RAID 6 se usan dos únicos códigos. Al igual que en el RAID 5, en el RAID 6 la paridad se distribuye en divisiones (stripes), con los bloques de paridad en un lugar diferente en cada división. El RAID 6 es ineficiente cuando se usa un pequeño número de discos pero a medida que el conjunto crece y se dispone de más discos la pérdida en capacidad de almacenamiento se hace menos importante, creciendo al mismo tiempo la probabilidad de que dos discos fallen simultáneamente. El RAID 6 proporciona protección contra fallos dobles de discos y contra fallos cuando se está reconstruyendo un disco. En caso de que sólo tengamos un conjunto puede ser más adecuado que usar un RAID 5 con un disco de reserva (hot spare). La capacidad de datos de un conjunto RAID 6 es n-2, siendo n el número total de discos del conjunto. Un RAID 6 no penaliza el rendimiento de las operaciones de lectura, pero sí el de las de escritura debido al proceso que exigen los cálculos adicionales de paridad. Esta Página.- 284

286 penalización puede minimizarse agrupando las escrituras en el menor número posible de divisiones (stripes), lo que puede lograrse mediante el uso de un sistema de ficheros WAFL RAID 5E y RAID 6E Se llama RAID 5E y RAID 6E a las variantes de RAID 5 y RAID 6 que incluyen discos de reserva. Estos discos pueden estar conectados y preparados (hot spare) o en espera (standby spare). En los RAID 5E y RAID 6E, los discos de reserva están disponibles para cualquiera de las unidades miembro. No suponen mejora alguna del rendimiento, pero sí se minimiza el tiempo de reconstrucción (en el caso de los discos hot spare) y las labores de administración cuando se producen fallos. Un disco de reserva no es realmente parte del conjunto hasta que un disco falla y el conjunto se reconstruye sobre el de reserva. 9.5 Niveles RAID anidados Muchas controladoras permiten anidar niveles RAID, es decir, que un RAID pueda usarse como elemento básico de otro en lugar de discos físicos. Resulta instructivo pensar en estos conjuntos como capas dispuestas unas sobre otras, con los discos físicos en la inferior. Los RAID anidados se indican normalmente uniendo en un solo número los correspondientes a los niveles RAID usados, añadiendo a veces un «+» entre ellos. Por ejemplo, el RAID 10 (o RAID 1+0) consiste conceptualmente en múltiples conjuntos de nivel 1 almacenados en discos físicos con un nivel 0 encima, agrupando los anteriores niveles 1. En el caso del RAID 0+1 se usa más esta forma que RAID 01 para evitar la confusión con el RAID 1. Sin embargo, cuando el conjunto de más alto nivel es un RAID 0 (como en el RAID 10 y en el RAID 50), la mayoría de los vendedores eligen omitir el «+», a pesar de que RAID 5+0 sea más informativo. Al anidar niveles RAID, se suele combinar un nivel RAID que proporcione redundancia con un RAID 0 que aumenta el rendimiento. Con estas configuraciones es preferible tener el RAID 0 como nivel más alto y los conjuntos redundantes debajo, porque así será necesario reconstruir menos discos cuando uno falle. Así, el RAID 10 es preferible al RAID 0+1 aunque las ventajas administrativas de «dividir el espejo» del RAID 1 se perderían. Los niveles RAIZ anidados más usados son: RAID 0+1: Un espejo de divisiones. RAID 1+0: Una división de espejos. RAID 30: Una división de niveles RAID con paridad dedicada. RAID 100: Una división de una división de espejos. Página.- 285

287 9.5.1 RAID 0+1 Un RAID 0+1 (también llamado RAID 01, que no debe confundirse con RAID 1) es un RAID usado para replicar y compartir datos entre varios discos. La diferencia entre un RAID 0+1 y un RAID 1+0 es la localización de cada nivel RAID dentro del conjunto final: un RAID 0+1 es un espejo de divisiones. Fig 124: Esquema de RAID 0+1 Como puede verse en la figura, primero se crean dos conjuntos RAID 0 (dividiendo los datos en discos) y luego, sobre los anteriores, se crea un conjunto RAID 1 (realizando un espejo de los anteriores). La ventaja de un RAID 0+1 es que cuando un disco duro falla, los datos perdidos pueden ser copiados del otro conjunto de nivel 0 para reconstruir el conjunto global. Sin embargo, si se añade un disco duro adicional en una división, es obligatorio añadir otro al de la otra división para equilibrar el tamaño del conjunto. Además, el RAID 0+1 no es tan robusto como un RAID 1+0, no pudiendo tolerar dos fallos simultáneos de discos salvo que sean en la misma división. Es decir, cuando un disco falla, la otra división se convierte en un punto de fallo único. Además, cuando se sustituye el disco que falló, se necesita que todos los discos del conjunto participen en la reconstrucción de los datos. Con la cada vez mayor capacidad de las unidades de discos, el riesgo de fallo de los discos es cada vez mayor. Además, las tecnologías de corrección de errores de bit no han sido capaces de mantener el ritmo de rápido incremento de las capacidades de los discos, provocando un mayor riesgo de hallar errores físicos irrecuperables. Dados estos cada vez mayores riesgos del RAID 0+1 (y su vulnerabilidad ante los fallos dobles simultáneos), muchos entornos empresariales críticos están empezando a evaluar configuraciones RAID más tolerantes a fallos que añaden un mecanismo de paridad subyacente. Entre los más prometedores están los enfoques híbridos como el RAID (espejo sobre paridad única) o RAID (espejo sobre paridad dual). Son los más habituales en las empresas. Página.- 286

288 9.5.2 RAID 1+0 Un RAID 1+0, también llamado RAID 10, es parecido a un RAID 0+1 con la excepción de que los niveles RAID que lo forman se invierte: el RAID 10 es una división de espejos. Fig 125: Esquema de RAID 10 En cada división RAID 1 pueden fallar todos los discos salvo uno sin que se pierdan datos. Sin embargo, si los discos que han fallado no se reemplazan, el restante pasa a ser un punto único de fallo para todo el conjunto. Si ese disco falla entonces, se perderán todos los datos del conjunto completo. Como en el caso del RAID 0+1, si un disco que ha fallado no se reemplaza, entonces un solo error de medio irrecuperable que ocurra en el disco espejado resultaría en pérdida de datos. Debido a estos mayores riesgos del RAID 1+0, muchos entornos empresariales críticos están empezando a evaluar configuraciones RAID más tolerantes a fallos que añaden un mecanismo de paridad subyacente. Entre los más prometedores están los enfoques híbridos como el RAID (espejo sobre paridad única) o RAID (espejo sobre paridad dual). El RAID 10 es a menudo la mejor elección para bases de datos de altas prestaciones, debido a que la ausencia de cálculos de paridad proporciona mayor velocidad de escritura RAID 30 El RAID 30 o división con conjunto de paridad dedicado es una combinación de un RAID 3 y un RAID 0. El RAID 30 proporciona tasas de transferencia elevadas combinadas con una alta fiabilidad a cambio de un coste de implementación muy alto. La mejor forma de construir un RAID 30 es combinar dos conjuntos RAID 3 con los datos divididos en ambos conjuntos. El RAID 30 trocea los datos en bloques más pequeños y los divide en cada conjunto RAID 3, que a su vez lo divide en trozos aún menores, calcula la paridad aplicando un XOR a cada uno y los escribe en todos los discos del conjunto salvo en uno, donde se almacena la información de paridad. El tamaño de cada bloque se decide en el momento de construir el RAID. Página.- 287

289 Fig 126: Esquema de RAID 30 El RAID 30 permite que falle un disco de cada conjunto RAID 3. Hasta que estos discos que fallaron sean reemplazados, los otros discos de cada conjunto que sufrió el fallo son puntos únicos de fallo para el conjunto RAID 30 completo. En otras palabras, si alguno de ellos falla se perderán todos los datos del conjunto. El tiempo de recuperación necesario (detectar y responder al fallo del disco y reconstruir el conjunto sobre el disco nuevo) representa un periodo de vulnerabilidad para el RAID RAID 100 Un RAID 100 (RAID 10+0) es una división de conjuntos RAID 10. El RAID 100 es un ejemplo de «RAID cuadriculado», un RAID en el que conjuntos divididos son a su vez divididos conjuntamente de nuevo. Todos los discos menos uno podrían fallar en cada RAID 1 sin perder datos. Sin embargo, el disco restante de un RAID 1 se convierte así en un punto único de fallo para el conjunto degradado. A menudo el nivel superior de división se hace por software. Algunos vendedores llaman a este nivel más alto un MetaLun o Soft Stripe. Los principales beneficios de un RAID 100 (y de los RAID cuadriculados en general) sobre un único nivel RAID son el mejor rendimiento para lecturas aleatorias y la mitigación de los puntos calientes de riesgo en el conjunto. Por estas razones, el RAID 100 es a menudo la mejor elección para bases de datos muy grandes, donde el conjunto software subyacente limita la cantidad de discos físicos permitidos en cada conjunto estándar. Implementar niveles RAID anidados permite eliminar virtualmente el límite de unidades físicas en un único volumen lógico RAID 50 Un RAID 50 (RAID 5+0) combina la división a nivel de bloques de un RAID 0 con la paridad distribuida de un RAID 5, siendo pues un conjunto RAID 0 dividido de elementos RAID 5. Página.- 288

290 Un disco de cada conjunto RAID 5 puede fallar sin que se pierdan datos. Sin embargo, si el disco que falla no se reemplaza, los discos restantes de dicho conjunto se convierten en un punto único de fallo para todo el conjunto. Si uno falla, todos los datos del conjunto global se pierden. El tiempo necesario para recuperar (detectar y responder al fallo de disco y reconstruir el conjunto sobre el nuevo disco) representa un periodo de vulnerabilidad del conjunto RAID. La configuración de los conjuntos RAID repercute sobre la tolerancia a fallos general. Una configuración de tres conjuntos RAID 5 de siete discos cada uno tiene la mayor capacidad y eficiencia de almacenamiento, pero sólo puede tolerar un máximo de tres fallos potenciales de disco. Debido a que la fiabilidad del sistema depende del rápido reemplazo de los discos averiados para que el conjunto pueda reconstruirse, es común construir conjuntos RAID 5 de seis discos con un disco de reserva en línea (hot spare) que permite empezar de inmediato la reconstrucción en caso de fallo del conjunto. Esto no soluciona el problema de que el conjunto sufre un estrés máximo durante la reconstrucción dado que es necesario leer cada bit, justo cuando es más vulnerable. Una configuración de siete conjuntos RAID 5 de tres discos cada uno puede tolerar hasta siete fallos de disco pero tiene menor capacidad y eficiencia de almacenamiento. El RAID 50 mejora el rendimiento del RAID 5, especialmente en escritura, y proporciona mejor tolerancia a fallos que un nivel RAID único. Este nivel se recomienda para aplicaciones que necesitan gran tolerancia a fallos, capacidad y rendimiento de búsqueda aleatoria. A medida que el número de unidades del conjunto RAID 50 crece y la capacidad de los discos aumenta, el tiempo de recuperación lo hace también. 9.6 Niveles RAID propietarios Aunque todas las implementaciones de RAID difieren en algún grado de la especificación idealizada, algunas compañías han desarrollado implementaciones RAID completamente propietarias que difieren sustancialmente de todas las demás Paridad doble Una ampliación frecuente a los niveles RAID existentes es la paridad doble, a veces implementada y conocida como paridad diagonal. Como en el RAID 6, hay dos conjuntos de información de chequeo de paridad, pero a diferencia de aquél, el segundo conjunto no es otro conjunto de puntos calculado sobre un síndrome polinomial diferente para los mismos grupos de bloques de datos, sino que se calcula la paridad extra a partir de un grupo diferente de bloques de datos. Por ejemplo, sobre el gráfico tanto el RAID 5 como el RAID 6 calcularían la paridad sobre todos los bloques de la letra A para generar uno o dos bloques de paridad. Sin embargo, es bastante fácil calcular la paridad contra múltiples grupos de bloques, en lugar de Página.- 289

291 sólo sobre los bloques de la letra A: puede calcularse la paridad sobre los bloques de la letra A y un grupo permutado de bloques. Fig 127: Esquema de RAID de paridad doble Sobre el esquema de la figura, los bloques Q son los de la paridad doble. El bloque Q2 se calcularía como A2 xor B3 'xor P3, mientras el bloque Q3 se calcularía como A3 xor P2 xor C1 y el Q1 sería A1 xor B2 xor C3. Debido a que los bloques de paridad doble se distribuyen correctamente, es posible reconstruir dos discos de datos que fallen mediante recuperación iterativa. Por ejemplo, B2 podría recuperarse sin usar ninguno de los bloque x1 ni x2 mediante el cálculo de B3 xor P3 xor Q2 = A2, luego A2 xor A3 xor P1 = A1, y finalmente A1 xor C3 xor Q1 = B2. No es recomendable que el sistema de paridad doble funcione en modo degradado debido a su bajo rendimiento RAID 1.5 RAID 1.5 es un nivel RAID propietario de HighPoint a veces incorrectamente denominado RAID 15. Por la poca información disponible, parece ser una implementación correcta de un RAID 1. Cuando se lee, los datos se recuperan de ambos discos simultáneamente y la mayoría del trabajo se hace en hardware en lugar de en el controlador software RAID 7 RAID 7 es una marca registrada de Storage Computer Corporation, que añade cachés a RAID 3 o RAID 4 para mejorar el rendimiento. Página.- 290

292 9.6.4 RAID S o RAID de paridad RAID S es un sistema RAID de paridad distribuida propietario de EMC Corporation usado en sus sistemas de almacenamiento Symmetrix. Cada volumen reside en un único disco físico, y se combinan arbitrariamente varios volúmenes para el cálculo de paridad. EMC llamaba originalmente a esta característica RAID S y luego la rebautizó RAID de paridad (Parity RAID) para su plataforma Symmetrix DMX. EMC ofrece también actualmente un RAID 5 estándar para el Symmetrix DMX Matrix RAID Matrix RAID (matriz RAID) es una característica que apareció por vez primera en la BIOS RAID Intel ICH6R. No es un nuevo nivel RAID. El Matrix RAID utiliza dos o más discos físicos, asignando partes de idéntico tamaño de cada uno de ellos a diferentes niveles de RAID. Así, por ejemplo, sobre 4 discos de un total de 600GB, se pueden usar 200 en raid 0, 200 en raid 10 y 200 en raid 5. Actualmente, la mayoría de los otros productos RAID BIOS de gama baja sólo permiten que un disco participen en un único conjunto. Fig 128: Esquema de matrix RAID Este producto está dirigido a los usuarios domésticos, proporcionando una zona segura (la sección RAID 1) para documentos y otros ficheros que se desean almacenar redundantemente y una zona más rápida (la sección RAID 0) para el sistema operativo, aplicaciones, etcétera Linux MD RAID 10 La controladora RAID software del kernel de Linux, llamada md (multiple disk, disco múltiple) puede ser usada para construir un conjunto RAID 1+0 clásico, pero también permite un único nivel RAID 10 con algunas extensiones interesantes. Página.- 291

293 En particular, soporta un espejado de k bloques en n unidades cuando k no es divisible por n. Esto se hace repitiendo cada bloque k veces al escribirlo en un conjunto RAID 0 subyacente de n unidades. Evidentemente esto equivale a la configuración RAID 10 estándar. Linux también permite crear otras configuraciones RAID usando la controladora md (niveles 0, 1, 4, 5 y 6) además de otros usos no RAID como almacenamiento multirruta y LVM IBM ServeRAID 1E La serie de adaptadores IBM ServeRAID soportan un espejado doble de un número arbitrario de discos, como se ilustra en la figura. Fig 129: Esquema de ServeRAID 1E Esta configuración es tolerante a fallos de unidades no adyacentes. Otros sistemas de almacenamiento como el StorEdge T3 de Sun soportan también este modo RAID Z El sistema de ficheros ZFS de Sun Microsystems implementa un esquema de redundancia integrado parecido al RAID 5 que se denomina RAID Z. Esta configuración evita el «agujero de escritura» del RAID 5 y la necesidad de la secuencia leer-modificar-escribir para operaciones de escrituras pequeñas efectuando sólo escrituras de divisiones (stripes) completas, espejando los bloques pequeños en lugar de protegerlos con el cálculo de paridad, lo que resulta posible gracias a que el sistema de ficheros conoce la estructura de almacenamiento subyacente y puede gestionar el espacio adicional cuando lo necesita. Página.- 292

294 9.7 Posibilidades de RAID Lo que RAID puede hacer RAID puede mejorar el rendimiento del disco. Los niveles RAID 1, 0+1 o 10, 5 y 6 (sus variantes, como el 50) permiten que un disco falle mecánicamente y que aun así los datos del conjunto sigan siendo accesibles para los usuarios. En lugar de exigir que se realice una restauración costosa en tiempo desde una cinta, DVD o algún otro medio de respaldo lento, un RAID permite que los datos se recuperen en un disco de reemplazo a partir de los restantes discos del conjunto, mientras al mismo tiempo permanece disponible para los usuarios en un modo degradado. Esto es muy valorado por las empresas, ya que el tiempo de no disponibilidad suele tener graves repercusiones. Para usuarios domésticos, puede permitir el ahorro del tiempo de restauración de volúmenes grandes, que requerirían varios DVD o cintas para las copias de seguridad. RAID puede mejorar el rendimiento de ciertas aplicaciones. Los niveles RAID 0, 5 y 6 usan variantes de división (striping) de datos, lo que permite que varios discos atiendan simultáneamente las operaciones de lectura lineales, aumentando la tasa de transferencia sostenida. Las aplicaciones de escritorio que trabajan con ficheros grandes, como la edición de vídeo e imágenes, se benefician de esta mejora. También es útil para las operaciones de copia de respaldo de disco a disco. Además, si se usa un RAID 1 o un RAID basado en división con un tamaño de bloque lo suficientemente grande se logran mejoras de rendimiento para patrones de acceso que implique múltiples lecturas simultáneas (por ejemplo, bases de datos multiusuario) Lo que RAID no puede hacer RAID no protege los datos. Un conjunto RAID tiene un sistema de ficheros, lo que supone un punto único de fallo al ser vulnerable a una amplia variedad de riesgos aparte del fallo físico de disco, por lo que RAID no evita la pérdida de datos por estas causas. RAID no impedirá que un virus destruya los datos, que éstos se corrompan, que sufran la modificación o borrado accidental por parte del usuario ni que un fallo físico en otro componente del sistema afecten a los datos. RAID no simplifica la recuperación de un desastre. Cuando se trabaja con un solo disco, éste es accesible normalmente mediante un controlador ATA o SCSI incluido en la mayoría de los sistemas operativos. Sin embargo, las controladoras RAID necesitan controladores software específicos. Las herramientas de recuperación que trabajan con discos simples en controladoras genéricas necesitarán controladores especiales para acceder a los datos de los conjuntos RAID. Si estas herramientas no los soportan, los datos serán inaccesibles para ellas. Página.- 293

295 RAID no mejora el rendimiento de todas las aplicaciones. Esto resulta especialmente cierto en las configuraciones típicas de escritorio. La mayoría de aplicaciones de escritorio y videojuegos hacen énfasis en la estrategia de buffering y los tiempos de búsqueda de los discos. Una mayor tasa de transferencia sostenida supone poco beneficio para los usuarios de estas aplicaciones, al ser la mayoría de los ficheros a los que se accede muy pequeños. La división de discos de un RAID 0 mejora el rendimiento de transferencia lineal pero no lo demás, lo que hace que la mayoría de las aplicaciones de escritorio y juegos no muestren mejora alguna, salvo excepciones. Para estos usos, lo mejor es comprar un disco más grande, rápido y caro en lugar de dos discos más lentos y pequeños en una configuración RAID 0. RAID no facilita el traslado a un sistema nuevo. Cuando se usa un solo disco, es relativamente fácil trasladar el disco a un sistema nuevo: basta con conectarlo, si cuenta con la misma interfaz. Con un RAID no es tan sencillo: la BIOS RAID debe ser capaz de leer los metadatos de los miembros del conjunto para reconocerlo adecuadamente y hacerlo disponible al sistema operativo. Dado que los distintos fabricantes de controladoras RAID usan diferentes formatos de metadatos (incluso controladoras de un mismo fabricante son incompatibles si corresponden a series diferentes) es virtualmente imposible mover un conjunto RAID a una controladora diferente, por lo que suele ser necesario mover también la controladora. Esto resulta imposible en aquellos sistemas donde está integrada en la placa base. Esta limitación puede obviarse con el uso de RAID por software, que a su vez añaden otras diferentes (especialmente relacionadas con el rendimiento). 9.8 Software RAID en MaX. El paquete mdadm La antigua colección de utilidades para RAD raidtools y raidtools 2 ha quedado en desuso por su funcionalidad limitada y la dependencia de un fichero de configuración (etc/raidtab) dificil de mantener. En la actualidad el paquete mdadm (multiple devices admin) se ha convertido en un estandard de gestión simple y robusta de RAID's por software Instalación y carga de mdadm En principio, el paquete mdadm se instala por defecto. Si no se encuentra instalado puede incorporarse con el Gestor de paquetes Synaptic o con la instrucción: sudo apt-get install mdadm Puede comprobarse qué módulos raid se encuentran cargados mediante la instrucción: sudo modprobe -l raid* Página.- 294

296 Si el módulo raid correspondiente al nivel RAID con el que se pretende trabajar no se encuentra cargado puede cargarse con la instrucción correspondiente, que será similar a alguna de las siguientes: sudo modprobe -l raid1 sudo modprobe -l raid0 sudo modprobe -l. ó ó Crear un RAID Este apartado se desarrolla tomando como caso concreto y práctico la creación de un RAID 5 con 4 particiones sobre un pen drive. El procedimiento para crear otro RAID sobre discos duros sería análogo. Los pasos previos a la creación del RAID pueden ser: 1. Para no tener problemas con los permisos ejecuto la instrucción su root que otorga al usuario (usprueba01) los privilegios de root. 2. Compruebo con synaptic que mdadm se encuentra instalado. 3. Compruebo si se encuentra instalado el módulo raid5 mediante la instrucción modprobe -l raid* : Fig 130: Resultado de modprobe -l raid* Una vez realizadas las comprobaciones iniciales deben prepararse las particiones a utilizar en el RAID, independientemente de que cada partición ocupe o no la capacidad completa del disco. Por lo general las particiones que componen el RAID ocupan completamente la capacidad del disco. 4. Con gparted se crean 4 particiones primarias de 500 Mb. cada una y sin formatear, puesto que el formato se dará sobre el RAID que se forme. Si gparted no estuviera instalado puede utilizarse la instrucción apt-get install gparted. 5. Hay que declarar que estas 4 particiones van a ser utilizadas para formar un RAID. Esta operación, que se tiene que repetir para las cuatro particiones, se puede realizar con gparted a través de la opción Partición Gestionar flags y marcando el cuadro de verificación raid. Esta operación no es obligatoria pero si recomendable porque ayuda a distinguir las particiones que forman parte de un RAID de las que no. Página.- 295

297 El resultado será similar al de la figura. Fig 131: Pen drive con 4 particiones para el RAID Puede comprobarse el resultado con la instrucción fdisk -l o fdisk -l /dev/sdb. Fig 132: Instrucción fdisk -l /dev/sdb fdisk muestra el flag o la marca de raid como Linux raid autodetect en la columna Sistema y con fd en la columna Id. 6. A continuación crearemos el RAID pero previamente se puede comprobar si ya existe algún RAID activo mostrando el contenido del fichero /proc/mdstat, es decir, realizando la instrucción cat /proc/mdstat. Fig 133: Instrucción cat /proc/mdstat Página.- 296

298 Así se comprueba que no hay otros RAID activos. 7. Para crear el RAID se utilizan las instrucciones mknod y mdadm. mknod para crear ficheros especiales, en este caso un dispositivo de bloques y mdadm para administrar, en este caso crear, dispositivos RAID (arrays): mknod /dev/md0 b 9 0 mdadm --create /dev/md0 --level=raid5 --raid-devices=4 /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb4 El sistema responderá con el mensaje: mdadm: array /dev/md0 started.. El significado de las opciones de la instrucción mknod es el siguiente: /dev/md0.- es el nombre del nuevo dispositivo (fichero especial). b indica que es un fichero especial de bloques. 9 indica el número mas alto de dispositivo que se podrá utilizar (/dev/md9). 0 indica el número más bajo de dispositivo que se podrá utilizar (/dev/md0). El significado de las opciones de la instrucción mdadm es el siguiente: --create /dev/md0.- permite indicar el mdn sobre el que se va a crear el RAID. --level=raid5.- especifica el tipo de RAID. Los valores válidos son: linear, raid0, 0 stripe, raid1, 1, mirror, raid4, 4, raid5, 5, raid6, 6, multipath, mp, fautly. Se sobreentiende que algunos de ellos son sinónimos, como raid5 y 5. --raid-devices=4 /dev/sdb para indicar el número de particiones (no de discos) que componen el RAID y sus nombres. Otras opciones útiles de esta instrucción son: --verbose.- muestra más información sobre el proceso que se está ejecutando. --chunk=n.- donde n indica la capacidad en Kb. de cada bloque de información, que por defecto es 64. Por ejemplo, --chunk=32 establecería que los bloques sean de 32 Kb. Antes de decidir el tamaño de los bloques es recomendable leer el apartado Factores de optimización del sistema de archivos en un RAID que se encuentra más adelante. Página.- 297

299 --parity=.- establece el algoritmo de paridad para RAID 5. Las opciones son: leftasymetric, left-symetric, right-asymetric y right-symetric (la, ls, ra y rs); por defecto toma left-symetric. Ejemplo: --parity=right-asymetric. Esta opción dispone de parámetros avanzados. La ejecución de esta instrucción puede durar varias horas dependiendo de la capacidad de las particiones y de la potencia del equipo y de sus discos. Puede visualizarse en cualquier momento el estado del proceso en el fichero /proc/mdstat (cat /proc/mdstat), cuyo resultado será similar al de la figura: Fig 134: Instrucción cat /proc/mdstat donde [4/3] [UUU_] indica el numero de discos que está activo y correcto en este momento. Durante el proceso de creación pueden aparecer discos incorrectos y que deberán aparecer como correctos al finalizar la operación. Al finalizar, si se muestra el fichero /proc/mdstat, deberá aparecer algo similar a lo de la figura: Fig 135: Instrucción cat /proc/mdstat 8. Una vez creado el volumen RAID debe ser formateado para crear el sistema de ficheros. Por ejemplo, para un sistema de tipo ext3se usará: mkfs.ext3 /dev/mdo Si el sistema de ficheros es reiserfs la instrucción sería: mkfs.reiserfs /dev/md0. 9. A continuación se monta el volumen RAID creado. En primer lugar se debe crear el directorio donde se montará el volumen, y asignarle los permisos adecuados, por ejemplo: mkdir /media/raid5 chmod a+w /media/raid5 Página.- 298

300 Y a continuación montar el volumen: mount -t ext3 /dev/md0 /media/raid5 También puede montarse el volumen añadiendo al fichero /etc/fstab la línea: /dev/md0 /media/raid5 ext3 defaults,user 0 0 Ahora se montará el volumen con la instrucción: mount /media/raid5 o bien reiniciando el sistema y MaX montará automáticamente el volumen en el inicio Monitorización del estado de un RAID y sus discos (particiones) Para ver el estado actual de los discos y unidades RAID: cat /proc/mdstat Para mostrar más detalles sobre el RAID: mdadm --query /dev/md0 mdadm --detail /dev/md0 Más detalles de los discos: mdadm --query /dev/sdb1 mdadm --examine /dev/sdb Administración de un RAID y de sus discos (particiones) Algunas de las instrucciones más útiles para administrar un volumen RAID se recogen a continuación. Para desactivar una tabla (array o volumen) y liberar los recursos: mdadm --stop /dev/md0 Para establecer un disco, por ejemplo sdb4, como defectuoso: mdadm --fail /dev/md0 /dev/sdb4 Página.- 299

301 Esta operación no se debe realizar con un RAID0 o RAID linear pues podrían perderse los datos. Para quitar un disco defectuoso de un RAID: mdadm --remove /dev/md0 /dev/sdb4 Para limpiar cualquier información previa de un RAID, por ejemplo para reutilizar un disco de otro equipo o de otro RAID: mdadm --zero-superblock /dev/sdb4 Para añadir un disco (sdb5) a un RAID (/dev/md0): mdadm --add /dev/md0 /dev/sdb5 Para añadir soporte bitmap a un RAID: mdadm --grow /dev/mdx --bitmap=none En cualquier momento de la vida del equipo puede ocurrir un fallo del disco. Cuando esto ocurra, al usar RAID por software, el sistema operativo situará al array en un estado conocido como estado degradado. Si la matriz pasa a estar degradada, debido a una posible corrupción de datos, el sistema operativo de forma predeterminada arrancará initramfs pasados treinta segundos. Cuando initramfs haya arrancado, aparecera un indicador durante quince segundos solicitándole la opción de continuar arrancando el sistema, o intentar una recuperación manual. El arrancar al indicador de initramfs puede o no ser el comportamiento deseado, especialmente si la máquina está en una ubicación remota. El arranque de un array degradado puede configurarse de varias formas: Puede usar la utilidad dpkg-reconfigure para configurar el comportamiento predeterminado, y durante el proceso se le solicitarán opciones adicionales relacionadas con el array (como monitorización, correos de alerta, etc.). Para reconfigurar mdadm, puede utilizarse la instrucción: dpkg-reconfigure mdadm El proceso dpkg-reconfigure cambiará el archivo de configuración /etc/initramfs-tools/ conf.d/mdadm. El archivo tiene la ventaja de poder pre-configurar el comportamiento del sistema, y además puede editarse a mano: BOOT_DEGRADED=true El archivo de configuración puede sobrescribirse usando un argumento del núcleo. Página.- 300

302 Usando un argumento del núcleo permitirá al sistema arrancar una matriz degradada: Cuando se arranca el servidor, pulse ESC para abrir el menú Grub. Pulse "e" para editar las opciones de órdenes de su núcleo. Pulse la flecha ABAJO para resaltar la línea del núcleo. Pulse la tecla "e" de nuevo para editar la línea del núcleo. Añadir "bootdegraded=true" (sin comillas) al final de la línea. Pulse "INTRO". Finalmente, pulse "b" para arrancar el sistema. Una vez que el sistema haya arrancado, podrá repararse la matriz o copiar los datos importantes a otra máquina en caso de haber ocurrido un fallo grave de hardware Factores de optimización del sistema de archivos de un RAID Algunos de los factores que pueden influir de forma decisiva en el rendimiento de un volumen RAID son: El tamaño del sector (chunk) o bloque de información del raid. El tamaño del sector (block) del sistema de archivos. El tipo de sistema de archivos utilizado Notas sobre ficheros de configuración Uno de los ficheros de configuración de mdadm es /etc/mdadm/mdadm.conf. Dos de los parámetros de configuración más importantes son: DEVICE /dev/sd[abcd]1 ARRAY /dev/md0 devices=/dev/sda1, /dev/sdb1, /dev/sdc1, /dev/sdd1 En este ejemplo, la línea DEVICE utiliza globbing tradicional para los nombres de archivos (consulte la página man glob(7) para más información) para definir los dispositivos SCSI /dev/sda1, /dev/sdb1, /dev/sdc1 y /dev/sdd1. La línea ARRAY define un dispositivo RAID (/dev/md0) que comprende los dispositivos SCSI definidos por la línea DEVICE. Página.- 301

303 9.9 Actividades 1. Sobre un pen drive crear un volumen RAID 1 y comprobar que su capacidad es aproximadamente la mitad. Marcar una partición como defectuosa, sacarla del RAID, quitarle la información y volver a incluirla en el RAID. Comprobar que su información se recompone automáticamente. 2. Probar la práctica anterior usando un RAID 4, eliminando y volviendo a incorporar una partición al volumen. 3. Para simular la recuperación de la información mediante un disco de paridad utilizar tres bloques de información de 32 bits cada bloque. Llenar con bloques 1º y 2º con cualquier secuencia de unos y ceros y el 3º con el resultado de realizar la operación XOR con los 2 primeros. Comprobar que si se pierde la información de cualquiera de ellos puede recuperarse un XOR de los dos restantes. 4. Buscar si existe software para entorno gráfico (gnome) de administración de RAID's. Página.- 302

304 10 COPIAS DE SEGURIDAD 10.1 Aspectos didácticos Objetivos: Conocer diferentes herramientas de copia de seguridad y recuperación de datos así como los diferentes tipos de copia de seguridad que pueden soportar los sistemas operativos. Realizar diferentes tipos de copias con varios paquetes y las recuperaciones posteriores correspondientes. Conocer los fundamentos de funcionamiento de Bácula y sus ficheros de configuración. Aplicar cuotas de disco para varios usuarios y grupos. Documentación. La documentación de este tema se ha elaborado consultando las fuentes: Wikipedia. Manual de tar en Guía práctica de Bacula de Matias Banchoff en Internet. Resumen. En este tema se hace una revisión de los paquetes que permiten realizar copia y restauración de datos profundizando en una selección de los más significativos: tar, Keep, Sbackup y Bacula. Se explican los diferentes tipos de copia de seguridad y sus características y contiene algunas prácticas guiadas y un ejemplo del complejo y potente sistema de copia Bacula. Finalmente trata el control y restricciones de uso de espacio de disco que pueden aplicarse a los usuarios y grupos mediante el uso de cuotas de disco. Temporización: 18 horas. Página.- 303

305 10.2 Introducción Las copias de seguridad de los datos previenen la pérdida de los mismos. Son infinidad las causas que pueden conducir a la pérdida de los datos: errores humanos, averías de los dispositivos, virus, borrados malintencionados, etc. etc. En Linux existe gran cantidad de software que permite realizar las operaciones de copia de seguridad (backup o respaldo) y restauración de la información; desde paquetes muy sencillos para uso doméstico (p.e. Keep) a software complejo diseñado para sistemas a gran escala (p.e. Bácula), pasando por niveles intermedios (p.e. Sbackup). Buscando con el Gestor de paquetes (Synaptic) la palabra backup aparecerán entre otros: backupninja, backup2l, backuppc, cedar-backup2, storebackup, hdup, vbackup, dirvish, sbackup, keep, bkp, faubackup, afbackup, bacula, cdbackup, cdrw-taper, boxbackup, mylvmbackup, dar, amanda, backup-manager, dump, burn, rdiff-backup, slbackup, bootcd-backup, subversion-tools, pdumpfs, flexbackup, etc. Una selección de paquetes, que permita realizar los tipos de respaldo más usuales puede ser: Backup Manager, Bacula, Amanda y Afbackup. En este tema se describirán el comando tar y los paquetes Keep, Sbackup y Bacula. Hasta hace unos años años el medio más utilizado para albergar las copias era la cinta magnética. En la actualidad la cinta ha sido desplazada por los discos duros y sus características: incremento espectacular de su capacidad, gran fiabilidad, abaratamiento, fácil instalación, etc. A nivel doméstico, la aparición del DVD, las memorias USB y los discos USB han simplificado la operación de backup Tipos de copia de seguridad Los diferentes sistemas operativos ofrecen diversas posibilidades a la hora de realizar copias de seguridad. Dependiendo del equipo donde se efectúa la copia tenemos: Local.- la copia de seguridad se realiza en el mismo equipo en el que se encuentra la información. Conlleva la participación de más usuarios y más dispositivos de almacenamiento, lo que conduce a un incremento de las posibilidades de error, descuidos, etc. en la realización de la operación. En red.- la copia de seguridad se realiza en un equipo de la red. Debe existir una planificación donde se concretará el usuario o usuarios responsables, los datos que se copiarán de cada equipo de la red, los medios utilizados, la frecuencia, el horario, el tipo de copias, etc. El proceso está más organizado, la responsabilidad de la operación recae en unos usuarios más concretos y, por contra, se incrementa el tráfico de datos en la red. Página.- 304

306 Antes de describir los diferentes tipos de copia de seguridad que existen atendiendo a la frecuencia y a los datos que intervienen, es conveniente conocer que los sistemas de ficheros pueden incluir para cada archivo información relativa a la fecha y hora de la última modificación y un indicador (un bit) que permite conocer si el fichero ha sido modificado desde la última vez que se realizó copia de seguridad del mismo. Este indicador permitirá, si se desea, realizar copia únicamente de los ficheros que han sido modificados desde la última operación de copia realizada. Tipos de copia atendiendo a la frecuencia y datos procesados: Completa inicializando el indicador.- se realiza una copia de todos los ficheros y carpetas seleccionados inicializando el indicador o bit de copia (a valor 0 por ejemplo) de cada uno de los ficheros y carpetas copiadas. Cuando se creen o modifiquen los ficheros el indicador se pondrá a valor 1. Completa sin inicializar el indicador.- se realiza una copia de todos los ficheros y carpetas seleccionados sin cambiar el valor del indicador. Incremental o progresiva.- se realiza una copia de los ficheros y carpetas seleccionados que se han creado o modificado desde la última copia de seguridad, es decir, solamente los que tienen el indicador a valor 1. También inicializa el indicador de los ficheros que se copian poniendo su valor a 0. Diferencial.- igual que la progresiva pero sin inicializar el indicador. Diaria.- se realiza una copia de los ficheros y carpetas creados o modificados a lo largo del día. No inicializa el indicador de copia. El indicador de copia no es igual para todos los sistemas de archivos, unos pueden utilizar un método simple como un bit al que asignan un valor determinado, otros uno más complejo como un dato de cierta longitud calculado haciendo una operación con el contenido del fichero de tal forma que dicho dato cambiará si se modifica el fichero y que será utilizado y registrado por el programa de copia, etc. MaX guarda información sobre los ficheros copiados en ficheros de control (con metadatos) que se crean al realizar las copias de seguridad haciendo uso de ciertas opciones y que permiten posteriormente comprobar si un fichero ha sido modificado desde que se realizó la copia. Por ejemplo, la instrucción tar -c -v -f copia.0.tar -g metadatos f* creará (-c) una copia de seguridad incremental de los ficheros que empiecen por f, informando (-v) de los ficheros afectados, en el archivo de copia copia.0.tar dejando información que le permita posteriormente comprobar las modificaciones en el fichero metadatos. Página.- 305

307 10.4 Planificación de las copias de seguridad y recuperaciones La realización de las copias de seguridad conlleva su planificación para garantizar la recuperación de los datos que se pierdan. En la planificación deberá contemplarse: Qué usuarios realizarán tareas de copia y restauración.- todos los usuarios podrán hacer copia de sus ficheros, pero para realizar copias de los datos de los demás usuarios deberán tener los permisos adecuados para poder leer los ficheros a copiar. Algunos paquetes, durante su instalación, generan un grupo para que los usuarios que pertenezcan al mismo tengan la capacidad de poder realizar copias de seguridad de la información de otros usuarios. Qué ficheros y directorios se copiarán.- No hay que olvidar que debe hacerse una copia de seguridad de los ficheros con los que ya no se va a trabajar. De forma general pueden seguirse las siguientes indicaciones: Realizar siempre copia de seguridad de los ficheros importantes para el desarrollo de la actividad de la empresa y de los datos de configuración y usuarios del sistema. Realizar periódicamente copia de seguridad de los archivos menos importantes y de los que cambian ocasionalmente. No realizar copia de seguridad de los archivos temporales. Si se realizarán copias en un equipo de la red o se harán de forma local.- esta decisión dependerá de cómo se encuentren distribuidos los datos en los equipos de la red. Las ventajas de realizar la copia en un equipo de la red son: Permite realizar copias de toda la red. Requiere menos dispositivos de copia. Menos dispositivos a administrar. Un único usuario y confiable puede realizar la copia. Como inconvenientes: Hay que copiar los archivos importantes en los servidores. Aumenta el tráfico en la red. Requiere más tiempo de diseño y planificación. Página.- 306

308 La realización de copias de seguridad a través de la red conlleva operaciones adicionales preliminares: Establecer el acceso al equipo remoto.- tanto si es un programa cliente el que envía los datos al servidor de copias, como si es el servidor el que los solicita al cliente, deberá establecerse la comunicación entre ambos y los accesos adecuados mediante el protocolo oportuno (NFS, SMB,...). En MaX esta operación puede consistir en que el servidor, a través de NFS, monte las carpetas del cliente a copiar. Deberán establecerse los permisos adecuados para el usuario que realice las copias. Notificar a los usuarios afectados el cierre de aplicaciones.- hay que tener en cuenta si el programa que realiza las copias de seguridad requiere que los ficheros a copiar estén cerrados, lo que podría implicar el cierre de algunas aplicaciones para la correcta realización de la operación. La frecuencia de realización de los diferentes tipos de copia.- dependerá de la importancia de los datos y de la frecuencia con que éstos cambien. Los dispositivos de copia a utilizar.- se tendrá en cuenta su capacidad, si son reutilizables, el ciclo de vida útil, el coste, la fiabilidad y la complejidad de uso. Las medidas de seguridad y confidencialidad a adoptar con las copias.- destinadas a garantizar el almacenamiento en condiciones físicas óptimas (temperatura, humedad, polvo, ), la privacidad en cuanto a que estén disponibles únicamente a las personas responsables y la encriptación de los datos para que la recuperación solamente pueda ser realizada por los usuarios adecuados. La rotación de los dispositivos de almacenamiento de las copias.- para permitir la reutilización y reducir el coste de las copias. Algunas copias pueden no someterse a rotaciones como pueden ser copias anuales de resultados, que se quieran mantener para posibles consultas posteriores. A la hora de planificar la rotación es muy importante considerar que puede producirse un problema de pérdida de datos durante la realización de la copia de seguridad y que tiene que poder recuperarse desde otro dispositivo. El etiquetado.- es muy importante, independientemente de los dispositivos de almacenamiento utilizados, seguir un método claro en la nomenclatura de las copias que permita su perfecta diferenciación y evite errores posteriores en la recuperación. El etiquetado puede consistir en etiquetas pegadas a las cintas, nombres asignados a las carpetas que contienen las copias en un disco, nombres de los ficheros de copia, El momento en que se deben realizar las copias.- que será aquel en el que la red y los equipos tengan menor carga de trabajo y cuando menor sea la interferencia con el trabajo habitual de los usuarios. Es muy normal que las copias se realicen fuera del horario de trabajo de los usuarios de los equipos. Página.- 307

309 Los procesos de copia de seguridad pueden programarse para que no requieran la intervención directa de un usuario. Los programas de copia incorporan entre sus opciones la realización de las copias los días y a las horas oportunas. Pueden combinarse varios tipos de copia de seguridad. Unos tipos requieren más tiempo para realizar la copia y menos para la recuperación, otros menos para la copia y más para la recuperación y otros más para ambas operaciones. Algunos ejemplos pueden ser: LUNES MARTES MIERCOLES JUEVES VIERNES Ejemplo 1 CI Df Df Df Df Ejemplo 2 CI P P P P Ejemplo 3 CI Df Df y C Df Df CI=Completa inicializando indicador. C=Completa sin inicializar indicador. P=Progresiva. Df=Diferencial. Di=Diaria. En el ejemplo 1 los lunes se realiza una copia de seguridad completa con inicialización del indicador de copia y los demás días copias diferenciales, que no inicializan el indicador y, por lo tanto, todas copiarán las modificaciones que se hayan producido desde la copia del lunes. Si los datos se pierden el jueves habrá que utilizar las copias del lunes (completa) y del miércoles (diferencial). Con esta estrategia se invertirá menos tiempo en copiar que si todos los días se hiciera copia completa, pero más tiempo que en el ejemplo 2 donde las copias diferenciales se han sustituido por progresivas. Los tiempos para la recuperación se invierten. En cuanto a la rotación de dispositivos, pueden utilizarse dos juegos de cinco dispositivos cada uno, uno para una semana y otro para la siguiente. Puede considerarse la conveniencia de archivar, sacando de la rotación, alguna de las copias completas. En el ejemplo 2 los lunes se hace una copia de seguridad completa con inicialización del indicador de copia y los demás días copias progresivas, que vuelven a inicializar el indicador y, por lo tanto, solamente copiarán las modificaciones producidas desde la copia del día anterior. Si los datos se pierden el jueves habrá que utilizar todas las copias desde el lunes. Con esta estrategia se invierte menos tiempo en realizar las copias y más en las restauraciones. En cuanto a la rotación de dispositivos puede hacerse de forma similar al ejemplo 1. El ejemplo 3 es similar al 1. El miércoles se hace, además de una copia diferencial, una completa sin inicialización del indicador para no interferir con el proceso de copias diferenciales diarias. La copia completa del miércoles puede resultar muy útil cuando se necesita enviar los datos a alguien. La rotación de los dispositivos puede hacerse de forma similar a los ejemplos anteriores incluyendo uno más para copia completa de los miércoles. Si alguno de los dispositivos es sometido a mayor actividad por el tipo de copia que alberga, deberá ser rotado para que el desgaste sea lo más uniforme posible. Página.- 308

310 10.5 Restauración El procedimiento y la estrategia de recuperación de los datos depende de los siguientes factores: La estrategia de copia de seguridad.- contempla, condiciona y determina cómo debe realizarse la recuperación de los datos. Si, por ejemplo, se hacen copias completas todos los días, la recuperación se realizará desde la última copia. Debe tenerse en cuenta que la rotación de los dispositivos debe permitir la recuperación de los datos en cualquier momento. La documentación y registro de cada copia de seguridad.- permitirán encontrar más rápidamente los ficheros y carpetas a restaurar. La recuperación puede simplificarse o no dependiendo de si la información registrada por cada copia es básica, conteniendo solamente datos como el tipo de copia y la fecha y la hora, o si es más completa, incluyendo además información acerca de los ficheros copiados. Realización periódica de restauraciones de prueba.- que permiten conocer si los archivos se copian correctamente. Estas recuperaciones pueden realizarse en carpetas paralelas (nunca en las originales) para comparar su contenido con las originales. Registro de las copias en forma de calendario.- que permitirá conocer, en un momento dado, el dispositivo o dispositivos que deben utilizarse para la recuperación. El registro debe identificar el tipo de copia y el dispositivo utilizado en cada fecha Programas de copia y restauración Desde sus inicios, Unix y Linux incorporaban la instrucción tar que permitía realizar copias de seguridad, restauraciones y compresión de datos de forma eficaz. Posteriormente, sobre todo desde el desarrollo del entorno gráfico, han aparecido gran número de paquetes que permiten realizar estos procesos. En este apartado se describirán someramente Keep, Sbackup y Bacula La instrucción tar Su sintaxis es: tar -{ A c d -delete r t u x } [opciones] fich_dir_1 [fichero2] tar deberá ir seguido de, al menos, una de las opciones que figuran entre llaves, a continuación el nombre de los ficheros o directorios (se pueden usar comodines) sobre los que Página.- 309

311 operar y, dependiendo de las opciones utilizadas, el nombre del fichero donde dejar los resultados (fichero2). Si fich_dir_1 es un directorio se consideran incluidos los subdirectorios. El significado de las primeras opciones es el siguiente: -A Permite añadir a un fichero otro de copia. -c Crea un archivo de copia. -d Busca las diferencias con un archivo de copia. --delete Borra de un archivo de copia. -r Añade ficheros al final de un archivo de copia. -t Muestra los ficheros contenidos en un archivo de copia. -u Realiza una copia progresiva, es decir, solamente copia los ficheros creados o modificados desde la última copia. Dicho de otra forma, añade ficheros a un archivo de copia solo si son más recientes que los que se encuentran en el fichero de copia. -x Recupera archivos desde un fichero de copia. Otras opciones son: -f fichero Permite especificar el fichero donde se realizará (o que contiene) la copia. Esta opción debe ir en último lugar. -v Muestra el nombre de los ficheros procesados. -vv Muestra información más detallada de los ficheros procesados. -z Comprime o descomprime un fichero (formato gzip). -g fichero Permite realizar copias incrementales. Tiene que utilizarse conjuntamente con la opción -c. El fichero especificado contiene información sobre los ficheros para permitir hacer copia únicamente de las modificaciones. -j Comprime con bzip2 el paquete generado. Para hacer un seguimiento de las opciones más comunes se pueden crear en el directorio de trabajo dos carpetas llamadas original y copia y dentro de la carpeta original tres ficheros: f1, f2 y f3 cuyos contenidos serán, respectivamente: Este es el contenido de f1 Este es el contenido de f2 Este es el contenido de f3 Poniendo como directorio activo la carpeta donde se encuentran f1, f2 y f3 (cd /home/ usprueba01/prueba/original), la instrucción: tar -c * muestra en pantalla el contenido de todos los ficheros del directorio actual. La información de cada uno de los archivos se concatena anteponiendo a cada uno de ellos una información de control que contiene el nombre del fichero, el usuario propietario, etc. Página.- 310

312 Para llevar el resultado de tar a un fichero, se puede poner como directorio activo /home/usprueba01/prueba (utilizando la instrucción cd.. ) y hacer uso de la opción f nombre_fichero que permite especificar el fichero donde tar dejará el resultado: tar -cf copia/fichero.tar original/* Se puede comprobar con cat copia/fichero.tar que se ha creado el fichero fichero.tar dentro del directorio copia y su contenido es la copia de todos los ficheros del directorio original, con la información de control al inicio de cada fichero. Si además se utiliza la opción v, se visualizará información acerca de los ficheros que se están copiando: tar -cvf copia/fichero.tar original/* Si se utilizan dos uves (v) la información mostrada será más completa. Para ver los ficheros incluidos en un archivo de copia: tar -tf copia/fichero.tar Para comprimir el fichero de copia puede utilizarse: gzip copia/fichero.tar Con la instrucción ls -l copia puede comprobarse que el fichero fichero.tar ha pasado a llamarse fichero.tar.gz y que ocupa menos espacio que antes. Con la instrucción gunzip copia/fichero.tar.gz se descomprime. La opción -z permite comprimir y descomprimir, así, la instrucción tar -cvzf copia/fichero.tar.gz original/* comprime a la vez que realiza la copia de seguridad. Si lo que se desea es descomprimir a la vez que se recuperan los ficheros a su estado original habrá que utilizar las opciones x y z de tar: tar -xvzf copia/fichero.tar.gz Para comprobar que se recuperan los ficheros f1, f2 y f3 desde fichero.tar.gz es conveniente borrarlos de la carpeta original antes de ejecutar la instrucción anterior. Pueden recuperarse solamente algunos de los ficheros que componen la copia especificando su nombre. Por ejemplo, para extraer únicamente el fichero f2 habría que utilizar la instrucción: tar -xvf copia/fichero.tar f2 Página.- 311

313 No es necesario incluir la opción -z porque tar detecta que la copia está comprimida y en la recuperación descomprime automáticamente. La opción -u permite realizar copias progresivas de los ficheros nuevos o modificados con relación a una copia anterior. Es decir, tar compara la información de cada fichero con la existente dentro del fichero de copia para detectar si ha habido cambios y en caso afirmativo añade el fichero nuevo o modificado al fichero de copia. Para probar este funcionamiento se puede proceder de la siguiente forma: Borrar las copias anteriores: rm copia/fich* Hacer una nueva copia con: tar -cvf copia/fichero.tar original/* Modificar f3 con: ls >> original/f3 Hacer la copia progresiva con: tar -uvf copia/fichero.tar original/* Comprobar con tar -tf copia/fichero.tar los ficheros copiados. La opción -A se utiliza en escasas ocasiones. Si, por ejemplo, se quiere obtener un fichero llamado triple que tenga tres veces el contenido de fichero.tar, se puede ejecutar tres veces la instrucción: tar -Af copia/triple copia/fichero.tar La opción -d muestra las diferencias del resultado de la ejecución de tar con un fichero de copia ya existente. Por ejemplo, si se realiza una copia de seguridad con la instrucción tar -cvf copia/fichero.tar original/* y a continuación se modifica el fichero f3, la instrucción tar -df copia/fichero.tar original/* informa del cambio. Si el fichero copia/fichero.tar tiene una copia de los ficheros f1 f2 y f3 de la carpeta original, y se desea eliminar del fichero de copia el fichero f2, puede utilizarse la instrucción: tar -f copia/fichero.tar --delete original/f2 La instrucción tar -tf copia/fichero.tar permite comprobarlo. Para añadir al fichero de copia copia/fichero.tar una copia de seguridad del fichero f2 se puede utilizar la instrucción: tar -rf copia/fichero.tar original/f2 La realización de copias incrementales se efectúa con la opción -g fich_metadatos conjuntamente con la opción -c. Para que el ejemplo sea más sencillo vamos a utilizar el formato corto: tar -c -v -f copia/fichero.0.tar -g copia/fich_metdatos original/f* Página.- 312

314 A continuación puede modificarse el fichero original/f2 con la instrucción ls >> original/f2 y volver a realizar la copia incremental: tar -c -v -f copia/fichero.1.tar -g copia/fich_metdatos original/f* En este último caso solamente debe copiarse el fichero original/f2 que ha sido el que se ha modificado desde la última copia. El fichero copia/fich_metdatos contiene información sobre los ficheros que permite comprobar los que han sido modificados. Para recuperar los ficheros se pueden borrar los ficheros originales con rm original/f? y ejecutando a continuación: tar -x -v -f copia/fichero.0.tar tar -x -v -f copia/fichero.1.tar Algunas consideraciones importantes sobre este comando: En se encuentra un manual muy completo. La primera opción que se especifique debe ser la que indique la acción a realizar por tar. Las demás opciones y nombres de ficheros delimitan la operación a realizar por tar o identifican los componentes sobre los que actuar. Por ejemplo, en la instrucción: tar -xvf copia/fichero.tar original/f2 original/f3 la opción x identifica la operación de extracción, la v hace que tar informe de los ficheros que intervienen, f copia/fichero.tar identifica el fichero del que se van a extraer y original/f2 y original/f3 los ficheros que serán extraidos. Existen tres formatos para especificar las opciones de esta instrucción: largo, corto y reducido. El que se ha estado utilizando en este apartado es el reducido. Veamos la misma instrucción en los tres formatos: tar --create --verbose --file=copia/fichero.tar original/* tar -c -v -f copia/fichero.tar original/* tar -cvf copia/fichero.tar original/* tar generalmente actúa sobre un archivo de copia que es el que se especifica con la opción -f. Cuando el formato que se utiliza es el reducido esta opción debe ser la última. Página.- 313

315 Keep Fig 136: Programa Keep Keep es un programa bastante simple de copia y recuperación de datos. Realiza copias de seguridad incrementales, es decir, solamente copia los ficheros que han cambiado desde la última copia. Los ficheros anteriores se comprimen y almacenan en una subcarpeta de la carpeta destino de la copia, llamada rdiff-backup-data/increments. Estas copias, almacenadas durante el tiempo que se especifique al configurar la copia, pueden ser recuperadas en cualquier momento. Una vez instalado, Keep estará accesible a través del menú Aplicaciones Herramientas del sistema Keep. En su ventana inicial dispone de: Un menú en la parte superior con las opciones: File.- con las subopciones: Restore Backup.- Permite restaurar los ficheros desde un backup realizado con anterioridad. Dejando unos segundos el cursor sobre la línea que describe cada backup programado aparece información acerca del directorio origen, el destino, etc. Para continuar hay que seleccionar un backup y pulsar el botón Next. A continuación se elige el directorio donde se restaurarán los ficheros y la fecha del backup y se pulsa Finish. Add backup.- Permite programar un nuevo backup. Pide el directorio a copiar permitiendo, en caso de que no se quiera copiar todo el contenido del directorio, especificar una lista de ficheros a incluir o excluir. Pulsando el botón Next permite especificar la carpeta donde se realizará la copia y Página.- 314

316 seguidamente varias opciones de copia: cada cuántos días se realizará la copia, pasados cuántos días se borrarán las copias (o que no se borren nunca), si se comprimirá, si se copiarán los ficheros especiales y una serie de opciones de configuración avanzada. La programación finaliza pulsando Finish. En ese momento se realizará una copia y, posteriormente, si el proceso está en ejecución (cargado), con la periodicidad programada. Backup now.- Permite realizar en el momento una de las copias programadas, la que se seleccione. Edit backup list.- Muestra los backaps programados y permite añadir otros nuevos y borrar o modificar alguno de los existentes. View log.- Muestra el registro de eventos. Cada vez que se realiza una copia se añade un registro con la fecha, la hora, el éxito o fracaso de la copia y el directorio copiado. Settings.- con las subopciones: Check rdiff-backup.- comprueba la versión del paquete rdiff-backup instalado y que se encarga del control de las copias de seguridad incrementales. Puede obtenerse más información con man rdiff-backup. Como se ha comentado anteriormente, el directorio destino contiene las versiones más actualizadas de los ficheros. Las versiones anteriores e información de control se almacenan en una subcarpeta de la destino con nombre rdiff-backup-data y rdiff-backup-data/increments. Configure backups.- similar a la opción ya comentada Edit backup list. Configure.- permite configurar el tipo de eventos que se registrarán (backups erróneos y/o correctos) para poder ser consultados posteriormente con la opción View log, y la prioridad del proceso de copia de seguridad incremental. Para consultar los posibles valores a asignar puede consultarse la instrucción nice con man nice. Help.- dispone de algunas opciones de ayuda. Unos botones para realizar las operaciones fundamentales que ocupan el centro de la ventana.- permiten el acceso rápido a algunas de las opciones tratadas anteriormente. Una línea con información acerca del estado del demonio o proceso.- permite conocer si el proceso se encuentra o no en ejecución. Las copias programadas solamente se llevarán a cabo si el proceso está en ejecución. Unos botones que permiten cargar, descargar o recargar el proceso. Página.- 315

317 Práctica Crear dentro del directorio de trabajo del usuario usprueba01 una carpeta llamada prueba con dos subcarpetas: origen y copia. Dentro de la subcarpeta origen crear cuatro ficheros: f1, f2, f3 y f4. Programar una copia con Keep que copie el contenido de origen, con la excepción del fichero f4, en copia. Una vez que se comprueba que la copia se ha realizado, modificar el fichero f2, borrar los ficheros de origen y recuperar los ficheros según se encontraban antes de modificar f2. Una forma de proceder puede ser la siguiente: Abrir un terminal para crear los directorios y ficheros con: mkdir prueba cd prueba mkdir origen mkdir copia echo Contenido de f1 > origen/f1 echo Contenido de f2 > origen/f2 echo Contenido de f3 > origen/f3 echo Contenido de f4 > origen/f4 Para programar el backup lanzar la ejecución de Keep y pulsar el botón Add directory to backup y seleccionar el directorio /home/usprueba01/prueba/origen. Para que no se copie el fichero f4 hay que marcar el cuadro de verificación Use inclusión/exclusión list, pulsar en el botón situado a la derecha de dicho cuadro y en la ventana que aparece seleccionar el fichero, pulsar sobre el botón Exclude y en el botón OK. Fig 137: Inclusión/Exclusión de ficheros Página.- 316

318 Se cerrará la ventana que dará paso a la anterior, en la que hay que pulsar sobre el botón Next. A continuación se selecciona la localización de la copia, que en este caso es la carpeta /home/usprueba01/prueba/copia y se pulsa sobre OK y Next. A continuación se establecen las opciones del backup que para este caso serán: Intervalo de backup: 2 dias. - Borrado despues de: 7 dias. Comprimir. - Excluir ficheros especiales. Y se pulsa el botón Finish. Para realizar la primera copia basta con pulsar el botón Backup now y elegir la copia programada y OK. A continuación modificamos f2 desde el terminal abierto anteriormente con la instrucción: echo - - MODIFICADO - - >> origen/f2 Hacemos otra copia pulsando sobre Backup now, eligiendo la copia y OK. A continuación procedemos a comprobar que se han creado los ficheros f1, f2 y f3 en la subcarpeta copia con la instrucción ls copia y borramos los ficheros originales con la instrucción rm origen/*. Para restaurar los ficheros (todos menos f4) con Keep hay que pulsar el botón Restore a backup, seleccionar el backup programado, se deja sin marcar el cuadro de verificación Use custom backup directory porque vamos a utilizar el directorio de recuperación programado y se pulsa el botón Next. En la ventana de elección del directorio de destino, como se va a utilizar el directorio programado (/home/usprueba01/prueba/origen), se deja marcado Use default directory y se pulsa Next. Fig 138: Elección de copia Página.- 317

319 Finalmente, se elige la copia que se realizó en primer lugar, se pulsa Finish y se comprueba: Que se han copiado los ficheros f1, f2 y f3 en /home/usprueba01/prueba/origen, pero no f4 (ls origen). Que el contenido de f2 es el anterior a la modificación (cat origen/f2). No hay que olvidar que si se desea que las copias de seguridad se realicen de forma automática cada 2 días, según se ha programado, y sin intervención del usuario, debe quedar cargado el proceso pulsando sobre el botón Load Sbackup Una vez instalado el paquete aparecerán dos opciones en el menú Aplicaciones Sistema Administración: Simple Backup Config. Simple Backup Restore. Simple Backup Config permite programar las copias de seguridad. Cuando se lanza su ejecución aparece la ventana que solicita la clave de usuario administrador (madrid cmadrid), para dar paso a la ventana inicial de Sbackup, que va a permitir, a través de sus diferentes fichas, establecer los parámetros de configuración. Fig 139: Sbackup (Simple Backup Config) Página.- 318

320 La ficha general muestra tres opciones que se describen en la propia ventana: Usar parámetros de copia de respaldo recomendados. Usar ajustes de copia de respaldo personalizados.- los valores preconfigurados son los mismos que los de la opción anterior pero aquí permite modificar todos los parámetros. Solo copias de respaldo manuales.- se utiliza para hacer copias de algunos ficheros de vez en cuando, con arreglo a la configuración realizada en las demás fichas. La ficha Incluir, a través de los diferentes botones, permite confeccionar la lista de directorios y ficheros a copiar. La ficha Excluir permite especificar los ficheros y carpetas que, aunque se encuentran dentro de la lista de carpetas de la ficha Incluir, no deben ser copiados. Hay varias formas de especificar las exclusiones: Por el nombre del fichero o carpeta a excluir. Por el tipo de archivo, es decir, por su extensión. Por expresiones regulares en las que se pueden incluir caracteres comodines. Por el tamaño máximo de los ficheros. La ficha Destino donde se especifica dónde se realizará la copia, pudiendo elegir entre la carpeta por defecto (/var/backup) o cualquier otra, tanto del equipo local como de un equipo remoto al que se pueda acceder por ssh o ftp. Existe un cuadro de verificación que permite anular el backup si la carpeta de destino no existe. Esta última opción puede utilizarse para hacer copias de seguridad en dispositivos extraibles puesto que si el dispositivo no se encuentra conectado no existirá la carpeta y no se efectuará el backup. La ficha Hora permite establecer cuándo y con qué frecuencia realizar las copias. Se hará una copia completa cuando se especifique y las demás serán incrementales. La ficha Purgando permite eliminar las copias demasiado antiguas y las incompletas o irrecuperables (si existe alguna completa posterior). Con el botón Guardar se almacena la programación de la copia y con el botón Generar copia de respaldo Ahora! se realiza una copia en el momento. La primera copia que se realice será una copia completa y se guardará dentro de la carpeta destino elegida, en una subcarpeta cuyo nombre será de la forma fecha_hora_num.equipo.ful ; las copias siguientes serán incrementales y se guardarán en subcarpetas con nombre similar y extensión.inc. Simple Backup Restore permite realizar la recuperación de ficheros desde una copia de respaldo. Página.- 319

321 Fig 140: Restauración con Sbackup Hay que seleccionar la carpeta donde se encuentran los backups, que puede ser la utilizada por defecto (la configurada anteriormente para albergar las copias) u otra. A continuación hay que desplegar la lista de Copias de respaldo disponibles: y seleccionar la copia deseada. En el cuadro Archivos y directorios a restaurar se seleccionan los que corresponda y se pulsa el botón Restaurar para llevarlos al directorio origen programado o el botón Restaurar como para llevarlos a otra carpeta. Ojo!, hay que desplegar la lista Copias de respaldo disponibles: porque en principio puede no mostrarse ninguna hasta que se despliegue Bacula Bacula es una solución distribuida de backups, es decir, consta de varios elementos que pueden o no residir en el mismo equipo. Los elementos que componen Bacula no difieren demasiado de los elementos que hay que configurar en los demás programas de backup. La diferencia sustancial es que dichos elementos pueden encontrarse repartidos por varios equipos: uno contiene las copias, otro los parámetros de configuración generales, otro el Schedule o programación temporal de las copias, etc. Esos componentes son los siguientes: Director.- elemento que controla el flujo de datos, ordena realizar un backup o restauración, ordena a los clientes que comiencen a comprimir sus archivos para enviarlos a los storages (equipos que contienen físicamente los datos), etc. Se configura en el fichero bacula-dir.conf. El director arranca los backups siguiendo la programación de los schedules, pero también se pueden realizar copias y otras operaciones a mano, mediante la bconsole. Página.- 320

322 Los datos no pasan por el director, van directamente desde los clientes a los storages (backup) o viceversa (restauración). Storage.- se encarga de manejar los dispositivos físicos donde se albergan las copias. Recibe los datos desde los clientes y los almacena en los dispositivos que corresponda. Se configura en el fichero bacula-sd.conf. Catálogo.- es una base de datos donde se guarda información sobre los trabajos de copia y datos copiados. Permite: Conocer si hay una copia completa para un trabajo y si no la hay eleva la copia a completa. Hacer restauraciones selectivas en base a la información guardada de los archivos y sus atributos (fecha de última modificación, ), es decir, seleccionar o marcar individualmente los archivos y/o directorios a restaurar. No tiene fichero de configuración Proceso de fichero/cliente (FD).- se ejecuta en los clientes y su objetivo es comprimir y enviar los datos al Storage, para su almacenamiento. Se configura en el fichero bacula-fd.conf, que reside en el cliente. Bconsole.- programa que puede o no correr en el mismo equipo que el director y que interactúa con él. Esta interactuación se realiza a través de la línea de comandos (instrucciones), aunque hay webapps y GUIs en desarrollo, como brestore o bat. Se configura en el fichero bconsole.conf. Ficheros de configuración Es conveniente tener en cuenta que es el director el que se autentica contra los componentes y no al revés. Los ejemplos que se incluyen para cada fichero corresponden a un sistema de backups donde el director, el Storage y el Catálogo se encuentran en un equipo, la Consola (bconsole) en otro y el proceso de fichero/cliente (FD) en otro. bacula-dir.conf Configura el director, los schedules (distribución temporal de las copias), los trabajos, los almacenes de copias (pool), etc. Los elementos que se deben definir son: Director.- contiene la configuración del director; entre sus opciones estarán la dirección ip, el puerto, el directorio donde se guarda el PID y la cantidad de trabajos concurrentes. Página.- 321

323 Por ejemplo: Director { Name = Mi_director Description = "Bacula director" DIRport = 9101 DIRAddress = mibacula.director.net QueryFile = "/etc/bacula/scripts/query.sql" WorkingDirectory = "/var/lib/bacula/" PidDirectory = "/var/run/bacula/" Maximum Concurrent Jobs = 1 Password = "la password" # Coincide con la password del recurso director en la bconsole Messages = Standard } Storage.- define las direcciones ip:puerto de los storages, su password y el tipo de dispositivo. Por ejemplo: Storage { Name = bacula-disco Address = # No usar "localhost" SDPort = 9103 Password = "la password" # Coincide con la password del recurso storage en bacula-sd.conf Device = FileStorage Media Type = File } Catalog.- tiene la información para conectarse a la base de datos del catálogo: nombre de usuario, password, nombre de la base de datos, Por ejemplo: Catalog { Name = catalogo dbname = bacula DB Address = localhost user = bacula password = "" } Messages.- configura cómo y cuando se comunicará Bacula con el administrador de backups para que, por ejemplo, envíe s con el estado de los backups, que registre los trabajos erróneos en un fichero, que ejecute un script después de cada trabajo, Por ejemplo: Messages { Página.- 322

324 } Name = Standard mailcommand = "/usr/lib/bacula/bsmtp -h localhost -s \"Bacula: %t %e %n %i %c %l\" operador@[ ]" operatorcommand = "/usr/lib/bacula/bsmtp -h localhost -s \"ADVERTENCIA OPERADOR: %t %e %i %c %l %j %r job: %n\" operador@[ ]" Mail = operador@[ ] = all,!skipped,!terminate append = "/var/lib/bacula/info.log" = info, terminate append = "/var/lib/bacula/error_warning.log" = error, warning,!terminate, notsaved append = "/var/lib/bacula/all.log" = all operator = operador@[ ] = mount console = error, warning,!terminate JobDefs.- contiene los parámetros por defecto de los trabajos. Si un trabajo hace referencia a un JobDefs y no especifica un parámetro, toma el que está definido en el JobDefs (si está definido aquí). Por ejemplo: JobDefs { Name = "default_backup_job" Type = Backup Storage = bacula-disco Messages = Standard Priority = 10 # Es la opcion por defecto, a mayor numero, menor la prioridad Reschedule on error = yes Reschedule interval = 1 hour Reschedule times = 1 Max Start Delay = 8 hours } Client.- para especificar los clientes de los que se va a hacer copia de seguridad. Se especifica su ip, puerto, password, etc. Por ejemplo: Client { Name = uncliente-fd Address = micliente.dominio.net FDPort = 9102 Catalog = catalogo Password = "la password" File Retention = 30 days Job Retention = 2 months } Página.- 323

325 FileSet.- se especifican los directorios y archivos que se van a copiar. También se puede especificar que se encripten los datos (con md5 o sha1, por ejemplo) o que se compriman. Por ejemplo: FileSet { Name = "uncliente-fs" Include { Options { signature = MD5 compression=gzip9 } File = /home/ File = /var/www File = /var/named/ File = /etc } } Schedule.- básicamente contiene cuándo se ejecuta un backup, dónde se guarda y qué archivos se copian. Por ejemplo: Schedule { Name = "uncliente_schedule" Run = Level = Full Pool = uncliente-full storage = bacula-disco 1st sun at 0:30 Run = Level = Differential Pool = uncliente-diff storage = bacula-disco 2nd-5th sun at 0:30 Run = Level = Incremental Pool = uncliente-inc storage = bacula-disco mon-sat at 0:30 } Pool.- entidad lógica que sirve para agrupar volúmenes. Es un almacén de volúmenes. Todos los volúmenes de un almacén comparten las características del almacén: max volume jobs, autoprune, etc. Los almacenes complementan a los schedules, y entre los dos implementan la política de backups. Por ejemplo: Página.- 324

326 Pool { } Pool { } Pool { } Name = uncliente-full Pool Type = Backup Recycle = yes AutoPrune = yes Volume Retention = 7 weeks Accept Any Volume = yes Recycle Oldest Volume = yes Maximum Volume Jobs = 1 Label Format = Uncliente-Full- Maximum Volumes = 2 Name = uncliente-inc Pool Type = Backup Recycle = yes AutoPrune = yes Volume Retention = 6 days Accept Any Volume = yes Recycle Oldest Volume = yes Maximum Volume Jobs = 1 Label Format = Uncliente-Inc- Maximum Volumes = 6 Name = uncliente-diff Pool Type = Backup Recycle = yes AutoPrune = yes Volume Retention = 4 weeks Accept Any Volume = yes Recycle Oldest Volume = yes Maximum Volume Jobs = 1 Label Format = Uncliente-Diff- Maximum Volumes = 4 Job.- define los trabajos a realizar. Bacula ejecuta los trabajos automáticamente si tienen un schedule asociado, en caso contrario se pueden ejecutar manualmente. Hay tres clases de trabajos: Backup (copia), Restore (restauración) y Verify (verifica que los atributos de los archivos del sistema de ficheros coinciden con los atributos guardados en el catálogo para esos archivos). Por ejemplo: Job { Name = "backup_uncliente" Página.- 325

327 } JobDefs = "default_backup_job" Client = uncliente-fd Schedule = "uncliente_schedule" FileSet = uncliente-fs Write Bootstrap = "/var/lib/bacula/uncliente.bsr" Pool = uncliente-inc # Dumy pool, porque se sobreescribe en el schedule bacula-sd.conf Configura el Storage y los dispositivos donde se van a almacenar físicamente las copias. Se encuentra en la máquina donde corre el storage y contiene los elementos: Storage.- define las propiedades del proceso Storage (puerto, ip, pid,...). Por ejemplo: Storage { Name = mistorage-sd SDPort = 9103 SDAddress = WorkingDirectory = "/var/lib/bacula" Pid Directory = "/var/run/bacula" Maximum Concurrent Jobs = 20 } Director.- especifica los directores que pueden contactar con este storage. Un ejemplo con un director: Director { name = Mi_director password = "la password" # coincide con la password en el recurso storage de bacula-dir.conf } Device.- especifica el dispositivo donde se guardarán los datos (unarchivo en /dev o un directorio en el sistema de ficheros). Un ejemplo con dos dispositivos: #Dispositivo archivo Device { Name = FileStorage Media Type = File Archive Device = /var/backups/bacula LabelMedia = yes; Random Access = Yes; AutomaticMount = yes; RemovableMedia = no; Página.- 326

328 AlwaysOpen = no; } #Dispositivo cinta Device { Name = TapeStorage Media Type = "Super DLT I" Archive Device = /dev/nst0 AutomaticMount = yes; AlwaysOpen = yes; RemovableMedia = yes; RandomAccess = no; LabelMedia = yes; } Messages.- define qué mensaje de los definidos en bacula-dir.conf se va a usar. Por ejemplo: Messages { Name = Standard director = Mi_director = all } bacula-fd.conf Configura al cliente donde reside. Los elementos a configurar son: FileDaemon.- define al cliente actual. Director.- especifica los directores que se conectarán al cliente. Messages.- define el mensaje que se utilizará de los definidos en el director. Un ejemplo de fichero bacula-fd.conf puede ser: Director { Name = Mi_director Password = "la password" } FileDaemon { Name = uncliente-fd FDport = 9102 WorkingDirectory = /var/lib/bacula Pid Directory = /var/run/bacula Maximum Concurrent Jobs = 20 } Messages { Name = Standard Página.- 327

329 } director = uncliente-dir = all,!skipped bconsole.conf Configura la bconsole. Pueden existir varias bconsoles en distintos equipos, cada una con su fichero de configuración, con las siguientes opciones de configuración para el director: Name.- nombre del director. DirPort.- puerto en el que escucha el director al que nos conectaremos. Address.- dirección del director. Password.- password usada que debe coincidir con el atributo password de bacula-dir.conf. Por ejemplo: Director { Name = Mi_director DIRport = 9101 address = midirector.undominio.net Password = "lapassword!!" } Con los ficheros configurados, hay dos formas de realizar un backup: Automáticamente.- para que bacula realice un trabajo (job) automáticamente debe estar habilitado (lo está por defecto) y asociado a un schedule. Manualmente.- es posible configurar un trabajo a mano y ejecutarlo o bien ejecutar uno tal cual está configurado, sin modificar ninguno de sus parámetros. Generalmente, los backups se realizan automáticamente mientras que las restauraciones se realizan cuando se necesitan. Para configurar y lanzar manualmente un backup se debe proceder desde la bconsole realizando las tareas: 1. Entrar a la bconsole y elegir un trabajo de backup. 2. Configurar el trabajo de acuerdo a las necesidades. 3. Ejecutar el trabajo. Antes de comenzar deben conocerse algunas características de la bconsole: Página.- 328

330 Puede cancelarse en cualquier momento lo que se esté haciendo introduciendo un punto (. ). Por ejemplo, si se está configurando un trabajo y se desea cancelar la configuración. Bconsole acepta comandos incompletos. Por ejemplo mess en vez de messages, stat sto en vez de status storage, Se pueden crear scripts que usen la bconsole. No confiarse; es fácil con un prune borrar algo del catálogo si no se tiene cuidado. El comando help lista las instrucciones disponibles en la bconsole, junto con una descripción de las mismas. Para proceder con bconsole (dependiendo de la configuración del equipo, quizá se necesiten privilegios de root) hay que ejecutar: bconsole Evidentemente, el resultado de la ejecución de las instrucciones que se muestran a continuación será muy diferente según cada caso puesto que depende de la configuración de cada uno de los componentes de bacula. Aquí se seguirá un ejemplo que difícilmente concordará con cualquier otro. La instrucción stat dir muestra el estado del director, que podrá ser de la forma: *stat dir silicio-dir Version: (22 April 2005) i486-pc-linux-gnu debian testing/unstable Daemon started 06-Nov-07 13:21, 36 Jobs run since started. Scheduled Jobs: Level Type Pri Scheduled Name Volume ========================================================================== Incremental Backup Nov-07 00:30 backup_unlp Unlp-Inc-0003 Incremental Backup Nov-07 01:05 backup_testing_tape *unknown* ==== Running Jobs: No Jobs running. ==== Terminated Jobs: JobId Level Files Bytes Status Finished Name ========================================================================== 5116 Incr 69 7,936,572 OK 08-Nov-07 01:07 backup_unlp_tape 5121 Incr ,875,686 OK 08-Nov-07 01:32 backup_testing_tape ==== * Página.- 329

331 donde se muestran los trabajos pendientes de ejecución, los que se encuentran en ejecución y los finalizados. La instrucción stat sto muestra el estado del Storage y de cada uno de los dispositivos. Por ejemplo: *stat sto The defined Storage resources are: 1: silicio-sd-disco 2: silicio-sd-cinta Select Storage resource (1-2): 1 Connecting to Storage daemon silicio-sd-disco at una-ip:9103 silicio-sd Version: (22 April 2005) i486-pc-linux-gnu debian testing/unstable Daemon started 06-Nov-07 13:21, 33 Jobs run since started. Running Jobs: No Jobs running. ==== Terminated Jobs: JobId Level Files Bytes Status Finished Name ====================================================================== 5116 Incr 69 7,944,619 OK 08-Nov-07 01:07 backup_unlp_tape 5121 Incr ,891,720 OK 08-Nov-07 01:32 backup_testing_tape ==== Device status: Archive "FileStorage" is not open or does not exist. Device "/dev/nst0" is mounted with Volume "Full-Backups-Tape-0008" Total Bytes=8,326,839,143 Blocks=129,093 Bytes/block=64,502 Positioned at File=37 Block=0 * Para ejecutar un trabajo se utiliza la instrucción run, que mostrará los trabajos disponibles: *run A job name must be specified. The defined Job resources are: 1: default_restore_job 2: backup_unlp Select Job resource (1-2): 2 Run Backup job JobName: backup_unlp FileSet: unlp-fs Level: Incremental Client: unlp-fd Storage: silicio-sd-disco Pool: unlp-inc When: :38:24 Página.- 330

332 Priority: 10 OK to run? (yes/mod/no): permite elegir uno de los trabajos, muestra la información relativa al mismo y permite su ejecución (o lo pone a la cola del scheduler si aún no ha llegado la hora de su ejecución (campo When)), modificación o no ejecución, según se responda yes, mod o no (un. equivale a no ), respectivamente. El significado de cada uno de los campos es el siguiente: JobName.- nombre del trabajo. No se puede modificar. FileSet.- conjunto de directorios y ficheros definidos en la configuración de bacula. Permite elegir el conjunto a usar. Generalmente hay un FileSet por cliente, aunque si existen bastantes clientes con la misma estructura de directorios puede reutilizarse el mismo. Level.- describe el tipo de copia. Los valores posibles son Full (completa), Incremental y Diferencial. Client.- especifica el cliente (FD) del que se va a copiar el fileset. Storage.- es el dispositivo (no el equipo) donde se van a guardar los datos. Pool.- es el almacén que contiene el volumen donde se va a hacer la copia. When.- establece la fecha y hora de inicio de la copia. Por defecto es ahora. Priority.- establece la prioridad del trabajo. A mayor número, menor prioridad. En el ejemplo, si se quiere ejecutar una copia completa deberá modificarse la opción Level. Para ello habrá que elegir (escribir) mod. A continuación Bacula pregunta el parámetro a modificar, que en este caso es el 1, y el tipo de copia, que para completa (full) es la opción 2: OK to run? (yes/mod/no): mod Parameters to modify: 1: Level 2: Storage 3: Job 4: FileSet 5: Client 6: When 7: Priority 8: Pool Página.- 331

333 Select parameter to modify (1-8): 1 Levels: 1: Base 2: Full 3: Incremental 4: Differential 5: Since Select level (1-5): 2 Run Backup job JobName: backup_unlp FileSet: unlp-fs Level: Full Client: unlp-fd Storage: silicio-sd-disco Pool: unlp-inc When: :08:31 Priority: 10 OK to run? (yes/mod/no): Bacula cambia el nivel del trabajo y vuelve a preguntar si está listo para su ejecución. Si se quisiera hacer el backup en cinta, debería modificarse el Storage porque está configurado para hacerlo en el disco. La forma de proceder sería similar a la anterior, eligiendo mod y la opción 2 (Storage). Bacula mostrará los dispositivos (devices); por ejemplo, para el caso de un servidor de Storage con dos dispositivos, uno de disco y otro de cinta, la información mostrada podría ser: The defined Storage resources are: 1: silicio-sd-disco 2: silicio-sd-cinta Select Storage resource (1-2): 2 Run Backup job JobName: backup_unlp FileSet: unlp-fs Level: Full Client: unlp-fd Storage: silicio-sd-cinta Pool: unlp-inc When: :08:31 Priority: 10 OK to run? (yes/mod/no): Si en el sistema todos los backups en cinta se hacen en un solo pool, que no es el que está configurado, habrá que proceder a su modificación mediante las opciones mod y 8 (Pool). Se mostrará un listado con los pools (almacenes) del sistema. Si los backups en cinta usan volúmenes del primer pool se tendrá: Página.- 332

334 Select parameter to modify (1-8): 8 The defined Pool resources are: 1: full-backups-tape 2: unlp-full 3: unlp-inc 4: unlp-diff Select Pool resource (1-7): 1 Run Backup job JobName: backup_unlp FileSet: unlp-fs Level: Full Client: unlp-fd Storage: silicio-sd-cinta Pool: full-backups-tape When: :00:00 Priority: 10 OK to run? (yes/mod/no): Si se elige yes y se ha modificado el atributo When con When: :00:00, Bacula esperará una hora antes de ejecutar el trabajo. Si se hace status dir en este momento, se verá lo siguiente:... Mas informacion arriba Running Jobs: JobId Level Name Status ====================================================================== 5124 Full backup_unlp _ is running ====... Mas informacion debajo Esto indica que el trabajo configurado se está ejecutando. Para cancelar el backup, puede usarse el comando cancel. Si hay un solo backup corriendo, nos pregunta si lo queremos cancelar. Si hay varios backups corriendo, nos preguntará cuál de todos cancelar. La restauración se puede realizar ejecutando un trabajo de restauración previamente definido en la configuración de Bacula o ejecutando el comando restore en la bconsole. Las dos modalidades presentan diferentes opciones, que se comentan a continuación. La restauración mediante un trabajo configurado tiene tres etapas definidas: 1. Buscar y seleccionar los trabajos que realizaron las copias de los archivos a recuperar. Puede hacerse mediante las instrucciones run o restore en la bconsole. Página.- 333

335 2. Armar el árbol de directorios de donde seleccionar (marcar) los archivos y directorios a restaurar. Esto lo hace Bacula, en base a los trabajos seleccionados en el paso anterior. 3. Seleccionar los archivos y directorios a restaurar utilizando el comando mark. En la bconsole se escribe run y se selecciona el trabajo definido en 1. The defined Job resources are: 1: default_restore_job 2: backup_unlp 3: backup_unlp_tape Select Job resource (1-5): 1 Please enter a JobId for restore: 4 Run Restore job JobName: default_restore_job Bootstrap: *None* Where: /var/cache/raid/backups/restores Replace: always Client: silicio-fd Storage: silicio-sd-disco JobId: 4 When: :38:29 Catalog: catalogo Priority: 10 OK to run? (yes/mod/no): Cuando se selecciona el trabajo, Bacula arma un trabajo de restauración para recuperar los datos copiados en el trabajo de backup seleccionado, después muestra la configuración del trabajo de restauración y pregunta si los datos son correctos. La forma de trabajar en este paso es similar a la del backup: se verifica que los valores sean correctos, si no lo son se elige mod y se escriben los valores correctos, así hasta que todos los valores sean los deseados. Cuando se haya terminado de configurar el trabajo se ejecuta escribiendo run en la bconsole. El significado de los diferentes campos es el siguiente: Where.- es el directorio en el cliente donde se van a guardar los archivos restaurados. Replace.- indica si reemplaza los archivos existentes por los restaurados. Posibles valores: always, ifnewer, ifolder, never. Client.- es el host que recibirá los archivos restaurados. Este host va a guardar los archivos en el directorio especificado en Where. Storage.- es el dispositivo del que se van a extraer los archivos para restaurarlos en el cliente. Página.- 334

336 JobId.- es el trabajo que se va a restaurar. La otra forma de restaurar un backup es hacerlo mediante el comando restore. Como ejemplo vamos a hacer un Full Restore de Isis. se escribe restore en la bconsole, a lo cual Bacula puede responder con el siguiente listado de opciones: *restore First you select one or more JobIds that contain files to be restored. You will be presented several methods of specifying the JobIds. Then you will be allowed to select which files from those JobIds are to be restored. To select the JobIds, you have the following choices: 1: List last 20 Jobs run 2: List Jobs where a given File is saved 3: Enter list of comma separated JobIds to select 4: Enter SQL list command 5: Select the most recent backup for a client 6: Select backup for a client before a specified time 7: Enter a list of files to restore 8: Enter a list of files to restore before a specified time 9: Cancel Select item: (1-9): Las opciones para restaurar archivos específicos requieren el path completo del archivo, tal cual estaba en el cliente. Por ejemplo, para restaurar el archivo /home/matiasb/archivo.txt hay que buscarlo como /home/matias/archivo.txt; archivo.txt será un archivo totalmente distinto. Esta posibilidad de restaurar archivos específicos se puede hacer gracias al catálogo que usa Bacula. Si por algún motivo el catálogo se borra, ya sea a propósito o por un descuido, no se podrán hacer restores selectivos para las entradas del catálogo que fueron borradas. Por ejemplo, si se borra del catálogo todos los trabajos relacionados con los backups hechos para Isis, entonces no se podrá hacer un restore de Isis de esta forma. De ocurrir esto, se puede hacer un restore usando las herramientas extra-consola que provee Bacula, como bls, bextract, etc. Notar que en el catálogo sólo se guarda información sobre los archivos y no los archivos en sí, así que por más que se pierda el catálogo, los datos seguirán almacenados en los volúmenes, ya sea en el disco duro o en la cinta, dependiendo del dispositivo donde se hayan almacenado. Página.- 335

337 Eligiendo la opción 5 Bacula pregunta cuál de todos los clientes restaurar. En este caso los clientes son: Select item: (1-9): 5 Defined Clients: 4: isis-fd Select the Client (1-4): Elegimos Isis e inmediatamente Bacula lee el catálogo para armar un árbol de directorios virtual de donde seleccionar los archivos y directorios a restaurar: Automatically selected FileSet: isis-fs JobId Level JobFiles StartTime VolumeName StartFile VolSessionId VolSessionTime ,038 F 2,766, :41:53 Isis-Full ,192,533, Muchas lineas mas You have selected the following JobIds: 5038,5060,5068,5076,5084,5093,5101,5109,5117,5126,5134 Building directory tree for JobId En el listado se ve como Bacula elige los trabajos y arma el árbol. Cuando termina y el árbol está creado, muestra un prompt donde se pueden marcar y desmarcar archivos y directorios. $ pwd cwd is: /etc/bacula/ $ ls bacula-fd.conf scripts/ $ Con el comando mark se selecciona lo que se quiere restaurar y con el comando unmark se desmarca lo que por error se haya marcado. Por ejemplo, se puede marcar el archivo de configuración del cliente Bacula y luego desmarcarlo: $ mark bacula-fd.conf 1 files marked. $ unmark bacula-fd.conf 1 files unmarked. $ Si, por ejemplo, se marca para restaurar el archivo /etc/bacula/bacula-fd.conf y el directorio /etc/bacula/scripts. Con el comando estimate Bacula nos da una estimación de cuántos bytes se van a restaurar (Notar cómo marcando un directorio, automáticamente se marcan todos los archivos del directorio): Página.- 336

338 $ mark scripts 5 files marked. $ estimate total files; 8 marked to be restored; 2,576 bytes. $ Cuando se ha marcado todo lo que se desea restaurar, con el comando done se le indica a Bacula que puede empezar a restaurar los datos. En cualquier momento se puede usar el comando help, que imprime un listado de los comandos disponibles. Además, si se quiere cancelar el restore, se puede usar el comando., que sirve para volver a la bconsole. Como herramientas de línea de comandos se puede mencionar: El comando mt que permite manejar las cintas. Este comando recibe como argumento el archivo de dispositivo asociado a la cinta como son /dev/st0 y /dev/nst0 (el primero rebobina la cinta después de cada operación pero el segundo no). Se puede usar /proc para obtener información sobre los dispositivos SCSI conectados al equipo: cat /proc/scsi/scsi Attached devices: Host: scsi0 Channel: 00 Id: 06 Lun: 00 Vendor: QUANTUM Model: DLT VS160 Rev: 2C00 Type: Sequential-Access ANSI SCSI revision: 02 Host: scsi2 Channel: 00 Id: 00 Lun: 00 Vendor: ADAPTEC Model: Device 1 Rev: V1.0 Type: Direct-Access ANSI SCSI revision: 02 Además, Bacula tiene varias herramientas de línea de comandos que sirven para manipular los volúmenes. Por ejemplo: bls.- sirve para listar el contenido de un volumen, similar a la instrucción ls -l. bscan.- permite recuperar el catálogo a partir de los volúmenes el disco o cinta. Bextract.- permite extraer archivos directamente desde el volumen en el dispositivo, sin usar la bconsola. Bcopy.- hace una copia de un volumen a otro. Bsmtp.- permite enviar s a los operadores, siendo más flexible que las herramientas de del sistema. Las primeras cuatro herramientas se usan desde la linea de comandos, mientras que bsmtp se usa generalmente desde el resource Messages en la configuración de Bacula. Página.- 337

339 Para obtener información completa puede consultarse el manual de referencia en la página Cuotas de disco. Límites, nivel de advertencia y compresión. La práctica totalidad de los sistemas operativos actuales incorporan herramientas que permiten controlar y delimitar el uso de espacio de disco duro o el número de ficheros permitidos por usuario o grupo de usuarios. Así se evitan problemas como que un usuario pueda llegar a bloquear o ralentizar ocupando todo el espacio del disco duro. También permite delimitar, por ejemplo, el espacio utilizado por los usuarios para buzón de correos. Estos controles o delimitaciones se realizan haciendo uso de las llamadas cuotas de disco que permiten gestionar los siguientes aspectos: Conocer el espacio de disco ocupado por un determinado usuario o grupo. Establecer, para usuarios o grupos, el límite de espacio en disco a ocupar o el número de ficheros y directorios a crear; es la cuota propiamente dicha, límite soft o límite suave. Generar un aviso para el usuario o para el administrador del sistema cuando el usuario está próximo a alcanzar la cuota asignada; es el denominado nivel de advertencia. Por ejemplo, si un usuario tiene asignada una cuota de 500 Mb. y un nivel de advertencia de 50 Mb., el sistema operativo emitirá un mensaje de advertencia cuando el usuario alcance una ocupación de disco de 450 Mb. En algunos sistemas operativos el aviso se genera al alcanzar la cuota establecida (límite suave) aunque temporalmente admita que se sobrepase hasta alcanzar el límite duro que se explica a continuación. Establecer un espacio de disco extra de sobrepaso de la cuota. Por ejemplo, un usuario con una cuota de 500 Mb. y un límite de sobrepaso de 50 Mb. podrá llegar a utilizar un máximo de 550 Mb. Éste es el espacio sobre cuota, límite hard o límite duro, que el usuario no podrá rebasar puesto que el sistema operativo lo impedirá. Dependiendo del sistema operativo, el límite hard puede especificarse incluyendo el límite soft, de tal forma que, para el caso anterior, el límite hard pasaría a ser 550 Mb. Establecer un periodo de tiempo durante el cual el sistema operativo mantendrá los datos que se encuentran entre el límite soft y el hard. Transcurrido dicho periodo esos datos serán eliminados. Página.- 338

340 Fig 141: Cuotas según diferentes sistemas operativos En el apartado se detalla cómo limitar el espacio disponible de disco (uso de cuotas) para los usuarios. Los sistemas de ficheros de tipo ext2, ext3, ext4, reiserfs, ufs, ntfs, etc. soportan la implementación de cuotas de disco mientras que otros tipos como fat16, fat32, etc. no la soportan. Las cuotas de disco se asignan de forma independiente a cada sistema de ficheros, dependiendo de la gestión que quiera realizarse. Así, si se utiliza una partición para las cuentas de correo de ciertos usuarios, pueden implementarse las cuotas de disco para dicha partición exclusivamente. Antes de habilitar el soporte para cuotas en un sistema de ficheros determinado, hay que asegurarse de que ningún proceso esté haciendo uso de dicho recurso. Para ello, es conveniente iniciar el sistema en nivel de ejecución monousuario. No se recomienda cambiar a dicho nivel con la instrucción init 1 puesto que no se asegura que algún proceso esté haciendo uso del recurso. Por cada sistema de ficheros al que se desee implementar la cuota, se deberán crear 4 ficheros: quota.user, quota.group, aquota.user, aquota.group. Estos ficheros serán los responsables de administrar las cuotas y llevar los índices de los ficheros de los usuarios y grupos. La compresión de ficheros no es un método que permita un uso más eficiente del espacio asignado al usuario dado que las operaciones de cálculo de ocupación se realizan con anterioridad a la compresión, cuando los ficheros aún se encuentran sin comprimir. Página.- 339

341 10.8 Actividades 1. Realizar una copia completa de varios ficheros, borrar los originales y recuperarlos desde la copia, utilizando tar. 2. Recuperar parte de los ficheros contenidos en un archivo de copia utilizando tar. 3. Describir las diferencias entre la copia de seguridad incremental y la progresiva. Poner un ejemplo. 4. Realizar una copia completa y después una incremental y la recuperación posterior de los ficheros, utilizando tar. 5. Realizar un proceso similar al anterior pero con copias progresivas. 6. Hacer una planificación de las copias de seguridad de una empresa con unas características concretas en cuanto a información generada, usuarios, sucursales, etc. 7. Hacer una planificación de las copias de seguridad para el aula. Comprobar el funcionamiento de la copia de seguridad y de la restauración haciendo uso de las máquinas virtuales. 8. Realizar con Keep (en vez de con tar) las actividades 1, 2 y Realizar con Sbackup las actividades 1, 2 y Realizar una copia de seguridad con Bácula haciendo uso del laboratorio de máquinas virtuales. 11. Establecer cuotas de disco en una partición para unos determinados usuarios y grupos. Comprobar el correcto funcionamiento. Página.- 340

342

Trabajo TICO Unidad 2: Sistemas Operativos. Guillermo Jarne Bueno.

Trabajo TICO Unidad 2: Sistemas Operativos. Guillermo Jarne Bueno. Un Sistema Operativo es el software encargado de ejercer el control y coordinar el uso del hardware entre diferentes programas de aplicación y los diferentes usuarios. Es un administrador de los recursos

Más detalles

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 2: representación de la información

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 2: representación de la información TEMA 1: SISTEMAS INFORMÁTICOS Parte 2: representación de la información Qué vamos a ver? Cómo se representa y almacena la información en un ordenador Cómo podemos relacionar la información que entendemos

Más detalles

Manual de usuario de Parda Programa de Almacenamiento y Recuperación de Datos Automático

Manual de usuario de Parda Programa de Almacenamiento y Recuperación de Datos Automático Programa de Almacenamiento y Recuperación de Datos Automático CONSEJERÍA DE EDUCACIÓN Dirección General de Participación e Innovación Educativa Centro de Gestión Avanzado de Centros TIC Fecha: 20/04/10

Más detalles

WINDOWS 2008 5: TERMINAL SERVER

WINDOWS 2008 5: TERMINAL SERVER WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.

Más detalles

I NTRODUCCIÓN 1. ORDENADOR E INFORMÁTICA

I NTRODUCCIÓN 1. ORDENADOR E INFORMÁTICA I. INTRODUCCIÓN 1. ORDENADOR E INFORMÁTICA 1.1. Informática Informática (Información Automática) es la ciencia y la técnica del tratamiento automatizado de la información mediante el uso de ordenadores.

Más detalles

El ordenador es un dispositivo electrónico que permite almacenar información, modificarla y generar nueva información.

El ordenador es un dispositivo electrónico que permite almacenar información, modificarla y generar nueva información. 0. INTRODUCCIÓN: El ordenador es un dispositivo electrónico que permite almacenar información, modificarla y generar nueva información. Para llevar a cabo estas operaciones, el ordenador cuenta con una

Más detalles

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10 CONCEPTOS BASICOS Febrero 2003 Página - 1/10 EL ESCRITORIO DE WINDOWS Se conoce como escritorio la zona habitual de trabajo con windows, cuando iniciamos windows entramos directamente dentro del escritorio,

Más detalles

Autor: Santiago Alonso Gómez Curso: 2.009 / 10

Autor: Santiago Alonso Gómez Curso: 2.009 / 10 Este manual es parte del resultado de una licencia por estudios concedida por la Consejería de Educación para desarrollar el proyecto de investigación educativa titulado MaX: El Sistema Operativo libre

Más detalles

ORGANIZAR LA INFORMACIÓN: EL EXPLORADOR DE WINDOWS

ORGANIZAR LA INFORMACIÓN: EL EXPLORADOR DE WINDOWS ORGANIZAR LA INFORMACIÓN: EL EXPLORADOR DE WINDOWS Organizar la información: El explorador de Windows... 1 Introducción... 1 Explorador de Windows... 2 Ejercicio práctico del explorador de Windows... 5

Más detalles

INSTALACIÓN DE MEDPRO

INSTALACIÓN DE MEDPRO 1 Estimado Cliente: Uno de los objetivos que nos hemos marcado con nuestra nueva plataforma de gestión, es que un cliente pueda instalar MedPro y realizar su puesta en marcha de forma autónoma. Siga paso

Más detalles

Sistema operativo Discos duros Usuarios

Sistema operativo Discos duros Usuarios Práctica III Para este último bloque de unidades, vamos a modificar la infraestructura de la empresa PEQUE, S.A., que tenemos: Tipo de hardware Sistema operativo Discos duros Usuarios TIPO 1 (5 equipos)

Más detalles

T3-Rondas V 1.1. Help-Pc, S.L. C/ Pintor Pau Roig, 39 L-5 08330 Premià de Mar Barcelona Tel. (93) 754 90 19 Fax 93 752 35 18 marketing@t2app.

T3-Rondas V 1.1. Help-Pc, S.L. C/ Pintor Pau Roig, 39 L-5 08330 Premià de Mar Barcelona Tel. (93) 754 90 19 Fax 93 752 35 18 marketing@t2app. T3-Rondas V 1.1 1 Indice 1 Requisitos mínimos 3 2 Instalación 3 2.1 Instalación del software 3 2.2 Instalación del terminal 4 3 Configuración Inicial 4 3.1 Crear terminales 5 3.2 Crear puntos de lectura

Más detalles

Notas para la instalación de un lector de tarjetas inteligentes.

Notas para la instalación de un lector de tarjetas inteligentes. Notas para la instalación de un lector de tarjetas inteligentes. Índice 0. Obtención de todo lo necesario para la instalación. 3 1. Comprobación del estado del servicio Tarjeta inteligente. 4 2. Instalación

Más detalles

Guía de acceso a Meff por Terminal Server

Guía de acceso a Meff por Terminal Server Guía de acceso a Meff por Terminal Server Fecha:15 Marzo 2011 Versión: 1.02 Historia de Revisiones Versión Fecha Descripción 1.00 03/07/2009 Primera versión 1.01 13/08/2009 Incorporación dominio 1.02 15/03/2011

Más detalles

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX En este manual se presenta el proceso de configuración de una Maquina Virtual en VirtualBox, que será utilizada para instalar un Servidor

Más detalles

Instalación del sistema operativo Microsoft Windows Server 2008 Standard Edition x86

Instalación del sistema operativo Microsoft Windows Server 2008 Standard Edition x86 Instalación del sistema operativo Microsoft Windows Server 2008 Standard Edition x86 1. CONSIDERACIONES PREVIAS Antes de empezar con la instalación vamos a revisar los requerimientos necesarios para poder

Más detalles

CONFIGURACIÓN DEL ADAPTADOR DE RED EN LINUX

CONFIGURACIÓN DEL ADAPTADOR DE RED EN LINUX CONFIGURACIÓN DEL ADAPTADOR DE RED EN LINUX 16/09/2005 Índice de Contenidos 1 INTRODUCCIÓN... 1-1 2 DISTRIBUCIONES LINUX... 2-1 3 CONFIGURACIÓN DE RED EN LINUX... 3-1 3.1 FEDORA CORE 3... 3-1 3.1.1 Configuración

Más detalles

Backharddi. 1.1. Introducción. 1.2. Cómo obtener Backharddi? MAX 3.1: Madrid_LinuX Manual de Utilización

Backharddi. 1.1. Introducción. 1.2. Cómo obtener Backharddi? MAX 3.1: Madrid_LinuX Manual de Utilización Backharddi Nota: Este manual solamente cubre la creación de imágenes en dispositivos locales, discos duros tanto internos como conectados a un puerto usb. Posteriormente se completará con la posibilidad

Más detalles

CÓMO CONFIGURAR DHCP EN SUSE LINUX

CÓMO CONFIGURAR DHCP EN SUSE LINUX CÓMO CONFIGURAR DHCP EN SUSE LINUX Pedro Manuel Lemus Sánchez Profesor de Informática en el IES Suárez de Figueroa En ocasiones cuando oímos hablar de un Sistema Operativo (S.O.) de libre distribución,

Más detalles

Roles y Características

Roles y Características dominio Roles y Características Una vez instalado Windows Server 2008 y configuradas algunas opciones básicas de Windows Server 2008 desde el Panel de Control o desde el Administrador del Servidor, las

Más detalles

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación Vicerrectorado de Tecnologías de la Información y la Comunicación Conexión mediante Escritorio Remoto de Windows Última Actualización 16 de septiembre de 2013 Histórico de cambios Fecha Descripción Autor

Más detalles

TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS

TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS 1) EL PEQUEÑO EDITOR El Bloc de notas de Windows XP es un básico editor de texto con el que podemos escribir anotaciones, de hasta 1024 caracteres por línea y

Más detalles

La informática es el conjunto de técnicas y conocimientos necesarios para el tratamiento automático de la información mediante el ordenador.

La informática es el conjunto de técnicas y conocimientos necesarios para el tratamiento automático de la información mediante el ordenador. Qué es la informática? La informática es el conjunto de técnicas y conocimientos necesarios para el tratamiento automático de la información mediante el ordenador. Se llama sistema informático al sistema

Más detalles

Manual instalación Windows 8. Instalar Windows 8 paso a paso

Manual instalación Windows 8. Instalar Windows 8 paso a paso Manual instalación Windows 8. Instalar Windows 8 paso a paso Windows 8 es el nuevo sistema operativo de Microsoft, en el cual se han incluido más de 100.000 cambios en el código del sistema operativo,

Más detalles

Módulos: Módulo 1. Hardware & Arquitectura de sistemas - 20 Horas

Módulos: Módulo 1. Hardware & Arquitectura de sistemas - 20 Horas Módulos: Módulo 1 Hardware & Arquitectura de sistemas - 20 Horas Este módulo permite conocer y configurar los elementos básicos del hardware del sistema, como también otros componentes adicionales como

Más detalles

Tema: INSTALACIÓN Y PARTICIONAMIENTO DE DISCOS DUROS.

Tema: INSTALACIÓN Y PARTICIONAMIENTO DE DISCOS DUROS. 1 Facultad: Ingeniería Escuela: Electrónica Asignatura: Arquitectura de computadoras Lugar de ejecución: Lab. de arquitectura de computadoras, edif. de electrónica. Tema: INSTALACIÓN Y PARTICIONAMIENTO

Más detalles

Informática 4º ESO Tema 1: Sistemas Informáticos. Sistemas Operativos (Parte 2)

Informática 4º ESO Tema 1: Sistemas Informáticos. Sistemas Operativos (Parte 2) 1. Qué es un sistema operativo?...2 2. Funciones de los sistemas operativos...2 3. Windows...2 3.1. La interfaz gráfica...2 3.2. La administración y los usuarios...3 3.3. El sistema de archivos...3 3.4.

Más detalles

Servicio de Informática

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Guía de usuario del servicio de Aula Virtual Última Actualización 02 de octubre de 2014 Tabla de contenido 1.- INTRODUCCIÓN... 3 2.- ACCESO AL SERVICIO...

Más detalles

Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte)

Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte) Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte) Unidad de trabajo 2: INFORMÁTICA BÁSICA... 1 1. Representación interna de datos.... 1 1.2. Sistemas de numeración.... 2 1.3. Aritmética binaria...

Más detalles

CI Politécnico Estella

CI Politécnico Estella PROGRAMACIÓN DEL /ASIGNATURA DEPARTAMENTO: Informática GRUPO/CURSO: 1º AS / 2.014-2.015 / ASIGNATURA: ISOP (IMPLANTACIÓN DE SISTEMAS OPERATIVOS) PROFESOR: Mikel Villanueva Erdozain 1. SÍNTESIS DE LA PROGRAMACIÓN

Más detalles

HARDWARE DE UN ORDENADOR. Elementos básicos

HARDWARE DE UN ORDENADOR. Elementos básicos HARDWARE DE UN ORDENADOR Elementos básicos Componentes de un ordenador Hardware: todos los componentes físicos, tanto internos como externos: monitor, teclado, disco duro, memoria, etc. Software: todos

Más detalles

MANUAL TÉCNICO DE IMPLEMENTACIÓN PROYECTO SOCIAL COMPUESCUELA. Elaborado por: Julián A. Hernández M.

MANUAL TÉCNICO DE IMPLEMENTACIÓN PROYECTO SOCIAL COMPUESCUELA. Elaborado por: Julián A. Hernández M. MANUAL TÉCNICO DE IMPLEMENTACIÓN PROYECTO SOCIAL COMPUESCUELA Elaborado por: Julián A. Hernández M. PONTIFICIA UNIVERSIDAD JAVERIANA CALI SANTIAGO DE CALI 2011 CONTENIDO Pág. INTRODUCCIÓN...3 1. ANÁLISIS

Más detalles

TEMA 1. SISTEMAS OPERATIVOS Y ALMACENAMIENTO DE INFORMACIÓN

TEMA 1. SISTEMAS OPERATIVOS Y ALMACENAMIENTO DE INFORMACIÓN TEMA 1. SISTEMAS OPERATIVOS Y ALMACENAMIENTO DE INFORMACIÓN 1 SISTEMAS OPERATIVOS. INTRODUCCIÓN. Un sistema operativo es un programa (software) que se inicia al encender el ordenador, se encarga de gestionar

Más detalles

SBConta.NET Manual de instalación. SBSS Consulting, S.A. 08010 Barcelona Telf. 93.268-0356, fax 93-268-0070 E-Mail: sbss@sbss.es, web www.sbss.

SBConta.NET Manual de instalación. SBSS Consulting, S.A. 08010 Barcelona Telf. 93.268-0356, fax 93-268-0070 E-Mail: sbss@sbss.es, web www.sbss. SBConta.NET Manual de instalación SBSS Consulting, S.A. 08010 Barcelona Telf. 93.268-0356, fax 93-268-0070 E-Mail: sbss@sbss.es, web www.sbss.es SBConta.NET C o n t e n i d o i Contenido 1. Introducción.

Más detalles

5.2.- Configuración de un Servidor DHCP en Windows 2003 Server

5.2.- Configuración de un Servidor DHCP en Windows 2003 Server 5.2.- Configuración de un Servidor DHCP en Windows 2003 Server En este apartado vamos a configurar el servidor DHCP de "Windows 2003 Server", instalado en el apartado anterior. Lo primero que hemos de

Más detalles

WINDOWS 2008 7: COPIAS DE SEGURIDAD

WINDOWS 2008 7: COPIAS DE SEGURIDAD 1.- INTRODUCCION: WINDOWS 2008 7: COPIAS DE SEGURIDAD Las copias de seguridad son un elemento fundamental para que el trabajo que realizamos se pueda proteger de aquellos problemas o desastres que pueden

Más detalles

1.- DESCRIPCIÓN Y UTILIDAD DEL SOFTWARE DAEMON TOOLS.

1.- DESCRIPCIÓN Y UTILIDAD DEL SOFTWARE DAEMON TOOLS. CREANDO UNIDADES VIRTUALES DE CD Y DVD CON DAEMON TOOLS 1.- DESCRIPCIÓN Y UTILIDAD DEL SOFTWARE DAEMON TOOLS. Daemon Tools es una herramienta que permite a los usuarios simular una unidad o varias unidades

Más detalles

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 3: sistemas operativos

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 3: sistemas operativos TEMA 1: SISTEMAS INFORMÁTICOS Parte 3: sistemas operativos Qué vamos a ver? Qué tipos de sistemas operativos existen principalmente Las distintas formas de instalar un sistema operativo En qué consiste

Más detalles

Fundamentos CAPÍTULO 1. Contenido

Fundamentos CAPÍTULO 1. Contenido CAPÍTULO 1 Fundamentos En este capítulo encontrará instrucciones rápidas y sencillas que le permitirán poner manos a la obra de inmediato. Aprenderá también a utilizar la ayuda en pantalla, que le será

Más detalles

INFORMÁTICA. Matemáticas aplicadas a la Informática

INFORMÁTICA. Matemáticas aplicadas a la Informática ACCESO A CICLO SUPERIOR INFORMÁTICA Matemáticas aplicadas a la Informática http://trasteandoencontre.km6.net/ 1 Acceso a grado Superior. Informática 1. Unidades de medida en informática Como sabemos, el

Más detalles

UF0513 Gestión auxiliar de archivo en soporte convencional o informático

UF0513 Gestión auxiliar de archivo en soporte convencional o informático UF0513 Gestión auxiliar de archivo en soporte convencional o informático Tema 1. Sistemas operativos habituales Tema 2. Archivo y clasificación de documentación administrativa Tema 3. Base de datos Tema

Más detalles

V i s i t a V i r t u a l e n e l H o s p i t a l

V i s i t a V i r t u a l e n e l H o s p i t a l V i s i t a V i r t u a l e n e l H o s p i t a l Manual de Restauración del PC Septiembre 2011 TABLA DE CONTENIDOS SOBRE EL SOFTWARE... 3 CONSIDERACIONES ANTES DE RESTAURAR... 4 PROCEDIMIENTO DE RECUPERACION...

Más detalles

BRUTALIX Una distribución GNU/Linux para operadores.

BRUTALIX Una distribución GNU/Linux para operadores. BRUTALIX Una distribución GNU/Linux para operadores. Jaime Ruiz Frontera jaruiz@unizar.es Índice 1. Introducción 1 2. Cómo arrancar y comenzar con Brutalix 2 3. Cómo clonar un disco duro 4 1. Introducción

Más detalles

ACCESS CONTROL. Aplicación para control y gestión de presencia. (Versión. BASIC) 1 Introducción. 2 Activación del programa

ACCESS CONTROL. Aplicación para control y gestión de presencia. (Versión. BASIC) 1 Introducción. 2 Activación del programa 1 2 1 Introducción Aplicación para control y gestión de presencia ACCESS CONTROL (Versión. BASIC) AccessControl es un eficaz sistema para gestionar la presencia de sus empleados mediante huella dactilar.

Más detalles

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema Sistema de Gestión Portuaria Uso General del Sistema Uso General del Sistema Página 1 de 21 Contenido Contenido... 2 1.Ingreso al Sistema... 3 2.Uso del Menú... 6 3.Visualizar Novedades del Sistema...

Más detalles

Direcciones IP IMPLANTACIÓN DE SISTEMAS OPERATIVOS 1º ASIR. En redes IPv4.

Direcciones IP IMPLANTACIÓN DE SISTEMAS OPERATIVOS 1º ASIR. En redes IPv4. Direcciones IP En redes IPv4. IMPLANTACIÓN DE SISTEMAS OPERATIVOS Cada ordenador en Internet dispone de una dirección IP única de 32 bits. Estos 32 bits,o 4 bytes, se representan normalmente como se muestra

Más detalles

Antivirus PC (motor BitDefender) Manual de Usuario

Antivirus PC (motor BitDefender) Manual de Usuario Antivirus PC (motor BitDefender) Manual de Usuario Índice 1. Introducción... 3 2. Qué es Antivirus PC?... 3 a. Eficacia... 3 b. Actualizaciones... 4 3. Requisitos técnicos... 4 a. Conocimientos técnicos...

Más detalles

Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software.

Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software. ARQUITECTURA DE LAS COMPUTADORAS QUE ES UNA COMPUTADORA (UN ORDENADOR)? Existen numerosas definiciones de una computadora, entre ellas las siguientes: 1) Una computadora es un dispositivo capaz de realizar

Más detalles

Guía de instalación de LliureX 5.09

Guía de instalación de LliureX 5.09 Guía de instalación de LliureX 5.09 Introducción La distribución LliureX está basada en Sarge, la versión estable de Debian GNU/Linux. Esta guía pretende ayudar al usuario en el proceso de instalación

Más detalles

Control de presencia para terminal por huella dactilar

Control de presencia para terminal por huella dactilar Manual de software Control de presencia para terminal por huella dactilar Access FP (SOFTWARE PARA LECTOR DE HUELLA DACTILAR SIMON ALERT REF.: 8902003-039 y 8902004-039) (Versión de sofware 1.5) (Versión

Más detalles

Eurowin 8.0 SQL. Manual de la FIRMA DIGITALIZADA

Eurowin 8.0 SQL. Manual de la FIRMA DIGITALIZADA Eurowin 8.0 SQL Manual de la FIRMA DIGITALIZADA Documento: me_firmadigitalizada Edición: 02 Nombre: Manual de la Firma Digitalizada en Eurowin Fecha: 19-05-2011 Tabla de contenidos 1. FIRMA DIGITALIZADA

Más detalles

Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian

Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian Guía de Instalación Página 1 Índice ESCUDO MOVISTAR.... 3 1. INSTALACIÓN DEL SERVICIO ESCUDO MOVISTAR... 3 1.1. VERSIONES SOPORTADAS... 3

Más detalles

Guía breve para escanear usando XSane

Guía breve para escanear usando XSane José J. Grimaldos josejuan.grimaldos@hispalinux.es Tabla de contenidos 1. El entorno de XSane... 2 1.1. Invocando a XSane... 2 1.2. Las ventanas de XSane... 4 1.2.1. La ventana principal... 4 1.2.2. La

Más detalles

WINDOWS XP. Está situada en la parte inferior, muestra información sobre el trabajo que estamos desarrollando en la ventana

WINDOWS XP. Está situada en la parte inferior, muestra información sobre el trabajo que estamos desarrollando en la ventana WINDOWS XP Es un sistema Operativo Microsoft Windows XP es un programa que controla la actividad general de la computadora. Así mismo, asegura que todas las partes de la Computadora operen de manera efectiva

Más detalles

SCT3000 95. Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A. microtes@arrakis.es

SCT3000 95. Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A. microtes@arrakis.es SCT3000 95 Versión 3.5 Software para la calibración de transductores de fuerza. Microtest S.A. microtes@arrakis.es Introducción El programa SCT3000 95, es un sistema diseñado para la calibración automática

Más detalles

1. Configuración del entorno de usuario

1. Configuración del entorno de usuario Tabla de Contenidos 1. Configuración del entorno de usuario 1.1. Temas 1.2. Apariencia 1.3. Configuración del menú Inicio 2. Configuración de los equipos portátiles en red 2.1. Realizar copia de seguridad

Más detalles

TEMA 20 EXP. WINDOWS PROC. DE TEXTOS (1ª PARTE)

TEMA 20 EXP. WINDOWS PROC. DE TEXTOS (1ª PARTE) 1. Introducción. TEMA 20 EXP. WINDOWS PROC. DE TEXTOS (1ª PARTE) El Explorador es una herramienta indispensable en un Sistema Operativo ya que con ella se puede organizar y controlar los contenidos (archivos

Más detalles

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico)

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico) MANUAL DE AYUDA SAT Móvil (Movilidad del Servicio Técnico) Fecha última revisión: Abril 2015 INDICE DE CONTENIDOS INTRODUCCION SAT Móvil... 3 CONFIGURACIONES PREVIAS EN GOTELGEST.NET... 4 1. INSTALACIÓN

Más detalles

Instalación de Fedora Core 18 junto a Windows 7.

Instalación de Fedora Core 18 junto a Windows 7. Instalación de Fedora Core 18 junto a Windows 7. Antes de nada deberíamos tener en cuenta si tenemos espacio disponible en nuestro disco para poder llevar a cabo la instalación. Habitualmente compramos

Más detalles

Guía de instalación de la carpeta Datos de IslaWin

Guía de instalación de la carpeta Datos de IslaWin Guía de instalación de la carpeta Datos de IslaWin Para IslaWin Gestión CS, Classic o Pyme a partir de la revisión 7.00 (Revisión: 10/11/2011) Contenido Introducción... 3 Acerca de este documento... 3

Más detalles

Escudo Movistar Guía Rápida de Instalación Para Windows

Escudo Movistar Guía Rápida de Instalación Para Windows Escudo Movistar Guía Rápida de Instalación Para Windows Guía de Instalación Página 1 Índice ESCUDO MOVISTAR.... 3 1. INSTALACIÓN DEL SERVICIO ESCUDO MOVISTAR... 3 1.1. VERSIONES SOPORTADAS... 3 1.2. DISPOSITIVOS

Más detalles

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta Configuración de una red con Windows Aunque existen múltiples sistemas operativos, el más utilizado en todo el mundo sigue siendo Windows de Microsoft. Por este motivo, vamos a aprender los pasos para

Más detalles

Seminario de Informática

Seminario de Informática Unidad II: Operaciones Básicas de Sistemas Operativos sobre base Windows 11. Herramientas del Sistema INTRODUCCION Este apunte está basado en Windows XP por ser el que estamos utilizando en el gabinete

Más detalles

FP Gestión, Formación Profesional para el Empleo. Linux OpenSuse 10.2

FP Gestión, Formación Profesional para el Empleo. Linux OpenSuse 10.2 Linux OpenSuse 10.2 Descripción: El curso se divide en tres partes o niveles: básico, avanzado y experto. En la primera parte, el alumno aprende a manejar los dos entornos de usuario más conocidos de Linux

Más detalles

1º CFGS ASIR IMPLANTACIÓN DE SISTEMAS OPERATIVOS

1º CFGS ASIR IMPLANTACIÓN DE SISTEMAS OPERATIVOS 1º CFGS ASIR IMPLANTACIÓN DE SISTEMAS OPERATIVOS OBJETIVOS La formación del módulo contribuye a alcanzar los objetivos generales de este ciclo formativo que se relacionan a continuación: a. Analizar la

Más detalles

Internet Information Server

Internet Information Server Internet Information Server Internet Information Server (IIS) es el servidor de páginas web avanzado de la plataforma Windows. Se distribuye gratuitamente junto con las versiones de Windows basadas en

Más detalles

Descubre gnulinex 1. Capítulo 20. Instalación de gnulinex

Descubre gnulinex 1. Capítulo 20. Instalación de gnulinex Descubre gnulinex 1 Capítulo 20 Instalación de gnulinex 2 Descubre gnulinex Sistemas operativos Generalmente, cuando adquirimos un ordenador, éste nos viene con un sistema operativo instalado. El problema

Más detalles

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access)

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access) Administración de la producción Sesión 10: Gestor de Base de Datos (Access) Contextualización Microsoft Access es un sistema de gestión de bases de datos, creado para uso personal y de pequeñas organizaciones,

Más detalles

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES. 1.- a) Explica qué es un bit de información. Qué es el lenguaje binario? Bit es la abreviatura de Binary digit. (Dígito binario). Un bit es un dígito del lenguaje binario que es el lenguaje universal usado

Más detalles

WINDOWS 2008 4: SERVIDOR DHCP

WINDOWS 2008 4: SERVIDOR DHCP 1.- CONCEPTOS PREVIOS: WINDOWS 2008 4: SERVIDOR DHCP DHCP (Dynamic Host Configuration Protocol = protocolo de configuración dinámica de host) es un protocolo que simplifica la configuración de los parámetros

Más detalles

Redes de área local: Aplicaciones y servicios WINDOWS

Redes de área local: Aplicaciones y servicios WINDOWS Redes de área local: Aplicaciones y servicios WINDOWS 5. Servidor DHCP 1 Índice Definición de Servidor DHCP... 3 Instalación del Servidor DHCP... 5 Configuración del Servidor DHCP... 8 2 Definición de

Más detalles

1. Informática e información. 2. Sistemas de numeración. 3. Sistema binario, operaciones aritméticas en binario, 4. Sistemas octal y hexadecimal. 5.

1. Informática e información. 2. Sistemas de numeración. 3. Sistema binario, operaciones aritméticas en binario, 4. Sistemas octal y hexadecimal. 5. Representación de la información Contenidos 1. Informática e información. 2. Sistemas de numeración. 3. Sistema binario, operaciones aritméticas en binario, 4. Sistemas octal y hexadecimal. 5. Conversiones

Más detalles

UNIDAD DIDACTICA 4 INTEGRACIÓN DE CLIENTES WINDOWS EN UN DOMINIO

UNIDAD DIDACTICA 4 INTEGRACIÓN DE CLIENTES WINDOWS EN UN DOMINIO UNIDAD DIDACTICA 4 INTEGRACIÓN DE CLIENTES Eduard Lara 1 1. CONFIGURACIÓN PREVIA DE LOS CLIENTES WINDOWS Objetivo: Configurar los clientes Windows XP/Vista en red para posteriormente poderlos integrar

Más detalles

ÍNDICE SISTEMAS OPERATIVOS... 5

ÍNDICE SISTEMAS OPERATIVOS... 5 INTRODUCCIÓN HABILIDADES INFORMÁTICAS BÁSICAS PARA ADULTOS SKILLS es un completo curso destinado a alumnos adultos, en particular, a empleados de mayor edad, de forma que puedan adquirir/mejorar sus conocimientos

Más detalles

1. Instala servicios de configuración dinámica, describiendo sus características y aplicaciones.

1. Instala servicios de configuración dinámica, describiendo sus características y aplicaciones. Módulo Profesional: Servicios en Red. Código: 0227. Resultados de aprendizaje y criterios de evaluación. 1. Instala servicios de configuración dinámica, describiendo sus características y aplicaciones.

Más detalles

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP Características del Explorador de Windows El Explorador de Windows es una de las aplicaciones más importantes con las que cuenta Windows. Es una herramienta indispensable

Más detalles

1. Cambia el fondo del Escritorio

1. Cambia el fondo del Escritorio PERSONALIZANDO EL ESCRITORIO El Escritorio es la gran zona central de la pantalla. Permite principalmente dos cosas: puedes tener en él archivos o accesos directos para los programas o datos que más utilices,

Más detalles

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 INTRODUCCIÓN El elemento hardware de un sistema básico de proceso de datos se puede estructurar en tres partes claramente diferenciadas en cuanto a sus funciones:

Más detalles

Tutorial 2 LAS UNIDADES (I)

Tutorial 2 LAS UNIDADES (I) Tutorial 2 LAS UNIDADES (I) 2.1.- Introducción En el pasado tutorial aprendimos a hacer carpetas, copiar y mover ficheros, a eliminarlos y a cambiarles el nombre. Ahora vamos a ver algo parecido. Cómo

Más detalles

Tema: Instalación de Linux.

Tema: Instalación de Linux. 1 Facultad: Ingeniería Escuela: Electrónica Asignatura: Arquitectura de computadoras Lugar de ejecución: Lab. de arquitectura de computadoras, edif. de electrónica. Tema: Instalación de Linux. Objetivo

Más detalles

Operación de Microsoft Word

Operación de Microsoft Word Generalidades y conceptos Combinar correspondencia Word, a través de la herramienta combinar correspondencia, permite combinar un documento el que puede ser una carta con el texto que se pretende hacer

Más detalles

Introducción a la informática

Introducción a la informática Introducción a la informática 1 Índice de contenido Licencia y condiciones de uso...3 Introducción...4...5 Sociedad de la información...5 Informática y Ofimática...6 Hardware, Software y Unidades de Medida...7

Más detalles

Índice. agradecimientos...19

Índice. agradecimientos...19 Índice agradecimientos...19 CAPÍTULO 1. CARACTERIZACIÓN DE SISTEMAS OPERATIVOS...21 1.1 El sistema informático...22 1.1.1 Clasificación de los sistemas informáticos...24 1.2 El sistema operativo... 26

Más detalles

Linux Open Suse 10.2 (Básico + Avanzado)

Linux Open Suse 10.2 (Básico + Avanzado) Linux Open Suse 10.2 (Básico + Avanzado) Módulo: Linux básico Estudia los entornos de usuario KDE y GNOME, prestando especial atención al primero. Estudia cómo explorar el sistema de archivos, personalizar

Más detalles

Año: 2008 Página 1 de 18

Año: 2008 Página 1 de 18 Lección 2. Cuestiones de tipo técnico que debemos o podemos realizar 2.1. Copia de seguridad 2.2. Introducción de contraseña 2.3. Parámetros generales 2.4. Avisos 2.5. Calculadora 2.6. Acceso a casos prácticos

Más detalles

MACROS. Automatizar tareas a través del uso de las macros.

MACROS. Automatizar tareas a través del uso de las macros. OBJETIVOS MACROS Definiciones Automatizar tareas a través del uso de las macros. Grabar Ejecutar Manipular macros. Tipos de Macros en Excel Introducción Las operaciones tradicionales que se pueden realizar

Más detalles

Instalación de VirtualBox. Planteamiento del caso práctico. Instalación

Instalación de VirtualBox. Planteamiento del caso práctico. Instalación Instalación de VirtualBox Planteamiento del caso práctico En este caso práctico vamos a instalar el producto VirtualBox, una vez hecho, conoceremos Su estructura Cómo localizar las opciones más empleadas

Más detalles

GUÍA BÁSICA USUARIO MOODLE 2.6

GUÍA BÁSICA USUARIO MOODLE 2.6 GUÍA BÁSICA USUARIO MOODLE 2.6 Esta guía representa los pasos a seguir por el alumno desde la aceptación en un curso Moodle hasta su posterior utilización, pero antes de explicar la forma de acceder y

Más detalles

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS Servicio DNS - 1 - Servicio DNS...- 3 - Definición... - 3 - Instalación... - 5 - Configuración del Servidor DNS...- 10 - - 2 - Servicio DNS Definición

Más detalles

Guía de uso del Cloud Datacenter de acens

Guía de uso del Cloud Datacenter de acens guíasdeuso Guía de uso del Cloud Datacenter de Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Un Data Center o centro de datos físico es un espacio utilizado para alojar

Más detalles

VIRTUALBOX (MAQUINA VIRTUAL)

VIRTUALBOX (MAQUINA VIRTUAL) VIRTUALBOX (MAQUINA VIRTUAL) QUE ES VIRTUALBOX? Es un software de virtualización, esta aplicación es posible instalar sistemas operativos adicionales, conocidos como «sistemas invitados», dentro de otro

Más detalles

Los requerimientos básicos necesarios para poder navegar dentro del Curso Open Office Writer con Accesibilidad se dividen en:

Los requerimientos básicos necesarios para poder navegar dentro del Curso Open Office Writer con Accesibilidad se dividen en: Capítulo 1 1 Pre Requisitos Los requerimientos básicos necesarios para poder navegar dentro del Curso Open Office Writer con Accesibilidad se dividen en: 1.1 Requerimientos Tecnológicos 1.1.1 Requerimientos

Más detalles

Control de accesos autónomo por huella dactilar

Control de accesos autónomo por huella dactilar Manual de software Control de accesos autónomo por huella dactilar Access FP (SOFTWARE PARA LECTOR DE HUELLA DACTILAR SIMON ALERT REF.: 8902003-039) (Versión de sofware 1.1) (Versión de documento 1.2)

Más detalles

Lectura 2: El Sistema Operativo y sus Funciones

Lectura 2: El Sistema Operativo y sus Funciones MOMENTO I. BLOQUE 1. Opera las funciones básicas del sistema operativo y garantiza la seguridad de la información Objetos de aprendizaje: Sistema Operativo Lectura 2: El Sistema Operativo y sus Funciones

Más detalles

Instalación y Registro Versiones Educativas 2013

Instalación y Registro Versiones Educativas 2013 Instalación y Registro Versiones Educativas 2013 Octubre 2012 Instalación y Registro Online página 2 Índice Introducción... 4 Instalación Versión Educativa Aula... 6 1. Setup... 6 2. Instalación... 7 3.

Más detalles

WINDOWS 98/Me EL EXPLORADOR DE WINDOWS IV

WINDOWS 98/Me EL EXPLORADOR DE WINDOWS IV 10 EL EXPLORADOR DE WINDOWS IV Operaciones con discos Desde el Explorador, también puede ejecutar diversas operaciones sobre discos completos. Aunque, desde aquí, es posible formatear discos duros, lo

Más detalles

Tema 2. La Información y su representación

Tema 2. La Información y su representación Tema 2. La Información y su representación 2.1 Introducción. Un ordenador es una máquina que procesa información. La ejecución de un programa implica la realización de unos tratamientos, según especifica

Más detalles

Guía de selección de hardware Windows MultiPoint Server 2010

Guía de selección de hardware Windows MultiPoint Server 2010 Guía de selección de hardware Windows MultiPoint Server 2010 Versión de documento 1.0 Publicado en marzo del 2010 Información sobre los derechos de reproducción Este documento se proporciona como está.

Más detalles

Programa de Ayuda EMCS Instalación Versión SQL Server Versión 1.0 - Marzo 2010

Programa de Ayuda EMCS Instalación Versión SQL Server Versión 1.0 - Marzo 2010 Programa de Ayuda EMCS Instalación Versión SQL Server Versión 1.0 - Marzo 2010 Programa de Ayuda EMCS Instalación Versión SQL Server Tabla de Contenido 1 INSTALACIÓN EN EL SERVIDOR...3 1.1 CREAR LA BASE

Más detalles

SISTEMAS OPERATIVOS EN RED. UT. 05 Utilidades de administración. ÍNDICE

SISTEMAS OPERATIVOS EN RED. UT. 05 Utilidades de administración. ÍNDICE ÍNDICE 1. Perfiles de usuarios. 2.1. Perfiles móviles variables. 2.2. Perfiles obligatorios. 2. Administración de discos. 2.1. Configuraciones de disco. 2.1.1. Discos Básicos. 2.1.2. Discos Dinámicos 2.2.

Más detalles