You are on page 1of 407

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 para el ciclo de Administración de
Sistemas Informáticos en Red”.

Autor: Santiago Alonso Gómez


Curso: 2.009 / 10
Versión inicial: 1.0. Utiliza la versión 5.0 de MaX.

Versión 1.1. Utiliza las versiones 5.0 y 6.0 de MaX.

Mejoras más significativas:

- Inclusión del apartado 4.7 sobre gestión centralizada de usuarios (NFS y NIS).
- Ampliación del apartado 4.2.2 en la sección de “Límites a los usuarios”.
- Inclusión del Anexo 1 con la instalación de Webmin.
- Inclusión del Anexo 2 con información adicional del servicio NIS.
- Actualización del tema 1 con la maximización y actualización de VirtualBox.

Versión 1.2. Utiliza las versiones 5.0 y 6.0 de MaX.

Mejoras más significativas:

- Ampliación del apartado 4.7 con la administración del servicio Samba.

Versión: 1.3. Utiliza las versiones 5.0 y 6.0 de MaX.

Mejoras más significativas:

- Prácticas de copia de seguridad con Bácula adaptadas a las máquinas virtuales.


- Inclusión del anexo 3 que cuenta como recuperar Grub 2.

Versión actual: 1.4. Utiliza las versiónes 5.0, 6.0 y 6.5 de MAX.

Mejoras más significativas:

- Referencias genéricas a las diferentes versiones de los sistemas operativos utilizados.


- Actualización de Grub Legacy a Grub 2.

Mejoras programadas para las próximas revisiones (se admiten colaboraciones):

- Inclusión de LDAP.

(Sugerencias a sagsag@hotmail.es)

Colaboración en actualizaciones: Ramón Redondo


MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Índice de contenidos
1 INTRODUCCIÓN........................................................................................................8
1.1 Información preliminar.....................................................................................................8
1.2 Laboratorio.......................................................................................................................8
1.2.1 Características del equipo de trabajo........................................................................8
1.2.2 Instalación de los sistemas operativos....................................................................10
1.3 Actualización de VirtualBox...........................................................................................17
1.4 Actividades.....................................................................................................................18
2 INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS..............................................................19
2.1 Aspectos didácticos........................................................................................................19
2.2 Estructura de un sistema informático.............................................................................20
2.2.1 El componente humano..........................................................................................20
2.2.2 El componente físico..............................................................................................20
2.2.3 El componente lógico.............................................................................................21
2.2.4 Sistemas de codificación........................................................................................23
Sistemas de numeración..............................................................................................23
Medidas de la información..........................................................................................26
Sistemas de codificación.............................................................................................26
Práctica (editor hexadecimal).....................................................................................28
2.3 Arquitectura de un sistema operativo.............................................................................29
2.4 Funciones de un sistema operativo.................................................................................31
2.5 Tipos de sistemas operativos..........................................................................................32
2.5.1 Según el número de usuarios..................................................................................32
Práctica (acceso remoto mediante ssh).......................................................................33
Práctica (acceso remoto mediante VNC)....................................................................34
2.5.2 Según el número de programas o tareas.................................................................37
2.5.3 Según el número de procesadores..........................................................................38
2.6 Tipos de aplicaciones......................................................................................................39
2.7 Licencias y tipos de licencias.........................................................................................42
2.7.1 Tipos de licencias....................................................................................................42
2.7.2 Ventajas del software libre......................................................................................45
2.7.3 Versiones.................................................................................................................46
2.8 Actividades recomendadas.............................................................................................46
3 INSTALACIÓN DE SOFTWARE LIBRE Y PROPIETARIO.......................................................47
3.1 Aspectos didácticos........................................................................................................47
3.2 Consideraciones previas a la instalación de sistemas operativos libres y propietarios. .48
3.3 Gestores de arranque......................................................................................................51
3.3.1 Introducción............................................................................................................51
3.3.2 Estructura del disco duro........................................................................................51
Estructura física..........................................................................................................51
Particiones...................................................................................................................53
MBR............................................................................................................................54
Practica (editar el MBR).............................................................................................57
3.3.3 Secuencia de arranque............................................................................................58

Página.- 1
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

3.3.4 El gestor de arranque GNU GRUB........................................................................59


Instalación de GRUB..................................................................................................65
Proteger GRUB con contraseña..................................................................................65
Practicas con GRUB...................................................................................................67
Cambiar los colores del menú GRUB.........................................................................67
Gestión del menú GRUB............................................................................................67
Recuperar GRUB 2.....................................................................................................68
El shell de GRUB........................................................................................................69
Recuperar desde GRUB una contraseña olvidada......................................................69
Administración de GRUB desde el entorno gráfico...................................................69
3.4 Instalación de sistemas operativos. Requisitos, versiones y licencias...........................71
3.4.1 MaX........................................................................................................................71
3.4.2 Windows Server 2008.............................................................................................74
3.5 Instalación/desinstalación de aplicaciones. Requisitos, versiones y licencias...............76
Práctica (instalación de Apache).................................................................................80
Práctica (instalación de Google Earth).......................................................................81
Práctica (comprobación sobre Microsoft Office)........................................................82
3.6 Actualización de sistemas operativos y aplicaciones.....................................................85
3.7 Ficheros de inicio del sistema operativo........................................................................87
3.7.1 Niveles de ejecución...............................................................................................90
3.7.2 El proceso init en MaX...........................................................................................92
3.7.3 Gestión de servicios con sysv-rc-conf....................................................................94
3.8 Registro del sistema........................................................................................................95
3.9 Actualización y mantenimiento de controladores de dispositivos..................................95
3.10 Actividades...................................................................................................................96
4 ADMINISTRACIÓN DE SOFTWARE DE BASE I. USUARIOS LOCALES....................................97
4.1 Aspectos didácticos........................................................................................................97
4.2 Administración de usuarios locales................................................................................98
4.2.1 Diseño de cuentas de usuario..................................................................................99
4.2.2 MaX v.5.0.............................................................................................................100
Límites a los usuarios................................................................................................102
Limitar con cuotas el espacio del disco....................................................................105
4.2.3 Windows Server 2008...........................................................................................107
4.3 Usuarios predeterminados............................................................................................111
4.4 Seguridad de cuentas de usuario...................................................................................114
4.5 Seguridad de contraseñas.............................................................................................115
4.6 Administración de perfiles locales de usuario..............................................................116
4.7 Gestión centralizada de usuarios..................................................................................123
4.7.1 Compartir carpetas con NFS.................................................................................124
Práctica (compartir carpetas con NFS).....................................................................127
4.7.2 Compartir carpetas e impresoras con Samba........................................................130
Práctica (Samba: compartir una carpeta modificando /etc/samba/smb.conf)...........131
Práctica (Samba: compartir una carpeta usando system-config-samba)...................134
Práctica (Samba: compartir una carpeta usando swat).............................................135
Práctica (Samba: compartir una carpeta usando nautilus-share)..............................137
4.7.3 Centralización de la autenticación de usuarios. NIS............................................138

Página.- 2
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Práctica (instalación de un servidor y un cliente NIS)..............................................140


4.8 Actividades...................................................................................................................146
5 ADMINISTRACIÓN DE SOFTWARE DE BASE II. GRUPOS LOCALES....................................148
5.1 Aspectos didácticos......................................................................................................148
5.2 Administración de grupos locales.................................................................................149
5.2.1 Derechos de usuario..............................................................................................149
Derechos en el sistema de archivos..........................................................................150
Ampliación de derechos............................................................................................156
5.2.2 Listas de control de acceso...................................................................................158
Control de ACL 's desde la línea de comandos.........................................................161
Directorios con ACL's predeterminados...................................................................164
Evaluación de una ACL............................................................................................167
5.2.3 Gestión de grupos.................................................................................................168
5.3 Grupos predeterminados...............................................................................................171
5.4 Actividades...................................................................................................................173
6 ADMINISTRACIÓN DE SOFTWARE DE BASE III. CONFIGURACIÓN DE LA RED.....................174
6.1 Aspectos didácticos......................................................................................................174
6.2 Fundamentos de conexión a redes................................................................................175
6.2.1 Direcciones IP.......................................................................................................177
6.2.2 Máscara de (sub)red..............................................................................................178
Práctica (obtención de las características de la red) .................................................184
Práctica (direccionamiento IP en la red de casa)......................................................185
6.2.3 Puerta de enlace, pasarela, gateway o enrutador..................................................186
Práctica (análisis de tramas)......................................................................................187
Práctica (dos subredes con un MaX enrutando).......................................................191
6.3 Configuración de la resolución de nombres.................................................................195
6.4 Configuración del protocolo TCP/IP en un cliente de red............................................196
6.5 IPv6: la próxima generación de Internet......................................................................198
6.5.1 Ventajas de IPv6...................................................................................................198
6.5.2 El sistema de direcciones IPv6.............................................................................200
6.5.3 Coexistencia de IPv4 e IPv6.................................................................................203
6.5.4 Configuración de IPv6..........................................................................................204
6.5.5 Información adicional sobre IPv6.........................................................................205
6.6 Ficheros de configuración de red.................................................................................206
6.6.1 Conceptos.............................................................................................................206
6.6.2 Ficheros de configuración....................................................................................208
/etc/network/interfaces..............................................................................................208
/etc/resolv.conf..........................................................................................................209
/etc/hosts...................................................................................................................210
/etc/networks.............................................................................................................210
/etc/host.conf.............................................................................................................210
/etc/nsswitch.conf......................................................................................................211
/etc/nscd.conf............................................................................................................213
/etc/hostname............................................................................................................213
/etc/sysconfig/hardware/hwcfg-*..............................................................................213
/etc/sysconfig/network/config, dhcp, wireless........................................................213

Página.- 3
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

/etc/sysconfig/network/routes, ifroute-*..................................................................213
6.6.3 Scripts de arranque...............................................................................................214
6.7 Actividades...................................................................................................................215
7 ADMINISTRACIÓN DE LA INFORMACIÓN I..................................................................216
7.1 Aspectos didácticos......................................................................................................216
7.2 Sistemas de archivos....................................................................................................217
7.2.1 Ext2.......................................................................................................................218
7.2.2 Ext3.......................................................................................................................219
7.2.3 Conversión de un sistema de archivos Ext2 a Ext3..............................................220
7.2.4 Ext4.......................................................................................................................220
7.2.5 ReiserFS................................................................................................................221
7.2.6 Reiser4..................................................................................................................222
7.2.7 JFS........................................................................................................................223
7.2.8 XFS.......................................................................................................................224
7.2.9 Otros sistemas de archivos soportados.................................................................225
7.2.10 Soporte de archivos grandes en Linux................................................................225
7.2.11 Información adicional.........................................................................................226
7.3 Estructura de un sistema de archivos...........................................................................227
7.4 Gestión de sistemas de archivos desde el entorno gráfico...........................................228
7.5 Gestión de sistemas de archivos mediante comandos..................................................231
7.6 Estructura de directorios...............................................................................................236
7.6.1 Herramienta gráfica para administrar directorios y ficheros: Nautilus................236
7.6.2 Árbol de directorios..............................................................................................238
7.6.3 Trabajo con ficheros y carpetas............................................................................240
Propietarios y permisos.............................................................................................240
Práctica (permisos sobre los ficheros)......................................................................240
Otras operaciones: borrar, seleccionar, copiar, mover, renombrar, etc.....................242
Ficheros y carpetas ocultos.......................................................................................243
7.6.4 Gestión de directorios mediante comandos..........................................................243
Directorio activo.......................................................................................................243
Trayectoria................................................................................................................244
Órdenes de gestión de directorios, ficheros y sistemas de archivos.........................245
Comodines................................................................................................................251
Redireccionamientos.................................................................................................251
Filtros........................................................................................................................252
7.7 Gestión de enlaces, links o accesos directos................................................................252
7.7.1 Gestión de enlaces desde el entorno gráfico.........................................................253
7.7.2 Gestión de enlaces mediante comandos...............................................................254
Enlaces duros............................................................................................................255
Enlaces simbólicos....................................................................................................255
7.8 Búsqueda de información del sistema..........................................................................256
7.8.1 Herramientas gráficas...........................................................................................256
Administrador de trabajos de impresión...................................................................256
Analizador de uso de disco.......................................................................................256
Buscador de archivos................................................................................................257
Aplicaciones al inicio................................................................................................257

Página.- 4
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Comprobación del sistema........................................................................................257


Editor de particiones.................................................................................................257
Gestor de paquetes Synaptic.....................................................................................257
Herramientas de red..................................................................................................258
Hora y fecha..............................................................................................................259
Monitor del sistema...................................................................................................259
Servicios....................................................................................................................259
Visor de archivos de sucesos.....................................................................................259
7.8.2 Búsqueda de información desde la línea de comandos........................................260
7.9 Actividades...................................................................................................................263
8 ADMINISTRACIÓN DE LA INFORMACIÓN II.................................................................264
8.1 Aspectos didácticos......................................................................................................264
8.2 Identificación del software instalado mediante herramientas gráficas y comandos....265
8.2.1 Herramientas gráficas...........................................................................................265
8.2.2 Instrucciones de línea de comandos.....................................................................268
8.3 Gestión de la información del sistema.........................................................................275
8.3.1 Monitor del sistema..............................................................................................275
8.3.2 Instrucciones que muestran información del sistema...........................................280
8.4 Montaje y desmontaje de dispositivos en sistemas operativos. Automatización.........282
8.5 Herramientas de administración de discos. Particiones y volúmenes. Desfragmentación
y chequeo............................................................................................................................287
8.5.1 Particiones............................................................................................................287
8.5.2 Volúmenes.............................................................................................................292
Práctica (volúmenes lógicos)....................................................................................293
8.5.3 Desfragmentación y chequeo................................................................................301
8.6 Actividades...................................................................................................................303
9 VOLÚMENES Y NIVELES RAID.............................................................................304
9.1 Aspectos didácticos......................................................................................................304
9.2 Introducción..................................................................................................................305
9.3 Implementación por hardware y por software..............................................................306
9.4 Niveles RAID...............................................................................................................307
9.4.1 RAID 0.................................................................................................................307
9.4.2 RAID lineal o JBOD (Just a Bunch Of Drivers)..................................................308
9.4.3 RAID 1 (disco espejo o mirroring).......................................................................309
9.4.4 RAID 2.................................................................................................................310
9.4.5 RAID 3..................................................................................................................311
9.4.6 RAID 4..................................................................................................................311
9.4.7 RAID 5.................................................................................................................312
9.4.8 RAID 6.................................................................................................................314
9.4.9 RAID 5E y RAID 6E............................................................................................315
9.5 Niveles RAID anidados................................................................................................315
9.5.1 RAID 0+1.............................................................................................................316
9.5.2 RAID 1+0.............................................................................................................317
9.5.3 RAID 30...............................................................................................................317
9.5.4 RAID 100.............................................................................................................318
9.5.5 RAID 50...............................................................................................................318

Página.- 5
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

9.6 Niveles RAID propietarios...........................................................................................319


9.6.1 Paridad doble........................................................................................................319
9.6.2 RAID 1.5..............................................................................................................320
9.6.3 RAID 7.................................................................................................................320
9.6.4 RAID S o RAID de paridad..................................................................................321
9.6.5 Matrix RAID.........................................................................................................321
9.6.6 Linux MD RAID 10.............................................................................................321
9.6.7 IBM ServeRAID 1E.............................................................................................322
9.6.8 RAID Z.................................................................................................................322
9.7 Posibilidades de RAID.................................................................................................323
9.7.1 Lo que RAID puede hacer....................................................................................323
9.7.2 Lo que RAID no puede hacer...............................................................................323
9.8 Software RAID en MaX. El paquete mdadm...............................................................324
9.8.1 Instalación y carga de mdadm..............................................................................324
9.8.2 Crear un RAID......................................................................................................325
9.8.3 Monitorización del estado de un RAID y sus discos (particiones).......................329
9.8.4 Administración de un RAID y de sus discos (particiones)...................................329
9.8.5 Factores de optimización del sistema de archivos de un RAID...........................331
9.8.6 Notas sobre el fichero de configuración...............................................................331
9.9 Actividades...................................................................................................................332
10 COPIAS DE SEGURIDAD.......................................................................................333
10.1 Aspectos didácticos....................................................................................................333
10.2 Introducción................................................................................................................334
10.3 Tipos de copia de seguridad.......................................................................................334
10.4 Planificación de las copias de seguridad y recuperaciones........................................336
10.5 Restauración...............................................................................................................339
10.6 Programas de copia y restauración.............................................................................339
10.6.1 La instrucción tar................................................................................................339
10.6.2 Keep....................................................................................................................344
Práctica......................................................................................................................346
10.6.3 Sbackup..............................................................................................................348
10.6.4 Bacula.................................................................................................................350
Ficheros de configuración.........................................................................................351
10.7 Cuotas de disco. Límites, nivel de advertencia y compresión....................................379
10.8 Actividades.................................................................................................................381
ANEXO 1. INSTALACIÓN DE WEBMIN........................................................................382
ANEXO 2.- INFORMACIÓN ADICIONAL SOBRE EL SERVICIO NIS........................................383
ANEXO 3.- GRUB LEGACY (VERSIÓN 0.97)............................................................389
El menú de arranque de GRUB................................................................................392
Convención de nombres para discos duros y particiones.........................................393
Ejemplo de fichero /boot/grub/menu.lst...................................................................393
Modificar las entradas del menú durante el proceso de arranque.............................396
Selección del núcleo mediante comodines...............................................................396
El archivo /boot/grub/device.map.............................................................................397
El shell de GRUB......................................................................................................398

Página.- 6
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Recuperar desde GRUB una contraseña olvidada....................................................398


Definir la contraseña de arranque.............................................................................399
ANEXO 4.- RECUPERACIÓN DE GRUB 2 Y WINDOWS................................................401
ANEXO 5.- COPIA Y RESTAURACIÓN CON BACKHARDDI................................................402
ANEXO 6.- CLONACIÓN DE DISCOS POR MULTICAST CON CLONEZILLA.............................403

Página.- 7
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

Los objetivos y contenidos de esta documentación han sido tomados del B.O.E. de 18
de Noviembre de 2.009.

1.2 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.

1.2.1 Características del equipo de trabajo


El ordenador de trabajo va a contener los siguientes sistemas operativos:

– MaX 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 115 GB.
de las que 4 serán para la partición de swap, 21 para el propio sistema y las otras 90
para albergar las diferentes máquinas virtuales (se describen a continuación).

Página.- 8
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– MaX 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 15 GB dentro de las 115 GB de la máquina anfitrión.

– MaX 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 15 GB dentro de
las 115 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 15 GB dentro de las 115 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 15 GB
dentro de las 115 GB de la máquina anfitrión.

– Windows Escritorio 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 15 GB dentro de las 115 GB de la máquina
anfitrión. Se reservan 15 GB por si se instala otro sistema operativo.

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.
– 115 GB de disco duro libre.
– Tarjeta de red con conexión a Internet.

Página.- 9
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

1.2.2 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 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:

– 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”.

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

Página.- 10
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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

– La carpeta queda accesible a todos los usuarios cambiando sus permisos con:

chmod a+wx /home/maquinas

A continuación se procede a la instalación de la primera máquina virtual siguiendo los


pasos:

– 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

Página.- 11
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– Se pulsa “Siguiente”.

– En la ventana para la creación de la nueva máquina virtual se introducen los datos:

• Nombre................: MaX65
• 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/MaX65.vdi y la capacidad 15 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.

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

Página.- 12
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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í, la unidad de


CD/DVD podrá ser utilizada como si estuviese conectada a la máquina virtual
(invitada).

– 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.

• 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 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 15 GB. de capacidad y la
opción que deberá elegirse es “Utilizar todo el disco”.

Página.- 13
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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... 0”. Después se producirá la carga del sistema operativo.

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 6.5, kernel n.n.nn-nn-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/MaX65.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
MaX65.vdi como MaX65_copia.vdi.

Página.- 14
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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: 15 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.

Para hacer la copia de seguridad del sistema instalado se hace una copia del fichero
/home/maquinas/W2008Server.vdi como /home/maquinas/W2008Server_copia.vdi.

Es conveniente poner a prueba los sistemas instalados hasta el momento y el resultado


debe ser similar al que se muestra en la figura siguiente donde se están ejecutando a la vez,
aparte del MaX anfitrión, el MaX de pruebas y el Windows 2008 Server para pruebas.

Para que las ventanas donde se ejecutan las máquinas virtuales puedan maximizarse
correctamente deben instalarse algunos complementos para máquinas invitadas. Dicha
instalación se realiza de la forma:

– Se inicia una sesión en el sistema operativo de la máquina virtual con un usuario con
privilegios administrativos.

– Se instalan los complementos a través de las opciones “Dispositivos – Instalar


<<Guest Additions>>” de la barra de menú situada en la parte superior de la ventana
de la propia máquina virtual.

– Se reinicia el sistema operativo y la máquina virtual.

Página.- 15
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 5: Máquina anfitrión, dos máquinas invitadas y VirtualBox OSE

Al cerrar la ventana de la máquina virtual aparecen tres opciones que permiten


respectivamente guardar el estado de la máquina para continuar en el mismo punto en la
próxima ejecución, enviar una señal de apagado que envía una señal de “shutdown” al sistema
operativo en ejecución y apagar la máquina que equivale a pulsar el botón de apagado del
ordenador y que no debe utilizarse salvo que previamente se haya guardado el estado de la
máquina y se quiera reiniciar a partir de éste, sin tener en cuenta las últimas modificaciones.

La instalación del sistema operativo Windows Escritorio (p.e. Windows 7) invitado se


hace de forma similar a los anteriores, usando los valores:

– Nombre: Windows_7
– Operating system: Microsoft Windows
– Versión: Windows 7
– Tamaño memoria base: 1024 MB.
– Localización: /home/maquinas/Windows_7
– Capacidad de disco duro: 15 GB.

En cuanto al proceso de instalación del sistema operativo los datos a introducir son:

– Nombre: Tierno Galvan


– Organización: Instituto
– Nombre de equipo: W7_xx (siendo xx el número del ordenador en el aula)

Página.- 16
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

1.3 Actualización de VirtualBox

Las nuevas versiones de VirtualBox incorporan funciones significativas como por


ejemplo la posibilidad de utilizar pen drives tanto en las máquinas anfitrión como en las
invitadas.

Actualmente (finales de 2.011) la versión que se instala desde el Gestor de paquetes


Synaptic desde los repositorios preconfigurados es la 2.1.4, pero en www.virtualbox.org se
encuentra y puede descargarse la versión 4.1.6. Una descripción de cómo realizar la
instalación se encuentra en http://www.virtualbox.org/wiki/Linux_Downloads.

Los pasos para la instalación pueden ser los siguientes:

– Bajar el fichero correspondiente a la versión (Ubuntu 10.04 LTS “Lucid Lynx”).


– Añadir con Synaptic el repositorio:

deb http://download.virtualbox.org/virtualbox/debian lucid contrib non-free

que quedará añadido en el fichero /etc/apt/sources.list

– Se descarga desde la página web el fichero que contiene la llave pública y se lleva a la
carpeta de trabajo del usuario madrid.

– Se instala la llave ejecutando desde un terminal la instrucción:

sudo apt-key add oracle_vbox.asc

– Se borra la versión actualmente instalada con:

sudo apt-get remove virtualbox*

– Se instala la nueva versión pulsando con el botón derecho sobre el fichero que la
contiene (bajado anteriormente) y eligiendo “Abrir con “Instalador de paquetes
Gdebi””.

NOTA: Puede ocurrir que las máquinas virtuales creadas con la versión anterior no funcionen
correctamente en la nueva pero los discos duros si lo harán.

Página.- 17
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

1.4 Actividades

1. Realizar las siguientes operaciones en la máquina invitada con sistema operativo


MaX:

– Comprobar si se conecta a Internet.


– Comprobar sus valores de configuración del protocolo TCP/IP: dirección ip,
máscara de red, puerta de enlace, DNS 1 y DNS 2.
– Asignar manualmente otros valores de configuración de TCP/IP y comprobar que
se conecta a Internet.

2. Hacer ping de la máquina anfitrión a la invitada y viceversa.

3. Comprobar desde la máquina invitada si la anfitrión está funcionando como servidor


de páginas web.

4. Identificar el fichero que contiene el disco duro de la máquina virtual.

5. Identificar el fichero de configuración de VirtualBox para el usuario. Buscar dentro del


fichero los parámetros que indican donde se encuentran los ficheros relativos a la
configuración de la máquina virtual y al disco duro virtual.

6. Cambiar el disco duro virtual de localización y modificar el fichero de configuración


de VirtualBox del usuario para que el funcionamiento siga siendo correcto.

7. Identificar el fichero que contiene el estado de ejecución de la máquina virtual.

8. Crear una máquina virtual para otro usuario pero que haga uso del disco virtual creado
para el anterior.

9. Configurar y documentar el programa Gdm para que la pantalla de identificación del


usuario muestre un icono por cada usuario que permita su selección para iniciar una
sesión.

Página.- 18
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.
– 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.- 19
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

2.2.1 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.

2.2.2 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.- 20
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

2.2.3 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.- 21
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 22
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

• 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, …).

2.2.4 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.529 = 1 * 103 + 5 * 102 + 2 * 101 + 9 * 100

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.- 23
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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:

110010(2 = 1 * 25 + 1 * 24 + 0 * 23 + 0 * 22 + 1 * 21 + 0 * 20

Aplicando: 0*n=0 y 1*n=n para todo número n

110010(2 = 25 + 24 + 21 = 32 + 16 + 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 = 110010(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 * 162(10 + 15(10 * 161(10 + 3(10 * 160(10 = 10 * 256 + 15 * 16 + 3 = 2.803(10

Página.- 24
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

Fig 7: Decimal a hexadecimal

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,

2.803(10 = AF3(16 .

La siguiente tabla muestra la correspondencia de valores entre los tres sistemas de


numeración anteriores:

DECIMAL BINARIO HEXADECIMAL


0 0 0
1 1 1
2 10 2
3 11 3
4 100 4
5 101 5
6 110 6
7 111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 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 = 1010 1111 0011(2

Página.- 25
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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. = 210 bytes = 1024 bytes. Para operar se suele redondear a 103 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.- 26
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

• 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 “0000”.

• 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.- 27
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Práctica (editor hexadecimal)


Comprobar 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 MaX65 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
0123
.;-)

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.- 28
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 29
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 30
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 31
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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 /var/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.

2.5.1 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 el S.O. Windows 7.

– 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.- 32
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Práctica (acceso remoto mediante ssh)


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

En el fichero /etc/ssh/sshd.conf se pueden establecer las cuentas permitidas y las


denegadas mediante el parámetro “DenyUsers ...”.

Página.- 33
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 12: Incluir la opción "Escritorio remoto"


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 13: ssh gráfico

Práctica (acceso remoto mediante VNC)


Conectarse desde una máquina con Windows Escritorio al escritorio de MaX. Vamos a

Página.- 34
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

– Incluir la opción “Escritorio remoto” en el grupo Preferencias a través del menú


Aplicaciones – Sistema – Preferencias – Menú Principal – seleccionar el grupo
Preferencias – activar la opción “Escritorio remoto”. La figura siguiente muestra esta
operación.

Página.- 35
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– Configurar vnc server a través del menú Aplicaciones – Sistema – Preferencias –


Escritorio remoto para permitir a otros usuarios usar y controlar el escritorio.

Fig 14: Configuración del escritorio remoto

– Desde la máquina con XP bajar de internet un programa cliente de VNC (por ejemplo
de http://www.realvnc.com/cgi-bin/download.cgi) e instalarlo.

Página.- 36
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– Ya se puede establecer la conexión ejecutando el programa instalado (VNC cliente).

Fig 15: VNC cliente

Fig 16: VNC cliente conectado al escritorio de VNC servidor

2.5.2 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.- 37
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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 escuchamos
música y consultamos el correo y escaneamos, imprimimos, etc. etc. Por supuesto
MaX pertenece a este tipo de S.O.

2.5.3 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.- 38
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 17: Aplicaciones

La información actualizada se encuentra en la siguiente dirección:

http://www.educa2.madrid.org/web/max/documentacion/max6/guia_de_referencia/

– 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.- 39
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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 6.5.- 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.- 40
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

• 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.- 41
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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.

2.7.1 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.- 42
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 43
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 44
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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.

2.7.2 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.- 45
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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.

2.7.3 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 -3192 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.
10. Buscar ejemplos de software para los diferentes tipos de licencias.

Página.- 46
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 los ficheros de configuración del gestor de arranque GRUB e identificar
sus opciones.
– Saber instalar y actualizar MaX 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 https://help.ubuntu.com/community/Grub2 hay información completa acerca de la


última versión del gestor de arranque Grub2. También hay manuales en diferentes formatos en
http://www.gnu.org/software/grub/manual/.

En http://aulavirtual2.educa.madrid.org/file.php/41/Documentos_MAX_3.1/
backharddi_local.pdf y en http://backharddi.ideseneca.es 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.- 47
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 vídeo.
• 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.- 48
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 18: GRUB

Los S.O. Windows incluyen un gestor de arranque que únicamente permiten 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.- 49
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 o lápiz USB, 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. Con la instalación en lápiz USB o pendrive, las
configuraciones y modificaciones no se perderán. Un ejemplo típico de utilización en
el aula es el S.O. MaX que dispone de versiones Live para DVD y pendrive.

– 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.- 50
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

3.3 Gestores de arranque

3.3.1 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.

3.3.2 Estructura del disco duro

Estructura física

Fig 19: 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.- 51
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 16.000 sectores (64 * 10 * 25), que pueden numerarse del 0 al 15.999.
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
Cilindros: 30401
Sectores totales: 488392065 (1 sector = 512 bytes)

Página.- 52
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 53
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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.

MBR

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 las instrucciones del sector x.

Las instrucciones anteriores comprueban si los bytes 511 y 512 tienen como contenido
hexadecimal el valor 55 AA y determinan el valor para x.

– 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.- 54
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

• 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 16.
07h.- NTFS.
05h.- 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: 00 00 00 3F
3. Se invierte el orden de los bytes: 3F 00 00 00

Para codificar el valor 20980827


1. Se pasa el valor decimal a hexadecimal: 20980827(10 = 140245B(16
2. Se utilizan 4 bytes para la codificación: 01 40 24 5B
3. Se invierte el orden de los bytes: 5B 24 40 01

• 4 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.- 55
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 = 4.294.967.295 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. Comprobar cual es la partición activa. Comprueba qué elemento de la tabla tiene en el


primer byte el valor “80h”.

3. 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”.

4. x = nº de sector. Si la notación es CHS en la variable “x” 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º.

5. Cargar y ejecutar las instrucciones del sector x. 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.- 56
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Practica (editar el MBR)

Analizar el contenido del MBR del ordenador comprobando:

– Que la firma del disco es correcta (55h AAh).

– Que las cuatro entradas de la tabla de particiones contienen la información conocida


sobre las particiones, determinando:

• Cuál es la partición activa.


• Dónde empieza y termina cada partición.
• La capacidad de cada partición.
• El tipo de sistema de ficheros de cada partición.

Para analizar el MBR pueden utilizarse dos métodos:

1. Copiar los 512 bytes del MBR a un fichero y editar el contenido del fichero con un
editor hexadecimal. Este método es más seguro porque si se realizan modificaciones
sobre el fichero no afectarán al arranque del equipo.

Los 512 bytes del MBR se pueden copiar al fichero “fichero_mbr” con la instrucción:

sudo dd if=/dev/sda of=fichero_mbr bs=512 count=1

A continuación se puede editar “fichero_mbr” con el editor hexadecimal Bless.

2. Editar directamente los primeros 512 bytes del disco con un editor hexadecimal. Se
recomienda copiar previamente en un fichero el MBR y trabajar con sumo cuidado
para no alterar el original.

El MBR original se puede restaurar desde el “fichero_mbr” con la instrucción:

sudo dd if=fichero_mbr of=/dev/sda bs=1 count=512

Para restaurar solamente la tabla de particiones la instrucción sería:

sudo dd if=fichero_mbr of=/dev/sda bs=1 count=64 skip=446 seek=446

Finalmente, para editar el primer sector del disco duro puede utilizarse el programa
“hexedit” mediante la instrucción:

sudo hexedit /dev/sda

considerando que /dev/sda es el nombre del dispositivo correspondiente al disco duro.

Página.- 57
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 2, el contenido del MBR se conoce como
boot.img, no tiene en cuenta la tabla de particiones y su única función es cargar el
núcleo de grub, también llamado core.img.

3. 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 que tomará 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
será el primero en cargarse del S.O.

Página.- 58
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 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 a los
primeros ficheros del S.O. Linux (vmlinuz-versión e initrd-img-versión).

4. Se cargan los ficheros correspondientes al núcleo del 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.

3.3.4 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), que se instala de forma automática
con la mayor parte de los S.O. Linux, presentando opciones que permiten el inicio de todo
tipo de sistemas operativos que se detecten en el disco duro. En el caso de que se vayan a
instalar sistemas operativos de Microsoft y Linux en el mismo equipo, se recomienda instalar
en primer lugar los de Microsoft y posteriormente los Linux, respetando además el orden de
antigüedad de los mismos.

La primera versión que apareció se denominó GRUB Legacy y la que se instala


actualmente (a parir de MaX 6.0 y Ubuntu 9.10) es GRUB 2. En un anexo de este manual hay
una descripción detallada de GRUB Legacy.

GRUB 2 no supone una ampliación o modificación de GRUB Legacy sino que es un


código completamente reescrito que aporta mayor flexibilidad y funcionalidad. En la
dirección https://help.ubuntu.com/community/Grub2 se encuentra la documentación oficial de
este software.

Para comprobar la versión instalada de GRUB puede utilizarse la instrucción:

grub-install -v

Página.- 59
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

que mostrará una línea de información parecida a:

grub-install (GRUB) 1.99-21ubuntu3.4

Para saber en qué dispositivo y el UUID del mismo donde se encuentra instalado
GRUB 2, pueden ejecutarse las instrucciones:

El dispositivo: sudo grub-probe -t device /boot/grub


El UUID: sudo grub-probe -t fs_uuid /boot/grub

Por defecto, el menú de opciones mostrado por GRUB tendrá como primera opción la
correspondiente al sistema que realiza su carga.

Las carpetas y ficheros más importantes de GRUB 2 son:

– La carpeta /etc/grub.d .- contiene los scripts fundamentales de GRUB 2 que son


utilizados para crear el fichero /etc/grub/grub.cfg.
– La carpeta /boot/grub .- contiene los módulos utilizados por GRUB 2.
– El fichero /boot/grub/grub.cfg .- contiene el menú de opciones de arranque.
– El fichero /etc/default/grub .- contiene configuraciones básicas que normalmente
realiza el usuario y que también es utilizado para crear /boot/grub/grub.cfg.

La configuración del gestor se lleva acabo en el fichero /boot/grub/grub.cfg que se


construye a partir de la información contenida en otros ficheros, así como con las entradas del
directorio /boot y los MBR's de otros discos; estos dos últimos lugares contienen información
sobre los sistemas operativos instalados en el ordenador.

La forma de proceder de GRUB 2 es la siguiente:

1. En primer lugar lee el archivo /etc/default/grub, que contiene la configuración básica.

2. Ejecuta los scripts de /etc/grub.d que tengan permiso de ejecución, por orden
ascendente del nombre.

3. A partir de la información obtenida en los dos pasos anteriores genera el fichero de


configuración /etc/grub/grub.cfg que se cargará para mostrar el menú de arranque.

Para modificar algún aspecto u opción del arranque de grub no se debe editar el
fichero /boot/grub/grub.cfg puesto que éste se genera automáticamente. Los ficheros que
pueden ser modificados son /etc/default/grub y los scripts de /etc/grub.d. Para que estas
modificaciones queden reflejadas instantáneamente en el fichero /boot/grub/grub.cfg hay que
ejecutar la instrucción:

update-grub2

Página.- 60
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

A continuación se muestra una ligera descripción del contenido del fichero


/etc/default/grub y de la carpeta /etc/grub.d:

El archivo /etc/default/grub

Este archivo puede ser editado por un usuario con privilegios de administrador.
Aunque los parámetros más comunes están recogidos en este fichero, existen otros adicionales
que podrían incluirse que hacen referencia por ejemplo al fondo de pantalla, tema, etc. Las
variables predefinidas que pueden usarse se encuentran en el fichero /usr/sbin/grub-mkconfig
y pueden mostrarse con la instrucción:

grep “export GRUB_DEFAULT” -A50 /usr/sbin/grub-mkconfig | grep GRUB_

Además de las variables predefinidas el usuario puede incluir sus propias variables que
podrá utilizar en los scripts de /boot/grub.d.

Para editar el fichero puede utilizarse el editor Gedit, el comando “gksu” que es el
equivalente gráfico de “sudo” y “&” que permite que se utilice el terminal para regrabar
GRUB 2 una vez que el usuario guarda el fichero:

gksu gedit /etc/default/grub &

Y una vez realizados los cambios oportunos:

sudo update-grub

En la dirección https://help.ubuntu.com/community/Grub2/Setup#File_Structure se
encuentra una explicación bastante exhaustiva de los parámetros más utilizados. A
continuación hacemos un resumen:

– GRUB_DEFAULT={ n | “n>m” | “cadena” | saved } .- permite especificar el número


de la opción de arranque por defecto, la opción y subopción, la descripción del sistema
o el último sistema utilizado. Si se expecifica un número debe tenerse en cuenta que la
primera opción (o subopción) es la 0.

– GRUB_SAVEDEFAULT={true | false } .- con el valor true establece como valor


predeterminado el elegido en el arranque anterior. Necesita la especificación del valor
“saved” para el parámetro anterior.

– GRUB_HIDDEN_TIMEOUT=n .- establece el tiempo de espera con el menú oculto.

– GRUB_HIDDEN_TIMEOUT_QUIET={ true | false } .- Oculta (true) o muestra


(false) un contador de marcha atrás.

– GRUB_TIMEOUT=n .- Establece el tiempo que se muestra el menú de opciones.

Página.- 61
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– GRUB_DISTRIBUTOR= lsb_release -i -s 2 > /dev/null || echo Debian .- recupera


el nombre descriptivo de la entrada de menú.

– GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash” .- “quiet” sirve para agrupar


las entradas similares y “splash” para que se muestre una imagen de carga en vez de
los mensajes de arranque del kernell.

– GRUB_TERMINAL=console .- permite desactivar el terminal gráfico.

– GRUB_DISABLE_LINUX_UUID=”true” .- permite el uso de nombres de dispositivo


/dev/sdXY en vez de UUID's.

– GRUB_GFXMODE=640X480 .- permite especificar la resolución de la pantalla y


deben utilizar valores soportados por la tarjeta gráfica. Puede visualizarse la
resolucion aceptada por GRUB 2 mediante el comando “vbeinfo” en la línea de
comandos de GRUB 2, a la que se accede pulsando la letra “c” cuando se está
mostrando el menú. Si no se especifica se tomará de /etc/grub.d/00_header.

– GRUB_DISABLE_LINUX_RECOVERY=true .- anula la opción de recuperación del


menú.

– GRUB_INIT_TUNE=”480 440 1” .- emite un pitido al mostrar el menú.

– GRUB_BACKGROUND .- establece el nombre de la imagen de fondo.

– GRUB_DISABLE_OS_PROBER=true .- desactiva la detección de otros sistemas


operativos para incluir en el menú cuando se ejecuta la instrucción “update-grub”.

La carpeta /etc/grub.d

Los scripts de esta carpeta se leen durante la ejecución de la instrucción “update-grub”


y sus instrucciones se incorporan al fichero /boot/grub/grub.cfg. Debe tenerse en cuenta:

– El orden de ejecución de los scripts es el orden ascendente de sus nombres,


empezando por los que empiezan con números. Así determinarán el orden de aparición
de las diferentes opciones del menú de inicio.

– Para agregar entradas al menú pueden añadirse al fichero 40_custom o en un fichero


nuevo. Teniendo en cuenta el nombre, las entradas de 40_custom aparecerán al final
del menú.

– Solamente los ficheros ejecutables pueden generar salidas para /boot/grub/grub.cfg


durante la ejecución de “update-grub”.

Página.- 62
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

A continuación se muestra una descripción de los scripts de la carpeta:

– 00_header .- contiene asignaciones a variables de configuración como localización de


ficheros del sistema, configuraciones de vídeo, etc. Por lo general los usuarios no
necesitan tocar este fichero.

– 05_debian_theme .- establece la imagen de fondo, el color del texto, etc.

– 10_linux .- identifica los núcleos del dispositivo raíz para el sistema operativo en uso
(/boot) y crea entradas (opciones) para ellos. En las últimas versiones solamente se
visualiza una entrada para la última versión de núcleo. Para reducir el número de
núcleos visualizados pueden borrarse las versiones más antiguas del directorio /boot o
utilizar algún programa de optimización de GRUB 2.

– 20_memtest86+ .- Busca el fichero /boot/memtest86+.bin e incluye la opción


correspondiente en el menú. Puede ser desactivado anulando su permiso de ejecución:

sudo chmod -x /etc/grub.d/20_memtest86+


sudo update-grub

– 30_os-prober .- utiliza os-prober para buscar Linux y otros sistemas operativos y lleva
el resultado al menú de GRUB 2. Incluye opciones para reconocer Linux, Windows,
OSX y Hurd. Las variables de este fichero determinan la forma en que se mostrarán
los nombres pudiendo ser modificadas por los usuarios. Para deshabilitar este script
puede introducirse una entrada en el fichero /etc/default/grub o anular su permiso de
ejecución.

– 40_custom .- es una plantilla para añadir entradas que se insertarán a


/boot/grub/grub.cfg al ejecutar “update-grub”. Las líneas que se añadan a este fichero
seincorporarán a grub.cfg sin cambios.

– En el caso de que se incluyan ficheros ejecutables en el directorio, sus nombres deben


permitir que en primer lugar se ejecuten 00_header y 05_debian_theme.

Se recuerda que en http://www.gnu.org/software/grub/manual/ hay manuales


completos de GRUB 2.

Ficheros con imágenes de GRUB

GRUB está formado por varias imágenes: una variedad de imágenes de arranque para
iniciar BOOT de varias formas, una imagen del núcleo y una serie de módulos que se
combinarán con el núcleo para formar una imagen core (funcional):

– boot.img .- primera parte del arranque de GRUB. Se instalará en el MBR del disco o
en el sector de arranque de una partición y ocupará 512 bytes. Su función es cargar el

Página.- 63
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

primer sector de la imagen core. Dado su tamaño, boot.img no tiene capacidad para
entender estructuras de sistemas de ficheros y grub-setup introducirá el código con la
localización del primer sector de la imagen core dentro de boot.img cuando se instala
GRUB.

– diskboot.img .- es el primer sector de la imagen core y su función es leer el resto de la


misma, llevarla a memoria e iniciar el kernel. Éste utiliza aún un formato de lista de
bloques para localizar el resto de la imagen core.

– cdboot.img .- similar a diskboot.img pero para arrancar desde CD.

– pxeboot.img .- para iniciar desde la red.

– lnxboot.img .- utilizada por el gestor LILO.

– kernell.img .- contiene recursos básicos: estructuras para manejo de dispositivos y


ficheros, variables de entorno, intérprete de comandos para el modo recuperación, etc.
Se compila junto con todas las imágenes core.

– core.img .- es la imagen funcional de GRUB que se compila dinámicamente desde la


imagen del kernell junto con una lista de módulos por el programa grub-mkimage.
Contiene módulos suficientes para acceder a /boot/grub y cargar cualquier fichero. Su
estructura modular le permite un tamaño suficientemente pequeño como para
acomodarse en las áreas del disco donde debe ser instalado, que frecuentemente son
menores de 32 Kb.

– *.mod .- todo lo demás de GRUB se encuentra en módulos que se cargan


dinámicamente. Si son esenciales se cargan automáticamente y pueden cargarse
manualmente con el comando “insmod”.

A la vista de estas imágenes, un sistema con un S.O. Windows y otro Linux puede
seguir las siguientes etapas:

1. boot.img .- se instala en el MBR conteniendo un puntero que apunta al sector de


arranque de la partición de Linux, donde se instala diskboot.img.

2. diskboot.img .- instalado en el sector de arranque de la partición de Linux y contiene


los números de sector donde se encuentra el resto del arranque de GRUB (core.img)
antes de acceder a los ficheros del sistema de ficheros.

3. kernel.img .- corresponde a los siguientes sectores que contienen el código y módulos


suficientes para poder acceder al primer fichero del sistema de ficheros de Linux.
diskboot.img más el kernel.img y los módulos que éste utiliza forman core.img.

4. Se ejecutan los ficheros de /etc/grub.d.

Página.- 64
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

5. Si se elige para arrancar la opción correspondiente a Linux se cargan los ficheros


/boot/vmlinuz y /boot/initrd.img de la versión instalada.

Si GRUB se instala en la pista cero de un disco, en vez de dentro de una partición,


diskboot.img, kernel.img y los módulos correspondientes (core.img completo) se instalan en
los 62 sectores (31 Kb) situados a continuación del MBR.

¡OJO! , los ficheros de las tres primeras etapas, situados en /boot/grub/ son copias (imágenes)
del código correspondiente situado en los lugares originales que corresponde (MBR, sector de
arranque, etc.).

Instalación de GRUB
Para instalar GRUB en un dispositivo puede usarse la utilidad grub-install que estará
disponible si ha sido instalada previamente. La sintaxis de la instrucción es:

grub-install dispositivo

por ejemplo “grub-install /dev/sda”.

En un dispositivo con un sistema de particionado MBR (no GPT) la instalación de


GRUB puede realizarse en dos lugares diferentes:

1. En la pista cero del dispositivo, entre el MBR y la primera partición, que generalmente
dispone de al menos 31 Kb (62 sectores).

2. Dentro de una partición, guardando una lista de los sectores que ocupa en el sector de
arranque de la misma.

Ambas opciones tienen sus inconvenientes. No hay una forma para reservar un espacio
determinado entre el MBR y la primera partición y existe software propietario que utiliza
dicho espacio para controlar aspectos relativos a la licencia. Además, algunos sistemas pueden
estar particionados sin dejar espacio suficiente en este área. Por otra parte, si se instala dentro
de un sistema de ficheros, GRUB será vulnerable a que sus bloques sean cambiados de lugar
por programas tales como compresores, implementaciones agresivas de fsck, etc. La
recomendación general es situar GRUB antes de la primera partición, salvo que se necesiten
requerimientos especiales. Los discos modernos suelen dejar amplios márgenes de espacio
alrededor de las particiones, siendo común que exista 1 Mb libre antes de la primera partición.

Proteger GRUB con contraseña


Puede resultar interesante proteger la configuración de grub para que solamente los
usuarios deseados puedan actuar durante el arranque de la máquina sobre una configuración
tan delicada, teniendo en cuenta que una mala manipulación de la misma puede llevar a que el
ordenador no arranque.

Página.- 65
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Para ello realizaremos los siguientes pasos:

1. Generar una contraseña encriptada con la orden:

sudo grub-mkpasswd-pbkdf2

2. Introducir la contraseña deseada a encriptar dos veces.

3. Nos devolverá la contraseña encriptada (ocupa varias líneas) y la copiaremos.

4. En el fichero /boot/grub/grub.cfg, indicamos el nombre del usuario al que se permite


el acceso a grub con el comando:

set superusers=”usuario”

No es necesario crear este usuario en el sistema (santiago en el ejemplo).

5. En el fichero /boot/grub/grub.cfg, deberemos pegar el resultado obtenido en el


apartado 3 correspondiente a la contraseña encriptada (desde
grub.pbkdf2.sha512.10000.A......) en la orden

password_pbkdf2 santiago contraseña_encriptada

El fichero /boot/grub/grub.cfg queda como muestra la figura siguiente:

Fig 20: Fichero /boot/grub/grub.cfg

Si se desea proteger la entrada de alguna opción del menú, se deberá agregar la opción
“--users nombre_usuario” en la entrada de menú correspondiente, tal y como se muestra en la
figura siguiente para el usuario santiago.

Página.- 66
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 21: Fichero /boot/grub/grub.cfg

Al reiniciar y comprobar los cambios notaremos que el sistema tarda un tiempo


considerable en hacer las comprobaciones de seguridad.

Practicas con GRUB

Cambiar los colores del menú GRUB


Para modificar los colores del texto se edita el archivo /etc/grub.d/05_debian_theme,
se buscan las líneas:

set color_normal=black/black
set color_highlight=magenta/black

Donde en "set color_normal" el primer "black" es el color del texto sin seleccionar y
en "set color_highlight", "magenta" es el color del texto seleccionado y "black" es el color del
fondo en la línea de texto seleccionado.

Los colores que se pueden utilizar entre otros son:

• rojo: red
• verde: green
• azul: blue
• amarillo: yellow
• cian: cyan
• magenta: magenta
• blanco: white
• negro: black

Después de modificar el archivo hay que actualizar grub.cfg.

Enlace de interés: http://www.guia-ubuntu.org/index.php?title=GRUB

Gestión del menú GRUB


1. Modificar el fichero /etc/default/grub para:

• Cambiar la opción de arranque por defecto.


• Que el tiempo de espera del menú sean 20 segundos.

Página.- 67
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

• Cambiar el título de alguna opción del menú.

#GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian


GRUB_DISTRIBUTOR=”UBUNTU ASIR_1”

• Que no aparezca la opción de “recovery mode”.


• Que no aparezca la opción que permite realizar el test de memoria.
• Modificar los colores de fondo del menú.
• Modificar el orden de las entradas del menú.

sudo mv /etc/grub.d/10_linux /etc/grub.d/50_linux

• Poner una contraseña a la opción de recuperación.

Recuperar GRUB 2
Se puede necesitar recuperar el gestor de arranque por diferentes motivos. Los más
usuales son los siguientes:

1. Haber manipulado incorrectamente alguno de los ficheros.

2. Haber instalado un S.O. Windows después de un S.O. Linux. El S.O.Windows


sobreescribe el MBR (dónde reside GRUB), e instala su propio gestor de arranque en
él, sin incluir ninguna entrada para acceder al S.O. Linux.

Si no se ha perdido la entrada a Linux, sino que simplemente falta la entrada a otros


sistemas operativos, se puede intentar recuperar esta entrada ejecutando el ya conocido
update-grub2 o actuando manualmente sobre el fichero 30_osprober o 40_custom.

Si se ha perdido el acceso a GRUB se puede proceder de la forma:

1. Iniciar el equipo con el DVD Live de Linux.


2. Ejecutar la instrucción “sudo fdisk -l” para comprobar los nombres de dispositivo de
las diferentes particiones. Supongamos que la correspondiente a Linux es /dev/sda6.
3. Ejecutar “sudo mount /dev/sda6 /mnt” para tener acceso a la partición de MaX.
4. Ejecutar “sudo mount --bind /dev /mnt/dev”.
5. Ejecutar “sudo mount --bind /proc /mnt/proc”
6. Ejecutar “sudo chroot /mnt” para acceder como usuario root al antiguo sistema de
ficheros.
7. Ejecutar “grub-install --recheck /dev/sda” (“sda” no “sda6”).
8. Reiniciar el equipo. Para actualizar grub2 ejecutar “sudo update-grub2”.
9. Si no funciona puede probarse a instalar grub2 con “sudo aptitude install grub2”.
El fichero con las opciones de grub es /boot/grub/grub.cfg.

Otra posibilidad de recuperación es usar la herramienta supergrub2disk, el enlace es:


http://www.eritec.es/blog/acceder-alblog/viewpost/161.html

Página.- 68
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

El shell de GRUB
(Será desarrollado próximamente)

Recuperar desde GRUB una contraseña olvidada


(Procedimiento solamente probado para GRUB Legacy) 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 6.5, kernel … generic” o la que corresponda. Puede ser necesario
pulsar <Esc> para que aparezcan las opciones.

2. Pulsar “e” para editar.

3. Seleccionar la línea del kernel (kernel /boot/vmlinuz-2.6.28-15-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.

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.- 69
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 22: 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.- 70
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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.

3.4.1 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 2.009. Puede bajarse de internet desde ftp://max.educa.madrid.org/isos,
donde pueden encontrarse las variantes:

Fig 23: 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.- 71
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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.- 72
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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 24: 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.- 73
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

3.4.2 Windows Server 2008

Las versiones de prueba de este sistema operativo están disponibles en internet, en la


dirección http://technet.microsoft.com/es-es/evalcenter/cc137123.aspx. 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 http://technet.microsoft.com/en-us/library/cc546617.aspx, 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 http://support.microsoft.com/kb/948472.

Los requisitos hardware para la instalación y uso de Windows Server 2008 pueden
consultarse en: http://msdn.microsoft.com/en-us/windowsserver/cc196364.aspx.

– 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.

Las diferentes versiones de Windows Server 2008 que Microsoft a sacado al mercado
son:

– 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.- 74
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 2008.- 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 2008. 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.- 75
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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 http://blogs.technet.com/davidcervigon/archive/2009/11/15/licenciamiento-en-
entornos-virtualizados-windows-server.aspx

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.- 76
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 “Configuración”.

Página.- 77
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 25: Repositorios

En la ficha “Otro software” 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


13.000 aplicaciones no soportadas por la empresa Canonical pero si por la
comunidad del Software Libre.

• Software restringido por copyright o cuestiones legales (multiverse).- 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.- 78
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 26: 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 http://www.genomefiles.org/
• Buscar en la página web Freshmeat http://freshmeat.net
• Buscar en la página Alternativas libres http://alts.homelinux.net/

Página.- 79
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 27: 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 (instalación de Apache)

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.- 80
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Práctica (instalación de Google Earth).

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 28: Google Earth corriendo en máquina virtual

Página.- 81
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Práctica (comprobación sobre Microsoft Office)

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 29: Página de descarga de Office 2010

Página.- 82
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 30: 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 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.- 83
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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.- 84
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 “Configuración” admite ciertos parámetros de configuración distribuidos por
diferentes fichas:

Fig 31: Gestor de actualizaciones de MaX

– Software de Ubuntu.- permite seleccionar el tipo de software a descargar de internet y


desde qué servidor.

– Otro software.- 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.- 85
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 32: 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.- 86
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 33: Windows Update

3.7 Ficheros de inicio del sistema operativo

En el apartado 3.3.5 se explica el proceso previo a la carga de ficheros del sistema


operativo y 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-2.6.28.11-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-2.6.28.11-
generic). El initrd es usado por el kernel para cargar los controladores necesarios para arrancar
el sistema.

Fig 34: Contenido de /boot

Página.- 87
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 88
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 89
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

3.7.1 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.- 90
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 Funcionalidad


0 Parada del sistema (system halt).
S 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.- 91
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 script 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.

3.7.2 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.

Página.- 92
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 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 35: 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 “control-alt-delete” 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.- 93
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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.

3.7.3 Gestión de 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 36: 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.- 94
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 95
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

3.10 Actividades

1. Comprobar cuales de las consideraciones previas del apartado 3.2 pueden aplicarse a
los sistemas operativos MaX y Windows Server 2008.
2. Buscar en internet los requerimientos hardware de las diferentes versiones de
Windows Server 2008.
3. 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. Comprobar la información existente en https://help.ubuntu.com/community/Grub2.
Buscar cómo re-instalar grub después de una instalación de Windows.
9. 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.
10. Realizar una instalación de MaX en el pen drive.
11. Realizar el clonado de un disco duro usando el programa Backharddi de MaX.
12. Buscar en las páginas web de Microsoft una guía o laboratorio de configuración del
servidor de DHCP.
13. Buscar en internet información acerca de como instalar el programa Ares en MaX, e
instalarlo.
14. Instalar alguno de los programas alternativos a Microsoft Messenger: emesene, amsn,
lmme, ...
15. Realizar con Synaptic la búsqueda de los diferentes editores hexadecimales
disponibles. Instalar y utilizar alguno de ellos.
16. Comprobar si se encuentra instalado el paquete samba y mostrar su descripción.
17. Cambiar algún aspecto en la configuración de los programas gestores de
actualizaciones de MaX 5.0 y Windows Server.
18. Actualizar alguno de los paquetes incluidos en MaX 5.0 y en Windows Server.
19. Comprobar la existencia de los diferentes ficheros de inicio del sistema y analizar su
contenido.
20. Instalar dos dispositivos como pueden ser: impresora, escaner, cámara de fotos,
cámara de video, … y comprobar el correcto funcionamiento.

Página.- 96
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 2008.
– 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.
– Saber gestionar usuarios y carpetas de forma centralizada usando NFS y SMB.

Documentación.

Además de la información del tema, pueden consultarse las Ayudas de MaX, Ubuntu y
Windows. La web de Samba http://samba.org/samba/docs/man/ contiene información muy
completa del servicio.

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.

También se aborda la seguridad de las cuentas, la seguridad de las contraseñas y los


perfiles de los usuarios.

Al final del tema se detalla la gestión de recursos y usuarios de forma centralizada


mediante los servicios NFS, SMB y NIS.

Temporización: 10 horas.

Página.- 97
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 98
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

4.2.1 Diseño de cuentas de usuario


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.- 99
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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:

• 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.

4.2.2 MaX v.5.0


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 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.
users-admin

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.- 100
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 37: Programa users-admin

Fig 38: 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.- 101
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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.

Cada línea de este fichero describe un límite para un usuario en la forma:

<dominio> <tipo> <elemento> <valor>

Página.- 102
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

donde:

<dominio> puede ser:

– Un nombre de usuario.
– Un nombre de grupo, con la sintaxis: @grupo.
– El carácter comodín “*”, como entrada por defecto.
– El carácter comodín “%”, puede también utilizarse como sintaxis %grupo, para el
límite del elemento maxlogin (nº máximo de logins simultáneos).
– NOTA: los límites asignados a los grupos o con caracteres comodines no se aplican al
usuario root. Para aplicar un límite al usuario root, el dominio debe ser el nombre de
usuario literal root.

<tipo> puede ser solamente dos valores:

– “soft” para aplicar un límite blando (de aviso).


– “hard” para aplicar un límite duro (infranqueable).

<elemento> puede ser uno de los siguientes valores:

– core.- limita la ocupación de los ficheros core. Se expresa en Kb. Los ficheros core
contienen una imagen de memoria de un programa que ha dado un fallo. Son
utilizados por los programadores para analizar y solucionar fallos.
– data.- máxima ocupación de datos (Kb).
– fsize.- máximo tamaño de fichero (Kb).
– memlock.- máximo espacio de direcciones de bloqueo de memoria (locked-in-
memory) (Kb).
– nofile.- número máximo de ficheros abiertos.
– rss.- (resident set size) máxima ocupación de RAM por la parte residente de un
proceso (Kb).
– stack.- máxima ocupación de la pila o stack (Kb).
– cpu.- máximo tiempo de CPU (min.).
– nproc.- máximo número de procesos.
– as.- límite de espacio de direccionamiento (Kb).
– maxlogins.- máximo numero de logins para el usuario.
– maxsyslogins.- máximo número de logins en el sistema.
– priority.- prioridad de ejecución de los procesos para el usuario.
– locks.- máximo número de bloqueos de fichero que puede mantener el usuario.
– sigpending.- máximo número de señales pendientes.
– msgqueue.- máxima memoria utilizada por colas de mensajes POSIX (bytes).
– nice.- máxima prioridad de procesos. Rango de valores permitidos: [-20, 19].
– rtprio.- máxima prioridad de tiempo real.
– chroot.- cambia el directorio raiz al especificado.

Página.- 103
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

<valor> es la cantidad asignada al elemento en cuestión.

Un ejemplo de fichero puede ser:

#
#<dominio> <tipo> <elemento> <valor>
#
* soft core 0
root hard core 100000
* hard rss 10000
@alumnos hard nproc 20
@profesores soft nproc 20
@profesores hard nproc 50
ftp hard nproc 0
ftp - chroot /ftp
@alumnos - maxlogins 4

#Fin del fichero

También es posible limitar los tiempos de acceso a los usuarios mediante el servicio
timeoutd. Este servicio no se instala por defecto y una vez instalado dispone del fichero de
configuración /etc/timeouts, cuyas líneas, aparte de las que se encuentran en blanco o que
corresponden a comentarios (empiezan por #), deben tener una de las dos siguientes sintaxis:

periodo:tty's:usuarios:grupos:max_inactividad:max_sesión:max_dia:alerta

periodo:tty's:usuarios:grupos:estado_login

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. Para que usprueba01 pueda estar 20 minutos inactivo, 240 minutos por sesión, 480
minutos por día en ttyS3 y recibir una alerta cuando le queden 10 minutos:

Al:ttyS3:usprueba01:*:20:240:480:10

2. Para que todos los usuarios puedan utilizar 120 minutos por sesión y 240 min/día:

Al:ttyS3:*:*:20:120:240:5

3. Para que usprueba02 tenga acceso ilimitado:

Al:*:usprueba02:*:0:0:0:0

Página.- 104
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

4. Para que usprueba01 no pueda hacer login durante el fin de semana:

SaSu:*:usprueba01:*:NOLOGIN

5. Para que sólo el ususario root pueda acceder desde las consolas tty1 a tty6:

Al:tty1,tty2,tty3,tty4,tty5,tty6:root:*:LOGIN
Al:tty1,tty2,tty3,tty4,tty5,tty6:*:*:NOLOGIN

6. Para que solo el usuario root pueda acceder entre las 15:00 y las 16:00h de cada día:

Al1500-1600:*:root:*:LOGIN
Al1500-1600:*:*:*:NOLOGIN

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 del 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.- 105
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 kernel-
image) 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 57624 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.- 106
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 /

– 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.

La administración de quotas puede realizarse con Webmin teniendo en cuenta que en


primer lugar se instala el paquete “quota”, a continuación se activan las cuotas a través de la
opción “System - Disk and Network filesystem”, se reinicia el equipo y finalmente se asignan
cuotas a los usuarios a través de “System – Disk quotas”, botones “Edit User/Group Quotas”.

4.2.3 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 39: Administración de cuentas a través del panel de control

Página.- 107
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 40: Crear nueva cuenta

Fig 41: Administración 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.- 108
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

lgunas de las posibles acciones u operaciones son:

– Usuario nuevo (aparece si no hay ninguno seleccionado).

Fig 42: 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.- 109
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 43: 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.- 110
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 111
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Por ejemplo, si el usuario madrid ejecuta el comando “mkdir /pepe” se produce


un error por no tener permisos para crear carpetas 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 todos los permisos a todos los usuarios
(“sudo chmod a+rwx /etc/sudoers”) y restablecer los permisos al finalizar
(“sudo chmod 0440 /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 cuando son 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.- 112
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 peculiaridad de que su escritorio y carpeta de


trabajo se restauran al iniciar 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


seguro podrá utilizarse.

Página.- 113
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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@W200800 “notepad fichero.txt”

donde W200800 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.

– Incluir las menos cuentas de usuario posibles en los grupos con privilegios de
administradores.

Página.- 114
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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.

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.

Página.- 115
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 116
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 44: Carpeta personal de usprueba02

Fig 45: Opciones para visualizar ficheros ocultos

Fig 46: Carpeta personal con ficheros ocultos

Página.- 117
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

La ubicación preestablecida para las carpetas de los usuarios puede modificarse en las
propiedades del usuario.

Fig 47: 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 48: 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.- 118
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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.- 119
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– Aplicaciones preferidas.- para especificar las aplicaciones que se utilizarán para la


realización de ciertas tareas.

– Etc., etc.

Fig 49: 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.- 120
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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 50: 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.- 121
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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 51: 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.- 122
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 52: 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 Gestión centralizada de usuarios

La centralización de usuarios en uno o varios equipos de la red puede facilitar de


forma muy significativa el trabajo de administración y control de los equipos y de la red en su
conjunto. Cuando los permisos y privilegios de los usuarios están perfectamente organizados,
gestionados y controlados los problemas de la red se reducen.

Ligada a la gestión centralizada de usuarios se encuentra la gestión centralizada de


carpetas. Aunque son dos aspectos perfectamente delimitados, muy frecuentemente el
servidor que contiene y autentica a los usuarios también contiene algunas de sus carpetas de
trabajo.

Dependiendo de la funciones que se quieran centralizar pueden distinguirse tres


categorías:

– Compartir carpetas, archivos e impresoras.- los dos protocolos más utilizados son NFS
y SMB/CIFS.

Compartir una carpeta permite que desde otros equipos se pueda tener acceso al
contenido de la misma. Este acceso puede ser esporádico para intercambiar algún
fichero o continuado si lo que se comparte es, por ejemplo, una carpeta que contiene
los perfiles de los usuarios o sus carpetas de trabajo. Si lo que contienen son los
ficheros que conforman el perfil de los usuarios, asignando los permisos adecuados
puede controlarse que los usuarios puedan cambiar o no su perfil.

Como ya se ha mencionado, algunas de las consideraciones a tener en cuenta para que


las carpetas de los usuarios tengan una ubicación local o centralizada son: centralizar
los directorios de inicio de sesión de los usuarios, la realización de copias de
seguridad, el espacio requerido, los dispositivos removibles disponibles, la carga de la
red, etc.

Página.- 123
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Tampoco se puede olvidar la situación generalizada de la existencia de diferentes


sistemas operativos en la red y que dos de los protocolos más utilizados para compartir
recursos son NFS en sistemas Linux/Unix y SMB/CIFS en sistemas Windows.

Teniendo en cuenta que el protocolo utilizado por los sistemas Windows para
compartir o conectarse a recursos compartidos es SMB/CIFS y que en ambos
protocolos (NFS y SMB/CIFS) la configuración del cliente (el que se conecta) es
diferente a la del servidor (el que comparte), la casuística para un equipo Linux es la
siguiente:

• Si va a compartir carpetas con otros sistemas Linux deberá cargar y configurar el


servicio de “servidor de NFS”.

• Si va a hacer uso de carpetas que otros sistemas Linux comparten deberá cargar y
configurar el servicio de “cliente de NFS”.

• Si va a compartir carpetas con sistemas Windows deberá cargar y configurar el


servicio de “servidor Samba (SMB)”.

• Si va a conectarse a carpetas compartidas por sistemas Windows deberá cargar y


configurar el servicio de “cliente Samba (SMB)”.

– Autenticación y permisos de acceso.- permite establecer y comprobar la identidad de


un usuario o equipo de la red y determinar los permisos de acceso a recursos como
ficheros, carpetas, impresoras, etc. Dos de los servicios de autenticación más
utilizados son NIS y Kerberos.

– Servicios de directorio.- centralizan toda la información susceptible de compartir a


través de la red, incluyendo las dos funciones anteriores. Los dos servicios más
utilizados son LDAP (Lightweight Directory Access Protocol) en sistemas Linux y
Active Directory de Microsoft.

Estos últimos servicios, por su complejidad, serán tratados en temas independientes.

4.7.1 Compartir carpetas con NFS

NFS (Network File System) permite compartir carpetas y ficheros entre sistemas a
través de la red. El equipo servidor de NFS comparte alguna de sus carpetas o ficheros y el
cliente de NFS se conecta y hace uso de las carpetas o ficheros que comparte el servidor. Un
equipo puede ser servidor y cliente de NFS al mismo tiempo, es decir, puede compartir alguna
de sus carpetas o ficheros y hacer uso de las carpetas o ficheros que otro servidor comparte.

Página.- 124
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

NFS permite que los datos usados de forma común puedan almacenarse en una única
carpeta compartida localizada en un equipo accesible a través de la red, centralizar los
directorios de inicio de los usuarios, compartir dispositivos de almacenamiento interno y
externo reduciendo el número de dispositivos removibles de la red, etc.

El funcionamiento del servidor de NFS conlleva tres tipos de tareas:

– Instalación del software adecuado, que no es otro que el paquete nfs-kernel-server.


Esta tarea puede realizarse a través del gestor de paquetes Synaptic o mediante la
instrucción “sudo apt-get install nfs-kernel-server”.

– Configurar o especificar los directorios o ficheros a compartir. Cada recurso que se


comparte se especifica en el fichero /etc/exports añadiendo una línea por cada recurso
compartido, siguiendo la sintaxis que se muestra a continuación y que puede ser
consultada con la instrucción “man exports”:

recurso_a_compartir equipos_clientes(opciones) [equipos_clientes(opciones)] [...]

recurso_a_compartir.- es el nombre completo de la carpeta/fichero que se comparte.


Debe tenerse en cuenta que los permisos de la carpeta/fichero sean los adecuados.

equipos_clientes.- identifica a los equipos que tendrán permitido el acceso al recurso.


Las diferentes formas que puede adoptar equipos_clientes son:

• Un equipo individual.- se especificará el nombre del equipo, por ejemplo


“max50_01”, o su nombre FQDN, por ejemplo “max50_01.tiernogalvan.es” o su
dirección IP, por ejemplo “192.168.0.5”.

• Un grupo de red NIS.- tendrá la forma @grupo.

• Uso de caracteres comodines.- Utilizando los caracteres “*” y “?” en el nombre


FQDN de los equipos puede referenciarse a, por ejemplo, todos los equipos de un
subdominio (*.informatica.tiernogalvan.es).

• Subredes.- Especificando la dirección IP de la red y la máscara en cualquiera de


sus dos notaciones (decimal o longitud), por ejemplo 192.168.0.0/24 o
192.168.0.0/255.255.255.0. No deben utilizarse caracteres comodines en las
direcciones IP.

opciones.- caracteriza y delimita la forma en que se comparte el recurso. Para ver una
lista completa de las opciones que se pueden utilizar puede utilizarse la instrucción
“man exports”. Van encerradas entre paréntesis y separadas unas de otras por una
coma (sin espacios). Entre las más utilizadas están:

• rw.- permite realizar operaciones de lectura y escritura en el directorio/fichero.

Página.- 125
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

• ro.- permite realizar únicamente operaciones de lectura.

• sync.- el servidor responde a las operaciones después de realizarlas en el disco.

• nohide.- permite al cliente ver en los puntos de montaje del servidor los sistemas
de ficheros montados.

• no_subtree_check.- evita el chequeo del directorio/fichero compartido.

• no_root_squash.- hace que el usuario root del cliente pase a tener los mismos
permisos que el usuario root del servidor sobre la carpeta.

• insecure.- permite el uso de puertos superiores al 1024.

Algunos ejemplos pueden ser:

/home/NIS (rw,nohide,sync,no_root_squash,no_subtree_check)
/home (rw,nohide,no_root_squash)
/home/profe *.tiernogalvan.es(rw, nohide) 192.168.8.0/22(ro,nohide)

Puesto que el conocimiento y comprensión de las opciones que se pueden utilizar es el


talón de Aquiles de este servicio, puede hacerse uso de herramientas como Webmin
que facilitan la configuración del fichero /etc/exports.

– Lanzar la ejecución del servidor de nfs con la instrucción:

sudo /etc/init.d/nfs-kernel-server start

El proceso admite las opciones status, start, stop, restart, etc. para comprobar su
estado, lanzarlo, pararlo, reiniciarlo, etc. respectivamente.

Si se desea que el proceso no se lance de forma automática al iniciar el sistema, puede


utilizarse el comando sysv-rc-conf para desactivarlo de los niveles de ejecución
correspondientes (2, 3, 4 y 5).

La configuración del cliente de NFS conlleva las siguientes tareas:

– Instalar, si aún no lo está, el paquete nfs-common.

– Determinar la carpeta local del cliente donde se montará la carpeta compartida del
servidor. Dicha carpeta local deberá estar vacía y tener los permisos adecuados.

– Realizar la operación de montaje mediante la instrucción mount, que tendrá la forma:

sudo mount servidor:/carpeta_compartida /carpeta_local

Página.- 126
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– Si se desea que la operación de montaje se realice de forma automática al iniciar el


sistema deberá incluirse una línea en el fichero /etc/fstab, que tendrá una forma similar
a la siguiente:

servidor:/carpeta_compartida /carpeta_local nfs

El formato completo de las líneas de este fichero se puede consultar con “man fstab”.

Paquetes relacionados con este servicio que pueden facilitar la tarea del servidor y/o
cliente son: nfswatch, unfs3, nfs4-acl-tools, jftp, kdenetwork-filesharing, webmin, etc.

Práctica (compartir carpetas con NFS)

Dar de alta en un equipo (cliente) varios usuarios cuyo directorio de trabajo se


encuentre en un servidor NFS. Los pasos a seguir pueden ser los siguientes:

– Comprobar que el servidor y el cliente se hacen ping. Para conocer la dirección IP del
equipo local puede utilizarse la instrucción “sudo ifconfig” y para hacer ping al
equipo remoto debe utilizarse “ping dirección_ip_equipo_remoto”.

– Instalar en el servidor NFS el paquete “nfs-kernel-server”.

– Crear en el servidor NFS la carpeta /home/NIS y asignarle todos los permisos al


propietario, al grupo y a los otros. Con el usuario madrid se puede ejecutar:

sudo mkdir /home/NIS


sudo chmod a+rwx /home/NIS

Puede comprobarse que todo ha ido bien con “ls -l /home”

– Para configurar el fichero /etc/exports puede utilizarse webmin. La instalación y


ejecución de webmin se detalla en el anexo 1 de este manual. Su ejecución se lanza a
través del explorador, Firefox por ejemplo, especificando la dirección
“http://localhost:10000”; a continuación solicita la autenticación y debe introducirse
root y su contraseña.

Si Webmin se instaló después de nfs-kernel-server, la subopción “Exportaciones de


NFS” se encuentra dentro de la opción “Red”. Si se instaló antes puede buscarse
especificando “NFS” en el cuadro de texto para búsquedas.

Página.- 127
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 53: Programa de administración Webmin

Una vez elegida la opción “Exportaciones de NFS” se elige “Añadir una nueva
exportación” y se realizan las siguientes configuraciones:

• NFS versión: 3.
• Directorio a exportar: /home/NIS.
• Solo lectura: NO (opción rw).
• Los clientes deben de estar en puerto seguro: NO (opción insecure).
• Desactivar chequeo del árbol de directorios: SI (opción no_subtree_check).
• Ocultar el sistema de ficheros: NO (opción nohide).
• Sincronizar inmediatamente las modificaciones en disco: SI (opción sync).
• Confiar en usuarios remotos: Todo el mundo (opción no_root_squash).

Se elige “Crear” y “Aplicar cambios”.

Pueden comprobarse las modificaciones con la instrucción “cat /etc/exports”. Se


habrá añadido una linea como la siguiente:

/home/NIS (sync,insecure,no_subtree_check,no_root_squash,rw,nohide)

– Se relanza la ejecución del servidor NFS con la instrucción:

sudo /etc/init.d/nfs-kernel-server restart

Página.- 128
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– En el cliente se crea la carpeta /home/NIS y se establecen los permisos adecuados:

sudo mkdir /home/NIS


sudo chmod a+rwx /home/NIS

– Se monta la carpeta del servidor en la del cliente con la instrucción:

sudo mount ip_servidor:/home/NIS /home/NIS

especificando como ip_servidor la dirección IP del servidor NFS.

– Si todo funciona correctamente la carpeta /home/NIS del cliente se comportará como


una carpeta virtual en el sentido de que todas las operaciones que se realicen en ella
realmente se harán efectivas en la carpeta /home/NIS del servidor. Al desmontar la
carpeta del cliente desaparecerá su contenido pero permanecerá en la carpeta del
servidor. Luego, se puede proceder de la siguiente forma:

• Se crea un fichero en /home/NIS cliente con “ls >/home/NIS/fic”.


• Se comprueba su creación con “ls /home/NIS”.

• Se comprueba que dicho fichero ha ido a parar a /home/NIS del servidor con la
misma instrucción del apartado anterior.

• Se desmonta la carpeta en el cliente con “sudo umount /home/NIS” y se


comprueba que el fichero ha desaparecido del cliente pero permanece en el
servidor.

• Se vuelve a montar la carpeta en el cliente y el fichero volverá a aparecer.

– Para que el montaje de la carpeta se haga en el inicio del sistema cliente, de forma
automática, se añade al fichero /etc/fstab la línea:

ip_servidor:/home/NIS /home/NIS nfs

– Apagar y encender el equipo cliente y comprobar que la carpeta se ha montado


correctamente y contiene el fichero creado.

– Finalmente, apagar los dos equipos, iniciar el servidor, esperar a que pida la
autenticación y en ese momento iniciar el cliente. Comprobar que la carpeta se ha
montado correctamente, es decir, que en la carpeta /home/NIS del cliente se encuentra
el fichero creado y que físicamente se encuentra en el servidor.

– Una vez comprobado que NFS funciona correctamente se puede proceder a crear dos
usuarios en el equipo cliente (us_nfs_01 y us_nfs_02) asignándoles como directorio de
trabajo la carpeta /home/NIS.

Página.- 129
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Una vez dados de alta, con cada uno de ellos se iniciará una sesión y se creará un
fichero en su carpeta personal. Se comprueba que la estructura de directorios que se
genera por cada usuario queda creada en el servidor NFS, que si se desmonta en el
cliente la carpeta desaparece dicha estructura en el cliente pero no en el servidor y que
al volver a montar la carpeta vuelve a aparecer.

4.7.2 Compartir carpetas e impresoras con Samba

Una de las formas más comunes de compartir ficheros e impresoras con equipos
Windows o con equipos Linux configurados como clientes Samba es configurar el equipo
como servidor Samba. Para ello, en primer lugar hay que instalar el paquete “samba” desde
Synaptic o bien mediante la instrucción “sudo apt-get install samba”.

El archivo principal, no el único, de configuración de Samba es /etc/samba/smb.conf.


Al instalar samba se genera dicho fichero con un número considerable de lineas, la mayor
parte de ellas comentadas, que proporcionan explicaciones y ejemplos sobre algunas de las
posibles opciones a utilizar para compartir carpetas e impresoras. Ciertas líneas de comentario
utilizan como primer carácter de línea un punto y coma (“;”) en vez del carácter almohadilla
(“#”) para indicar que al parámetro se le está asignando un valor diferente al predeterminado.

Samba admite configuraciones más o menos sencillas cuando se trata simplemente de


compartir alguna carpeta o impresora pero también admite configuraciones muy complejas
cuando se desea que, por ejemplo, el equipo realice las funciones de controlador de un
dominio, de controlador secundario de dominio, o que gestione los grupos, accesos y
permisos de los diferentes usuarios, equipos, etc.

El fichero /etc/samba/smb.conf se encuentra dividido en secciones. Cada sección


empieza con un nombre de sección encerrado entre corchetes ([seccion]) y finaliza con el
siguiente nombre de sección o con el fin del fichero. Existen tres secciones especiales:

– [global].- contiene parámetros que afectan al funcionamiento general del servidor.

– [printers].- sus parámetros afectan a la forma de compartir las impresoras.

– [homes].- sus parámetros afectan al modo en que los usuarios comparten sus carpetas.

Además de estas tres secciones, por cada recurso que se comparta debe existir una
sección cuyo nombre identificará al recurso ante los clientes. Los parámetros incluidos en
cada sección tendrán la forma “nombre = valor”.

Dada la enorme cantidad de parámetros que se pueden incluir en el fichero, es


conveniente acotar el desarrollo que se desea hacer en este apartado del servicio samba puesto
que un estudio exhaustivo debería ser desarrollado a lo largo de varios temas.

Página.- 130
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Las prácticas que se desarrollan a continuación muestran cómo compartir carpetas


editando y modificando el fichero /etc/samba/smb.conf y , por otro lado, utilizando algunas de
las muchas herramientas gráficas que permiten administrar el servicio. Las herramientas
elegidas son: system-config-samba, swat, webmin y nautilus-share.

Más herramientas relacionadas con la gestión de samba son: gadmintools, gadmin-


samba, samba-tools, thunar-shares, smb4k, gnome-user-share, smb-nat, jftp, qtsmbstatus-
server, qtsmbstatus-client, fusesmb, etc.

Práctica (Samba: compartir una carpeta modificando /etc/samba/smb.conf)

Crear y compartir mediante SMB la carpeta /srv/samba/Carpeta01 editando y


modificando /etc/samba/smb.conf.

Se puede proceder de la siguiente forma:

Crear la carpeta con el usuario “madrid” haciendo uso de la instrucción:

sudo mkdir -p /srv/samba/Carpeta01

La opción “-p” sirve para crear las carpetas intermedias en el caso de que no existan.

Se le asigna el propietario y grupo adecuados con:

sudo chown nobody:nogroup /srv/samba/Carpeta01

Se instala el paquete “samba” con Synaptic o con la instrucción:

sudo apt-get install samba

Se hace una copia para prevenir problemas y se edita el fichero smb.conf con:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.copia


sudo gedit /etc/samba/smb.conf

Se buscan y se modifican las líneas de la sección [global] que contienen los


parámetros que establecen el nombre del grupo de trabajo (workgroup) y el tipo de seguridad
a utilizar (security), dejando dichas líneas de la forma:

workgroup = AULAB25
security = user

Se añade al final del fichero editado (smb.conf) una nueva sección con los parámetros
que permiten compartir la carpeta creada anteriormente (/srv/samba/Carpeta01).

Página.- 131
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

La sección puede quedar de la forma:

[Carpeta01]
comment = Carpeta01 compartida por el equipo MaX60_S
path = /srv/samba/Carpeta01
browseable = yes
guest ok = yes
writeable = yes
create mask = 0755

y el significado de los parámetros utilizado es el siguiente:

– comment.- breve descripción del recurso compartido.

– path.- nombre completo de la carpeta o recurso. Aunque las carpetas compartidas por
Samba pueden estar situadas en cualquier parte del árbol de directorios, en este
ejemplo se ha utilizado /srv/samba para seguir el estándar de jerarquía del sistema de
archivos (FHS o Filesystem Hierarchy Standard) y /srv es el directorio utilizado para
albergar los datos servidos por el equipo. Cuando los datos son servidos por un usuario
deberán encontrarse en algún subdirectorio de /home.

– browseable.- permite a los clientes entrar o navegar por las subcarpetas de la carpeta
compartida.

– guest ok.- permite a los clientes conectarse con el usuario anónimo, sin contraseñas.

– writeable.- establece si el permiso sobre el recurso es solo de lectura (writeable = no)


o también de escritura (writeable = yes).

– create mask.- establece los permisos para los ficheros y carpetas creados por los
clientes dentro del recurso compartido. El número que se especifica sigue las mismas
normas que el utilizado con la instrucción “chmod”. En el ejemplo, 0755 equivale a
los permisos rwxr – xr – x.

Finalmente, se reinician los servicios smbd y nmbd con:

sudo /etc/init.d/smbd stop


sudo /etc/init.d/nmbd stop
sudo /etc/init.d/nmbd start
sudo /etc/init.d/smbd start

Página.- 132
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Ahora hay que comprobar que el servidor funciona correctamente. Algunas de las
pruebas a realizar pueden ser las siguientes:

– Desde el propio servidor se puede ejecutar la instrucción “smbclient -L localhost”


que mostrará información relativa a los recursos compartidos en una ventana similar a
la de la figura.

Fig 54: Resultado de la instrucción "smbclient -L localhost"

– Ejecutar desde un cliente Linux la instrucción “smbclient -L ip_del_servidor”.

– Desde un cliente Linux haciendo doble click en el icono del escritorio “Servidores de
red” - Red de Windows – AULAB25 – MaX60_S, que mostrará una ventana como la
de la figura.

Fig 55: Icono del escritorio "Servidores de red"

– Desde un cliente Linux, con el explorador Firefox, especificando la dirección


“smb://ip_del_servidor”.

Página.- 133
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– Desde un cliente con Windows XP, con botón derecho sobre el icono “Mis sitios de
red” - Conectar a unidad de red, eligiendo como unidad, por ejemplo “Z:” y como
carpeta “\\nombre_del servidor | ip_del_servidor\nombre_recurso_compartido”. En mi
caso como carpeta he utilizado \\MaX60_S\Carpeta01.

Fig 56: Cliente Windows XP

Práctica (Samba: compartir una carpeta usando system-config-samba)

Crear y compartir la carpeta /srv/samba/Carpeta02 haciendo uso de la herramienta


gráfica system-config-samba.

Una forma de proceder puede ser la siguiente:

Se crea la carpeta y se le asigna el usuario y grupo adecuados:

sudo mkdir /srv/samba/Carpeta02


sudo chown nobody:nogroup /srv/samba/Carpeta02

Se comprueba con Synaptic si se encuentra instalado el paquete system-config-samba,


instalándolo si es necesario con Synaptic o con la instrucción:

sudo apt-get install system-config-samba

Se comparte /srv/samba/Carpeta02 con la instrucción “sudo system-config-samba”.


Esta herramienta dispone de las opciones fundamentales que se necesitan para compartir
recursos a nivel elemental. La figura muestra la ventana con sus dos fichas: Básico y Acceso.
Se recomienda recorrer todas las opciones para comprobar el alcance de configuración de la
herramienta.

Página.- 134
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 57: System-config-samba

Las comprobaciones a realizar pueden ser las mismas de la práctica anterior.

Práctica (Samba: compartir una carpeta usando swat)

Crear y compartir la carpeta /srv/samba/Carpeta03 haciendo uso de la herramienta


gráfica swat.

Una forma de proceder puede ser la siguiente:

Se crea la carpeta y se le asigna el propietario y grupo adecuados, de forma similar a la


práctica anterior.

Se instala el paquete swat y se lanza su ejecución desde Firefox, especificando como


dirección “localhost:901”. Pedirá nombre de usuario y contraseña y deberán ser introducidos
los datos correspondientes al usuario root. Si se introduce otro usuario y contraseña diferentes
a root se ejecutará swat pero el abanico de posibilidades y opciones de configuración estará
muy reducido. A grandes rasgos, los iconos que muestra swat permiten:

– Home.- muestra la documentación de Samba.

– Globals.- permite configurar los parámetros generales del servidor.

– Shares.- permite establecer los recursos a compartir y las opciones apropiadas para
cada uno de ellos.

– Wizard.- permite establecer el tipo de servidor, anular las lineas de smb.conf que son
comentarios o que asignan valores por defecto a los parámetros.

Página.- 135
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– Status.- muestra el estado de los diferentes servicios y las conexiones actuales.

– View.- Muestra el fichero /etc/samba/smb.conf sin los comentarios y permite


modificar su contenido.

– Password.- permite gestionar los usuarios y contraseñas de los usuarios de Swat.

Fig 58: Swat

Para compartir la carpeta /srv/samba/Carpeta03 se hace click sobre el icono “Shares”,


se especifica “Carpeta03” en el cuadro de texto situado a la derecha del botón “Create Share”
y se pulsa sobre dicho botón. El nombre del recurso pasará a la lista desplegable situada
encima del cuadro de texto y en la parte inferior de la página aparecerán una serie de botones
y cuadros de texto que permitirán establecer los parámetros para este recurso compartido. Se
pueden especificar los siguientes:

– comment (cuadro de texto): Carpeta03 compartida por el equipo MaX60_S


– path (cuadro de texto): /srv/samba/Carpeta03
– read only (lista desplegable): No
– guest ok (lista desplegable): Yes
– browseable (lista desplegable): Yes
– available (lista desplegable): Yes

Para guardar los cambios realizados en el fichero smb.conf se pulsa sobre el botón
“Commit Changes”. Para que dichos cambios sean tenidos en cuenta por el servidor samba se
puede pulsar sobre el icono superior “Status” y a continuación sobre el botón “Restart all”.

La comprobación del funcionamiento puede ser igual al de las prácticas anteriores.

Swat es una utilidad muy completa que permite un control muy exhaustivo sobre el
servidor samba y a la que conviene dedicar cierto tiempo de estudio para conocer el
significado de todas sus opciones y posibilidades.

Página.- 136
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Algunas consideraciones que pueden ayudar a su manejo en la fase inicial son:

– Cuando se lanza swat por primera vez, simplifica el fichero /etc/samba/smb.conf


anulando todas las líneas de comentario y todas las que asignan valores por defecto a
los parámetros.

– La página “Shares”, además de permitir crear recursos compartidos, permite modificar


o borrar los ya existentes. Para ello en primer lugar hay que elegir el recurso en la lista
desplegable situada entre los botones “Choose Share” y “Delete Share” y a
continuación pulsar sobre uno de los dos botones mencionados. Si se están realizando
modificaciones sobre un recurso compartido y en un momento dado se desean anular
las modificaciones para que aparezcan de nuevo las opciones iniciales, basta con
pulsar sobre el botón “Reset Values”.

– Las opciones básicas mostradas para los recursos compartidos son unas 15. Para
cambiar a la modalidad de “Vista avanzada”, que muestra unas 100 opciones
diferentes, hay que pulsar sobre el botón “Advanced” (en la página “Shares”).

– Cada opción dispone de un enlace “Help” que presenta información de ayuda sobre la
misma y un botón “Set Default” que permite asignar al parámetro la opción por
defecto.

– Para evitar incompatibilidades sobre el fichero /etc/samba/smb.conf, se recomienda no


alternar el uso de esta herramienta con el uso de otras. Dicho de otra forma, si se elige
swat para configurar samba, debe utilizarse siempre swat para gestionar los recursos
compartidos.

Práctica (Samba: compartir una carpeta usando nautilus-share)

Iniciando una sesión con un usuario distinto a los predeterminados, crear y compartir
una carpeta dentro de su carpeta personal.

Los pasos a seguir pueden ser los siguientes:

– Se crea el usuario “usprueba01” asignándole el privilegio “Compartir archivos con la


red local”. Este privilegio lo que hace realmente es que usprueba01 sea miembro del
grupo “sambashare”, que es el grupo que tiene permisos para escribir en el
directorio /var/lib/samba/usershares, que es donde se guardan los ficheros de
configuración de los recursos que los usuarios comparten.

– Se inicia la sesión con el usuario usprueba01 y se crea dentro de su carpeta personal


una subcarpeta llamada “Carpeta04”.

Página.- 137
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– Se accede al menú contextual de la carpeta “Carpeta04” (botón derecho sobre la


carpeta), se elige la opción “Opciones de compartición” y se introducen los valores
adecuados.

Fig 59: Nautilus-share

El funcionamiento puede comprobarse como en las prácticas anteriores.

Información más completa sobre el servicio samba puede encontrarse a través de:

– El tema 17: Redes Windows de la Guía de Ubuntu Server a la que se accede a través
del menú Aplicaciones – Sistema – Ayuda y Soporte – Temas avanzados que explica
de forma sencilla y con ejemplos el uso del servicio.

– La instrucción “man smb.conf” que muestra un texto de unas 8.000 líneas explicando
todas las opciones que pueden utilizarse en smb.conf.

– La página oficial de samba que contiene un manual completísimo en inglés y al que se


accede a través de http://samba.org/samba/docs/man/Samba-HOWTO-Collection/.

4.7.3 Centralización de la autenticación de usuarios. NIS.

Centralizar la autenticación de los usuarios consiste en dar de alta a los usuarios en


uno o varios servidores de la red y permitir que esos usuarios inicien la sesión desde otros
equipos distintos a aquellos en los que han sido dados de alta. Esta centralización tiene
enormes ventajas a la hora de administrar usuarios en aquellas redes donde los usuarios no
tienen asignado un equipo físico fijo o existe un número elevado de usuarios.

Por ejemplo, un profesor puede dar de alta en su ordenador del aula un usuario para
cada alumno sin importar el ordenador que posteriormente ocupará cada uno de ellos y sin
tener que ir dando de alta en cada ordenador del aula a los posibles usuarios.

Página.- 138
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Uno de los servicios de Linux que permite la centralización de usuarios es NIS,


Network Information Service o Servicio de Información en Red. NIS en un principio se llamó
YP de Yellow Pages (Páginas amarillas) y tuvo que cambiar su denominación por ser un
nombre registrado por British Telecom.

NIS es un protocolo que permite distribuir y consultar datos (usuarios, grupos,


contraseñas, nombres de equipos, etc.) entre los equipos de una red. En particular permite la
consulta de usuarios y contraseñas (centralización de autenticación) o puede realizar las
funciones de DNS cuando no se necesite salir a Internet. Ciñéndonos a la gestión de usuarios,
va a permitir que las cuentas de usuario se den de alta en una máquina y puedan iniciar sesión
desde las demás máquinas de la red.

La función de los servidores NIS es poner a disposición de los clientes los ficheros o
bases de datos que contienen la información de las cuentas de usuarios, claves, etc. La función
de los clientes NIS es consultar los ficheros de los servidores para comprobar, por ejemplo, si
el nombre de la cuenta y su contraseña son correctos.

Los datos sobre las cuentas de usuario, sus contraseñas y grupos de usuarios se
encuentran en los ficheros /etc/passwd, /etc/shadow y /etc/group respectivamente.

Dada la importancia del servidor NIS, puesto que tiene la responsabilidad de


autenticar a los usuarios, la configuración generalizada en una red consta de un servidor
maestro y uno o más servidores esclavos que contienen una réplica de los ficheros del
servidor maestro. En el caso de que el servidor maestro se caiga serán los servidores esclavos
los que se encarguen de realizar la autenticación. Esto conlleva que el servidor maestro envíe
periódicamente las modificaciones de sus ficheros a los servidores esclavos.

Antes de proceder a la instalación y configuración del servicio NIS es conveniente


tener en cuenta las siguientes consideraciones:

– Aunque la autenticación del cliente NIS es remota su sesión y ejecución es local por lo
que si un usuario creado en el servidor NIS tiene asignado como directorio de
trabajo /home/usuario, dicho directorio deberá crearse y tener asignados los permisos
adecuados en el equipo local antes de que el usuario inicie la sesión. Si al iniciar la
sesión el directorio de trabajo del usuario no existe, el usuario intentará crearlo pero
para conseguirlo deberá tener los permisos adecuados. De forma predeterminada el
directorio /home tiene como propietario al usuario root y solamente él puede crear
subdirectorios (permisos rwxr-xr-x); por esta razón el directorio del usuario lo crea
root al dar de alta al usuario pero el usuario no puede crear su propio directorio en
/home.

Una solución a este problema es crear tanto en el servidor como en el cliente un


directorio, por ejemplo /home/NIS, con todos los permisos para todos los usuarios y
asignar a aquellos usuarios que se conectan mediante NIS el directorio de trabajo
/home/NIS/nombre_usuario.

Página.- 139
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Otra solución, no aconsejable, es modificar los permisos del directorio /home del
cliente para que todos los usuarios puedan crear subdirectorios.

Finalmente, la solución más aconsejable pasa por centralizar en un servidor las


carpetas de los clientes NIS, como se detalla más adelante en este mismo tema.

– La versión 6.0 de MaX, con el paquete users-admin que administra las cuentas de
usuario y grupo, al dar de alta un nuevo usuario crea su directorio de trabajo antes de
permitir especificar donde se quiere crear; esto no ocurría con la versión 5.0. Ahora, si
se desea que los usuarios tengan su carpeta en un lugar diferente a /home, o bien se
modifica en el fichero /etc/adduser.conf la variable DHOME o se copia la carpeta que
se crea para el usuario de /home al directorio deseado y se asigna este directorio al
usuario a través de users-admin (menú Aplicaciones – Sistema – Administración –
Usuarios y grupos), seleccionando el usuario en cuestión, haciendo click en el botón
“Ajustes avanzados”, ficha “Avanzado”, cuadro de texto “Directorio personal”.

– Para evitar errores ajenos a NIS es conveniente revisar que:

• Las direcciones ip de clientes y servidores son las correctas y las máquinas se


hacen ping.

• El nombre de cada equipo, contenido en el fichero /etc/hostname, es el adecuado y


distintos todos ellos. Esta condición es aconsejable aunque no obligatoria.

• Los clientes tienen bien asignado el nombre de los servidores a sus direcciones ip
en el fichero /etc/hosts. Esta condición es aconsejable aunque no obligatoria.
Puede verse un ejemplo en la práctica siguiente.

– Antes de instalar NIS debe saberse cual es el nombre del dominio que vamos a asignar
a todos los equipos.

Práctica (instalación de un servidor y un cliente NIS)

Configurar una máquina virtual como servidor NIS y dar de alta en ella una cuenta de
usuario. Configurar otra máquina virtual como cliente NIS e iniciar una sesión con el usuario
creado en el servidor NIS.

Antes de proceder a la instalación de paquetes, se deben tomar ciertas decisiones y


realizar ciertas comprobaciones:

1. Control de direcciones ip y nombres de equipo.- para esta práctica se va a asignar a la


máquina virtual que realizará la función de servidor NIS el nombre MaX60_S y la
dirección ip 192.168.10.16; a la que hace de cliente NIS tendrá el nombre MaX60_C y
la dirección ip 192.168.10.17. Se verificará que ambas máquinas se hacen ping.

Página.- 140
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

El nombre asignado al equipo se encuentra en el fichero /etc/hostname. Para ver su


contenido puede utilizarse la instrucción “cat /etc/hostname” y para modificarlo “sudo
gedit /etc/hostname”. Si se modifica el nombre del equipo debe reiniciarse o de lo
contrario algunos programas no funcionarán correctamente.

2. Control de los nombres de los equipos de la red y del nombre del dominio nis.- para
esta práctica se utilizará como nombre de dominio “tiernogalvan.es”. Si se desea que
los ordenadores puedan comunicarse utilizando su nombre en vez de su dirección IP,
deberá especificarse en cada máquina los nombres y direcciones IP de las demás. El
fichero que contiene estos datos es /etc/hosts. Si en la red hay configurado un servidor
DNS esta operación no será necesaria. Para probar su funcionamiento en la máquina
MaX60_C se pueden ejecutar las instrucciones:

ping 192.168.10.16 (funcionará correctamente)


ping MaX60_S (no funcionará)
ping MaX60_S.tiernogalvan.es (no funcionará)

Se edita en MaX60_C el fichero /etc/hosts para que quede con los datos:

127.0.0.1 MaX60_C MaX60_C.tiernogalvan.es localhost


127.0.1.1 MaX60_C
192.168.10.16 MaX60_S MaX60_S.tiernogalvan.es
. . . . . (las siguientes lineas se dejan como estén)

Se debe comprobar que ahora los tres “ping's” anteriores funcionan correctamente.

Se procede de forma análoga en la máquina MaX60_S dejando /etc/hosts con:

127.0.0.1 MaX60_S MaX60_S.tiernogalvan.es localhost


127.0.1.1 MaX60_S
192.168.10.17 MaX60_C MaX60_C.tiernogalvan.es
. . . . . (las siguientes lineas se dejan como estén)

La operación realizada modificando el fichero /etc/hosts ha permitido asignar a unas


direcciones IP los nombres deseados, con el nombre del dominio incorporado.

3. Creación de directorios.- en ambas máquinas se puede crear el directorio /home/NIS y


asignarle los permisos adecuados:

sudo mkdir /home/NIS


sudo chmod a+rwx /home/NIS

4. Creación del usuario.- en el servidor NIS (MaX60_S) se va a crear el usuario usnis01


con el que después se hará el login en MaX60_C.

Página.- 141
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Para que al crear el usuario se genere su carpeta de trabajo en /home/NIS hay que
editar el fichero /etc/adduser.conf (sudo gedit /etc/adduser.conf), buscar la línea que
contiene “DHOME=/home” y cambiarla por “DHOME=/home/NIS”.

A continuación se crea el usuario “usnis01” y se comprueba que su directorio de


trabajo se ha creado correctamente (ls /home/NIS).

5. Software necesario.- con Synaptic se comprueba que en ambas máquinas se encuentra


instalado el paquete “portmap”, instalándolo si es necesario.

6. Si se hubiera decidido que las carpetas de trabajo de los usuarios deberían quedar
centralizadas en un servidor NFS, que puede ser el propio servidor NIS, ahora sería el
momento de realizar esta configuración adicional, tanto del servidor como del cliente
NFS.

Una vez realizadas las tareas preliminares, se puede proceder a la instalación del
servidor NIS:

7. Para asegurarse de que el servicio nis de MaX60_C podrá acceder al servidor se puede
editar el fichero /etc/hosts.allow y añadir la línea:

portmap ypserv ypbind : 192.168.10.17

8. Se instala el paquete nis con “sudo apt-get install nis”. Durante la instalación se
solicita el nombre del dominio y habrá que especificar “tiernogalvan.es”. El nombre
del dominio queda registrado en el fichero /etc/defaultdomain y podrá ser modificado
editando el fichero o mediante la instrucción “domainname” que sin parámetros
muestra el contenido de dicho fichero y con el formato “domainname
nombre_dominio” establece como nombre de dominio el nuevo especificado.

Durante la instalación se intenta conectar con el servidor nis (mensaje “binding to YP


server ...”) hasta en once ocasiones y finalmente se muestra un error ([Fail]) debido a
que el servidor NIS aún no permite la conexión.

9. Se edita el fichero /etc/default/nis (sudo gedit /etc/default/nis) para asignar a la


variable “NISSERVER” el valor “master” (NISSERVER=master). De esta forma la
máquina MaX60_S queda configurada como servidor maestro de NIS.

10. Se edita el fichero /etc/default/portmap para borrar el carácter “#” situado delante de la
linea que contiene “OPTIONS=”-i 127.0.0.1””.

11. Se edita el fichero /etc/yp.conf para establecer el nombre del servidor NIS añadiendo
la línea:

ypserver MaX60_S.tiernogalvan.es

Página.- 142
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

12. Se ejecuta la instrucción:

sudo /usr/lib/yp/ypinit -m

que pedirá el nombre de los servidores NIS para que puedan distribuirse los ficheros
que contienen los nombres de usuario, contraseñas, etc. El nombre que la instrucción
muestra en primer lugar es el primero que encuentra asignado en el fichero /etc/hosts a
la dirección IP 127.0.0.1.

Esta instrucción, con el parámetro “-m” que identifica a la máquina como servidor
“master” (maestro), crea la carpeta /var/yp/tiernogalvan.es con los ficheros que podrán
ser consultados desde los clientes y los servidores esclavos y también crea el fichero
/var/yp/ypservers con los nombres de los servidores introducidos.

13. Se reinician los servicios portmap y nis con las instrucciones:

sudo /etc/init.d/portmap restart (o bien “sudo service portmap restart”)


sudo /etc/init.d/nis restart

14. Puede comprobarse el correcto funcionamiento del servidor con:

ypcat passwd

que deberá mostrar una linea por cada usuario con información relativa a los mismos.

15. Si se dan de alta nuevos usuarios, se cambian claves, …, habrá que volver a generar
los ficheros de datos con la instrucción:

sudo make -C /var/yp

Por último, hay que configurar el cliente NIS:

16. Dependiendo de la versión de MaX y de gdm, puede resultar interesante configurar


gdm para que muestre los nombres de los usuarios para poder iniciar la sesión
eligiendo el usuario en vez de tener que teclear su nombre. En MaX v.6.0 ésa es la
configuración predeterminada; en MaX v.5.0 hay que configurarlo manualmente.

17. Se instala nis con la instrucción “sudo apt-get install nis” o con Synaptic. El nombre
de dominio a introducir será el mismo que para el servidor, “tiernogalvan.es”.

18. Para que MaX60_S no tenga problemas para acceder al cliente puede añadirse al
fichero /etc/hosts.allow la línea:

portmap: 192.168.10.16

Página.- 143
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

19. Para indicar al sistema que además de los usuarios locales puede iniciarse la sesión
con los usuarios del servidor nis pueden utilizarse dos métodos:

• Modificar el fichero /etc/nsswitch.conf añadiendo la palabra nis en aquellas líneas


que identifican alguno de los servicios a consultar. En este caso concreto serán las
lineas relativas a passwd, group y shadow que quedarán de la forma:

passwd: compat nis


group: compat nis
shadow: compat nis

Si se añadiera nis a la linea relativa a “hosts” podría llegar a conseguirse que el


servidor NIS hiciera las funciones de servidor DNS.

• Modificar el fichero /etc/passwd añadiendo al final una linea con:

+::::::

modificar el fichero /etc/group añadiendo al final una línea con:

+:::

modificar el fichero /etc/shadow añadiendo al final una línea con:

+::::::::

Estas líneas indican que los datos del usuario/grupo/contraseña que faltan entre los
caracteres “:” deben consultarse en el servidor NIS.

20. Para que MaX60_C sepa quien es el servidor NIS hay que añadir al fichero
/etc/yp.conf la línea:

ypserver MaX60_S.tiernogalvan.es

Si no se hubiera añadido al fichero /etc/hosts una línea especificando la dirección IP de


MaX60_S.tiernogalvan.es, la línea a añadir en /etc/yp.conf debería de ser:

ypserver 192.168.10.16

Otra forma de especificar el servidor NIS puede ser:

domain tiernogalvan.es server MaX60_S

21. Se reinicia el servicio nis con “sudo /etc/init.d/nis restart”.

Página.- 144
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

22. Se reinicia la máquina y en la ventana de elección de usuario se introducen los datos


relativos al usuario “usnis01” dado de alta en MaX60_S. La autenticación debe
realizarse sin problemas.

Pueden realizarse algunas pruebas adicionales para analizar el funcionamiento


correcto o incorrecto del servicio:

– En el punto 7 puede probarse a especificar en el fichero /etc/hosts.allow una linea


diferente:

ALL: .tiernogalvan.es

que podría permitir el acceso de todos los equipos del dominio tiernogalvan.es.

– El error que se produce en el punto 8 debe desaparecer al reiniciar nis. Si al reiniciar la


máquina el servidor NIS sigue haciendo los once intentos de conexión antes de
mostrar el mensaje “[Fail]” puede deberse a la existencia de cierta incompatibilidad
con Network Manager y se puede solucionar retrasando la ejecución del paquete nis.
Con la instrucción “ls /etc/rc2.d” puede observarse que a nis se le ha asignado el
número 18, es decir, existe S18nis. Es conveniente ejecutarlo con el número 29, lo que
se consigue con las instrucciones:

sudo update-rc.d -f nis remove


sudo update-rc.d nis start 29 1 2 3 4 5 .

Observar la existencia de un punto al final de la segunda instrucción.

Con estas instrucciones se reduce enormemente el tiempo que nis tardaba en


ejecutarse al anularse los intentos de conexión.

– En los puntos 11 y 20 puede probarse a especificar el servidor NIS con el formato:

domain tiernogalvan.es server MaX60_S

– Puede restringirse el acceso al servidor añadiendo al fichero /etc/ypserv.securenets las


líneas adecuadas.

En Internet puede encontrarse información abundante sobre NIS; algunas direcciones


interesantes, que describen por ejemplo la configuración de un servidor esclavo, son:

https://help.ubuntu.com/community/SettingUpNISHowTo
http://patatux.net/nis-2/

cuyos contenidos simplificados se adjuntan como anexo al final del libro.

Página.- 145
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

De forma generalizada el servicio NIS se utiliza conjuntamente con NFS haciendo que
tanto la autenticación como las carpetas de trabajo se gestionen de forma centralizada. La
gestión conjunta no conlleva problemas adicionales a la configuración individual de ambos
servicios, siendo indiferente el orden de instalación y configuración.

4.8 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).

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.

Página.- 146
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

17. Configurar con máquinas virtuales un servidor y un cliente NFS.

18. Configurar en una máquina virtual un servidor samba que comparta 5 carpetas, cada
una de ellas haciendo uso de una herramienta diferente: gedit (editando el fichero de
configuración), system-config-samba, swat, webmin y nautilus-share. Verificar el
funcionamiento desde una máquina virtual cliente.

19. Configurar con máquinas virtuales un servicio NIS con un servidor maestro, un
servidor esclavo y un cliente.

20. Establecer un servidor NFS y NIS con un cliente de ambos servicios.

Página.- 147
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 148
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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

5.2.1 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.- 149
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 60: Usuarios y grupos

Página.- 150
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 (Se necesitan permisos de usuario administrador)
cat /etc/adduser.conf

Página.- 151
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 directorio /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.- 152
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 61: 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 62: 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.- 153
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

• 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 Para cambiar el directorio activo.


ls > fich Crea el fichero “fich”.
mkdir direc Crea el directorio “direc”.
ls -l 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 Cambia el propietario y el grupo de fich.

chgrp gr-prueba5 fich Cambia el grupo de fich.

chmod g+w fich Añade al grupo el permiso de escritura.

Página.- 154
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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: 111 110 100. Pasando cada grupo de tres dígitos a decimal se obtiene “7 6 4”. Algunos
ejemplos más serían:

rw- rw- r-- → 664


rw- r-- --- → 640

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.- 155
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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:

777 – 022 = 755 (rwx r-x r-x)

y para los ficheros:

666 – 022 = 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 37084 2009-04-04 07:49 /usr/bin/passwd

Página.- 156
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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-prueba12 2010-03-06 11: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 4096 2010-03-11 11: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 Añade a fich el bit setuid.


chmod g-s fich Quita a fich el bit setgid.
chmod o+t direc Añade al directorio “direc” el bit sticky.
chmod 6754 fich 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.- 157
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

5.2.2 Listas de control de acceso

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, gr-
nominas 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.

Página.- 158
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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

Página.- 159
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

El siguiente ejemplo lo muestra:

# /etc/fstab: static file system information.


#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda6 during installation
UUID=40495... / ext4 relatime,errors=remount-ro 0 1
# /home was on /dev/sda7 during installation
UUID=6b477... /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=40495... / 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 si se encuentran instalados los paquetes acl, libacl1 e
eiciel, instalándolos si fuera necesario y reiniciando a continuación el sistema.

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.- 160
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 63: ACL's

Control de ACL 's 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 64: El carácter "+" indica existencia de ACL

Página.- 161
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

La instrucción getfacl muestra la ACL del fichero o directorio especificado. Por


ejemplo:

Fig 65: 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.- 162
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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 user:pepe:rw
Grupo propietario group: : rw
Grupo especificado 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 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 anterior (a


la tabla) 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.- 163
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 afecta tanto a los subdirectorios como
a los 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.- 164
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 66: ACL's predeterminadas

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

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.- 165
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 166
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 - - + 1 usprueba02 grprueba12 9 2010-03-15 21:19 d2/f2

La instrucción “getfacl d2/f2” mostrará:

# file: d2/f2
# owner: usprueba02
# group: grprueba12
user: : rw-
group: : 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.- 167
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 de “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 de “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.

5.2.3 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 67: Gestión de grupos

Página.- 168
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 usprueba07 (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.- 169
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 170
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 68: 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.- 171
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

• 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.- 172
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 173
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 174
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 http://www.ietf.org/rfc.html para más
información.

Como se muestra en la figura siguiente (modelo de capas simplificado para TCP/IP),


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.- 175
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 69: 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 una 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 70: Paquete TCP sobre Ethernet

Página.- 176
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

6.2.1 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: 11000000 10101000 00000000 00010100


Dirección IP en decimal: 192 168 0 20

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 192.168.0.20. 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.- 177
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

La dirección IP de un equipo está dividida en dos partes, como se muestra en la figura


siguiuente:

Fig 71: 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 192.168.0.n, siendo n cualquier valor
entero entre 0 y 255 (con unas pequeñas excepciones que se verán más adelante).

6.2.2 Máscara de (sub)red

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.

Página.- 178
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Aplicando esto al ejemplo anterior se obtiene:

Fig 72: 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:

192.168.0.20 / 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.- 179
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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
0 0 0
0 1 0
1 0 0
1 1 1

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 73: 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 192.168.0.n, con n entre 0 y 255 y la dirección ip más baja de esa red sera la
192.168.0.0 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.- 180
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 192.168.0.20 y máscara de red


255.255.255.0 (192.168.0.20 / 24) quiere enviar alguna información al equipo con dirección
ip 192.168.0.76, antes de enviar ninguna trama de información procede de la forma:

1. Realiza la operación AND entre su ip (192.168.0.20) y la máscara (255.255.255.0)


obteniendo como resultado la dirección de red 192.168.0.0.

2. Realiza la operación AND entre su máscara (255.255.255.0) y la ip del receptor


(192.168.0.76) obteniendo como resultado la dirección de red 192.168.0.0.

3. 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.

Una característica esencial de las redes o subredes, determinada por el número de bits
de la dirección IP que corresponden a la dirección del host, es el número de equipos
direccionables en la red. 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.

y algunas características de la numeración en binario:

– Con 1 bit se pueden especificar 2 valores diferentes (0, 1), es decir, 21 = 2 valores.

Página.- 181
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– Con 2 bits se pueden especificar 4 valores diferentes (00, 01, 10, 11), es decir, 2 2 = 4
valores.

– Con 3 bits se pueden especificar 8 valores diferentes (000, 001, 010, 011, 100, 101,
110, 111), es decir, 23 = 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 255.255.255.254 identifica 31 bits de dirección de red y 1 bit de dirección


de equipo.

– La máscara 255.255.255.252 identifica 30 bits de dirección de red y 2 bits de


dirección de equipo.

– La máscara 255.255.255.248 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 Máscara en binario Nº bits de dir. Nº bits de dir. Nº max. de Nº max. de


decimal de red de equipo dir. ip equipos

255.255.255.255 1111 1111 1111 1111 1111 1111 1111 1111 32 0 - -


1 1
255.255.255.254 1111 1111 1111 1111 1111 1111 1111 1110 31 1 2 =2 2 –2=0
2
255.255.255.252 1111 1111 1111 1111 1111 1111 1111 1100 30 2 2 =4 22 – 2 = 2
255.255.255.248 1111 1111 1111 1111 1111 1111 1111 1000 29 3 23 = 8 23 – 2 = 6
255.255.255.240 1111 1111 1111 1111 1111 1111 1111 0000 28 4 24 = 16 24 – 2 = 14
255.255.255.224 1111 1111 1111 1111 1111 1111 1110 0000 27 5 25 = 32 25 – 2 = 30
255.255.255.192 1111 1111 1111 1111 1111 1111 1100 0000 26 6 26 = 64 26 – 2 = 62
255.255.255.128 1111 1111 1111 1111 1111 1111 1000 0000 25 7 27 = 128 27 – 2 = 126
255.255.255.0 1111 1111 1111 1111 1111 1111 0000 0000 24 8 28 = 256 28 – 2 = 254
255.255.254.0 1111 1111 1111 1111 1111 1110 0000 0000 23 9 29 = 512 29 – 2 = 510
255.255.252.0 1111 1111 1111 1111 1111 1100 0000 0000 22 10 210 = 1024 210 – 2 = 1022
... ..... ... ... ... ...

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.- 182
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

En caso de trabajar con una pasarela, el paquete IP se manda a ésta y la pasarela trata
de pasar el paquete 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
10 . 0 . 0 . 0 / 255 . 0 . 0 . 0 10 . n . n . n
172 . 16 . 0 . 0 / 255 . 240 . 0 . 0 172 . 16 . n . n - 172 . 31 . n . n
192 . 168 . 0 . 0 / 255 . 255 . 0 . 0 192 . 168 . n . n

Además, en cada ordenador la dirección 127.0.0.1 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 40.50.60.70 y la privada 192.168.0.1.

Cuando un equipo de la red local, por ejemplo el que tiene dirección IP 192.168.0.2,
envía una trama de información a Internet, la trama sale con dirección IP origen 192.168.0.2
pero cuando pasa por el router es cambiada por la dirección IP externa del router, es decir, por
la 40.50.60.70 y así llegará a su destino. Cuando el equipo destino responda, la trama irá
dirigida al equipo con IP 40.50.60.70, es decir, al router, que al recibir la trama la encaminará
al equipo con IP 192.168.0.2. 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.- 183
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Práctica (obtención de las características de la red)

Si un equipo tiene la configuración IP 192.168.3.210 / 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:

1100 0000 1010 1000 0000 0011 1101 0010

De la máscara se sabe que tiene los primeros 25 bits con valor uno, es decir,

1111 1111 1111 1111 1111 1111 1000 0000

Pasando estos datos a decimal se obtiene que la máscara es:

255 . 255 . 255 . 128

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:

1100 0000 1010 1000 0000 0011 1000 0000

que en decimal es:

192 . 168 . 3 . 128

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:

1100 0000 1010 1000 0000 0011 1111 1111

que en decimal es:

192 . 168 . 3 . 255

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.- 184
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Datos de la red
Dirección IP 192 . 168 . 3 . 210
Máscara de red 255 . 255 . 255 . 128
Dirección de la red 192 . 168 . 3 . 128
Dirección de difusión 192 . 168 . 3 . 255
Nº máximo de direcciones IP 128
Nº máximo de equipos 126

Práctica (direccionamiento IP en la red de casa)


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: 1111 1111 1111 1111 1111 1111 1111 1000,

o, en decimal: 255 . 255 . 255 . 248

y la distribución de las direcciones IP podría ser.

Dirección de la red: 192 . 168 . 0 . 0


Dirección del router: 192 . 168 . 0 . 1
Direcciones de los ordenadores: de 192 . 168 . 0 . 2 a 192 . 168 . 0 . 6
Dirección de difusión: 192 . 168 . 0 . 7

En esta red podría haber un máximo de 6 equipos.

Página.- 185
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

6.2.3 Puerta de enlace, pasarela, gateway o enrutador


Cuando dos o más equipos utilizan el medio físico adecuado, el protocolo TCP/IP y
están configurados para pertenecer a la misma red, la comunicación entre ellos es directa.
Cuando alguna de estas características cambia, se hace necesario el uso de un elemento que
haga de intermediario:

– Si el medio físico es diferente. El ejemplo más generalizado se encuentra en la


conexión de la intranet, o red formada con los equipos de casa o de la empresa, con el
resto de equipos de Internet. Los equipos de la intranet pueden utilizar una conexión
inalámbrica o un cable de par trenzado con conectores RJ-45 pero el medio de
conexión con el exterior puede ser un par telefónico o una fibra óptica, por ejemplo.
Se necesita entonces un dispositivo que por una parte pueda estar conectado al medio
físico de la intranet y por otro al de la red externa. Són los típicos routers ADSL.

Un ejemplo cotidiano lo encontramos en la comunicación entre personas: las personas


en la misma casa se comunican de forma directa pero para comunicarse con las de otra
casa hacen uso del teléfono, que hace la función del router.

– Si el protocolo es diferente. Para comunicar redes u ordenadores que utilizan


protocolos diferentes, por ejemplo una intranet que utiliza TCP/IP con otra red que
utiliza AppleTalk, se hace necesario el uso de un dispositivo capaz de traducir la
información de un protocolo al otro; es la función del gateway. Este caso es menos
frecuente debido al uso generalizado del protocolo TCP/IP.

Como ejemplo cotidiano podemos suponer que el protocolo es el idioma. Para que dos
personas que utilizan idiomas diferentes puedan comunicarse tienen que hacer uso de
un traductor que conozca ambos idiomas.

– Si no están en la misma red lógica. En organismos con un gran número de equipos o


que necesitan una diferenciación de los equipos atendiendo a niveles de seguridad
pueden establecerse varias subredes. La comunicación de unas subredes con las otras
puede hacerse a través de otro ordenador o router que controle y delimite la
comunicación entre las subredes. Evidentemente el ordenador o router que hace de
intermediario debe pertenecer a todas las subredes que intercomunica.

Como ejemplo se puede suponer dos aulas que están intercomunicadas por una puerta.
Para que los alumnos de un aula puedan comunicarse con los del otro, debe situarse
una persona en la puerta que transmita los mensajes de un aula al otro.

En cualquier caso, si se desea que los equipos de una red puedan comunicarse con los
de otra, deberá existir un dispositivo que realice la función de enlace (puerta de enlace,
pasarela, gateway, …) y todos los equipos de la red deberán conocer y tener configurado el
parámetro correspondiente. Dicho parámetro no es otro que la dirección IP de la puerta de
enlace, pasarela, gateway o router.

Página.- 186
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Práctica (análisis de tramas)

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.

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 74: Mensaje de Wireshark

Página.- 187
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 75: Wireshark

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 76: 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.

Página.- 188
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 77: 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.

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.

Página.- 189
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 192.168.10.19 255.255.240.0 192.168.0.0
Invitado MaX 192.168.0.26 255.255.240.0 192.168.0.0
Invitado XP 192.168.0.43 255.255.240.0 192.168.0.0

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 que, si se encuentra
escuchando, responderá con otra trama. En MaX la instrucción ping envía tramas de
forma indefinida (sostenida) hasta que se pulsan 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>.

Entonces, en el equipo invitado con XP ejecutamos la instrucción:

ping 192.168.0.19 -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 192.168.0.43 y destino 192.168.0.19 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 10.20.30.40:

ping 10.20.30.40 -t

se podrá observar que envía las tramas al equipo configurado como puerta de enlace,
en este caso al equipo anfitrión.

Página.- 190
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Práctica (dos subredes con un MaX enrutando)

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 78: 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 79: Configuración de XP

Página.- 191
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 80: 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 81: Adaptador 2

Página.- 192
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

• 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 82: 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.- 193
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 192.168.1.2” 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 83: Ping de XP a W_Server

• Al ejecutar en la máquina W_Server la instrucción “ping 192.168.0.2” 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 84: Ping de W_Server a XP

Página.- 194
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

6.3 Configuración de la resolución de nombres

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 http://www.internic.net 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.- 195
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.4 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.- 196
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 85: Configuración de 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 86: Configuración de los DNS's

Página.- 197
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

6.5 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
(http://public.web.cern.ch/) en el año 1990, la cantidad de ordenadores en Internet ha crecido
de algunos miles hasta alrededor de 100 millones actualmente.

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.

6.5.1 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.

Página.- 198
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

– 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 (“dual-
stack-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).

Página.- 199
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

6.5.2 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 “multi-
homing” o existencia de varias direcciones para cada interfaz con acceso a distintas redes.

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

Página.- 200
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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

IPv6 admite distintos prefijos con un significado definido:

Prefijo Uso
(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 (Aggregatable Global Unicast Address) Igual que ahora, también en el caso
2ó3 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).
fe80 : : / 10 (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.
fec0 : : / 10 (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).
ff (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.

Página.- 201
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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).

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.

Página.- 202
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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
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”.

6.5.3 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.

Página.- 203
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 3056.

– 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 3053.

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:
http://www.6bone.net.

6.5.4 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.

Página.- 204
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

6.5.5 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:

– http://www.ngnet.it/e/cosa-ipv6.php

Serie de artículos que describen de forma excelente los fundamentos de IPv6. Resulta
muy adecuado para irse introduciendo en este tema.

– http://www.bieringer.de/linux/IPv6/

CÓMOs de IPv6 en Linux y muchos enlaces.

– http://www.6bone.net/

Acceder a IPv6 a través de un túnel.

– http://www.ipv6.org/

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,
2002. - (ISBN 0-596-00125-8)

Página.- 205
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

6.6 Ficheros de configuración de red

6.6.1 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.

Página.- 206
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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

Página.- 207
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

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
Comando Función
configuración
Los scripts hw* son activados por el subsistema hotplug para
hw{up, down, iniciar un dispositivo, cancelar el inicio o preguntar el estado
Hardware
status} de un dispositivo. Puede obtenerse información adicional con
“man hwu”.
getcfg pregunta el nombre de interfaz correspondiente a un
Interfaz getcfg nombre de configuración o una descripción de hardware.
Puede obtenerse información adicional con “man getcfg”.
Los scripts if* activan o desactivan interfaces de red
if{up, down,
Interfaz existentes o devuelven el estado de la interfaz en cuestión.
status}
Puede obtenerse información adicional con “man ifup”.

6.6.2 Ficheros de configuración

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.- 208
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 192.168.0.2
netmask 255.255.255.0
gateway 192.168.0.1
wireless-key s:estaesmiclave
wireless-essid Mired
auto wlan0

iface eth0 inet static


address 192.168.0.3
netmask 255.255.255.0

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 87.216.1.65
nameserver 87.216.1.66

Página.- 209
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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:

127.0.0.1 localhost
192.168.0.1 servidor.tiernogalvan.es servidor
192.168.0.10 profe.tiernogalvan.es profe
192.168.0.50 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 127.0.0.0
redlocal 192.168.0.0

/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 #.

Página.- 210
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Los parámetros posibles se muestran en la tabla siguiente:

Parámetro 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:
order hosts, bind,
- hosts: búsqueda en el archivo /etc/hosts.
nis
- bind: llama a un servidor de nombres.
- nis: mediante NIS.
Determina si un ordenador dado e alta en /etc/hosts puede tener varias
multi on/off
direcciones IP.
nospoof on Estos parámetros influyen sobre el spoofing del servidor de nombres, pero
spoofalert on/off 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
trim al nombre de ordenador). Se trata de una opción muy útil cuando el
nombredominio 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: compat
group: compat

hosts: files dns


networks: files dns

Página.- 211
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

services: db files
protocols: db files

netgroup: files
automount: 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 Descripción
datos
aliases Alias de correo, usada por sendmail (ver la página del manual man 5 aliases).
ethers Direcciones de ethernet.
group Usada por getgrent para grupos de usuarios (ver la página man 5 group).
hosts Para nombres de host y direcciones IP, utilizada por funciones como
gethostbyname o similares.
netgroup 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.
networks Nombres y direcciones de redes, usada por getnetent.
passwd Contraseñas de usuarios, utilizada por getpwent. Ver la página man 5 passwd.
protocols Protocolos de red, utilizada por getprotoent. Ver la página man 5 protocols.
rpc Nombres y direcciones del tipo “Remote Procedure Call”, utilizada por
getrpcbyname y funciones similares.
services Servicios de red; datos usados por getservent.
shadow 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 Descripción
files Acceso directo a los archivos, por ejemplo a /etc/aliases.
db Acceso a través de una base de datos.
nis, nisplus NIS.
dns Parámetro adicional, solo aplicable para hosts y networks.
compat Parámetro adicional para passwd, shadow y group.

Página.- 212
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

/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.- 213
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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, 255.255.255.255.

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.

6.6.3 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 Descripción
/etc/init.d/network 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.
/etc/init.d/inetd 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.
/etc/init.d/portmap Inicia portmapper, el cual se necesita para utilizar servidores RPC tales
como un servidor NFS.
/etc/init.d/nfsserver Inicia el servidor NFS.
/etc/init.d/sendmail Controla el proceso sendmail.
/etc/init.d/ypserv Inicia el servidor NIS.
/etc/init.dypbind Inicia el cliente NIS.

Página.- 214
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

6.7 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 192.168.17.234 / 22.

2. En una red configurada para un máximo de 30 equipos, un equipo tiene la dirección IP


192.168.25.130. 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 192.168.4.255.


¿ Calcular el rango de direcciones IP de los equipos y los demás datos de la red.

5. En una red con máscara 255.255.240.0 y dirección de la red 192.168.32.0 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.- 215
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 216
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 87: Sistemas de archivos mostrados por Gparted

Página.- 217
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

7.2.1 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. Dado que Ext2 no debe hacerse cargo de ningún diario
y que 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.- 218
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 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.- 219
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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”.

7.2.4 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.- 220
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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 32.000 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.

7.2.5 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.- 221
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

7.2.6 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.- 222
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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.

7.2.7 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 2000. La
versión 1.0.0 salió a la luz en el año 2001. 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.- 223
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 224
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 Descripción
cramfs Compressed ROM file system: sistema de archivos comprimido con permiso de
lectura para ROMs.
hpfs High Performance File System: sistema de archivos estándar de IBM OS/2.
iso9660 Sistema de archivos estándar en CD-ROMs
minix 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.
fat16 Sistema de archivos empleado originariamente por MS-DOS.
ncpfs Sistema de archivos que permite montar volúmenes Novell a través de una red.
nfs 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
smbfs Server Message Block: utilizado por productos como por ejemplo Windows para
el acceso de archivos a través de una red
sysv Utilizado en SCO UNIX, Xenix, etc.
ufs Utilizado en BSD, SunOS y NeXTstep.
umsdos 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.
vfat Virtual FAT: extensión del sistema de archivos fat (soporta nombres de archivo
largos).
ntfs Windows NT file system: sistema de archivos utilizado por Windows.

7.2.10 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.- 225
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Tamaño máximo Tamaño máximo del


Sistema
de archivo sistema de archivos
Ext2 o Ext3 con tamaño de bloque de 1 Kb. 16 Gb (234) 2 Tb (241)
Ext2 o Ext3 con tamaño de bloque de 2 Kb. 256 Gb (238) 8 Gb (243)
Ext2 o Ext3 con tamaño de bloque de 4 Kb 2 Tb (241) 16 Tb (244)
Ext2 o Ext3 con tamaño de bloque de 8 Mb 64 Tb (246) 32 Tb (245)
Ext4 16 Tb (244) 1 Eb (260)
ReiserFS v3 64 Tb (246) 32 Tb (245)
XFS 8 Eb (263) 8 Eb (263)
JFS con tamaño de bloque de 512 bytes 8 Eb (263) 512 Tb (249)
JFS con tamaño de bloque de 4 Kb. 8 Eb (263) 4Pb (252)
NFS v2 2 Gb (231) 8 Eb (263)
NFS v3 8 Eb (263) 8 Eb (263)

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 273 bytes.

7.2.11 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:

– http://e2fsprogs.sourceforge.net/

– http://www.zipworld.com.au/~akpm/linux/ext3/

– http://www.namesys.com/

– http://oss.software.ibm.com/developerworks/opensource/jfs/

– http://oss.sgi.com/projects/xfs/

Página.- 226
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 88: 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.- 227
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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.- 228
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

La siguiente figura muestra su aspecto:

Fig 89: 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.- 229
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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 90: Programa Baobab (analizador de uso de disco)

Página.- 230
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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:

gpart [opciones] dispositivo

Herramienta que intenta recuperar la tabla de particiones de la pista 0 de un disco


analizando las particiones existentes en el mismo. También busca y lista los tipos,
localizaciones y dimensiones de particiones borradas inintencionadamente, tanto
primarias como lógicas. Proporciona la información necesaria para poder volver a
crear manualmente las particiones con fdisk, cfdisk, sfdisk, …

gpart ignora la tabla primaria de particiones y escanea el disco sector a sector


buscando los diferentes tipos de sistemas de ficheros y particiones. Esta labor se
realiza preguntando a los distintos módulos de reconocimiento de sistemas de ficheros
si una determinada secuencia de sectores se corresponde con el inicio de un tipo de
sistema de ficheros o partición.

La tabla supuesta puede ser grabada en un fichero o, si se está completamente seguro


de que la tabla supuesta es correcta, en un disco.

Reconoce, entre otros, los siguientes tipos de sistemas de ficheros: swap, ext2, fat,
ntfs, reiserfs, etc. La opción “-t” permite especificar otros tipos siempre y cuando el
módulo correspondiente se encuentre instalado.

Hay circunstancias en las que gpart no puede reemplazar la tabla de particiones. Para
estos casos es interesante haber guardado anteriormente el sector de arranque (MBR),
incluida la tabla de particiones, en un fichero; esta operación se puede realizar con:

sudo dd if=/dev/sda of=fichero_mbr bs=512 count=1

Página.- 231
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Para restaurar la tabla de particiones sin sobrescribir el MBR sería:

sudo dd if=fichero_mbr of=/dev/sda bs=1 count=64 skip=446 seek=446

Entre sus opciones más utilizadas se encuentran las siguientes.

-b fichero Permite copiar el MBR a un fichero antes de sustituir (ver opción -W)
la actual tabla de particiones por la tabla propuesta por gpart.
-h Muestra ayuda.
-i Ejecución en modo interactivo solicitando confirmación al usuario.
-k n_sector Salta el nº de sectores especificado antes de proceder con el escaneo.
-L Visualiza los módulos de reconocimiento de tipos de sistemas de
archivos cargados y su prioridad.
-s l_sector Permite especificar la longitud del sector.
-t modulo Permite añadir módulos para reconocer más sistemas de ficheros.
-W dispositivo Permite grabar la tabla de particiones en el dispositivo especificado.

En cualquier caso, es conveniente llevar a tabla de particiones propuesta a un fichero


para analizarla y copiarla posteriormente en el sector 0 mediante la instrucción dd.

La ayuda del comando (man gpart) contiene varios ejemplos.

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.

Página.- 232
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

mkfs partición tipo_sistema_ficheros.- Crea un sistema de ficheros del tipo


especificado en la partición.

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.- 233
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 Cambia el indicador de iniciable.


b Modifica la etiqueta de disco bsd.
c Cambia el indicador de compatibilidad con DOS.
d Borra una partición.
l Muestra los tipos de particiones que reconoce.
m Muestra las opciones disponibles.
n Añade una partición.
o Crea una nueva tabla de particiones DOS vacía.
p Muestra la tabla de particiones.
q Sale sin guardar los cambios.
s Crea una nueva etiqueta de disco Sun.
t Cambia el identificador de sistema de una partición.
u Cambia las unidades de visualización y entrada.
v Verifica la tabla de particiones.
w Escribe la tabla en el disco y sale.
x 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.- 234
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

Instrucciones similares a fdisk están: cfdisk, sfdisk y testdisk.

Para modificar la información del disco en hexadecimal se pueden utilizar:

– El editor hexedit. Ejecutando por ejemplo “hexedit /dev/sda”.

– La instrucción dd que permite transferir información entre un fichero y un sector


concreto del disco, por ejemplo el sector 0. Para obtener información completa puede
ejecutarse “info coreutils 'dd invocation'”.

Página.- 235
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

7.6 Estructura de directorios

7.6.1 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 91: 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.- 236
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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.- 237
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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
“/”.

7.6.2 Árbol de directorios

Fig 92: Directorios

Página.- 238
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 239
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

7.6.3 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 (permisos sobre los ficheros)

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.- 240
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 93: 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.- 241
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 242
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 instrucción “ls -a” los muestra.

La funcionalidad de estos directorios o archivos suele ser la de guardar


configuraciones de programas; ocultándolos se evita su borrado accidental.

Para crear un archivo/directorio oculto basta con hacer que su nombre comience por
un punto, por ejemplo “.noseve”.

7.6.4 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.- 243
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– / .- 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 carácter “@”, 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 (#).

Otra forma de conocer cuál es el directorio activo es mediante la instrucción “pwd”.

Trayectoria
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 94: 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.- 244
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 relativa de un fichero 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

dd {[operando]... | opcion}

Convierte y copia ficheros.

Dispone de infinidad de opciones que permiten, por ejemplo copiar un sector de un


disco a un fichero.

Ejemplos: info coreutils 'dd invocation' Presenta una ayuda exhaustiva.


dd if=/dev/sda of=fich_mbr bs=512 count=1 Copia el MBR.
dd if=fich_mbr of=/dev/sda bs=1 count=64 skip=446 seek=446
Restaura la tabla de particiones (sin el MBC).

Página.- 245
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 246
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 al propietario.
g al grupo del propietario.
o a los otros.
a 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.- 247
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Para definir qué permisos pueden utilizarse:

r lectura.
w escritura.
x ejecución (o búsqueda en directorios).
X ejecución o búsqueda (ver información mostrada por “man chmod”.
s establecer usuario o grupo para ejecución (set uid bit).
t 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.- 248
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 249
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 250
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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] 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.

[!cadena] 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? Borra fich1, fich2 y fich3.


rm fich* Borra todos los ficheros cuyo nombre comience por “fich”.
rm [0-9].txt Borra 1.txt y 2.txt.
rm [0-9]* 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.- 251
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

>> 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.- 252
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

7.7.1 Gestión de enlaces desde el entorno gráfico

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 95: 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.- 253
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

• 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
http://www.gnome.org
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.

7.7.2 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:

ln -s fichero enlace_simbolico

Página.- 254
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

La instrucción ls -il mostrará algo parecido a la figura siguiente:

Fig 96: 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 675754. 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.- 255
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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.

7.8.1 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.- 256
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 257
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Herramientas de red

Se accede desde Sistema – Administración – Herramientas e red.

Fig 97: 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.- 258
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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 han de iniciarse 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.- 259
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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]

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”.

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.

Página.- 260
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

lspci [opciones]

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.

lsusb

Lista los dispositivos usb del sistema.

-v Muestra información más detallada.

blkid

Muestra las características de los dispositivos de bloque.

dmidecode y lshw

Leen la información de la BIOS y muestran un listado completo del hardware del


equipo.

-q Muestra un resumen de la información.

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”.

Página.- 261
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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

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 y lastb

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.

dmesg

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]

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.

Página.- 262
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 263
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 264
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

8.2 Identificación del software instalado mediante herramientas gráficas y


comandos

8.2.1 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.- 265
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 98: 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.- 266
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

• 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.

Página.- 267
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Por ejemplo, para instalar la utilidad “Webmin” hay que seguir los pasos:

– Conectarse mediante el explorador de Internet Firefox a la dirección


www.webmin.com.

– 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 “https://localhost:10000”. 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.

8.2.2 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.- 268
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 269
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 270
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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


missing 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.- 271
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

-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, no-
upgrade 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.- 272
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

(--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 --no-
list-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.- 273
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

-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.- 274
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

8.3 Gestión de la información del sistema

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-system-
monitor).

8.3.1 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 99: Monitor del sistema: etiqueta Procesos

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.- 275
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 100: 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 101: 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.- 276
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 277
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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 El segmento de memoria es privado al proceso y no es accesible por


otros procesos.
• r El proceso tiene permiso de lectura en el segmento de memoria.
• s El segmento de memoria está compartido con otros procesos.
• w El proceso tiene permiso de escritura en el segmento de memoria.
• x 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.- 278
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

• 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.- 279
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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.

8.3.2 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 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.

Página.- 280
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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

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”.

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.- 281
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 282
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 102: 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.- 283
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 (crea directorio)


mount /dev/sda3 /media/MaX (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-jk56-7654-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=0222 0 0 (partición ntfs)


/dev/hdb2 /media/datos2 vfat iocharset=utf8,umask=000 0 0 (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.- 284
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 103: 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 104: Instrucción "sg_scan -i"

Página.- 285
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 105: 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.- 286
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 106: 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.

8.5.1 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.- 287
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 107: 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 108: Utilidad mountmanager

Página.- 288
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 109: 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 www.cgsecurity.org 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.- 289
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 110: 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 111: Opciones de testdisk

/ list Muestra las particiones.

Ejemplo: testdisk /list

Página.- 290
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 112: 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.- 291
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

8.5.2 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.

DISCO DISCO 1 DISCO 2


PART PART PART PART PART PART PART PART
GV 1 GV 2
VL 1 VL 2 VL 3 VL 4
PM PM PM PM PM PM PM
Fig 113: Particiones frente a LVM

En las tablas puede 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.- 292
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 http://tldp.org/HOWTO/LVM-HOWTO/.

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 (volúmenes lógicos)


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.- 293
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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 114: 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 siguiente.

Página.- 294
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 115: 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 el elemento de la lista correspondiente al pen drive
aparecerán las particiones creadas anteriormente. Si no aparecen deberán inicializarse una a
una (/dev/sdb1, /dev/sdb2, …) a través de las opciones “Herramientas – Inicializar ...”.

Fig 116: Ventana del programa system-config-lvm

Página.- 295
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 prevé 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.- 296
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 117: 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 118: 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.- 297
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 119: 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 discos duros en los que se ha creado un volumen

Página.- 298
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

lógico 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 120: 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.- 299
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 121: Vistas física y lógica del grupo de volúmenes

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.- 300
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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

8.5.3 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.

Página.- 301
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Los huecos se generan con el borrado de ficheros o con la 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.- 302
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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

1. Ver los repositorios configurados en Synaptic.


2. Comprobar las dependencias y archivos instalados del paquete apache2.
3. Buscar los paquetes que en su nombre o descripción contienen la palabra “backup”.
4. Instalar con apt-get el programa de copias de seguridad “keep”.
5. Comprobar si el proceso gnome-system-monitor se encuentra activo.
6. 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 VL3.
15. Escribir las instrucciones que permitirían desfragmentar el directorio /home, que
podemos suponer que se encuentra montado individualmente sobre una partición.

Página.- 303
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 304
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

9.2 Introducción

El apartado 8.5.3 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.- 305
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

Página.- 306
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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

9.4.1 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.- 307
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 122: 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 123: Crear volumen lógico

9.4.2 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.- 308
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 8.5.2 son de este tipo.

9.4.3 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 124: 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.

Página.- 309
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Sin 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 125: Propiedades del volumen lógico

9.4.4 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.- 310
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 126: 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.

9.4.6 RAID 4

Fig 127: 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.

Página.- 311
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

En 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.

9.4.7 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 128: 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.

Página.- 312
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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
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.- 313
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

9.4.8 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 129: 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.

Página.- 314
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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

9.4.9 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 RAID 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.- 315
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 130: 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 0+1+5
(espejo sobre paridad única) o RAID 0+1+6 (espejo sobre paridad dual). Son los más
habituales en las empresas.

Página.- 316
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 131: 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 0+1+5 (espejo sobre paridad única) o RAID 0+1+6 (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.

9.5.3 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.- 317
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 132: 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.

9.5.4 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.

9.5.5 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.- 318
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

9.6.1 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.

Página.- 319
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Sin embargo, es bastante fácil calcular la paridad contra múltiples grupos de bloques,
en lugar de 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 133: 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.

9.6.2 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.

9.6.3 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.- 320
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

9.6.5 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 134: 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.

9.6.6 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.- 321
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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
LVM2.

9.6.7 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 135: 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.

9.6.8 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.- 322
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

9.7 Posibilidades de RAID

9.7.1 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).

9.7.2 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.- 323
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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.

9.8.1 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.- 324
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 ….

9.8.2 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 136: 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.- 325
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

El resultado será similar al de la figura.

Fig 137: Pen drive con cuatro particiones para el RAID

Puede comprobarse el resultado con la instrucción “fdisk -l” o “fdisk -l /dev/sdb”.

Fig 138: 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 139: Instrucción "cat /proc/mdstat"

Página.- 326
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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/sdb1 ...”.- 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.- 327
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

--parity= .- establece el algoritmo de paridad para RAID 5. Las opciones son: left-
asymetric, 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 140: 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 141: 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 ext3 se 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.- 328
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

9.8.3 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/sdb1

9.8.4 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.- 329
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 330
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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.

9.8.5 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.

9.8.6 Notas sobre el fichero 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.- 331
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 332
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 www.gnu.org/software/tar/manual/index.html
– 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.- 333
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

10.3 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.- 334
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 335
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 336
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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. Al planificar la rotación es muy importante
considerar que durante la realización de la copia de seguridad puede producirse un
problema de pérdida de datos 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.- 337
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 338
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

10.6 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.

10.6.1 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.- 339
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 340
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 341
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 342
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 www.gnu.org/software/tar/manual/index.html 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.- 343
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

10.6.2 Keep

Fig 142: 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.- 344
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 345
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 143: Inclusión/exclusión de ficheros

Página.- 346
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 144: Elección de copia

Página.- 347
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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”.

10.6.3 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 145: Sbackup (Simple Backup Config)

Página.- 348
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 349
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 146: 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.

10.6.4 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.- 350
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 con
entorno gráfico. Se configura en el fichero bconsole.conf.

Ficheros de configuración

Para estudiar la configuración de los diferentes ficheros vamos a realizar un supuesto


simple, que funcione y permita comprobar la eficacia de este software de copias de seguridad.
El supuesto va a consistir en la utilización de una máquina virtual (MaX60_S) donde se
realizará una copia de seguridad en /home/madrid/Copia/S de los ficheros y carpetas
contenidos en /home/madrid/Datos-S. En este caso la máquina MaX60_S hará todas las
funciones que contempla bácula: Director, Storage, Catalogo, Cliente y Bconsole. Una vez
comprobado el funcionamiento desde el entorno de línea de comandos, se instalará alguna
herramienta que permita y facilite la gestión de bácula desde el entorno gráfico.

Seguidamente, haciendo uso de una segunda máquina virtual (MaX60_C), se añadirá


un cliente más al sistema de copia que volcará los datos del directorio /home/madrid/Datos-C
al directorio /home/madrid/Copia/C de MaX60_S. MaX60_C hará la función de Cliente de
bácula y MaX60_S seguirá haciendo las demás.

Página.- 351
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Antes de proceder con las tareas propias de la copia de seguridad es conveniente


realizar ciertas comprobaciones:

– Conocer la dirección ip de las máquinas. En este supuesto MaX60_S tiene la dirección


ip 192.168.10.16 y MaX60_C la 192.168.10.17.

– Comprobar que los nombres de las máquinas coinciden con el contenido del fichero
/etc/hostname.

– Comprobar que ambas máquinas responden al ping tanto por la ip como por el nombre
del equipo. Añadir si es necesario la línea correspondiente en /etc/hosts.

– Comprobar que existen las carpetas a copiar y las que contendrán las copias. Revisar
que los permisos son los adecuados.

– Comprobar en MaX60_S con la instrucción “sudo service mysql status” que mysql
está ejecutándose.

Por último, es conveniente tener en cuenta que es el Director el que se autentica contra
los componentes y no al revés.

Se instala el paquete “bácula” en MaX60_S con “sudo apt-get install bacula”. Durante
la instalación se solicita la siguiente información (se incluyen unas posibles respuestas):

– Conformidad con la instalación mostrando el espacio requerido: S.


– Conformidad por no poder verificar ciertos paquetes necesarios: S.
– Tipo de configuración del servidor de correo: “Sin configuración”.
– Configurar la base de datos para bacula-director-mysql con dbconfig-common: Si
– Contraseña del usuario de administración de la base de datos: cmadrid.
– Contraseña de aplicación MySQL para bacula-director-mysql: cmadrid.

Así, además de quedar instalados los paquetes necesarios, se instalan ficheros de


configuración con ejemplos que son sobre los que vamos a realizar las modificaciones
oportunas para que se ajusten al supuesto, y que se encuentran en el directorio /etc/bacula.
Antes de modificar los ficheros se aconseja realizar una copia de los mismos.

bacula-dir.conf

Es el fichero más complejo pues contiene secciones para configurar todos los
elementos que intervienen: el director, los schedules (distribución temporal de las copias), los
trabajos, los almacenes de copias (pool), etc. Las secciones 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 (identificador del proceso) y la cantidad
de trabajos concurrentes.

Página.- 352
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Por ejemplo:

Director { # define myself


Name = MaX60_S-dir
DIRport = 9101 # where we listen for UA connections
QueryFile = "/etc/bacula/scripts/query.sql"
WorkingDirectory = "/var/lib/bacula"
PidDirectory = "/var/run/bacula"
Maximum Concurrent Jobs = 1
# Contraseña de bconsole
Password = "yveAet993vzsWug3KoZUKjVbdZy0nrSqIqQCFH80rIVS"
Messages = Daemon
DirAddress = 127.0.0.1
}

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 = "DefaultJob"
Type = Backup
Level = Full
Client = MaX60_S-fd
FileSet = "FServidor"
Schedule = "Diaria"
Storage = File
Messages = Standard
Pool = File
Priority = 10 # Es la opción por defecto. A mayor número menor prioridad
Write Bootstrap = "/var/lib/bacula/%c.bsr"
}

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).

Dos ejemplos para el supuesto pueden ser:

Job {
Name = "BackupServidor"
JobDefs = “DefaultJob”
}

Página.- 353
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Job {
Name = "Recuperacion"
Type = Restore
Client = MaX60_S-fd
FileSet=”FServidor”
Storage = File
Pool = File
Messages = Standard
}

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 = "FServidor"
Include {
Options {
signature = MD5
}
File = /home/madrid/Datos-S
}
}

Schedule.- básicamente contiene la programación o cuándo se ejecutan los backups. Por


ejemplo:

Schedule {
Name = "Diaria"
Run = Level=Full daily at 14:30 # Poner la hora que convenga
}

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 = MaX60_S-fd
Address = localhost
FDPort = 9102
Catalog = MyCatalog
Password = "tvSJX04HxRqYtBebuDUsjyFojhd6hv8Ni" # Password de FD
File Retention = 30 days
Job Retention = 6 months
AutoPrune = yes
}

Página.- 354
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Storage.- define las direcciones ip:puerto de los storages, su password y el tipo de dispositivo.
Por ejemplo:

Storage {
Name = File
Address = localhost
SDPort = 9103
Password = "ramf4oZkwZ_hARYxCj98AOXb5BsOg0pEi"
# Coincide con la password del recurso storage en bacula-sd.conf
Device = DirCopia-S
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 = MyCatalog
dbname = bacula; DB Address = “”; dbuser = “bacula”; dbpassword=”cmadrid”
}

Messages.- configura cómo y cuando se comunicará Bacula con el administrador de backups


para que, por ejemplo, envíe e-mails 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 {
Name = Standard
mailcommand = "/usr/lib/bacula/bsmtp
-h localhost
-f \"\(Bacula\) \<%r\>\" -s \”Bacula: %t %e of %c %l\” %r”
operatorcommand = "/usr/lib/bacula/bsmtp
-h localhost
-f \"\(Bacula\) \<%r\>\" -s \”Bacula: Intervention needed for %j\”%r”
mail = root@localhost = all, !skipped
operator = root@localhost = mount
console = all, !skipped, !save
append = “/var/lib/bacula/log” = all, !skipped
catalog = all
}

Página.- 355
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Messages {
Name = Daemon
mailcommand = "/usr/lib/bacula/bsmtp
-h localhost
-f \"\(Bacula\) \<%r\>\" -s \”Bacula: %t %e of %c %l\” %r”
operatorcommand = "/usr/lib/bacula/bsmtp
-h localhost
-f \"\(Bacula\) \<%r\>\" -s \”Bacula daemon message \” %r”
mail = root@localhost = all, !skipped
console = all, !skipped, !saved
append = “/var/lib/bacula/log” = all, !skipped
}

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:

Pool {
Name = File
Pool Type = Backup
Recycle = yes
AutoPrune = yes
Volume Retention = 365 days
Label Format = “Volumen-” # Prefijo del nombre del volumen o fichero.
}

Console.- Configura la consola. Por ejemplo:

Console {
Name = MaX60_S-mon
Password = “O_-FgjVpipSu5fA_qAZvPM_8YMFfmeqOb”
CommandACL = status, .status
}

Página.- 356
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 = MaX60_S-sd
SDPort = 9103
WorkingDirectory = "/var/lib/bacula"
Pid Directory = "/var/run/bacula"
Maximum Concurrent Jobs = 20
SDAddress = 127.0.0.1
}

Director.- especifica los Directores que pueden contactar con este Storage. Por ejemplo:

Director {
Name = MaX60_S-dir
Password = "ramf4oZkwZ_hARYxCj98AOXb5BsOg0pEi"
# coincide con la password en el recurso storage de bacula-dir.conf
}

Director {
Name = MaX60_S-mon
Password = "5uA5WqdMTeFsAMWrCpbwU5J2F3TPIrndM"
# coincide con la password en el recurso storage de bacula-dir.conf
Monitor = yes
}

Device.- especifica el dispositivo donde se guardarán los datos (un archivo en /dev o un
directorio en el sistema de ficheros). Por ejemplo:

Device {
Name = DirCopia-S
Media Type = File
Archive Device = /media/madrid/Copia/S
LabelMedia = yes;
Random Access = Yes;
AutomaticMount = yes;
RemovableMedia = no;
AlwaysOpen = no;
}

Página.- 357
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Messages.- define qué mensaje de los definidos en bacula-dir.conf se va a usar. Por ejemplo:

Messages {
Name = Standard
director = MaX60_S-dir = all
}

bacula-fd.conf

Configura al cliente donde reside. Los elementos a configurar son:

Director.- especifica los directores que se conectarán al cliente.

FileDaemon.- define al cliente actual.

Messages.- define el mensaje que se utilizará de los definidos en el director.

Un ejemplo de fichero bacula-fd.conf puede ser:

Director {
Name = MaX60_S-dir
Password = "tvSJX04HxRqYtBebuDUsjyFojhd6hv8Ni"
}

Director {
Name = MaX60_S-mon
Password = "F_qrg5Yf2RW29PloKcfxq65V4iG3SYfR8"
Monitor = yes
}

FileDaemon {
Name = MaX60_S-fd
FDport = 9102
WorkingDirectory = /var/lib/bacula
Pid Directory = /var/run/bacula
Maximum Concurrent Jobs = 20
FDAddress = 127.0.0.1
}

Messages {
Name = Standard
director = MaX60_S-dir = all, !skipped; !restored
}

Página.- 358
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 = localhost-dir
DIRport = 9101
address = localhost
Password = "yveAet993vzsWug3KoZUKjVbdZy0nrSqIqQCFH80rIVS"
}

Según se han configurado los ficheros, solamente faltaría comprobar la hora


establecida para que se realice el backup (fichero bacula-dir.conf, sección Schedule,
parámetro Run) y reiniciar los procesos que hacen uso de los ficheros modificados.

Para no esperar demasiado tiempo para comprobar que todo funciona correctamente, y
tener tiempo para relanzar los procesos, la hora puede ser cinco minutos posterior a la actual.
Por ejemplo, si son las 11:35 horas, puede establecerse que el backup se realice a las 11:40.

Se reinician los procesos ejecutando:

sudo /etc/init.d/bacula-director restart


sudo /etc/init.d/bacula-sd restart
sudo /etc/init.d/bacula-fd restart

Si todo funciona correctamente, a la hora estipulada se realizará la copia de seguridad


programada cuyo resultado quedará en el fichero /home/madrid/Copia/S/Volumen-0001.

Si no se genera la copia, pueden realizarse las siguientes comprobaciones:

– Que el usuario bacula tiene los permisos adecuados para leer la información a copiar y
para escribir en la carpeta donde se genera el fichero Volumen-0001.

Página.- 359
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– Que se están ejecutando los procesos mysql, bacula-director, bacula-sd y bacula-fd


haciendo uso de las instrucciones:

sudo service mysql status


sudo /etc/init.d/bacula-director status
sudo /etc/init.d/bacula-sd status
sudo /etc/init.d/bacula-fd status.

– El estado de algunos de los elementos de bacula, haciendo uso de la Bconsole de la


forma:

su root (hay que introducir la contraseña solicitada)


bconsole Lanza la ejecución de bconsole
show filesets Muestra los ficheros a copiar
status dir Muestra los trabajos programados, en ejecución, …
status client Muestra los trabajos en ejecución, no terminados, …
status storage Muestra información sobre trabajos y dispositivos.
messages Muestra mensajes sobre incidencias, copias, etc.
label Permite crear el fichero donde se copiarán los datos.
h Muestra información de ayuda
exit o quit Finalizan la ejecución de Bconsole.

Antes de seguir con la recuperación de los datos y la ampliación con otro cliente,
puede resultar interesante y de gran ayuda para resolver los problemas que vayan surgiendo
tener en cuenta un par de aspectos.

El primero relativo a la documentación: puede instalarse el paquete “bacula-doc” que


pondrá a nuestro alcance gran cantidad de información que quedará alojada en el directorio
/usr/share/doc. En concreto, /usr/share/doc/bacula-doc/main.pdf contiene un manual muy
completo, con todas las opciones a utilizar en los ficheros de configuración, con todas las
instrucciones de bconsole, etc. Sería interesantísimo revisar todas las opciones que se pueden
utilizar en las diferentes secciones del fichero bacula-dir.conf para conocer el alcance de este
software; o al menos el significado y alternativas de las opciones utilizadas en el supuesto
aquí confeccionado.

El segundo relativo al uso de interfaces gráficas: instalando “bacula-console-qt” se


dispone de un programa gráfico e intuitivo que facilita la administración de bácula. Además
de permitir manejar los diferentes elementos de bácula haciendo uso de los iconos adecuados,
dispone de una ventana para introducir los comandos que se estime oportuno, pudiendo así ser
utilizado de forma similar a como se hace con la Bconsole. La apariencia de esta herramienta
se muestra en la figura.

Otro software que permite conocer la actividad de bácula es Bacula-traymonitor, que


se instala con el paquete “bacula-traymonitor” y se lanza con la instrucción “bacula-tray-
monitor”. Debe ser ejecutado por root desde el directorio donde se encuentra su fichero de
configuración (tray-monitor.conf), que por defecto es /etc/bacula.

Página.- 360
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Para que bacula-tray-monitor pueda conectar con el Director, el Storage y el Cliente


deben introducirse las correspondientes claves de acceso a los mismos en el fichero de
configuración /etc/bacula/tray-monitor.conf. Ver ejemplos de ficheros más adelante.

Fig 147: bat (bconsole administration tool)

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 (programación
temporal), como en el supuesto anterior.

– 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.

Por regla general los backups se realizan automáticamente mientras que las
restauraciones se realizan cuando se necesita. Si según están configurados los ficheros, se
desea realizar un backup manual, bastaría ejecutar “bconsole” y a continuación introducir la
instrucción “run”. Eligiendo las opciones adecuadas, que son bastante intuitivas, se realiza el
backup.

A continuación se puede proceder a realizar una recuperación de los datos. Para ello,
como usuario madrid, se borran en primer lugar los datos originales con la instrucción:

rm /home/madrid/Datos-S/* -r

su root (se introduce la contraseña de root)

bconsole Se lanza la ejecución de bconsole

Página.- 361
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

restore all Se indica que se recuperen todos los ficheros y carpetas.

Opción 5 Para seleccionar el respaldo más reciente para un cliente.

No hace falta seleccionar ningún fichero porque “restore all” marca todos.

done Finaliza la selección de ficheros

OK para ejecutar ? (si/mod/no): si Procede con la recuperación.

Al no especificar dónde deben volcarse los datos, por defecto irán a su lugar de origen.

Para finalizar el supuesto vamos a crear un Cliente más, que será la máquina virtual
MaX60_C, cuyos datos a copiar estarán en la carpeta /home/madrid/Datos-C y se copiarán a
la máquina MaX60_S en la carpeta /home/madrid/Copia/C.

Puede empezarse por crear los ficheros y carpetas en MaX60_C, como usuario
madrid:

mkdir /home/madrid/Datos-C
echo “Contenido de f1-C” > /home/madrid/Datos-C/f1
echo “Contenido de f2-C” > /home/madrid/Datos-C/f2
mkdir /home/madrid/Datos-C/carpeta-C
echo “Contenido de fichero-C” > /home/madrid/Datos-C/carpeta-C/fichero-C
chmod a+rwx /home/madrid/Datos-C -R

Se instala con Synaptic el paquete “bacula-fd”.

Antes de proceder a modificar los ficheros de configuración debe hacerse una copia de
los mismos. Además, hay que poner especial atención en:

– Cambiar el nombre de “localhost” por el que corresponda (en todos los ficheros).

– Cambiar la dirección ip 127.0.0.1 por la que corresponda (en todos los ficheros).

– Especificar en el fichero bacula-dir.conf de MaX60_S, en la sección “Client”


correspondiente a la definición de la máquina virtual MaX60_C la password asignada
en el fichero bacula-fd de MaX60_C en la correspondiente sección “Director”.

Página.- 362
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Así, el contenido de los diferentes ficheros, incluidos bconsole.conf y bat.conf, podría


ser el siguiente:

/etc/bacula/bconsole.conf (de MaX60_S)

Director {
Name = MaX60_S-dir
DIRport = 9101
address = 192.168.10.16
Password = "yveAet993vzsWug3KoZUKjVbdZy0nrSqIqQCFH80rIVS"
}

/etc/bacula/bat.conf (de MaX60_S)

Director {
Name = MaX60_S-dir
DIRport = 9101
address = 192.168.10.16
Password = "yveAet993vzsWug3KoZUKjVbdZy0nrSqIqQCFH80rIVS"
}

/etc/bacula/bacula-dir (de MaX60_S)

Director { # define myself


Name = MaX60_S-dir
DIRport = 9101 # where we listen for UA connections
QueryFile = "/etc/bacula/scripts/query.sql"
WorkingDirectory = "/var/lib/bacula"
PidDirectory = "/var/run/bacula"
Maximum Concurrent Jobs = 1
# Console password
Password = "yveAet993vzsWug3KoZUKjVbdZy0nrSqIqQCFH80rIVS"
Messages = Daemon
DirAddress = 192.168.10.16
}

Página.- 363
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

JobDefs {
Name = "DefaultJob"
Type = Backup
Level = Full
Client = MaX60_S-fd
FileSet = "FServidor"
Schedule = "Diaria"
Storage = File
Messages = Standard
Pool = File
Priority = 10
Write Bootstrap = "/var/lib/bacula/%c.bsr"
}

Job {
Name = "BackupSer"
JobDefs = "DefaultJob"
}

Job {
Name = "BackupCli"
JobDefs = "DefaultJob"
Client = MaX60_C-fd
FileSet = "FCliente"
Storage = File-C
Pool = File
}

Job {
Name = "Recuperacion"
Type = Restore
Client=MaX60_S-fd
FileSet="FServidor"
Storage = File
Pool = File
Messages = Standard
}

Página.- 364
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

FileSet {
Name = "FServidor"
Include {
Options {
signature = MD5
}
File = /home/madrid/Datos-S
}
}

FileSet {
Name = "FCliente"
Include {
Options {
signature = MD5
}
File = /home/madrid/Datos-C
}
}

Schedule {
Name = "Diaria"
Run = Level=Full daily at 11:12
}

Client {
Name = MaX60_S-fd
Address = 192.168.10.16
FDPort = 9102
Catalog = MyCatalog
Password = "L4lfoVY6qTUhGgQ6JY57OFi0NXeXRN0e3" # password de FD
File Retention = 30 days # 30 days
Job Retention = 6 months # six months
AutoPrune = yes # Prune expired Jobs/Files
}

Client {
Name = MaX60_C-fd
Address = 192.168.10.17
FDPort = 9102
Catalog = MyCatalog
Password = "W_CYJ1dkcOvtzCPjBczfc8-spDQFn2fTD" # password de FD
File Retention = 30 days # 30 days
Job Retention = 6 months # six months
AutoPrune = yes # Prune expired Jobs/Files
}

Página.- 365
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Storage {
Name = File
# Do not use "localhost" here
Address = 192.168.10.16 # N.B. Use a fully qualified name here
SDPort = 9103
Password = "7UQcNBAjazD_q_DlFFfWYaGdSkzdKIreW"
Device = DirCopia-S
Media Type = File
}

Storage {
Name = File-C
# Do not use "localhost" here
Address = 192.168.10.16 # N.B. Use a fully qualified name here
SDPort = 9103
Password = "7UQcNBAjazD_q_DlFFfWYaGdSkzdKIreW"
Device = DirCopia-C
Media Type = File
}

Catalog {
Name = MyCatalog
dbname = bacula; DB Address = ""; dbuser = "bacula"; dbpassword = "cmadrid"
}

Messages {
Name = Standard
mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"
\(Bacula\) \<%r\>\" -s \"Bacula: %t %e of %c %l\" %r"
operatorcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"
\(Bacula\) \<%r\>\" -s \"Bacula: Intervention needed for %j\" %r"
mail = root@localhost = all, !skipped
operator = root@localhost = mount
console = all, !skipped, !saved
append = "/var/lib/bacula/log" = all, !skipped
catalog = all
}

Messages {
Name = Daemon
mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"
\(Bacula\) \<%r\>\" -s \"Bacula daemon message\" %r"
mail = root@localhost = all, !skipped
console = all, !skipped, !saved
append = "/var/lib/bacula/log" = all, !skipped
}

Página.- 366
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Pool {
Name = File
Pool Type = Backup
Recycle = yes # Bacula can automatically recycle Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 365 days # one year
Label Format = "Volumen-"
}

Console {
Name = MaX60_S-mon
# Clave a utilizar en /etc/bacula/tray-monitor.conf
Password = "Kovn5LyXeZTzLzj9WuTEKH02MrIudGf9z"
CommandACL = status, .status
}

/etc/bacula/bacula-sd.conf (de MaX60_S)

Storage { # definition of myself


Name = MaX60_S-sd
SDPort = 9103 # Director's port
WorkingDirectory = "/var/lib/bacula"
Pid Directory = "/var/run/bacula"
Maximum Concurrent Jobs = 20
SDAddress = 192.168.10.16
}

Director {
Name = MaX60_S-dir
Password = "7UQcNBAjazD_q_DlFFfWYaGdSkzdKIreW"
}

Director {
Name = MaX60_S-mon
# Clave a utilizar en /etc/bacula/tray-monitor.conf
Password = "0gSlTTu0M21afC9PIMxBSD0yhmKqnvx-g"
Monitor = yes
}

Página.- 367
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Device {
Name = DirCopia-S
Media Type = File
Archive Device = /home/madrid/Copia/S
LabelMedia = yes; # lets Bacula label unlabeled media
Random Access = Yes;
AutomaticMount = yes; # when device opened, read it
RemovableMedia = no;
AlwaysOpen = no;
}

Device {
Name = DirCopia-C
Media Type = File
Archive Device = /home/madrid/Copia/C
LabelMedia = yes; # lets Bacula label unlabeled media
Random Access = Yes;
AutomaticMount = yes; # when device opened, read it
RemovableMedia = no;
AlwaysOpen = no;
}

Messages {
Name = Standard
director = MaX60_S-dir = all
}

/etc/bacula/bacula-fd (de MaX60_C)

Director {
Name = MaX60_S-dir
Password = "W_CYJ1dkcOvtzCPjBczfc8-spDQFn2fTD"
}

Director {
Name = MaX60_C-mon
# Clave a utilizar en /etc/bacula/tray-monitor.conf
Password = "-xRj0NheRRO7xfi4vECKrbNoFJST_C7io"
Monitor = yes
}

Página.- 368
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

FileDaemon { # this is me
Name = MaX60_C-fd
FDport = 9102 # where we listen for the director
WorkingDirectory = /var/lib/bacula
Pid Directory = /var/run/bacula
Maximum Concurrent Jobs = 20
FDAddress = 192.168.10.17
}

Messages {
Name = Standard
director = MaX60_C-dir = all, !skipped, !restored
}

Una vez configurados los ficheros puede hacerse una copia de seguridad (backup)
manual, desde bconsole, utilizando el comando “run” y eligiendo las opciones adecuadas, que
son bastante intuitivas:

– Seleccionar el trabajo (job) : El nº correspondiente a BackupCli.

– Revisar las opciones mostradas y contestar que “si” se ejecute.

La restauración puede efectuarse también desde bconsole mediante la instrucción


“restore all”, siguiendo un procedimiento similar al de la restauración anterior:

– Elegir el trabajo de backup que se toma de referencia para la restauración (5).

– Elegir el cliente: MaX60_C-fd.

– No es necesario marcar archivos porque se han seleccionado todos.

– Finalizar la selección ejecutando “done”.

– Se revisan las opciones mostradas, modificando la que se considere oportuno y


seleccionando para finalizar y ejecutar “si”.

Resumiendo, 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.

Es conveniente conocer algunas de las características de la Bconsole:

Página.- 369
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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: 1.36.3 (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 10 09-Nov-07 00:30 backup_unlp Unlp-Inc-0003
Incremental Backup 20 09-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 103 15,875,686 OK 08-Nov-07 01:32 backup_testing_tape
====
*

Página.- 370
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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: 1.36.3 (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 103 15,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

Página.- 371
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

When: 2007-11-08 17:38:24


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.- 372
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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: 2007-11-08 18: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: 2007-11-08 18: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.- 373
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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: 2010-11-08 19:00:00
Priority: 10
OK to run? (yes/mod/no):

Si se elige “yes” y se ha modificado el atributo When con ”When: 2007-11-08


19: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.2007-11-08_18.23.04 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.- 374
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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: 2007-11-09 18: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.- 375
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.- 376
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 |
+-------+-------+-----------+--------------------+----------------+---------+------------+----------------+
| 5,038 | F | 2,766,128 | 2007-11-04 00:41:53| Isis-Full-0002 | 9 | 291 | 1,192,533,342 |

....................... 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 5038 ...

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.- 377
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

$ mark scripts
5 files marked.
$ estimate
2785207 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 emails a los operadores, siendo más flexible que las
herramientas de email 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.- 378
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Para obtener información completa puede consultarse el manual de referencia en la


página http://www.bacula.org/5.0.x-manuals/en/main/main/

10.7 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.- 379
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Fig 148: Cuotas según diferentes sistemas operativos

En el apartado 4.2.2 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.- 380
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 4.

9. Realizar con Sbackup las actividades 1, 2 y 4.

10. 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.- 381
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

ANEXO 1. INSTALACIÓN DE WEBMIN

Webmin es un software que permite configurar un gran número de servicios del


sistema (inicio y parada, sistemas de archivos, ...), servicios de servidor y de cliente (Apache,
MySQL, SSH, ...), servicios de red (configuración de tarjetas, NFS, NIS, ...), etc., etc.,
mediante un interface web.

Para llevar a cabo la instalación es conveniente comprobar si se encuentra en los


repositorios que se configuran por defecto durante la instalación de MaX. Basta con escribir
“webmin” en el campo de “Busqueda rápida” del gestor de paquetes Synaptic. Si webmin se
encuentra en la lista de paquetes de Synaptic su instalación es similar a cualquier otro
paquete.

Si webmin no se encuentra en la lista, podrá bajarse de http://www.webmin.com. De


todas las versiones o formatos que se pueden descargar (RPM, Debian Package, TAR file, …)
la referente a “Debian Package” se ha probado que funciona correctamente en MaX. Al pulsar
sobre esta opción se descarga un fichero cuyo nombre será de la forma:

webmin_version_all.deb

Pulsando con el botón derecho sobre el fichero y eligiendo la opción “Abrir con
instalador de paquetes Gdebi”, se instala correctamente.

Su ejecución se efectúa desde el explorador de internet especificando la dirección:

https://localhost:10000

e introduciendo como usuario “root” y su contraseña.

Si al lanzar la ejecución se produce la alerta:

https://localhost:10000 usa un certificado de seguridad no válido

deberá incluirse en el explorador una excepción. Para ello se solicita la página web:

https://127.0.0.1:10000

aparecerá la misma alerta pero la página mostrada permitirá elegir “añadir una excepción”. A
continuación pedirá la dirección sobre la que obtener el certificado y deberá especificarse
“https://localhost:10000”. Se confirma la excepción de seguridad, se cierra el explorador, se
vuelve a abrir y webmin fucionará correctamente. En la parte inferior de la página, webmin
mostrará si existen actualizaciones disponibles y podrán instalarse siguiendo las indicaciones.

Se recomienda realizar un recorrido por las opciones que presenta y cambiar el idioma.

Página.- 382
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

ANEXO 2.- INFORMACIÓN ADICIONAL SOBRE EL SERVICIO NIS

El fichero /etc/yp.conf se utiliza para indicar a ypbind con qué servidor debe
comunicarse. Algunos ejemplos de las posibles formas de hacerlo son:

ypserver 192.168.10.16
ypserver MaX60_S
ypserver MaX60_S.tiernogalvan.es
domain tiernogalvan.es server MaX60_S
domain tiernogalvan.es broadcast

En el último ejemplo ypbind enviará una petición a toda la red y le podrá responder
cualquier servidor.

En el fichero /etc/nsswitch.conf se especifica la información que podrá ser consultada.


Si se desea utilizar primero la información proporcionada por NIS y a continuación la de los
ficheros locales puede contener lineas de la forma:

passwd: nis compat


group: nis compat
shadow: nis compat

No es conveniente especificar solamente “nis” porque si falla ypbind o el servidor NIS


no se podrá iniciar una sesión en la máquina.

Otra forma de indicar que debe realizarse la consulta a través de NIS es modificando
los ficheros /etc/passwd, /etc/group y /etc/shadow.

En /etc/passwd se añade al final una línea de la forma:

+::::::

El “+” indica que debe hacerse uso de NIS para consultar los datos que faltan que son
los campos vacíos. El hecho de situar la línea en la última posición permite consultar los
usuarios locales sin tener que hacer uso de NIS.

Puede prohibirse el acceso de ciertos usuarios mediante líneas de la forma:

-usuario01::::::
-usuario02
+::::::

usuario01 y usuario02 tienen denegado el acceso.

Página.- 383
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

En el caso de que lo que se desee sea dar acceso a un número muy restringido de
usuarios puede utilizarse la forma:

+usuario03::::::
+usuario04::::::
+::::::/bin/false

usuario03 y usuario04 tendrán acceso pero los demás no.

A los ficheros /etc/group y /etc/shadow se les añade respectivamente una línea con el
contenido “+:::” y “+::::::::”.

Si el sistema hace uso de GSHADOW, hay que adaptar el fichero /etc/gshadow de


forma similar a /etc/group.

Para que los cambios surtan efecto debe reiniciarse el servicio nis.

Para crear un servidor esclavo hay que realizar ciertas configuraciones en el servidor
maestro:

– En el archivo /var/yp/Makefile hay que cambiar el valor de la variable NOPUSH a


“false” (NOPUSH=”false”).

– En el archivo /var/yp/ypservers se añaden los nombres de los servidores esclavos. Esta


operación puede realizarse con la instrucción “sudo /usr/lib/yp/ypinit -m”, que
también reconstruye los mapas.

– En /etc/hosts se añadirán las IP's y nombres de los servidores esclavos.

– Para que el servidor esclavo reciba los datos del servidor maestro, se deberá ejecutar
“sudo /etc/init.d/nis restart” en el servidor esclavo.

La configuración del servidor esclavo se realiza de la forma:

Se configura el servidor esclavo de forma similar al servidor maestro, teniendo en


cuenta que:

– El archivo /etc/hosts tiene los valores adecuados.

– El archivo /etc/defaultdomain tiene el nombre del dominio.

– El fichero /etc/default/nis contiene una linea con “NISSERVER=slave”.

– Reiniciar el servicio nis con “sudo /etc/init.d/nis restart”.

Página.- 384
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– Ejecutar:

sudo ypserv
sudo /usr/lib/yp/ypinit -s nombre_servidor_maestro

El servidor maestro utiliza el programa “yppush” para notificar a los servidores


esclavos que hagan copia de los datos utilizando el programa “ypxfr”. En caso de que en ese
momento no se pueda realizar la copia los servidores esclavos no se actualizarán ya que el
servidor maestro no volverá a enviar los datos hasta que se modifiquen sus ficheros y se
ejecute la instrucción “make” (/var/yp/Makefile). Para evitar estos desajustes es conveniente
planificar transferencias en los servidores esclavos, pudiéndose utilizar para ello los scripts
“/var/lib/yp/ypxfr_1perday”, que transfire todos los mapas, “/var/lib/yp/ypxfr_2perday, que
transfiere los mapas que más suelen cambiar, y /var/lib/yp/ypxfr_1perhour, parecido al
anterior.

Un ejemplo de una entrada en el servicio cron, que permite programar la realización


de tareas de forma periódica, sobre el archivo /etc/cron.d/nis puede ser:

15 * * * * root /usr/lib/yp/ypxfr_1perhour > /dev/null 2>&1


30 3 * * * root /usr/lib/yp/ypxfr_1perday > /dev/null 2>&1
50 3,23 * * * root /usr/lib/yp/ypxfr_2perday > /dev/null 2>&1

En el servidor maestro, el fichero /var/yp/Makefile contiene la configuración de los


mapas y variables que se exportan. Un ejemplo de una parte de dicho archivo sería:

# Makefile for the NIS Database


#
# Dar a la siguiente variable el valor “-b” si el servicio nis va a ser consultado
# por maquinas de otros dominios …
#B=-b
B=
DIR =/var/yp/etc
#
RBACDIR=/etc/security
PWDIR =/var/yp/etc
DOM = `dominio`
#NOPUSH = “”
NOPUSH =false
ALIASES = /var/yp/etc/mail.aliases
YPDIR = /var/yp
. . . .

Es interesante ojear el fichero para comprobar el tipo de información que contiene.


Puede resultar interesante modificar algunas variables como por ejemplo MINGUID para que
se propaguen grupos cuyo GID sea menor de 1000, poniendo dicha variable a valor 1.

Página.- 385
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

Cada vez que se realicen cambios en este fichero o se modifiquen las cuentas de
usuario, grupo, etc., debe ejecutarse el fichero utilizando una de las instrucciones siguientes:

sudo make -C /var/yp


cd /var/yp; sudo make

La instrucción “ypinit -m” crea los mapas e inicializa el servidor (-m = maestro)
solicitando una lista de servidores esclavos. A continuación se ejecuta “ypserv” para
establecer el servidor.

NIS dispone de una utilidad llamada “netgroups” que permite o deniega accesos o da
privilegios a grupos. Estos grupos se definen en /etc/netgroup o donde indique el fichero
Makefile. Un ejemplo de dicho fichero puede ser:

grupo1 (equipo1, usuario1, dominio) (equipo2, , )


grupo2 (equipo2,-,-) (equipo3,-,-)
grupo3 grupo1 grupo2

El grupo puede definirse de dos formas:

La primera consiste en colocar entre paréntesis 3 campos separados por comas con el
nombre del equipo, el del usuario y el del dominio. El espacio vacío significa permitir a todos
y el guión a ninguno.

La segunda consiste en definir un grupo como una lista de grupos.

El cliente puede establecer el “netgroup” que va a importar agregando una entrada al


fichero /etc/passwd con la forma: “+@grupo1:::::::”.

Algunas instrucciones y procesos interesantes son:

ypserv.- Proceso del servidor NIS.


ypbind.- Proceso del cliente NIS.
domainname.- Establece el nombre del dominio al que pertenece una máquina.
ypxfr.- Descarga los mapas actualizados del servidor.
ypxfrd.- Maneja en el servidor las peticiones de ypxfr.
yppush.- Hace que los mapas se actualicen en los servidores esclavos.
makedbm.- Construye un archivo hash desde un archivo plano.
ypmake.- Reconstruye los mapas de hash una vez que se han actualizado.
ypinit.- Configura un equipo como servidor maestro o esclavo.
ypset.- Hace que ypbind se conecte a un servidor específico.
ypwhich.- Muestra el servidor en uso. Ej.: ypwhich - m passwd.
yppoll.- Muestra la versión de los mapas en uso.
ypcat.- Muestra los valores de los mapas.
ypmatch.- Muestra las entradas para un argumento especificado.
yppasswd.- Cambia una contraseña en el servidor maestro.

Página.- 386
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

ypchfn.- Cambia el GECOS en el servidor maestro.


ypchsh.- Cambia el shell por defecto en el servidor maestro.
yppasswdd.- Servidor para yppasswd, ypchsh e ypchfn.
ypupdated.- Servidor para la actualización de mapas.
ypdomainname.- Permite conocer el dominio NIS.
getent.- Recupera una entrada. Ej.: getent passwd usuario.

En el fichero /etc/ypserv.securenets del servidor se definen los equipos, clientes y


servidores esclavos, que pueden acceder al servidor. Pueden especificarse líneas que hagan
referencia a equipos concretos o a subredes, como las mostradas a continuación:

host 192.168.10.17
255.255.255.0 192.168.10.0

Se recomienda comentar la línea incluida por defecto y que otorga permisos a todos
los equipos: “# 0.0.0.0 0.0.0.0”.

NIS es un servicio que debe estar perfectamente controlado o de lo contrario se podrá


tener acceso a los ficheros que contienen las claves de acceso de las cuentas de usuario.
Aunque dichas claves estén encriptadas tienen un texto plano o serie de caracteres ascii
equivalente que puede utilizarse a través de programas para realizar la autenticación. Es
conveniente, pues, tomar ciertas medidas para restringir el acceso, como pueden ser:

– Permitir solamente a los miembros del dominio la comunicación con los servicios
apropiados especificándolo en /etc/hosts.allow. Esto implica que en /etc/hosts.deny se
deniega el acceso a cualquiera con “ALL: ALL” para que las restricciones tengan
efecto.

– Limitar a quién responderá el servidor estableciendo los miembros del dominio en


/etc/ypserv.securenets.

– Tambien, quizá de forma alternativa, se puede activar la verificación de claves NIS


desde procesos no privilegiados añadiendo al fichero /etc/ypserv.conf la siguiente
línea, colocada delante de otras líneas referidas a shadow.byname:

ip_del_servidor : * : shadow.byname : none

lo que hará que información relativa a las claves shadow esté disponible para cualquier
proceso del servidor y se pueda limitar el acceso apropiadamente.

– Restringir los puertos de escucha de los servicios yp especificandolos en el fichero


/etc/default/nis:

# Additional options to be given to ypserv when it is started.


YPSERVARGS=”- p 834”

Página.- 387
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

# Additional options to be given to ypbind when it is started.


YPBINDARGS=”- p 835”

# Additional options to be given to yppasswdd when it is started. Note


# that if -p is set then the YPPWDDIR above should be empty.
YPPASSWDDARGS=”- - port 836”

# Additional options to be given to ypxfrd when it is started.


YPXFRDARGS=”- p 837”

En el firewall se establece que solamente los equipos de la red (Ej.: 192.168.10.0/24)


puedan acceder al servidor:

iptables -A INPUT -p ALL - s! 192.168.10.0/24 - - dport 834 -j DROP


iptables -A INPUT -p ALL - s! 192.168.10.0/24 - - dport 835 -j DROP
iptables -A INPUT -p ALL - s! 192.168.10.0/24 - - dport 836 -j DROP
iptables -A INPUT -p ALL - s! 192.168.10.0/24 - - dport 837 -j DROP

Esos puertos, según IANA, no están asignados a ningún servicio.

Así, el acceso queda restringido a unas direcciones IP concretas, pero todavía puede
ocurrir que alguien “pinche” alguna de las máquinas de la red, tome su dirección IP y
acceda al fichero de claves. Para intentar evitar este problema puede recurrirse a IPSec
para que el tráfico sea encriptado y se haga uso de las claves de desencriptación.

Para dar privilegios para utilizar audio y video simplemente hay que añadir al usuario
al grupo correspondiente en el fichero /etc/group. Puesto que añadir un usuario al grupo audio
tiene ciertos riesgos, puede utilizarse en el servidor NIS la siguiente alternativa:

Añadir el usuario al grupo audio (grupo 29). Si por ejemplo el usuario tiene uid=1000
y gid=1000 la instrucción será: usermod -g 1000 - G 20,24,25,29,44,46,100 usuario

Asignar en /var/yp/Makefile “MINGID=1”.

Regenerar los mapas NIS con “sudo make -C /var/yp”.

Así se exportarán desde el servidor NIS la totalidad de los grupos, el audio funcionará
correctamente y podrá ser verificado desde el cliente con la instrucción “id usuario”,
que mostrará algo como:

uid=1000(usuario) gid=1000(usuario)
groups=1000(usuario),20(dialout),24(cdrom),25(floppy),29(audio),44(video) . . .

Página.- 388
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

ANEXO 3.- GRUB LEGACY (VERSIÓN 0.97)

Existen varios programas gestores de arranque siendo uno de los más conocidos el
denominado GNU GRUB (Grand Unified Bootloader). La primera versión, denominada
GRUB Legacy, 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 y
puede ser copiado al sector 0 con la instrucción:

sudo dd if=fichero_mbr of=/dev/sda bs=1 count=512

– 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.

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.

Página.- 389
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

Fig 149: Arranque de Windows

Si ahora se instala MaX, se 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 150: Arranque de Linux y Windows

Fig 151: Arranque de varios Linux y Windows

Página.- 390
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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 152: 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.

/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.

Página.- 391
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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

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.

Página.- 392
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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) Primera partición primaria en el primer disco duro.


(hd0,1) Segunda partición primaria.
(hd0,2) Tercera partición primaria.
(hd0,3) Cuarta partición primaria (normalmente partición extendida).
(hd0,4) Primera partición lógica.
(hd0,5) Segunda partición lógica.

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.

Página.- 393
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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.

– # 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.

Página.- 394
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

– 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.

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

Página.- 395
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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:

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

Página.- 396
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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

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) /dev/fd0
(hd0) /dev/hda
(hd1) /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.

Página.- 397
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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
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 2.6.28-15-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-2.6.28-15-generic root=UUID...)


y pulsar “e”.

Página.- 398
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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
autorizados durante el proceso de arranque, sino también bloquear la ejecución de
determinados sistemas operativos por parte de los usuarios.

Para definir una contraseña de arranque, realice los siguientes pasos como usuario
root:

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.

Página.- 399
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

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

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á:

password periquito

Página.- 400
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

ANEXO 4.- RECUPERACIÓN DE GRUB 2 Y WINDOWS

Un problema típico de los equipos en los que se han instalado uno o varios sistemas
operativos de Microsoft y uno o varios Linux es la pérdida del acceso a grub cuando se
reinstala uno de los Windows.

Como ejemplo podemos suponer que en primer lugar se hace una partición para
“Windows del DAI” y se instala el correspondiente sistema operativo. A continuación se crea
una segunda partición primaria donde se instala “Windows del ASIR”. El fichero \boot.ini de
esta segunda partición contendrá dos opciones para permitir iniciar el equipo en uno u otro
sistema operativo. A continuación se crea una partición extendida y dentro de ella dos lógicas,
una para swap y otra de tipo ext4 donde se instala MaX v.6.0. Durante esta última instalación
se instala grub que mostrará alguna opción para iniciar MaX y una opción para iniciar
Windows que, si se selecciona, mostrará un segundo menú para iniciar un Windows u otro.

Si a continuación se reinstala el “Windows del DAI” se perderá el acceso a MaX y al


“Windows del ASI”.

Para recuperar el acceso a grub se puede proceder de la forma:

1. Iniciar el equipo con el DVD Live de Linux.


2. Ejecutar la instrucción “sudo fdisk -l” para comprobar los nombres de dispositivo de
las diferentes particiones. Supongamos que la correspondiente a Linux es /dev/sda6.
3. Ejecutar “sudo mount /dev/sda6 /mnt” para tener acceso a la partición de MaX.
4. Ejecutar “sudo mount --bind /dev /mnt/dev”.
5. Ejecutar “sudo mount --bind /proc /mnt/proc”
6. Ejecutar “sudo chroot /mnt” para acceder como usuario root al antiguo sistema de
ficheros.
7. Ejecutar “grub-install --recheck /dev/sda” (“sda” no “sda6”).
8. Reiniciar el equipo. Para actualizar grub2 ejecutar “sudo update-grub2”.
9. Si no funciona puede probarse a instalar grub2 con “sudo aptitude install grub”.
El fichero con las opciones de grub es /boot/grub/grub.cfg

A continuación, para recuperar el acceso a los dos Windows se puede:

1. Arrancar Windows desde la opción mostrada por el grub recuperado.


2. Desde una pantalla de comandos editar el fichero \boot.ini (edit \boot.ini).
3. Duplicar la línea correspondiente al inicio modificando el número de partición y el
texto que aparecerá en el menú de arranque.

Página.- 401
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

ANEXO 5.- COPIA Y RESTAURACIÓN CON BACKHARDDI

Página.- 402
MaX: El Sistema Operativo libre del Ciclo de Administración de Sistemas Informáticos en Redl

ANEXO 6.- CLONACIÓN DE DISCOS POR MULTICAST CON CLONEZILLA

Página.- 403

You might also like