Read the book: «El gran libro de Debian GNU/Linux»

Font::


El gran libro de Debian GNU/Linux

Primera edición, 2012

© 2012 Rafael Eduardo Rumbos Salomón

© MARCOMBO, S.A. 2012

Gran Via de les Corts Catalanes, 594

08007 Barcelona

www.marcombo.com

«Cualquier forma de reproducción, distribución, comunicación pública o transformación de esta obra sólo puede ser realizada con la autorización de sus titulares, salvo excepción prevista por la ley. Diríjase a CEDRO (Centro Español de Derechos Reprográficos, www.cedro.org) si necesita fotocopiar o escanear algún fragmento de esta obra».

ISBN: 978-84-267-2032-0

Debian, sus logos y fuente son marcas registradas que hacen referencia a un Software centrado en el Interés Público Inc.

El logo sin “Debian” se libera bajo la siguiente licencia:

Copyright (c) 1999 Software de Interés Público

Se concede permiso, de forma gratuita, a cualquier persona que obtenga una copia de este software y archivos de documentación asociados (el “Software”), para trabajar con el sin restricciones, incluyendo, los derechos para usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar, y / o vender copias del Software, con sujeción a las siguientes condiciones:

El aviso de copyright anterior y este aviso de permiso se incluirán en todas las copias o partes sustanciales del Software.

EL SOFTWARE SE ENTREGA “TAL CUAL”, SIN GARANTÍA DE NINGÚN TIPO, EXPRESAS O IMPLÍCITAS, INCLUYENDO PERO NO LIMITADO A LAS GARANTÍAS DE COMERCIALIZACIÓN, APTITUD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DEL COPYRIGHT SERÁN RESPONSABLES POR CUALQUIER RECLAMACIÓN, DAÑOS U OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN DE CONTRATO, AGRAVIO O CUALQUIER OTRA FORMA, SE PRESENTE, O EN RELACIÓN CON EL SOFTWARE O EL USO U OTRAS OPERACIONES EN EL SOFTWARE.

El logotipo con “Debian” es liberado bajo la siguiente licencia:

Copyright (c) 1999 Software en el Interés Público

Este logo o una versión modificada puede ser utilizada por cualquier persona para referirse al proyecto Debian, pero no indica la aprobación del mismo.

www.debian.org


ÍNDICE GENERAL

1. Sobre Debian GNU/Linux y la instalación del sistema

1.1. Introducción

1.2. Historia de Debian GNU/Linux

1.3. Qué es Debian GNU/Linux

1.4. Contrato Social de Debian GNU/Linux

1.4.1. Debian permanecerá 100% libre

1.4.2. Contribuiremos a la comunidad de software libre

1.4.3. No ocultaremos los problemas

1.4.4. Nuestra prioridad son nuestros usuarios y el software libre

1.4.5. Trabajos que no siguen nuestros estándares de software libre

1.5. Las ramas del sistema Debian

1.5.1. Estable

1.5.2. En pruebas

1.5.3. Inestable

1.5.4. Experimental

1.6. Las arquitecturas

1.7. Dónde obtener el sistema Debian GNU/Linux

1.7.1. Grabando el disco compacto

1.7.1.1. Desde Microsoft Windows

1.7.1.2. Desde GNU/Linux

1.8. Arrancando vía USB

1.9. Arrancando vía red

1.10. La instalación

1.10.1. Requerimientos mínimos

1.10.2. Procedimientos

1.10.3. La instalación experta

1.10.4. El modo de rescate

1.10.5. La instalación automática

1.10.6. El argumento hd

1.10.7. El argumento reserve

1.10.8. El argumento VGA

1.10.9. El argumento console

1.10.10. El argumento all_generic_ide

1.10.11. Los argumentos noapic/nolapic

1.10.12. El argumento nousb

1.10.13. El argumento irqpoll

1.10.14. El argumento panic

1.10.15. El argumento max_cpus

1.10.16. El argumento root

1.10.17. El argumento rootdelay

1.10.18. El argumento ro

1.10.19. El argumento quiet

1.10.20. El argumento initrd

1.10.21. El argumento fb

1.10.22. El argumento hw-detect/start_pcmcia

1.10.23. El argumento netcfg/disable_dhcp

1.10.24. El argumento bootkbd

1.10.25. El argumento desktop

1.11. Iniciando la instalación

1.11.1. Partición primaria

1.11.2. Partición extendida

1.11.3. Partición lógica

1.12. Esquema de particionado para equipo de escritorio

1.13. Esquema de particionado para servidores

1.13.1. El sistema de archivos ReiserFS

1.13.2. El sistema de archivos JFS

1.13.3. El sistema de archivos XFS

1.13.4. Fat16

1.13.5. Fat32

1.14. Opciones de montaje

1.14.1. atime

1.14.2. ctime

1.14.3. mtime

1.14.4. noatime

1.14.5. relatime

1.14.6. nodev

1.14.7. nosuid

1.14.8. exec/noexec

1.14.9. ro

1.14.10. sync/async

1.14.11. usrquota/grpquota

1.14.12. user_xattr

1.15. RAID

1.15.1. Los beneficios de RAID

1.15.2. Software RAID

1.15.3. Hardware RAID

1.15.4. RAID 0

1.15.4.1. Posibles aplicaciones

1.15.5. RAID 1

1.15.5.1. Posibles aplicaciones

1.15.6. RAID 5

1.15.6.1. Posibles aplicaciones

1.15.7. RAID 6

1.15.7.1. Posibles aplicaciones

1.15.8. RAID 10

1.15.8.1. Posibles aplicaciones

1.16. Terminando la instalación

1.17. Actividades para el laboratorio

2. Introducción a Debian GNU/Linux

2.1. El sistema de archivos

2.2. Conectando el equipo a la red

2.3. Modificando el archivo de fuentes

2.3.1. main

2.3.2. contrib

2.3.3. non-free

2.3.4. debian backports

2.4. Actualizando el sistema

2.5. Actividades para el laboratorio

3. Fundamentos de la terminal

3.1. La ayuda del sistema

3.2. Comandos básicos

3.3. El historial de comandos

3.4. La variable PS1 y los alias

3.5. El calendario del sistema

3.6. Los terminales virtuales

3.7. Navegando el directorio /proc/

3.8. Actividades para el laboratorio

4. Trabajando en la terminal

4.1. Configurando el dispositivo de sonido

4.2. Navegando la web

4.3. Ingresando a redes de chat

4.4. Bittorrent

4.5. El editor de texto VIM

4.6. Correo electrónico

4.7. Compresión y descompresión

4.8. La calculadora bc

4.9. Corrección ortográfica

4.10. Wget

4.10.1. Uso Sencillo

4.10.2. Uso avanzado

4.11. Localizando ficheros

4.12. Aptitude

4.13. Actividades para el laboratorio

5. Guiones de comandos con Bash

5.1. Bash

5.2. Script

5.3. Caracteres Especiales de Unix

5.4. Consolas

5.5. Introducción a los guiones de comandos

5.6. Herramientas para la construcción de scripts

5.6.1. El comando echo

5.6.2. El comando read

5.6.3. El comando expr

5.6.4. El comando if

5.6.5. El comando case

5.6.6. El comando test

5.6.7. Los comandos while y until

5.6.8. El comando for

5.6.9. Las funciones

5.7. Ejemplos de las herramientas

5.7.1. Un ejemplo del comando echo

5.7.2. Un ejemplo del comando read

5.7.3. Un ejemplo del comando expr

5.7.4. Ejemplo del comando if

5.7.5. Un ejemplo del comando case

5.7.6. Otro ejemplo del comando case

5.7.7. Un ejemplo del comando test

5.7.8. Un ejemplo de los comandos while y until

5.7.8.1. While

5.7.8.2. Until

5.7.9. Un ejemplo del comando for

5.7.10. Un ejemplo de funciones

5.8. Cron

5.9. Caso de estudio

5.10. Actividades para el laboratorio

6. Entornos gráficos

6.1. GNOME

6.1.1. Los principales componentes del escritorio GNOME

6.1.1.1. Escritorio

6.1.1.2. Paneles

6.1.1.3. Ventanas

6.1.1.4. Áreas de trabajo

6.1.1.5. Gestor de archivos

6.1.1.6. Centro de control

6.1.2. Requerimientos mínimos

6.1.3. GDM/GDM3

6.1.4. Otros datos sobre Gnome

6.2. KDE

6.2.1. Requerimientos mínimos

6.3. XFCE

6.3.1. Gestor de ventanas

6.3.2. Manejador de escritorio

6.3.3. Paneles

6.3.4. Administrador de sesiones

6.3.5. Administrador de archivos

6.3.6. Administrador de preferencias

6.3.7. Requerimientos mínimos

6.4. LXDE

6.4.1. Requerimientos mínimos

6.5. Fluxbox

6.5.1. Archivo de aplicaciones

6.5.2. Archivo de atajos de teclado

6.5.3. Ventanas con pestañas

6.5.4. SLIT

6.5.5. Menú raíz

6.5.6. Barra de herramientas

6.5.7. Bandeja del sistema

6.6. Wmaker

6.6.1. Características de Window Maker

6.7. Enlightenment DR16

6.8. Enlightenment DR17

6.9. Configuración de Xorg

6.10. Actividades para el laboratorio

7. Configuración de servidores

7.1. Qué es Apache

7.2. Instalando y configurando Apache

7.2.1. Protegiendo los directorios de los clientes

7.2.2. Enlazando PHP5, Apache y PostgreSQL

7.2.3. Monitoreando el servidor Apache

7.3. Profundizando en PostgreSQL

7.3.1. Local

7.3.2. Host

7.3.3. Hostssl

7.3.4. Hostnossl

7.3.5. Database

7.3.6. User

7.3.7. Address

7.3.8. IP-address IP-mask

7.3.9. Auth-method

7.3.10. trust

7.3.11. reject

7.3.12. md5

7.3.13. password

7.3.14. gss

7.3.15. sspi

7.3.16. krb5

7.3.17. Ident

7.3.18. ldap

7.3.19. radius

7.3.20. cert

7.3.21. pam

7.3.22. Auth-options

7.3.23. Comandos básicos

7.3.24. Trabajando con archivos

7.3.25. Usuarios y Permisos

7.3.26. Exportando e importando bases de datos

7.4. VSFTPD

7.4.1. Características

7.4.2. Configuración de VSFTPD con usuarios virtuales

7.4.3. Configuración de VSFTPD con usuarios y cuotas de disco

7.4.3.1. Primera y segunda columnas: dispositivo y punto de montaje

7.4.3.2. Tercera columna: sistema de ficheros

7.4.3.3. Cuarta columna: opciones de montaje

7.4.3.4. Quinta y sexta columna: opciones de dump y fsck

7.5. OpenSSH

7.6. Exim4

7.7. Notas finales

7.8. Actividades para el laboratorio

8. Administración del sistema

8.1. Administrando los usuarios

8.1.1. Los números UID y GID

8.1.1.1. 0-99

8.1.1.2. 100-999

8.1.1.3. 1000-59999

8.1.1.4. 60000-64999

8.1.1.5. 65000-65533

8.1.1.6. 65534

8.1.1.7. 65535

8.2. Procesos

8.3. Fecha y hora

8.4. Interactuando con el núcleo

8.4.1. dmseg

8.4.2. lsmod

8.4.3. modconf

8.5. Red

8.5.1. El comando ifup

8.5.2. El comando ifdown

8.5.3. El comando route

8.6. Iptables

8.6.1. Tabla de filtros (filter table)

8.6.2. Tabla de traducción (nat table)

8.6.3. Tabla de mutilación (mangle table)

8.6.4. Tabla de paquetes crudos (raw table)

8.6.5. Sentencia de reglas

8.6.6. Aceptar (ACCEPT)

8.6.7. Descartar (DROP)

8.6.8. Encolar (QUEUE)

8.6.9. Retorno (RETURN)

8.6.10. Rechazo (REJECT)

8.6.11. Registro (LOG)

8.6.12. DNAT (traducción destino)

8.6.13. SNAT (traducción origen)

8.6.14. MASQUERADE

8.6.15. Rastreo de conexiones

8.6.16. Nuevo (NEW)

8.6.17. Establecido (ESTABLISHED)

8.6.18. Relacionado (RELATED)

8.6.19. Inválido (INVALID)

8.6.20. Redirección de puertos

8.6.21. IPTRAF

8.6.22. NMAP

8.6.23. NETCAT

8.6.24. SHELL

8.7. LSBInitScripts

8.7.1. start

8.7.2. stop

8.7.3. status

8.7.4. restart

8.7.5. force-reload

8.8. Permisología de los archivos

8.8.1. El dueño (Owner)

8.8.2. El grupo (Group)

8.8.3. Permisos UNIX (UNIX permissions)

8.8.4. Lectura (read)

8.8.5. Escritura (write)

8.8.6. Ejecución (execute)

8.8.7. chmod

8.8.8. chown

8.8.9. chgrp

8.8.10. chattr

8.9. Actividades para el laboratorio

9. Instalación y configuración de juegos

9.1. OpenArena

9.2. Warsow

9.3. UrbanTerror

9.4. Secret Maryo Chronicles

9.5. Teeworlds

9.6. Crack Attack

9.7. Frets On Fire

9.8. Typespeed

9.9. Servidor de OpenArena

10. Recursos de ayuda

10.1. Documentación general

10.2. Documentación específica de Debian GNU/Linux

10.3. Debian en IRC

10.4. Las reglas del IRC

Capítulo 1
Sobre Debian GNU/Linux y la instalación del sistema
1.1. Introducción

Al destapar la cobertura de este libro usted se ha adentrado en un viaje en el cual ganará en conocimientos valiosos para la construcción de avanzadas infraestructuras tecnológicas, los beneficios del software libre son muy numerosos pero poseen la desventaja de que requieren gente capacitada y preparada para la correcta configuración e implementación de las aplicaciones.

Debian GNU/Linux es uno de los proyectos de software libre más antiguos que existen además de ser uno de lo más organizados, tanto a nivel virtual como real. Es, también, ejemplo de muchos otros proyectos por sus estándares de calidad y seguridad. Durante diez capítulos intentaré demostrarle todas las cosas que puede lograr haciendo el uso correcto de las herramientas proporcionadas por el sistema operativo y otros elementos del software libre.

Permítame darle una pequeña introducción de lo que le aguarda a medida que pase las hojas de este documento. En el primer capítulo vamos estudiar distintas formas de instalar el sistema operativo, en el segundo se le introducirá al sistema de ficheros y su propósito luego, en el tercero, aprenderá sobre la terminal de comandos, la ayuda del sistema y ejecuciones básicas de algunas herramientas fundamentales de los sistemas operativos basados en Linux. Asimismo, en el cuarto capítulo, nos adentraremos aún más en la terminal de comandos y aprenderá a realizar múltiples tareas desde ella; aprenderá, en el quinto capítulo, aprenderá a escribir programas y automatizar el sistema operativo mediante guiones de comandos, consecuentemente el sexto capítulo le dará una visión objetiva de algunos de los entornos gráficos más populares del ambiente del software libre para ayudarle a la toma de una decisión a la hora de trabajar con equipos de medianos y escasos recursos. En el séptimo capítulo convertiremos nuestro equipo en una máquina de producción instalando y configurando servicios de red, utilizando enfoques diferentes a los tradicionales, fusionaremos aplicaciones como el servidor HTTP Apache con PHP y el motor de base de datos PostgreSQL, también trabajaremos con VSFTPD y un sistema de cuotas de disco, construiremos un servidor de correo completo, con certificados de seguridad y conexiones cifradas mediante los protocolos SSL y TLS entre otras aplicaciones. En el octavo capítulo profundizaremos en la administración avanzada del sistema pasando por los usuarios y grupos, permisos extraordinarios a determinados usuarios, casos de estudio, construiremos un cortafuego con estrictas políticas de seguridad y configuraremos una pasarela de conexiones a nivel profesional entre otros temas; ya para relajarnos después de todo ese aprendizaje en el noveno capítulo se le proporcionara una visión sobre los juegos más populares del ambiente del software libre y, para cerrar, en el décimo capítulo se le mostrará una variedad de enlaces de Internet donde va conseguir más documentación tanto sobre GNU/Linux como del proyecto Debian específicamente. Comencemos pues sin más preámbulos con nuestro aprendizaje.

1.2. Historia de Debian GNU/Linux

—según Debian.org

El proyecto Debian fue fundado oficialmente por Ian Murdock el 16 de agosto de 1993. En ese momento, todo el concepto de una “distribución” de Linux era nuevo. Ian M pretendió que Debian fuera una distribución que se hiciera abiertamente, en el espíritu de Linux y GNU. La creación de Debian fue patrocinada por el proyecto GNU de la FSF durante un año.

El proyecto Debian estaba destinado a ser cuidado con conciencia, además de mantenido y soportado con el mismo cuidado. Comenzó con un pequeño grupo, muy unido de hackers de software libre pero gradualmente creció hasta convertirse en una comunidad grande y bien organizada de desarrolladores y usuarios.

Cuando se inició, Debian fue la única distribución que se abrió a todos los desarrolladores y usuarios a contribuir con su trabajo. Sigue siendo el más importante distribuidor de Linux, que no es una entidad comercial. Es el único gran proyecto con una constitución, contrato social y documentos de política para organizar el proyecto. Debian es también la única distribución que se “micro-empaqueta” de manera tal de cuidar las relaciones de dependencia entre paquetes para asegurar la consistencia del sistema a través de las actualizaciones.

Para alcanzar y mantener altos estándares de calidad, el proyecto Debian ha adoptado un amplio conjunto de políticas y procedimientos para el envasado y la distribución de software. Estos estándares están respaldados por herramientas, automatización y documentación de cada uno de los elementos claves de Debian de una forma abierta y visible.

1.3. Qué es Debian GNU/Linux

Debian, el sistema operativo universal, es un proyecto de software libre que se inició hace muchos años y hoy en día se mantiene vigente y muy activo con miles de personas detrás de él, es uno de los proyectos más antiguos de software libre que existe y, por esta razón, es uno de los mejores entre los mejores. Su grado de dificultad hace que mucha gente le tenga un cierto temor, debido a que existe el rumor de que es diseñado para hackers o para personas envueltas en extremo en el medio de la informática y las ciencias de la computación pero esto es completamente falso, Debian tiene muchas herramientas que hacen que su uso sea muy sencillo tanto para administradores de sistemas como para usuarios regulares. En este libro voy a tratar en lo posible de cubrir lo más que pueda, para proporcionarle el conocimiento necesario y así usted pueda hacer uso efectivo de este noble sistema operativo.

1.4. Contrato Social de Debian GNU/Linux

—según Debian.org

1.4.1. Debian permanecerá 100% libre

Las directrices de software libre de Debian (DFSG) son el criterio que nosotros utilizamos para determinar si el software es libre o no. Prometemos mantener el sistema GNU/Linux así como todos sus componentes completamente libres de acuerdo con este criterio. No obstante, daremos soporte también a aquellos usuarios que desarrollen y ejecuten software no libre en Debian, pero nunca haremos que el sistema tenga que utilizar obligatoriamente un componente que no sea libre.

1.4.2. Contribuiremos a la comunidad de software libre

Cuando escribamos nuevos componentes del sistema Debian, los licenciaremos de forma consistente con nuestra definición de software libre. Haremos el mejor sistema que podamos, de forma que el software libre tenga amplia difusión y uso. Enviaremos parches, mejoras, peticiones de los usuarios y demás a los autores originales (esto se conoce en inglés como upstream, N. del T) del software incluido en nuestro sistema.

1.4.3. No ocultaremos los problemas

Mantendremos nuestra base de datos de informes de error accesible al público en todo momento. Los informes de error que los usuarios envíen serán visibles por el resto de los usuarios en forma inmediata.

1.4.4. Nuestra prioridad son nuestros usuarios y el software libre

Nos guiaremos por las necesidades de nuestros usuarios y de la comunidad del software libre. Sus intereses serán una prioridad para nosotros. Daremos soporte a las necesidades de nuestros usuarios para que puedan trabajar en muchos tipos distintos de entornos de trabajo. No pondremos objeciones al software no libre que vaya a ejecutarse sobre Debian ni cobraremos a las personas que quieran desarrollar o usar ese tipo de software (no libre). Permitiremos a otros crear distribuciones de valor añadido basadas en Debian, sin cobrarles nada por ello. Es más, entregaremos un sistema integrado de alta calidad sin restricciones legales que pudieran prevenir este tipo de uso.

1.4.5. Trabajos que no siguen nuestros estándares de software libre

Reconocemos que algunos de nuestros usuarios necesitan usar trabajos que no sigan las directrices de software libre de Debian (DFSG). Por ello, hemos creado las secciones “contrib” y “non-free” en nuestro archivo para estos trabajos. Los paquetes en estas secciones no son parte del sistema Debian, aunque han sido configurados para usarse con Debian. Animamos a los distribuidores de CDs a que lean las licencias de los paquetes en estas secciones, para poder determinar si pueden distribuir este software en sus CDs. Así pues, aunque los trabajos que no sean libres no son parte de Debian, damos soporte para su uso y proporcionamos infraestructura (como nuestro sistema de informe de errores y listas de distribución) para paquetes no libres.

1.5. Las ramas del sistema Debian
1.5.1. Estable

Debian estable es la versión estabilizada de la distribución (sistema). Cuenta con el apoyo del equipo de seguridad de Debian y es la recomendada para uso en producción. En estos momentos el nombre clave de la versión estable de Debian es “Squeeze”.

1.5.2. En pruebas

Es la versión en pruebas de Debian. En esta versión se encuentran paquetes que han estado previamente en la versión inestable, pero que contienen muchos menos fallos. Además dichos paquetes, deben poder instalarse en todas las arquitecturas para las cuales fueron construidos. Es la versión más utilizada como sistema de escritorio por aquellos que buscan tener el software más actualizado, aunque se pierde en estabilidad. De aquí saldrá la futura versión estable. En estos momentos la versión de Debian en pruebas es llamada “Wheezy”.

1.5.3. Inestable

En Debian inestable tiene lugar el desarrollo activo de Debian. Es la rama que usan los desarrolladores del proyecto. La rama inestable de Debian siempre tiene como nombre clave “Sid”.

Cuando la versión de pruebas llega a un nivel aceptable de fallos, entonces se congela, lo que significa que ya no se aceptan nuevos paquetes desde la versión inestable. A continuación, se trabaja para pulir el mayor número de errores y fallas posibles, para así liberar la versión estable. Ese periodo de trabajo puede durar varios meses debido a que no se fija una fecha de lanzamiento. Debian no será liberada como estable en tanto sus desarrolladores no consideren que lo sea. Esa estabilidad se mide basándose en el registro de errores de software (Bug Tracking). Cuando se alcanza un nivel aceptable se le asigna un número de versión, acordado previamente, y se libera como versión estable, sólo las versiones estables cuentan con número de versión. La anterior versión estable es clasificada como “old-stable”, se mantendrá el soporte por un período de tiempo, generalmente un año y, posteriormente, será archivada. Actualmente la versión “Squeeze” se encuentra congelada.

1.5.4. Experimental

No se trata de una rama de desarrollo del sistema, sino de un repositorio de paquetes de Debian.

1.6. Las arquitecturas

Antes de ir directamente a descargar las imágenes del sistema Debian GNU/Linux, estudiemos un poco más acerca de las arquitecturas de los computadores. Créame no hay nada más frustrante que haber descargado 600MB o 180MB de una imagen de sistema que no se ajusta a la arquitectura de su ordenador así que, a continuación, se le presenta la Tabla 1.1, que detalla esta información.

Tabla 1.1: Arquitecturas de ordenador y descripción para la correcta descarga de la imagen del sistema


Arquitectura Descripción
Alpha (alpha) Lanzada oficialmente por primera vez con la versión de Debian 2.1. Una de las adaptaciones más veterana y muy estable. Generalmente aplica a ordenadores marca COMPAQ o HP.
AMD64 (amd64) Publicada oficialmente por primera vez en la versión de Debian 4.0. Adaptación a los procesadores de 64 bits AMD64. El objetivo es soportar espacios de usuario tanto de 32 como de 64 bits en esta arquitectura. Esta adaptación permite usar los procesadores Opteron de 64 bits de AMD, los procesadores Athlon, Sempron y los procesadores de Intel con soporte a EM64T, incluyendo Pentium D y varias series de Xeon y Core2.
ARMa (arm y armel) Hecha pública oficialmente con la versión de Debian 2.2. Esta adaptación se ejecuta en mucho hardware empotrado, incluyendo NSLU2. Armel es el sucesor más eficiente de la adaptación a arm, que es compatible con el AEBI de ARM.
Intel x86 / IA-32 (i386) Es la primera arquitectura y, estrictamente hablando, no es una adaptación. Linux se desarrolló originalmente en procesadores Intel 386. Debian permite usar todos los procesadores IA-32, hechos por Intel (incluyendo todas las series de Pentium y las recientes máquinas Core Duo).
IA-64 (ia64) Publicada por primera vez de forma oficial en la versión de Debian 3.0. Es la adaptación a la primera arquitectura de 64 bits de Intel. Nota: esto no se debería confundir con las últimas extensiones de Intel de 64 bits para procesadores Pentium 4 y Celeron, denominadas EM64T.
CPU MIPS (mips y mipsel) Publicada por primera vez de forma oficial en la versión de Debian 3.0. Actualmente se está adaptando el sistema a la arquitectura MIPS, usada en máquinas SGI (debian-mips — big-endian) y DECstations de Digital (debian-mipsel — little-endian).
Motorola/IBM PowerPC (powerpc) Hecha pública oficialmente con la versión de Debian 2.2. La adaptación se ejecuta de forma estable en muchos modelos de Apple Macintosh PowerMac, y en las máquinas de arquitecturas abiertas CHRP y PReP.
Sun SPARC (sparc) Salió por primera vez con la liberación de Debian 2.1. Esta adaptación funciona sobre la gama de estaciones de trabajo Sun SPARCstation, así como también sobre algunas de sus sucesoras en la arquitectura Sun4.
HP PA-RISC (hppa) Publicada por primera vez de forma oficial en la liberación de Debian 3.0. Se trata de la adaptación a la arquitectura PA-RISC de Hewlett-Packard, y se encuentra bastante desarrollada.

1.7. Dónde obtener el sistema Debian GNU/Linux

El sistema se puede obtener de distintas maneras, vía BitTorrent, HTTP, o FTP usando cualquiera de los actuales navegadores web usted podrá descargar las imágenes del sistema de su preferencia, para los propósitos de este libro usaremos la imagen mínima de instalación (Netinstall, instalación vía red) para poder mostrarle como realizar una implementación del sistema mucho más desglosada y, de esta manera, aprender más sobre la paquetería, las ramas del sistema y distintos comandos que necesitara conocer para poder hacer uso óptimo del sistema; en la siguiente URL usted podrá descargar dicha imagen.

http://www.debian.org/distrib/netinst

En esta dirección web usted podrá descargar la imagen que desee del sistema para la arquitectura que necesite. Como se dijo anteriormente, para el desarrollo de las prácticas del libro haremos uso de la imagen mínima de Debian GNU/Linux en su versión estable para la arquitectura “i386” la dirección de descarga directa de dicha imagen es la siguiente:

http://cdimage.debian.org/debian-cd/6.0.3/multi-arch/iso-cd/debian-6.0.3-amd64-i386-netinst.iso

1.7.1. Grabando el disco compacto

Para poder grabar correctamente la imagen del sistema en un disco compacto, usted debe hacer uso de un software de grabado de CDs, que soporte la creación de imágenes de sistema. Hace mucho tiempo, en mis inicios en Linux, recuerdo que cometí varios errores al tratar de grabar las imágenes de sistema, ya que lo hacía como CDs de datos, de manera que el archivo “.ISO” quedaba guardado en el disco, pero no se descomprimían los archivos en el mismo y el sistema no arrancaba, sólo luego de leer en Internet instrucciones de cómo hacerlo correctamente logre crear un disco de arranque efectivo. Para que esto no le suceda a usted, a continuación, se muestra como realizar la grabación correcta de una imagen de sistema con software libre en la plataforma Microsoft Windows, ya que probablemente usted esté pensando en migrar y su ordenador se encuentre ocupando dicho sistema. Luego veremos también como hacerlo mediante el software “k3b” uno de los proyectos de grabación de discos compactos más popular del ambiente gráfico KDE, también puede usar “Brasero” que es el programa contraparte del entorno gráfico Gnome.

1.7.1.1. Desde Microsoft Windows

Una vez que ya cuente con el archivo “.ISO” del sistema necesitara hacer uso de una aplicación que le permita grabar dicha imagen en un disco compacto, en este punto asumiré que usted se encuentra haciendo uso de un sistema operativo no basado en Linux, si usted se encuentra usando Microsoft Windows como su actual sistema operativo puede optar por la herramienta “Infrarecorder” la cual le permitirá realizar dicha tarea. “Infrarecorder” está fundamentado bajo los términos de la licencia “GPLv3”, lo cual en pocas palabras indica que usted podrá obtener y usar la herramienta gratuitamente, la dirección web donde puede conseguir dicha aplicación es la siguiente:

http://infrarecorder.org/

Una vez haya descargado la aplicación instálela en su sistema operativo, al terminar ejecute el programa, se le presentará una pantalla como la que se muestra a continuación, observe la Ilustración 1.1:


Ilustración 1.1: Pantalla principal de Infrarecorder

Como puede ver el programa es bastante intuitivo. Seleccione “Write Image”, se le presentara una ventana de exploración de archivos para que pueda escoger la imagen “.ISO” del sistema Debian GNU/Linux, luego continué con los pasos hasta culminar el proceso de grabación.

1.7.1.2. Desde GNU/Linux

Usando un sistema en vivo o una instalación de cualquier sabor de GNU/Linux usted puede optar por la herramienta “k3b”, esta es una poderosa utilidad de grabado de discos compactos, obtenga esta aplicación utilizando su sistema de gestión de software (aptitude en Debian Gnu/Linux) y una vez instalada ejecútela, se le presentará la siguiente pantalla, observe la Ilustración 1.2:


Ilustración 1.2: Pantalla principal de la aplicación k3b

Una vez abierto el programa “k3b”, podrá ver las opciones que indican “Burn CD image” o “Burn DVD ISO image” seleccione la opción que se ajuste al medio introducido en su dispositivo de grabación y mediante el explorador de archivos usted podrá encontrar la imagen “.ISO” que desea grabar, luego de ello continué con los pasos y culminé el proceso de grabación.

Ahora usted ya tiene en su poder un disco compacto grabado y listo para la acción, ya puede proceder a instalar el sistema operativo Debian GNU/Linux.

1.8. Arrancando vía USB

En esta sección vamos a preparar una llave USB para utilizarla como medio de instalación del sistema. Este método es bastante atractivo ya que no se desperdician recursos de ningún tipo como CDs y, además, puede ser reutilizado infinidad de veces sin riesgos de pérdida de datos o fallas de lectura de los medios. Para realizar esto necesitaremos los siguientes elementos:

1 Dispositivo de almacenamiento USB de 512MB mínino (llave USB, pendrive).

2 El programa “mkfs.vfat”.

3 Un sistema Debian GNU/Linux funcional.

4 Acceso a la cuenta de superusuario (root) del sistema o permisos sudo.

5 Acceso a Internet para la descarga de archivos esenciales.

En este ejemplo que se muestra a continuación prepararemos una llave USB para instalar Debian GNU/Linux en un ordenador que cuenta con una arquitectura AMD64. Una vez que tengamos todos los elementos preparados procederemos a insertar nuestra llave USB en el computador donde corremos un sistema Debian, para poder preparar el dispositivo USB. Tome en cuenta que una vez hecho esto usted debe revisar sus dispositivos de almacenamiento para poder determinar el nombre bajo el cual el sistema reconoció el dispositivo USB, en nuestro caso la llave USB es reconocida como “/dev/sdb” si no conoce la forma de cómo hacer esto, pero sabe que el dispositivo fue montado correctamente por el sistema, puede hacer uso del comando “df” para averiguarlo o realizar la inspección de la salida del comando “dmesg”. En nuestro terminal de trabajo procedemos a ejecutar los siguientes comandos como superusuario.


Listo, eso es todo, pero discutamos un poco lo que hemos hecho para maximizar nuestro aprendizaje. Como mencionamos anteriormente nuestro dispositivo USB es “/dev/sdb” y lo más normal que ocurra, en un sistema completo y funcional Debian, es que al introducir la llave USB en el computador, el núcleo automáticamente monte el dispositivo para su uso inmediato, pero para las tareas primarias necesitamos que el dispositivo este presente pero no anclado a un punto de montaje. Así que lo desmontamos con la orden “umount /dev/sdb” seguidamente instalamos el paquete “dosfstools” que contiene el programa “mkfs.vfat”, necesitamos darle formato al dispositivo, esto lo logramos mediante la orden “mkfs.vfat -I /dev/sdb”, haciendo esto eliminamos cualquier dato almacenado en la llave USB y le damos el formato que necesitamos, usamos la bandera “-I” para que sencillamente se haga el trabajo completo en todo el dispositivo sin que se nos presente ninguna alerta por parte del programa. Mediante la aplicación “wget” obtenemos los primeros tres archivos necesarios para hacer de la llave USB un dispositivo válido de arranque, luego mediante la orden “zcat boot.img.gz > /dev/sdb” introducimos al dispositivo la imagen de arranque, luego creamos un directorio dentro de la carpeta de sistema “/media” usando “mkdir /media/usb” para usarla como punto de montaje, continuamos montando el dispositivo en dicha carpeta y copiamos los otros dos archivos restantes (initrd.gz, vmlinuz), luego nuevamente mediante “wget” obtenemos la imagen del sistema Debian para la arquitectura AMD64 en su versión estable para realizar una instalación vía red (Netinstall), y luego la copiamos al dispositivo. Para finalizar desmontamos y retiramos nuestra llave USB del ordenador, algunos de los comandos como “zcat boot.img.gz > /dev/sdb” y la última ejecución de “umount” pueden demorar un poco de tiempo, no se alarme porque esto es normal, simplemente espere a que el sistema le devuelva el intérprete de comandos para continuar o retirar el dispositivo USB. Eso es todo, ya puede dirigirse a su otro equipo y configurar su “BIOS” para el uso de USB como primer método de arranque, donde se le presentara la pantalla de instalación de Debian GNU/Linux.

1.9. Arrancando vía red

En algunos casos ocurre que deseamos instalar un sistema Linux pero no disponemos de discos compactos, ni llaves USB, ni discos tipo floppy, que son los medios tradicionales para la instalación de sistemas. Ya que poner en marcha este tipo de instalaciones es bastante sencillo, pero en estos casos podemos usar otra alternativa, el arranque vía PXE, TFTP y DHCP. Podemos configurar nuestro propio servidor para el hospedaje de un núcleo de arranque y mantener la compatibilidad con nuestra red local para poder utilizar la conexión a Internet. A continuación, explicaremos como lograr esta interesante y ahorrativa forma de instalar Debian GNU/Linux y cualquier otra distribución que desee ya que esta implementación podría aplicar a otros sistemas no sólo Debian. Para comenzar necesitaremos cubrir los siguientes elementos físicos (hardware):

1 Dos computadores servidor/cliente.

2 Dos tarjetas de red, una en cada equipo.

3 Un cable de red tipo punto a punto.

Ahora los requerimientos en software:

1 Debian GNU/Linux en el computador que será nuestro servidor.

2 Servidor TFTP.

3 Servidor DHCP.

4 Servidor DNS.

5 Acceso a la cuenta de administrador (root).

6 Una tabla de acceso de IPTABLES (cortafuegos de Linux) limpia para evitar problemas de conexiones o permitir los puertos TCP/UPD 53, 67, 68 y 69.

7 Conexión a Internet.

8 Y por último los archivos de arranque por red del instalador de Debian.

Deberemos conectar ambas tarjetas de red con el cable para establecer la comunicación entre los equipos, luego asegurarnos que el cliente tiene la posibilidad de arrancar por red, actualmente la gran mayoría de los computadores permite este tipo de arranque así que en nuestro terminal cliente nos debemos dirigir al “BIOS” y organizar el orden de arranque colocando como primer método el “Arranque por red” o “Network boot PXE”, una vez configurado el cliente estamos listos para configurar el servidor.

Como ya se había mencionado anteriormente en el equipo servidor, disponemos de un sistema funcional Debian GNU/Linux con conexión a Internet y acceso al superusuario (root) del sistema, ingresemos como root y procedamos a instalar el siguiente paquete mediante el comando:

#aptitude install tftpd-hpa

Durante la instalación de este paquete se le presentará una pantalla de tipo “dialog” en el terminal, se le preguntará la ruta raíz del servidor, por defecto esta ruta es “/srv/tftp/” pero esto puede cambiarse en el archivo de configuración si no desea dicha ruta. Una vez instalado el paquete deberemos dirigirnos a la ruta del archivo de configuración, la misma es la siguiente “/etc/default/tftpd-hpa”, podemos acceder a dicho archivo usando el editor de texto “nano” mediante el comando.

#nano /etc/default/tftpd-hpa

Dicho archivo deberá ser modificado, agregue las siguientes líneas:


Modificamos la ruta raíz del servidor TFTP “/var/lib/tftpboot” para no usar el punto raíz del sistema, guardamos el archivo con la combinación de teclas (Ctrl+O). Seguidamente crearemos la ruta especificada ya que no existe, esto último mediante el comando “mkdir”.


Para concluir con este paquete, reiniciaremos el demonio para que tome los cambios efectuados de la siguiente manera:

#/etc/init.d/tftpd-hpa restart

Listo esto concluye la instalación del servidor TFTP, fácil ¿verdad? muy bien. Ahora vamos a instalar nuestro servidor DHCP, necesitaremos instalar otro paquete. Ejecutemos en la terminal el siguiente comando como superusuario:

#aptitude install dhcpd3-server

Terminada la instalación de este paquete, nos dirigimos a configurar o crear el archivo de configuración de este servidor para poder otorgarle al cliente o los clientes las direcciones IP correspondientes y permitirles extraer los archivos necesarios para el arranque, ejecutemos lo siguiente en nuestro terminal como superusuario:

#nano /etc/dhcp/dhcpd.conf

Si el archivo no está vació respaldemos la información para no perder las configuraciones por defecto, esto por si queremos empezar de nuevo o nos sentimos inseguros, siempre es mejor respaldar, ahora ejecutemos lo siguiente:

#cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.back

Pero si el archivo está vacío, simplemente agreguemos lo siguiente dentro del mismo:


Ahora veamos de qué trata esto. En la primera línea vemos dos direcciones de Internet, estas son las direcciones DNS de su ISP (proveedor de Internet), si no las conoce usted puede consultar el archivo “/etc/resolv.conf” donde las encontrará. Sean estas las del ISP o las del servidor DNS de su red interna, de cualquier manera, utilícelas y colóquelas, ya que le permitirá tener acceso a la Internet durante la instalación. Los términos siguientes son “default-lease-time” y “maxlease-time”, el primero indica el número de segundos que el servidor repartirá la IP al cliente y el segundo el tiempo máximo de espera para que el cliente reciba la dirección, los siguientes términos son equivalentes al rango de direcciones que serán repartidas, seguidamente la directiva “filename” que especifica el archivo que debe ser transferido (pxelinux.0) del cual hablaremos más adelante, luego vemos la directiva “next-server 192.168.0.1” con esta opción especificamos donde se encuentra el servidor TFTP, en nuestro caso y por lo general es el mismo terminal donde estamos hospedando todos los demás servidores, pero si no fuera el caso con esta opción usted puede especificar donde está dicho servidor (dirección IP). Seguidamente las directivas de máscara de red y la puerta de enlace, ahora bien, recuerde ajustar estos datos según sea su entorno de trabajo (direcciones). Procedamos a guardar los cambios en el archivo (Ctrl+o). Para continuar lo siguiente que debemos hacer es instalar el paquete “dnsmasq” para ello volvamos a la terminal de comandos y ejecutemos:

#aptitude install dnsmasq

Al terminar nos dirigiremos a su respectivo archivo de configuración en el cual veremos algunas informaciones sobre los posibles ajustes que el programa permite realizar, “dnsmasq” es un ligero reenviador DNS y servidor DHCP bastante potente y con muchas funciones, la configuración que le ajustaremos es bastante simple y sencilla, ejecutemos en la terminal de comandos lo siguiente:

#nano /etc/dnsmasq.conf

Al abrir el fichero veremos que todo su contenido esta comentado, agregaremos la siguiente línea al principio del archivo:

dhcp-boot=pxelinux.0,libro,192.168.0.1

“libro” es el nombre del equipo (hostname) donde estamos instalando el programa “dnsmasq” y la respectiva dirección IP asignada a la tarjeta de red que nos comunicará con el equipo cliente, en este caso “192.168.0.1”. Guardamos los cambios (Ctrl+o) y volvemos a nuestro terminal de trabajo. Para poder reiniciar el demonio y seguir a la siguiente parte, procedemos de la siguiente manera:

#/etc/init.d/dnsmasq restart

Ahora la parte más importante, la configuración de PXE, los archivos necesarios, y el menú de arranque por el cual el cliente va a escoger la imagen del sistema, la cual le servirá para poder instalar el sistema operativo Debian GNU/Linux, volvamos al directorio raíz del servidor TFTP “/var/lib/tftpboot/” para realizar las operaciones restantes.


Dentro del nuevo archivo que estamos creando bajo el nombre “default” agregamos las siguientes líneas:


Guardemos los cambios y volvamos al terminal de trabajo, pero antes de continuar discutamos un poco esta última modificación, lo que estamos indicando en este archivo es la imagen del “núcleo” (kernel) y también el archivo “initrd” que se va cargar cuando iniciemos el proceso de arranque en el terminal cliente, además también la hacemos la imagen por defecto a cargar, en caso de que simplemente presionemos la tecla de entrada en vez de tipiar “SQUEEZE_i386_install”. Lo más seguro es que usted se esté preguntando ¿y estos archivos dónde están?, calma ya vamos a ir por ellos más adelante, primero crearemos el árbol de directorios necesario, otra cosa importante es que estamos instalando la versión de Debian estable para la arquitectura i386, no es de gran relevancia pero usted siempre debe estar atento a estos detalles. Bien, sigamos adelante con la creación de los directorios y archivos restantes, volvamos a la terminal de trabajo.


Listo, con esto obtendremos los archivos que especificamos en el fichero “default” en la posición correcta, ahora algo importante, si usted tiene un equipo de arquitectura diferente, examine esta URL “http://www.debian.org/distrib/netinst” para que pueda descargar los archivos correspondientes a su equipo, continuamos trabajando con los siguientes comandos:


Como se puede ver estamos creando un archivo llamado “boot.txt” este archivo será el menú con el cual podremos seleccionar la imagen que deseamos arrancar por la red, dentro de dicho archivo introduciremos la siguiente línea:

SQUEEZE_i386_install

Guardemos los cambios (Ctrl+o), salgamos del editor (Ctrl+x) y estaremos listos para arrancar nuestro cliente por red, pero antes verifiquemos que todos los demonios (servicios) estén corriendo adecuadamente, ejecutando en la terminal el siguiente comando:

#netstat –putan

Al ejecutar este comando, obtendremos una salida como la siguiente:


Cabe destacar que la salida del anterior comando le arrojara muchos más valores o resultados, pero usted debe estar atento a que estén presentes los mostrados anteriormente. Estamos listos para realizar una prueba encienda su equipo cliente verifique que el cableado esté en orden y, si no configuro el “BIOS”, hágalo ahora para que el arranque por red sea el primer método en ser chequeado. Se le presentará el menú guardado en el archivo “boot.txt” y solamente tendrá que presionar la tecla de entrada para arrancar el instalador de Debian GNU/Linux.

1.10. La instalación

Manos a la obra, lo primero que se debe hacer es la configuración del “BIOS” para ello debemos prestar atención al inicio del ordenador donde el fabricante del chipset proporciona las instrucciones para acceder al mismo. Ya dentro (BIOS) nos dirigimos a la sección de arranque del equipo y, dependiendo de la forma en que vayamos a instalar el sistema, escogemos según las opciones que se encuentren disponibles.

En esta sección explicaremos como instalar el sistema base de Debian GNU/Linux usando la imagen mínima del sistema, para realizar una instalación por red.

1.10.1. Requerimientos mínimos

 Imagen mínima del sistema correspondiente a la arquitectura del ordenador.

 Disco Duro mínimo de 500MB.

 Memoria RAM de 44MB.

1.10.2. Procedimientos

Como se explicó anteriormente, es necesaria la configuración previa del “BIOS” para indicarle al ordenador qué método de arranque debe usar, en nuestro caso usaremos la unidad de CDROM. Si la imagen y el proceso de configuración del “BIOS” es correcto, luego del chequeo de bajo nivel del computador, se le presentará la siguiente pantalla. Observe la Ilustración 1.3:

Como se puede ver se nos presentan distintas opciones: la instalación normal, la instalación gráfica, opciones avanzadas y la ayuda. La instalación gráfica obviamente no es más que una representación gráfica (haciendo uso de X) de la clásica interfaz del instalador de Debian. Es preferible escoger la instalación normal debido a que carga mucho más rápido y, además, recordemos el propósito del porqué está leyendo este libro “USTED QUIERE APRENDER”, debemos recordarnos siempre el deseo de aprender. Utilizando la herramienta gráfica para la instalación ciertamente nos presentará una forma atractiva de instalar el sistema, pero recuerde que la familia de sistemas operativos basados en UNIX y Linux no siempre cuentan con interfaces gráficas atractivas, esto quiere decir que mientras más se acostumbre usted al modo de trabajo en los sistemas basados en Linux o UNIX más confiado se sentirá a la hora de operar el sistema, la terminal y distintos programas que usan interfaces gráficas escasas.


Ilustración 1.3: Pantalla principal del instalador de Debian GNU/Linux versión estable (Squeeze)

Pero antes de irnos a seleccionar “Install” recorramos las opciones avanzadas del instalador, para ver qué opción interesante podemos encontrar en dicha sección. Al seleccionar las opciones avanzadas (Advanced options) se nos presentará la siguiente pantalla. Note la Ilustración 1.4:


Ilustración 1.4: Pantalla de opciones avanzadas del instalador de Debian GNU/Linux versión estable (Squeeze)

1.10.3. La instalación experta

Si usted es un novato aléjese de esta opción, la misma lo remite a una forma de instalación del sistema donde usted especifica de manera detallada muchas de las opciones que Debian está en capacidad de detectar por sí solo como, por ejemplo, los idiomas extras que desea instalar, la distribución del teclado o si desea cargar módulos al núcleo para tarjetas tipo pcmcia. En otras palabras, le preguntará mucho sobre cada detalle y si no está preparado para responder al sistema, podría tornarse frustrante para usted el instalarlo. De todas maneras, aliento a todos los lectores que, una vez tengan experiencia en el uso y administración del sistema, lleven a cabo este tipo de instalación en alguna oportunidad. De hecho podría planteárselo como una especie de prueba. Pero recuerde que no tratará simplemente de preguntas sobre el software de Debian como tal, sino de los componentes físicos (hardware) donde se está instalando el sistema operativo, así que tenga a mano el manual técnico de cada una de sus piezas para llevar este modo de instalación de manera óptima al éxito.

1.10.4. El modo de rescate

El modo rescate lo puede arrancar cuando usted posea una partición de Debian con un sistema de ficheros compatible y un punto de montaje raíz, de forma tal que pueda usar las herramientas ya instaladas para tratar su sistema en problemas. Muchas personas prefieren hacer uso de discos con sistemas en vivo (livecds) como podría ser el muy aclamado sistema Knoppix (Knoppix está basado en el sistema operativo Debian GNU/Linux y actualmente se ha establecido como el sistema en vivo por excelencia. Dicho proyecto se ha planteado como objetivo principal producir el mejor sistema en vivo posible para alentar a usuarios novatos a migrar de forma definitiva a GNU/Linux [http://www.knoppix.net/]). El sistema Knoppix aún sigue siendo muy popular por su gran calidad y consistencia, ya que cuenta con una gran cantidad de herramientas y el sistema gráfico ya empotrado, pero si indagamos en el humilde sistema de rescate de la imagen mínima de Debian GNU/Linux usted verá que incluso dicha imagen le proporciona una gran gama de herramientas para tratar sus sistemas perjudicados. Observe la Ilustración 1.5.


Ilustración 1.5: Pantalla del sistema de rescate de Debian GNU/Linux

Por lo general, ¿qué hacemos cuando entramos a un intérprete de comandos ya sea de un enrutador o sistema operativo? tipeamos “help” para ver los comandos disponibles. Como se puede ver en la ilustración 1-5 “help” nos revela solamente algunos comandos incorporados, pero si indagamos más allá y hacemos un “ls /bin” o “ls /sbin” veremos cómo se encuentra a nuestra disposición una gran gama de herramientas para tratar nuestros sistemas en problemas, proporcionadas por el fichero raíz montado previamente. Haga la prueba y se dará cuenta de porqué Debian es la distribución por la cual otras se guían.

1.10.5. La instalación automática

Es una de las opciones de instalación más sencillas que el instalador de Debian trae consigo, la misma dispara el instalador en un modo en el cual se trata de configurar todo sin realizar muchas preguntas y, de seguro, mientras está leyendo esto estará pensando que esta es la opción adecuada para usted, pero recuerde que cuando escoge esta opción el sistema toma decisiones por usted y esto no es conveniente. Recuerde que si está leyendo este libro es porque se desea tener control de todo, ya que en eso consiste la principal ventaja de usar software libre.

Entonces, las opciones avanzadas del instalador explican la instalación experta en modo gráfico, la opción de rescate en modo gráfico y la opción de instalación gráfica en modo automático. Estas opciones no son más que meras interfaces gráficas de lo previamente mostrado en modo consola, de manera tal que no vamos a estudiarlas.

La siguiente opción es “Alternatives Desktop enviroments”, una opción bastante conveniente. Seleccionando esta opción se nos presenta el menú que vemos en la Ilustración 1.6, donde se nos indica que el entorno de escritorio “Gnome” es el que se encuentra por defecto seleccionado. Esto se debe a que “Gnome” es el entorno de escritorio por defecto de la distribución Debian GNU/Linux. Pero haga caso omiso de estas opciones puesto que no utilizaremos el Internet en nuestra instalación del sistema base, así que no se podrá descargar nada.


Ilustración 1.6: Pantalla de selección de escritorios gráficos del instalador de Debian GNU/Linux versión estable (Squeeze)

Los entornos de escritorio listados en dicho menú son explicados en el “Capítulo 6” de este libro, además de otros que no están mencionados en dicho menú, existen muchos entornos gráficos para Debian GNU/Linux, cada uno tiene distintos objetivos, más adelante instalaremos y explicaremos distintos entornos gráficos. Volvamos atrás en las pantallas seleccionando “Back …”.

¡Pero hay más!, existen otras opciones del instalador, mucha gente ignora la opción de ayuda (help) donde aguardan más opciones y más importante aún, más conocimiento sobre cómo instalar el sistema. Si seleccionamos la opción ayuda conseguiremos otro menú de opciones en el cual se nos indica que presionando las teclas de funciones podemos obtener distintas informaciones relevantes a la instalación.

Veamos más acerca de esas opciones y parámetros que podemos pasar al núcleo al momento del arranque. Presionando la tecla “F3” de nuestro teclado, se nos presentará un menú con la sintaxis que dispara cada una de las opciones posibles mostradas en el menú principal de instalación del sistema, como por ejemplo:

 install

 installgui

 expert

 expertgui

Como es obvio saber lo que cada una hace, ya que sus nombres son bastante intuitivos, no perderemos tiempo hablando de ellas. Regresemos al menú con la tecla “F1” y, seguidamente, presionanado la tecla “F4” veremos las opciones del modo de rescate, que nos señalan lo siguiente:

 rescue

 rescuegui

Igual que en el menú previo los nombres indican claramente que se puede iniciar el modo de rescate a nivel de consola con la orden “rescue” y el modo de rescate con gráficos mediante la orden “rescuegui”. Ahora volvamos al menú de ayuda con la tecla “F1” y, presionando la tecla “F6”, se nos presentará el menú de las opciones y parámetros especiales al momento del arranque. Recordemos que esto es muy útil si tenemos un hardware muy quisquilloso como podrían ser los floppys de algunas antiguas portátiles thinkpads, entre otros. Usted debe saber que estos no son los únicos parámetros que se pueden pasar, existen muchos más, seguidamente vamos explicar y definir algunos de ellos.

1.10.6. El argumento hd

Hace referencia al controlador estándar de discos duros, el cual acepta tres argumentos, “C/H/S”, lo cual se traduce en cilindros, cabeceras y sectores. Usted debe saber que este argumento no acepta ni más ni menos opciones, es decir, si usted necesitara pasar este argumento al núcleo (kernel) es preciso que indique las tres informaciones, de lo contrario no funcionará y, lo que es peor, el sistema no reportará ningún error.

La sintaxis de este argumento es la siguiente:

hd=cils,cabrs,sects

1.10.7. El argumento reserve

En algunas máquinas es necesario prevenir que los controladores de los dispositivos realicen chequeos en regiones específicas, debido a un mal diseño del hardware (dispositivo físico), lo que hace que el proceso de arranque presente fallas o hasta la congelación. Un ejemplo de estos dispositivos podrían ser las tarjetas de red. También para dispositivos mal identificados o simplemente los que no son deseables inicializar por el núcleo (kernel).

Este argumento permite identificar esa región y así indicarle al núcleo que la misma no debe probarse o inicializarse. Esta opción es muy poco usada ya que sólo es necesaria en casos especiales. A continuación, un ejemplo de un posible uso de este argumento:

reserve=0x300,32 expc=0x300

1.10.8. El argumento VGA

Otra opción importante que vale la pena destacar es el argumento VGA que también se muestra en el menú de opciones y parámetros especiales. Como ya sabemos no todos los ordenadores son iguales, tampoco lo son las pantallas, algunas poseen resoluciones especiales para programadores, donde la altura de la pantalla es más grande que la anchura porque es más cómodo para los programadores estudiar largos documentos de código con estos dispositivos. Pasando el parámetro correcto de VGA al momento del arranque nos aseguramos de que se pueda visualizar correctamente todo el contenido que se muestra por pantalla.

A continuación, en la Tabla 1.2 se muestran los respectivos códigos para distintas resoluciones de pantalla:

Tabla 1.2: Códigos para el ajuste de la resolución de pantalla a bajo nivel


De esta manera, podemos obtener la resolución deseada al momento del arranque. A pesar de que no es altamente necesario, si deseamos obtener la mejor resolución posible es muy útil, en caso de que no se detecte correctamente de manera automática. Distribuciones de Linux como Elive han hecho trabajos estupendos con su proceso de arranque creando un acabado bastante pulido en sus terminales lo que da una apariencia profesional y limpia, por supuesto la distribución previamente mencionada también está basada en Debian GNU/Linux.

1.10.9. El argumento console

El siguiente parámetro mencionado en el menú es “console”. Este parámetro permite fijar una consola serial de manera tal que si se llegara a presentar el caso de que necesitemos realizar tareas de mantenimiento, reparación o administración en un equipo que no disponga de teclado ni monitor, podamos accesar a él desde una consola remota, de la misma manera como se realizaría, por ejemplo, en enrutadores y conmutadores. La sintaxis de este argumento es la siguiente:

console=dispositivo,opciones

A continuación, en la Tabla 1.3 se le presentan posibles valores para el campo “dispositivo” de este argumento:

Tabla 1.3: Descripción de opciones para el argumento console


Dispositivo Descripción
tty0 Para la consola virtual de primer plano.
ttyX Para cualquier otra consola virtual.
ttySx Para el puerto serial.
lp0 Para su primer puerto paralelo.
ttyUSB0 Para su primer dispositivo serial USB.

Las opciones dependerán del dispositivo. Para el puerto serial puede declarar la velocidad de transmisión, la pariedad y el control de flujo del puerto en el siguiente formato “BBBBPNF”, donde “BBBB” es la velocidad, la “P” es la pariedad, “N” para el número de bits y la “F” es el control de flujo (‘r’ para RTS). La velocidad de transmisión máxima es de 115.200 baudios.

Por ejemplo:

console=ttyS1,9600 console=tty0

De esta manera, los mensajes del núcleo aparecerán en ambas, la consola VGA y en el puerto serial (ttyS1 o COM2) a 9600 baudios. Tenga en cuenta que sólo puede definir una sola consola por dispositivo de tipo serial. Pero no nos quedemos solo en palabras, aprendamos cómo crear una consola virtual en caso de que no queramos usar las que se encuentran disponibles.


De esta manera, podemos crear terminales virtuales y realizar las pruebas sin necesidad de correr riesgos. Cabe destacar que también existe un módulo en el núcleo de Linux (Kernel) llamado “netconsole” con este argumento podemos hacer lo mismo que con “console” sólo que vía red. Este módulo tiene la funcionalidad de la creación de registros (logs) y captura la mayor parte del proceso de arranque. La sintaxis de este módulo es la siguiente:


Observemos la Tabla 1.4 donde podremos apreciar una breve explicación sobre estas opciones:

Tabla 1.4: Descripción de opciones para el argumento netconsole


Opciones Descripción
src-port Puerto UDP fuente (por defecto 6665).
src-ip Dirección IP de origen (dirección de interfaz).
Dev Nombre de la interfaz de red.
tgt-port Puerto objetivo (por defecto 6666).
tgt-ip Dirección IP para el programa de registro
tgt-macaddr Dirección MAC para el programa de registro (difusión)

Ejemplo:


Pero no ha de contar con este argumento en la versión del núcleo (kernel) que se empaca con la imagen de sistema tipo “netinstall”, sólo luego de instalar el sistema base y de haber actualizado el núcleo (Kernel) podrá disponer de este módulo.

1.10.10. El argumento all_generic_ide

Este parámetro le indica el núcleo (kernel) que al cargar debe usar el controlador genérico para los dispositivos tipo IDE, se habilita igualando el argumento a “1”.

1.10.11. Los argumentos noapic/nolapic

Controlador avanzado de interrupciones programable (APIC). El argumento “noapic” hace referencia al uso de IO-APIC, mientras que el argumento “nolapic” se refiere al uso de APIC locales (alias para la compatibilidad con la arquitectura i386).

1.10.12. El argumento nousb

Como su nombre lo indica, desactiva todo soporte USB del núcleo (kernel), por lo tanto no es recomendable implementarla a menos que se le presenten errores con módulos como “usbcore”, “nls_cp437”, debido a que estos son necesarios para el uso de llaves USB, entre otros dispositivos que utilicen esta tecnología.

1.10.13. El argumento irqpoll

Antes de hablar sobre este parámetro entendamos primero de qué estamos hablando. ¿Qué es IRQ?, es un acrónimo que hace referencia a una petición de interrupción de un dispositivo. Esta petición puede ser recibida como un pin o como un paquete. Recordemos que varios dispositivos pueden estar conectados a un mismo pin y por ende comparten una IRQ.

Entonces, cuando una interrupción no es manejada o producida, “irqpoll” habilita la búsqueda en todos los controladores de interrupción para solventar el problema detectado, así como también comprobar todos los controladores en cada interrupción del reloj. Con ello se pretende detectar firmwares con problemas y así lograr una corrida limpia.

Con esto cubrimos la parte de opciones especiales que nos son presentadas en el menú del instalador de Debian en su versión “Netinstall”. Pero que esto no lo engañe, ya que existen muchas más opciones. A continuación mostraremos algunas de las más interesantes.

1.10.14. El argumento panic

Con este argumento podemos definir el número de segundos que deben pasar para que luego de un error en el núcleo de nivel “Kernel Panic” el computador pueda reiniciarse sin ninguna intervención. Esto también puede indicarse fuera del parámetro de arranque de la siguiente manera.

Ejemplo:

echo 10 > /proc/sys/kernel/panic

1.10.15. El argumento max_cpus

Con este argumento podemos especificar el número máximo de CPUs que un núcleo de tipo SMP puede usar, aun si hay más procesadores presentes en el sistema.

Ejemplo:

maxcpus=n

1.10.16. El argumento root

Este argumento le indica al núcleo qué dispositivo contiene el sistema de ficheros raíz. En otras palabras, digamos que usted posee otra instalación de Debian GNU/Linux, la cual cuenta con otro sistema de fichero raíz, usted puede indicar el nombre del dispositivo que contiene esa otra imagen, por ejemplo “/dev/sdaN”. Actualmente, en las últimas versiones del núcleo de Linux, se incorpora el uso de etiquetas para enmascarar los dispositivos, como por ejemplo:

root=UUID=ef51590a-0e4a-42bc-a6ac-25a38d6

En el capítulo 7 de este libro estudiaremos con un poco más de profundidad estas etiquetas y conoceremos el porqué de su existencia. Cabe destacar que usted puede cambiar el nombre de las etiquetas de sus dispositivos mediante el comando “e2label” o “tune2fs”.

1.10.17. El argumento rootdelay

Este argumento tiene la capacidad de fijar un número de segundos antes de que el sistema intente montar el punto raíz (/). Esto puede llegar a ser muy útil cuando dicho sistema de archivos se encuentra, por ejemplo, en una llave USB.

Ejemplo:

rootdelay=n

1.10.18. El argumento ro

Cuando el núcleo (kernel) realiza su proceso de arranque, necesita un sistema de archivos raíz para leer datos de suma importancia, de manera tal que monta dicho sistema de archivos en modo de solo lectura (read only) con la finalidad de que programas, como por ejemplo “fsck”, puedan arrancar y proceder de manera segura. Es altamente peligroso hacer esto en modo de lectura y escritura ya que podría ocasionar daños severos en el sistema de ficheros y, por ende, pérdida de datos. Usted podrá notar que una vez instalado su sistema, este parámetro es automáticamente establecido en la línea de arranque de “Grub” el gestor de arranque por defecto de Debian en la ruta y archivo “/boot/grub/menu.lst”.

Ejemplo:


1.10.19. El argumento quiet

Este argumento va de la mano con el “loglevel”, desactiva todos los mensajes que el núcleo del sistema está capacitado para reportar al momento del arranque y lo limita a sólo enviar mensajes realmente serios y críticos. El valor por defecto de este parámetro es el número 4, usted puede chequear en caliente el valor del “loglevel”, visualizando el archivo “printk” en la ruta “/proc/sys/kernel/”.

Ejemplo:


Como puede ver se encontrará con “4” dígitos, vamos a definirlos para alcanzar la mejor comprensión posible:

 El primer dígito define el nivel de registro de la consola (console_loglevel) mientras más alto es el número, más cantidad de información recibirá en el arranque, el valor por defecto es “4”, sólo mensajes importantes serán mostrados.

 El segundo dígito hace referencia a los mensajes por defecto (default_mesage_loglevel).

 El tercer dígito es el valor mínimo (minimum_console_level) de la prioridad más alta que se puede fijar al registro de la consola de arranque.

 El cuarto dígito es la prioridad por defecto para el registro de la consola (default_console_loglevel).

Para cambiar estos valores en caliente podemos ejecutar el siguiente comando:

#echo 7 7 7 7 > /proc/sys/kernel/printk

Y si queremos aún más información no olvidemos el argumento “earlyprintk” que muestra mensajes del núcleo que preceden a los de la tradicional “console”. Estos mensajes nunca son vistos a menos que se use esta opción, pueden ser mostrados vía VGA o en un dispositivo serial pero no al mismo tiempo. Quizás todo esto le suene muy abstracto y trivial, permítame ejemplificarlo de manera más sencilla, imagine lo siguiente, usted termina la instalación del sistema Debian o termina una actualización, llega el momento de arrancar o reiniciar y cuando lo hace incontrolables mensajes de error de detección de un dispositivo USB aparecen frente usted, los mismos no se detienen y no le permiten ver nada de lo que está pasando, no sólo eso, el sistema termina de cargar al punto de que llega el momento de introducir el usuario y contraseña para ingresar al sistema pero los mensajes no se detienen, de alguna manera usted logra introducirlos correctamente, entra al sistema y los mensajes continúan persistiendo sin parar, comienza el pánico y la frustración. En ese momento es donde el comando “echo 0 0 0 0 > /proc/sys/kernel/printk” acaba con la locura y restablece el orden natural de las cosas, es la forma de erradicarlos y volver al trabajo. Créame cuando le digo que no olvide este comando, podría ahorrarle muchas molestias.

1.10.20. El argumento initrd

El disco RAM inicial “initrd” es un sistema de archivos raíz que se monta antes de que el sistema de archivos raíz real esté disponible. El “initrd” se une al núcleo y se carga como parte del procedimiento de arranque. El núcleo entonces monta este “initrd” como parte de un proceso de dos etapas, para poder cargar los módulos necesarios para que, a su vez, los sistemas de archivos reales puedan ser cargados.

Este argumento es muy importante, digamos que más adelante usted decide que el kernel empaquetado en el disco de instalación de red de Debian no es suficiente o no detecta parte de sus dispositivos y decide que debe compilar un núcleo de sistema, el más nuevo disponible, deberá generar un disco RAM inicial para ese nuevo núcleo y con este parámetro usted podrá especificar la ubicación del mismo.

Ejemplo:

initrd /boot/initrd.img-2.6.26-2-686

Con esto es más que suficiente para cubrir esta área, pero no olvidemos que estos parámetros no son todos los disponibles, existen muchos más, sin embargo con los mencionados previamente usted ya está manejando información avanzada. Para conocer más sobre esto es recomendable acudir a la documentación del núcleo (kernel) de Linux.

Continuando con la revisión del menú de instalación, al presionar la tecla “F7” se nos muestra un menú con más opciones que se pueden pasar al arranque, esta vez netamente dedicadas a los controladores sobre discos duros, veamos más sobre estos argumentos. Estas opciones aplican a discos tipo IDE usted debe saber que en Linux los discos IDE son identificados mediante la nomenclatura “hdx” donde “x” puede ser “a”, “b”, “c” hasta la letra “h” mientras que los discos tipo SATA - SCSI son identificados bajo la nomenclatura “sdx” (sda, sdb, sdc), esto lo estudiaremos en profundidad más adelante, por ahora concentrémonos en los argumentos que podemos usar con respecto a estos dispositivos. En la Tabla 1.5 detallaremos las opciones con su respectiva descripción.

Tabla 1.5: Opciones de arranque para el tratado de discos duros tipo IDE


Opción Descripción
hdx=noprobe El disco puede estar presente pero se indica que no se desea su prueba.
hdx=none El dispositivo no está presente, se ignoran indicaciones enviadas por el CMOS y no se comprueba la unidad.
hdx=cdrom El dispositivo está presente y es una unidad de CDROM.
hdx=cilindros,cabeceras,sectores El disco está presente y posee la siguiente geometría.
hdx=autotune Indica al controlador de la unidad que intente ajustar la velocidad óptima.

Aunque sabemos que hoy en día los computadores no utilizan discos tipo IDE es importante saber estos parámetros ya que lo familiarizan con la forma de trabajo y el estilo de los sistemas basados en UNIX y Linux. Pasemos a la siguiente pantalla. Presionando la tecla “F8” podremos ver más opciones que se pueden pasar al núcleo al momento del arranque, esta vez dedicadas a la propia instalación del sistema.

1.10.21. El argumento fb

Este argumento hace referencia a la capa independiente de abstracción de vídeo de Linux (framebuffer), este parámetro le permite hacer uso de una interfaz genérica de vídeo a través de muchos dispositivos. En otras palabras, le permite tener una consola más rica en gráficos como, por ejemplo, el uso de colores, despliegue de imágenes, entre otros. Este argumento por defecto está habilitado, así que puede desactivarlo mediante:

fb=false

1.10.22. El argumento hw-detect/start_pcmcia

Este argumento le permite desactivar el intento de detección de sus dispositivos de tipo PCMCIA. Mediante:

hw-detect/start_pcmcia=false

1.10.23. El argumento netcfg/disable_dhcp

Permite desactivar el descubrimiento del servidor DHCP de su proveedor de Internet o red interna, si habilita esta opción el instalador le proporcionará una serie de diálogos donde se le solicitará que asigne una dirección IP, la máscara de subred, la puerta predeterminada de enlace, además del nombre del dominio y las direcciones del servidor DNS. Tenga toda esta información a la mano, si decide pasar este argumento al núcleo.

Ejemplo:

netcfg/disable_dhcp=true

1.10.24. El argumento bootkbd

Fija el mapeo del teclado, esto en realidad no es necesario que sea tratado en su línea de instalación ya que el mapa del teclado por defecto (ingles) le servirá sin problemas, luego podrá ser cambiado dentro del mismo instalador. Ejemplo:

bootkbd=es

1.10.25. El argumento desktop

Le permite fijar el entorno gráfico que desea instalar, las opciones “KDE”, “Lxde”, “Xfce” y el entorno gráfico “Gnome” el cual está seleccionado por defecto.

El resto de las opciones en el menú son para personas con impedimentos físicos, pero no indagaremos sobre estas opciones debido a que asumo que el lector no los posee.

Procedemos a revisar la siguiente pantalla, presionemos la tecla “F9”, esta pantalla nos informa dónde podemos conseguir ayuda. El proyecto Debian cuenta con muchísima documentación sin mencionar que muchas otras distribuciones de Linux están basadas en el sistema Debian, por ende puede que mucha de la documentación generada por esas otras distribuciones aplique también a Debian.

Siéntase libre de experimentar con todos los parámetros que sean necesarios para su sistema, tenga en mente que el instalador de Debian es bastante estable y maduro y lo más probable es que usted no necesite pasar argumentos al núcleo.

Muy bien, no más teoría es hora de la acción, vamos a instalar el sistema base. Para comenzar podría sugerirle la siguiente línea para disparar el instalador:

/install.386/vmlinuz vga=789 initrd=/install.386/initrd.gz –quiet

Esta línea aplica a la imagen de sistema diseñada para la arquitectura i386, disparará el instalador en modo texto a nivel normal y con una agradable resolución de “800x600”. Si lo desea simplemente presione la tecla de entrada en la opción del menú principal “Install”.

1.11. Iniciando la instalación

Cualquiera que haya sido el método para iniciar la instalación del sistema operativo Debian GNU/Linux, luego de arrancar el núcleo, a usted se le presentará la primera pantalla del instalador, dentro de ella podrá desplazarse con las teclas de flechas arriba y abajo. Además, con la tecla tabulador usted podrá moverse hacia las opciones del menú, por lo general estas opciones son para regresar en las pantallas o para confirmar una selección. Esta es la primera pantalla del instalador, en ella podrá hacer la selección de idioma, puede moverse más rápido entre las opciones presionando la primera letra del idioma que desea escoger, en nuestro caso la letra “S” para acércanos lo más posible entre las opciones al idioma “español” (spanish). Observe la Ilustración 1.7:


Ilustración 1.7: Menú de selección de lenguaje del instalador de Debian GNU/Linux

Seleccione con la tecla de entrada y siga a la siguiente pantalla. Como puede observar, el idioma de la interfaz cambio a su idioma de preferencia y ahora es momento de escoger el lenguaje del nuevo sistema Debian, en la interfaz del instalador se le indica que basándose en su selección anterior usted puede encontrarse en una lista de países que se le es suministrada, en este caso presionando la letra “V” el rectángulo rojo de selección se mueve directo a “Venezuela”. Observe la Ilustración 1.8:


Ilustración 1.8: Menú de selección de idioma para el nuevo sistema Debian GNU/Linux


debian-TOKeN

El proyecto Debian posee dos logotipos uno para uso oficial y otro para uso abierto. ¡Conózcalos!



La siguiente pantalla es el mapa del teclado, el rectángulo de selección rojo debería posicionarse automáticamente en la opción “español”, si no es así diríjase a dicha opción con las teclas de movimiento (flechas) y presione la tecla de entrada. Observe la Ilustración 1.9:


Ilustración 1.9: Menú de selección de mapeo de teclado del instalador de Debian GNU/Linux

Antes de continuar con la instalación asegúrese de que el equipo no está conectado a la Internet. Seguidamente el instalador realizará las tareas de detección y montaje del CDROM, el sistema cargará los componentes del CDROM y pasará a la detección de la red. Es este un paso muy importante, es necesario que el sistema detecte los dispositivos de red para que usted pueda conectarse a Internet, descargar programas y actualizaciones para el sistema. Asegúrese de contar con dispositivos de red compatibles con Linux.

El sistema de instalación tratará de obtener una dirección IP para su equipo, como el mismo no está conectado a ninguna red, se provocará un error como se muestra en la Ilustración 1.10.


Ilustración 1.10: Pantalla de error producido por intento de detección de red fallida del instalador de Debian GNU/Linux

No se preocupe por esto, se corregirá más adelante, el propósito de esta medida es acelerar el proceso de instalación, cuando el sistema este implementado conectaremos el equipo a la red local o a la Internet directamente.

Si el equipo estuviera conectado a Internet, automáticamente el instalador le proporcionaría una serie de menús que le permitirían actualizar el sistema e incluso realizar varias clases de configuraciones automáticas, como por ejemplo:

 Configuración para equipos de escritorio.

 Servidor de base de datos.

 Servidor HTTP.

 Servidor de impresión.

Aunque esto parezca conveniente de forma inmediata, no es lo que buscamos ya que estaríamos dejando que el sistema tome decisiones por nosotros y eso nunca es conveniente, además nos estaríamos pasando por alto temas importantes, como la actualización a mano y ciertas configuraciones que son necesarias aprender para futuras operaciones. De forma tal que no llevaremos a cabo este tipo de instalación, continúe seleccionando “No configurar la red en este momento”. Observe la Ilustración 1.11.


Ilustración 1.11: Pantalla de opciones de configuración de red del instalador de Debian GNU/Linux

Seguidamente, se le pedirá que introduzca el nombre del equipo (hostname), entonces escoja el nombre del equipo y presione la tecla de entrada. La siguiente tarea es realizar un correcto esquema de particiones, vamos realizar dos esquemas de particiones, uno para equipos de uso personal y otro orientado a equipos que funcionaran como servidores o equipos de producción.

Una partición de disco, en informática, es el nombre genérico que recibe cada división presente en una sola unidad física de almacenamiento de datos. Toda partición tiene su propio sistema de archivos (formato); generalmente, casi cualquier sistema operativo interpreta, utiliza y manipula cada partición como un disco físico independiente, a pesar de que dichas particiones estén en un solo disco físico. A continuación, definimos los tres tipos de particiones:

1.11.1. Partición primaria

Son las divisiones crudas o primarias del disco, solo puede haber “4” de éstas o “3” primarias y una extendida. Un disco físico completamente formateado consiste, en realidad, en una partición primaria que ocupa todo el espacio del disco y posee un sistema de archivos.

1.11.2. Partición extendida

También conocida como partición secundaria, es otro tipo de partición que actúa como una partición primaria; sirve para contener infinidad de unidades lógicas en su interior. Fue ideada para romper la limitación de “4” particiones primarias en un solo disco físico. Sólo puede existir una partición de este tipo por disco y sólo sirve para contener particiones lógicas.

1.11.3. Partición lógica

Ocupa una porción de la partición extendida o la totalidad de la misma, la cual se formatea con un tipo específico de sistema de archivos (FAT32, NTFS, EXT2, …). Puede haber un máximo de “23” particiones lógicas en una partición extendida. Linux impone un máximo de “15”, incluyendo las “4” primarias en discos SCSI y en discos IDE un máximo de “63”.

La Ilustración 1.12 muestra la pantalla de la primera etapa que hace referencia al proceso de particionado de discos duros. Preste mucha atención a los siguientes pasos.


Ilustración 1.12: Pantalla de la primera etapa del particionado de discos duros del instalador de Debian GNU/Linux

El instalador por defecto posiciona el recuadro selector rojo en la opción de particionado “guiado – utilizar todo el disco” utilice las flechas de selección para moverse entre las opciones hasta llegar a la opción “Manual”, presione la tecla de entrada y sigamos adelante. El primer esquema de particiones que haremos está dirigido al ordenador de escritorio.

1.12. Esquema de particionado para equipo de escritorio

Para entender con mejor claridad lo que debemos hacer en esta sección simulemos que estamos instalando el sistema en un computador que posee 500GB de disco duro y 2GB de memoria RAM, debemos dividir el espacio del disco duro de manera balanceada. Observe la Tabla 1.6 donde se detalla el primer esquema de particionado:

Tabla 1.6: Primer esquema de particionado para equipo de escritorio


Punto de montaje Espacio Aproximado
/ (punto raíz) 50GB
Partición de intercambio (SWAP) 256MB
/home Todo el espacio restante

En este otro caso, el equipo donde vamos a instalar el sistema Debian es una máquina que dispone de un disco de 40GB y 256MB de memoria RAM, así que dividiremos el espacio de una manera acorde a estos datos. Observe la Tabla 1.7 donde se detalla el segundo esquema de particionado:

Tabla 1.7: Segundo esquema de particionado para equipo de escritorio


Punto de montaje Espacio Aproximado
/ (punto raíz) 10GB
Partición de intercambio (SWAP) 128MB
/home Todo el espacio restante

Este esquema es bastante estándar y probablemente usted ya sepa de él, se crean tres particiones en el sistema, separando el directorio raíz, el área de intercambio (SWAP) y el directorio “/home” del usuario, con fines de seguridad e integridad, ya que si el sistema raíz por algún motivo se dañara de manera irreparable sus datos e información estarán seguros, puesto que separó el directorio de su usuario de la partición raíz, por ende sería fácil recuperarlo cargando dicha partición en un sistema alterno como podría ser un sistema en vivo.

Como se puede notar, existen detalles interesantes entre el modelo de particionado de la tabla 1.6 y la tabla 1.7, el más notable es la partición de intercambio (SWAP). Es decir el primer modelo cuenta con 2GB de memoria RAM y el otro sólo posee 256MB entonces, ¿por qué las particiones de intercambio (SWAP) tienen tan poca diferencia? la respuesta es simple 1GB, 2GB, 3GB, 4GB de memoria RAM es mucha memoria, la partición de intercambio es un artificio informático diseñado con el único propósito de que, en caso de que la memoria física del sistema esté llena con procesos y tareas, el mismo pueda acudir a la partición de intercambio y compartir la carga.

Anteriormente, cuando la memoria RAM era escasa, el área de intercambio era primordial, pero con el paso del tiempo la electrónica fue mejorando y nuevas memorias con mucha más capacidad salieron al mercado, entonces ahora que los sistemas de cómputo disponen de mucha memoria RAM, no es necesario seguir aquella vieja regla que decía que el área de intercambio debe ser el doble de la memoria RAM, ni tampoco la mitad de la misma. Además, piénselo un instante, si se posee 4GB de memoria RAM ¿qué es lo que va a hacer?, ¿crear una partición de 8GB para el área de intercambio? por supuesto que no. El caso de la tabla 1.7 es diferente, en este esquema si aplica colocar un poco más de espacio en la área de intercambio, hasta llevarlo a la mitad de la memoria física, sencillamente porque la misma (256MB) es muy limitada entonces, sólo en casos así, sí se podría considerar la vieja regla mencionada antes y más aún si dicha maquina va realizar trabajos pesados, entonces, incluso podría subir el espacio del área de intercambio al doble de la memoria física; es decir 512MB y aun sería sensato.

Otro detalle importante es el espacio de la partición destinada al punto raíz del sistema, en el esquema detallado en la tabla 1.7, el punto raíz del sistema posee 10GB, quizás usted esté pensando que es muy poco, pero no lo es, de hecho es más que suficiente si escoge cuidadosamente las aplicaciones que va a usar más tarde. Pero, claro, recuerde que al final usted es el que decide, si se le presentara la situación de instalar Debian GNU/Linux en un computador con características similares y usted se siente más confiado otorgando más espacio, hágalo y continué.

Ahora volvamos a nuestro caso real, nuestra máquina posee 40GB de disco duro y 1GB de memoria RAM, así que vamos a proceder a crear nuestro esquema de particiones. Note la Ilustración 1.13.


Ilustración 1.13: Inicio del proceso de particionado

Como se puede ver, en cualquier momento puede volver al menú de particionado guiado y, además, también dispone de una sección de ayuda que puede consultar, en caso de que se encuentre con una duda o tenga algún percance.

Seleccione el espacio libre, presione la tecla de entrada y escoja en el menú siguiente “Crear una partición nueva”, seguidamente ajuste el tamaño de dicha partición (tome en consideración la información previamente presentada en las tablas 1.6 y 1.7) y seleccione “Continuar”. El sistema le preguntará qué tipo de partición es la que está creando, cómo estamos haciendo una instalación fresca y no existe una previa tabla de particiones, crearemos una partición “Primaria”. Luego el instalador nos preguntará la ubicación de esta partición, seleccionaremos “Principio”, con el objetivo de establecer la recién creada partición como primera en el esquema. Por defecto el instalador le presenta la siguiente pantalla. Observe la Ilustración 1.14.


Ilustración 1.14: Menú de configuración de particiones del instalador de Debian GNU/Linux

Lo cual está en perfecto orden así que vamos a dirigirnos a la opción “Se ha terminado de definir la partición”. Obtendrá un resultado como el que se muestra en la Ilustración 1.15.


Ilustración 1.15: Resultado de la anterior operación

Seleccione el espacio libre y cree una nueva partición, esta segunda partición será el área de intercambio (SWAP). Recuerde evaluar la capacidad de memoria física de su equipo. Continuando con los pasos del instalador, se le preguntará la ubicación de la nueva partición, seleccione “Principio” y en la siguiente pantalla diríjase a la opción “Utilizar como”, verá allí el menú representado en la Ilustración 1.16.


Ilustración 1.16: Creando el área de intercambio (SWAP)

Una vez seleccionada el “área de intercambio” se le redirigirá a una pantalla donde usted seleccionará “Se ha terminado de definir la partición”. Debería obtener el siguiente resultado, observe la Ilustración 1.17.


Ilustración 1.17: Resultado de la anterior operación


debian-TOKeN

¿Sabía usted que Debian GNU/Linux es compatible con más de 30 tipos de sistemas de archivos distintos? incluyendo sistemas de ficheros encriptados como ECryptfs


Seleccione el espacio libre restante, cree una nueva partición, utilice todo el espacio disponible del disco, cuando se le presente el menú de “Configuración de la partición”, se dará cuenta de que, por defecto, el instalador ha configurado la partición correctamente y el punto de montaje debe ser “/home”. Dirigirse a la opción “Se ha terminado de definir la partición”. Debería obtener el siguiente resultado, note la Ilustración 1.18.


Ilustración 1.18: Resultado de la operación anterior

Si todo es correcto, usted se encuentra listo para continuar la instalación, puede dirigirse a la opción “Finalizar el particionado y escribir los cambios en el disco”.

1.13. Esquema de particionado para servidores

En esta sección del libro vamos a estudiar un modelo de particionado para equipos de producción, para esto necesitaremos más de tres particiones a diferencia de los modelos anteriores, veamos de qué trata. El esquema de particionado en equipos que recibirán múltiples conexiones y solicitudes locales y vía red debe ser cuidadosamente estudiado ya que los mismos están sujetos a posibles ataques informáticos, es por eso que debemos prestar atención a detalles como estos, ya que gracias a estas medidas, podemos prevenir o mitigar ataques de denegación de servicio, llenado del espacio disponible en el disco o, en caso de desastres, es muy conveniente contar con un buen esquema de particiones, esto ayuda a separar y poder controlar mejor la información que se posea en el equipo. Note el diseño planteado en la Tabla 1.8.

Tabla 1.8: Esquema de particionado para equipos servidores


Punto de montaje Propósito
/ (punto raíz) La raíz del sistema, contendrá todos los otros directorios que no sean separados.
Partición de intercambio (SWAP) El área de intercambio.
/home Hace a los usuarios independientes del sistema, esto es muy conveniente cuando se realizan tareas de respaldo, restauración, actualización o migración de un sistema a otro.
/var Mantiene los registros de corrida del sistema separados. Manteniendo este punto de montaje en una partición ajena a la raíz del sistema nos aseguramos de que, debido a la actividad del servidor, el disco entero no se llene de registros, provocando una denegación de servicios.
/tmp El directorio “/tmp” es muy parecido a “/var” puede ser accesado por los procesos de los usuarios, haciéndolo un objetivo de ataques de denegación de servicio, por ende separándolo del punto raíz, prevenimos que el disco sea llenado con procesos zombies que perjudiquen el sistema, afortunadamente Debian GNU/Linux cuenta con “tmpfs” el cual actúa como una memoria volátil en el directorio “/tmp” y lo limpia después de cada reinicio del sistema.
/boot Contiene el núcleo (kernel) de Linux, los controladores iníciales (initrd) y los datos del gestor de arranque. Esta partición no tiene que ser montada para que se dé el proceso de arranque, ya que “Grub” (gestor de arranque de Debian GNU/Linux) carga el núcleo del sistema en una lista de sectores desde el disco duro. De manera tal que no podrán ocurrir accidentes, como la sobrescritura de archivos.

Este esquema es bastante seguro y genérico, muy adaptable a cualquier situación, el detalle aquí es el espacio de cada partición. Un mundo ideal para los administradores de sistemas sería que cada punto de montaje tuviera infinidad de espacio y así nunca tener que preocuparse por nada, pero sabemos que eso no existe, por ende la recomendación más sensata en este caso sería evaluar qué es lo que se está haciendo y empezar desde allí.

Existe un acrónimo muy sabio, “KIS”, que significa “Manténlo simple”, hacer y mantener las cosas simples es mucho mejor que hacer y mantener las cosas complicadas. Si quisiéramos podríamos pasar hojas y hojas detallando esquemas de particionado para servidores dedicados pero, como se dijo antes, hay que evaluar. Si estuviéramos hablando, por ejemplo, de un servidor de correo, entonces dedicaríamos nuestra atención al directorio “/var”, ya que es ahí donde recae el correo, pero entonces usted como administrador podría tomar la precaución de cambiar el directorio de correo por defecto del servidor, a otro punto de montaje.

Entonces, como podrá ver, todo depende de lo que se está haciendo, lo que sí es seguro es que si decide llevar a cabo un esquema de particiones por separado, tratando en lo posible de organizar lo más que se pueda, tenga en cuenta este modelo que se le presentó como una guía o punto de partida. Si usted desea conocer más acerca de los distintos directorios que comprenden el árbol del sistema Debian GNU/Linux no se alarme, más adelante tendremos una detallada explicación de los mismos.

Llevemos a cabo un recorrido de pantallas para lograr este esquema de particiones, iniciaremos con nuestra pantalla inicial del proceso de particionado del instalador de Debian GNU/Linux. Note la Ilustración 1.19.


Ilustración 1.19: Inicio del proceso de particionado

Entonces, la primera partición que vamos a crear es la partición raíz del sistema, como disponemos de 40GB de espacio disponible en el disco duro, vamos a tomar 10GB de espacio para dicha partición, luego escogemos el tipo de partición “Primaria” y luego seleccionamos “Principio” para su ubicación, por defecto el instalador nos selecciona el punto de montaje y sistema de ficheros correcto (/, EXT3). Pero antes de proseguir, estudiemos este menú un poco más, tenemos lo siguiente. Observe la Ilustración 1.20.


Ilustración 1.20: Menú de configuración de particiones

Lo primero que vamos a hacer es estudiar la opción “Utilizar como”, esta opción no es desconocida para nosotros, ya la habíamos visto cuando tuvimos que declarar la partición de “área de intercambio”, pero existen otras opciones en ella, veamos el menú correspondiente a la selección. Observe la Ilustración 1.21.


Ilustración 1.21: Menú de configuración de particiones. Sección (Utilizar como)

Este menú nos presenta la oportunidad de declarar qué sistema de archivos queremos usar en la partición. Como se puede observar, existe una diversa gama de sistemas de archivos disponibles, cada uno tiene sus ventajas y desventajas, cabe destacar que actualmente el sistema de ficheros estándar en Debian GNU/Linux es el tercer sistema de archivos extendidos (EXT3), aunque ya está a prueba su sucesor el EXT4.

Este sistema de archivos es bastante confiable, cuenta con un registro de diario y además permite la posibilidad de actualizar de manera segura a la nueva versión, sin el riesgo de perder datos. Debido a estas y otras razones es el sistema de archivos elegido para nuestra implementación. Vale acotar que obviamente el sistema de archivos EXT2 es la versión antigua de EXT3, la diferencia más notable entre estos, es el sistema de registro de diario. Pero aprendamos más acerca de los otros sistemas de ficheros listados en el menú.

1.13.1. El sistema de archivos ReiserFS

ReiserFS es un sistema de archivos de propósito general, diseñado e implementado por un equipo de la empresa Namesys, liderado por Hans Reiser. Sus características más relevantes son su velocidad y tiempo de respuesta, sistemas operativos como SUSE Linux Enterprise lo han usado como su sistema de ficheros por defecto, hasta su versión 10 y 11, donde el equipo de desarrollo decidió retornar a EXT3.

1.13.2. El sistema de archivos JFS

Es un sistema de ficheros de 64-bits, creado por IBM, se encuentra disponible como software libre bajo los términos de la licencia GPL, posee sistema de registro de diario además del árbol “B+” para el aceleramiento de búsqueda en directorios, asignación dinámica de inodos entre otras ventajas.

1.13.3. El sistema de archivos XFS

Es un sistema de alto rendimiento de 64-bits creado por la empresa Silicon Graphics, es también el más antiguo de los sistemas de ficheros con registro de diario disponible para las plataformas o sistemas basados en UNIX. Soporta un máximo de “9” exabytes pero en sistemas de 32 bits su máxima capacidad es de “16” terabytes, maneja grupos de asignación, desfragmentación en línea, cambio de tamaño en línea, entre otras ventajas.

1.13.4. Fat16

En 1987 apareció lo que hoy se conoce como el formato FAT16. Se eliminó el contador de sectores de 16 Bits. El tamaño de la partición ahora estaba limitado por la cuenta de sectores por clúster, que era de “8” Bits. Esto obligaba a usar clusters de 32KB con los usuales 512 Bytes por sector. Así que el límite definitivo de FAT16 se situó en los 2GB, la empresa creadora de este sistema de ficheros es Microsoft.

1.13.5. Fat32

FAT32 fue la respuesta para superar el límite de tamaño de FAT16, al mismo tiempo que se mantenía la compatibilidad con MS-DOS en modo real. Microsoft decidió implementar una nueva generación de FAT, utilizando direcciones de cluster de 32 Bits (aunque sólo “28” de esos Bits se utilizaban realmente).

Estos dos últimos sistemas de ficheros, aunque son utilizables bajo Linux, no es recomendable que usted los use para la implementación de sus sistemas Debian, pero no está demás mencionarlos y es una buena oportunidad para comentar que los sistemas de ficheros Fat16, Fat32 y el actual NTFS, todos desarrollados por Microsoft, son completamente tratables en Debian GNU/Linux.

Ahora que ya sabemos sobre los sistemas de ficheros disponibles en el instalador, es necesario que, al igual que cuando estábamos hablando del esquema de particionado, usted evalúe sus objetivos y escoja el más adecuado para sus propósitos. Como habíamos dicho anteriormente, vamos a utilizar el sistema de ficheros estándar de Debian que es EXT3. Para continuar, vuelva al menú anterior.

La siguiente opción en el instalador es el “Punto de montaje”, en esta sección usted va a escoger qué directorio del punto raíz del sistema va a ocupar la partición que está creando, el menú es bastante claro, escoja la opción “/ - sistema de ficheros raíz”. Nótese que en caso de que el punto de montaje que usted desea no se encuentre listado por defecto en las opciones disponibles, usted lo puede introducir manualmente. Retroceda una pantalla.

Continuamos con el menú de “Opciones de montaje”, este es un punto muy importante ya que mediante estas opciones podemos parametrizar algunas propiedades clave de la partición dentro del sistema, veamos de qué trata. Dicho menú es representado en la Ilustración 1.22.


Ilustración 1.22: Menú de opciones de montaje de particiones

Vamos a revisar cada una de estas opciones para poder manejar la mayor cantidad de información posible.

1.14. Opciones de montaje
1.14.1. atime

Registro del tiempo de acceso de los archivos.

1.14.2. ctime

Registro del tiempo de creación de los archivos.

1.14.3. mtime

Registro del tiempo de modificación de los ficheros.

1.14.4. noatime

Especifica no actualizar ni registrar los tiempos de acceso de los archivos.

1.14.5. relatime

Actualiza el valor de “atime” sólo si es más antiguo que el de “mtime” (tiempo de modificación). Este parámetro hace mucho más óptimo el proceso de registro ya que se evita una constante escritura del valor “atime” y por ende evita la degradación del desempeño del sistema.

1.14.6. nodev

No interpretar dispositivos de bloque especiales en el sistema de archivos.

1.14.7. nosuid

Bloquea la especificación o registro de los ID de los usuarios y grupos. Estos valores son registrados cuando un usuario hace uso de la bandera de ejecución en un programa o aplicación del sistema

1.14.8. exec/noexec

La propiedad “exec” permite ejecutar binarios ubicados en esa partición, mientras que “noexec” no permite hacer esto. La propiedad “noexec” puede ser útil para una partición que no contiene archivos binarios, como por ejemplo “/var”.

1.14.9. ro

Como se puede leer claramente en el menú del instalador, esta opción específica que las particiones que contengan esta propiedad, serán montadas en modo de solo lectura.

1.14.10. sync/async

Este parámetro permite especificar cómo se debe hacer la entrada y salida de datos en el sistema de ficheros, “sync” significa que se hará de manera síncrona y obviamente “async” significa que se hará de forma asíncrona.

1.14.11. usrquota/grpquota

Las propiedades “usrquota” y “grpquota” son parámetros que permiten activar el análisis del espacio de disco, habilitando estas opciones podemos especificar una determinada cantidad de espacio de disco a cada usuario, de esta manera podemos ahorrar recursos y asignar límites de consumo de espacio. En el mundo real estas opciones son muy usadas, por ejemplo, en servidores dedicados al hospedaje de sitos web, servidores de correo o servidores de archivos.

1.14.12. user_xattr

Extensión de atributos para determinados usuarios. Como pudimos ver las opciones disponibles son varias, si desea más información sobre estas opciones no olvide leer el manual del comando “mount”. Quizás usted se esté preguntando algo como ¿ok., pero en dónde son especificados estos parámetros?, la respuesta a esta pregunta es el archivo “fstab” que se encuentra en el directorio “/etc”, este archivo lo estudiaremos en profundidad en el capítulo 7 de este libro. Escoja las opciones que le parezcan apropiadas y sigamos con nuestra instalación.

La siguiente opción en el menú es la “Etiqueta”, esta opción le permite fijar un nombre más humano a la partición. En lo personal nunca he puesto ninguna etiqueta a las particiones, pero si gusta hágalo y continúe.

La siguiente opción en el menú son los “Bloques reservados” que por defecto tiene un valor de “5%”, estos bloques reservados y de acuerdo al manual del comando “tune2fs” tienen la función de reservar espacio en el disco duro para cuando se llene, el sistema no falle, si lo desea puede disminuir o aumentar este valor pero un “5%” es bastante razonable así que dejaremos ese valor tal cual como está y seguiremos adelante con la siguiente opción.

Continuamos con la siguiente opción del menú que es el “Uso habitual”, en el submenú que prosigue a esta selección usted se encontrara con “4” opciones, las cuales están bien definidas, pero para poder comprenderlas debemos tener bien en claro lo que un inodo significa; es un índice, una jerarquía de datos propia de los sistemas de ficheros usados en Linux/UNIX, un inodo contiene propiedades como los permisos, fechas y ubicación mas no el tamaño de los archivos y carpetas dentro del sistema, dicho esto usted debe escoger el modo de uso que mejor le convenga, si está indeciso seleccione “estándar” y continúe.

Por último, tenemos la marca de arranque, esta opción permite fijar qué partición tendrá la bandera de arranque para cuando el sistema sea iniciado (entiéndase sistema como el ordenador en sí). Para que el mismo pueda encontrar un núcleo de Linux válido, el instalador más adelante le preguntará si desea implementar el gestor de arranque “Grub” en el MBR; es decir el primer sector (sector cero) de un dispositivo de almacenamiento de datos, de tal manera que no es necesario que la active ya que “Grub” se encargará de esta tarea.

Defina la partición, seleccionando la última opción de la lista y vuelva al menú principal, realice las operaciones restantes para crear el resto de las particiones con los distintos puntos de montaje. Nuevamente reconsidere el objetivo que está tratando de lograr y evalué el espacio de cada una de las particiones, cuando se encuentre listo seleccione la opción del menú principal “Finalizar el particionado y escribir los cambios en el disco”.

1.15. RAID

En esta sección aprenderemos como realizar arreglos de discos de distintos niveles en Debian, para este ejemplo haremos uso de discos virtuales de 10GB. Por supuesto que en un ambiente corporativo usted tendrá quizás cientos de discos que deberá arreglar para crear estos tipos de montajes, pero entendiendo los principios básicos usted se encontrará con la capacidad para lograr el objetivo deseado, además el instalador del sistema operativo Debian GNU/Linux posee menús interactivos que hacen fácil el trabajo. Pero antes de ir directamente al grano entendamos lo que es un arreglo de discos y los distintos niveles que podemos usar en el instalador.

El acrónimo RAID del inglés (Redundant Array of Independent Disks, [Conjunto Redundante de Discos Independientes]) 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 (a la que suele llamarse nivel), los beneficios de un RAID respecto a un único disco duro son uno o varios de los siguientes.

1.15.1. Los beneficios de RAID

 Provee en tiempo real la recuperación y acceso ininterrumpido de los datos en caso de que algún disco falle.

 Aumenta la disponibilidad del sistema y la disponibilidad de la red.

 Protege al sistema contra la pérdida de datos.

 Múltiples dispositivos trabajando en paralelo, aumenta el desempeño del sistema.

 Mayor rendimiento.

 Mayor capacidad de almacenamiento.

1.15.2. Software RAID

Muchos sistemas operativos proveen la funcionalidad de hacer uso de algoritmos para la implementación de arreglos de discos. Estos algoritmos hacen uso del procesador del equipo y es por eso que se debe considerar la relación costo-beneficio a la hora de implementar esta clase de tecnología.

1.15.3. Hardware RAID

Todos los algoritmos de RAID se generan en la tarjeta controladora RAID, liberando así el CPU del ordenador. Esta liberación de carga permite la protección de datos de RAID.

Entonces como podemos ver existen dos maneras de implementar estos arreglos de discos, mediante equipo físico (hardware) o mediante herramientas lógicas (software), obviamente que para los propósitos de este libro nosotros nos vamos a dedicar a estudiar la manera de crear los arreglos mediante el software que contiene el instalador de Debian GNU/Linux, veamos qué niveles de RAID podemos configurar.

Una de las pantallas que usted conseguirá mientras está configurando sus dispositivos MD (discos múltiples) es la siguiente. Note la Ilustración 1.23:


Ilustración 1.23: Menú de selección de niveles de RAID del instalador de Debian GNU/Linux

Así es que, como puede ver, los niveles de RAID que el instalador de Debian GNU/Linux nos permite implementar son los 0, 1, 5, 6 y 10. Aprendamos más acerca de estos niveles de RAID.

1.15.4. RAID 0

Este nivel se utiliza para aumentar el rendimiento de un servidor. Con el nivel de RAID “0”, los datos se escriben en varios discos. Por ende existe un aumento del rendimiento, ya que son varias unidades de lectura y escritura trabajando. Un mínimo de dos discos es requerido. La desventaja es que no hay tolerancia a fallas. Entonces, si un disco falla afecta a toda la matriz y las posibilidades de pérdida de datos o corrupción aumentan.

1.15.4.1. Posibles aplicaciones

 Pre-Press

 Edición y producción de vídeo.

 Manipulación y edición de imágenes

1.15.5. RAID 1

El nivel “1” de RAID es una configuración de tolerancia contra fallas conocida como “reflejo de discos”. Con RAID 1, los datos se copian a la perfección y, al mismo tiempo, de un disco a otro, creando una réplica o espejo. Si un disco se daña, el otro puede seguir trabajando. Es uno de los arreglos más simples y relativamente de bajo costo para implementar la tolerancia a fallos en un equipo de alta demanda. La desventaja es que RAID 1 afecta ligeramente el rendimiento del equipo. Se puede implementar a través de software o de hardware. Un mínimo de dos discos son necesarios para las implementaciones de RAID 1.

1.15.5.1. Posibles aplicaciones

 Pre-Press.

 Edición y producción de vídeo.

 Datos financieros.

 Manipulación y edición de imágenes.

1.15.6. RAID 5

Es por mucho la configuración de RAID más común para los servidores empresariales. Este nivel de RAID proporciona mejor rendimiento que reflejo, así como también tolerancia a fallos. Con RAID 5, los datos y la paridad (que es un dato adicional que se utiliza para la recuperación) son seccionados en tres o más unidades de almacenamiento. Los discos suelen fallar en los sectores, en lugar de toda la unidad. Cuando se configura RAID 5, si una porción de un disco falla, los datos se vuelven a crear a partir de los datos restantes o residuales de forma automática.

Esto es beneficioso porque permite que las unidades de almacenamiento del servidor puedan ser “intercambiables en caliente” es decir en el caso de que una unidad de la matriz falle, la misma se puede intercambiar por una nueva sin necesidad de apagar el servidor. Es una gran solución para la redundancia, debido a que los datos pueden ser reconstruidos para los nuevos discos. RAID 5 puede ser implementado como un programa o una solución de hardware. Usted obtendrá un mejor rendimiento con RAID 5 vía hardware, porque el trabajo es realizado por el dispositivo RAID, sin agravar el procesador del sistema. La desventaja de RAID 5 radica en el rendimiento, es por ello que se recomienda que se haga mediante hardware.

1.15.6.1. Posibles aplicaciones

 Bases de datos relacionales.

 Servidores de archivos y de impresión.

 Servidores web, correo y noticias.

 Servidores de intranet.

1.15.7. RAID 6

El nivel “6” de RAID es similar al nivel “5”, pero con más ventajas. Esta configuración envía bloques de datos y la paridad a través de una serie de discos como RAID 5, salvo que se calculan dos conjuntos de información de paridad para cada paquete de datos. El objetivo de esta duplicación es únicamente mejorar la tolerancia a fallos, RAID 6 puede manejar el fracaso de cualquiera de las dos unidades de la matriz, mientras que otros niveles de RAID sólo pueden manejar un máximo de un fallo. En cuanto al rendimiento, RAID 6 es un poco peor que RAID 5, y también en términos de escritura de datos, debido a la sobrecarga adicional de cálculos de paridad, pero puede ser ligeramente más rápido en lecturas aleatorias debido a la difusión de la información a través de los múltiples discos. Se necesitan un mínimo de “4” discos duros para poder llevar a cabo este montaje.

1.15.7.1. Posibles aplicaciones

 Bases de datos relacionales.

 Servidores de archivos y de impresión.

 Servidores web, correo y noticias.

 Servidores de intranet.

 Múltiples propósitos.

1.15.8. RAID 10

Es una combinación de RAID 1 y 0 y se denota a menudo como RAID 1+0. Combina la creación de reflejo de RAID 1, con la creación de bandas de RAID 0. Es el nivel de RAID que ofrece el mejor rendimiento, pero también es costoso, requiere dos veces más números de discos duros que otros niveles de RAID, por un mínimo de cuatro. Este nivel de RAID es una buena opción para servidores de bases de datos o de cualquier servidor que realiza muchas operaciones de lectura y escritura.

1.15.8.1. Posibles aplicaciones

 Servidores de archivos.

 Aplicaciones para imágenes.

 Servidores de bases de datos.

 Múltiples propósitos.

Ahora que ya tenemos una idea de lo que estos arreglos nos permiten realizar hagamos un arreglo RAID en nuestro sistema Debian de nivel 10, para obtener un buen desempeño y la seguridad de que los datos escritos están siendo respaldados y, por supuesto, manejar una tolerancia de fallos. Necesitaremos “5” discos duros, observe la Ilustración 1.24 (pantalla de particionado principal del instalador del sistema Debian GNU/Linux).


Ilustración 1.24: Menú principal de particionado de discos

Bien, el procedimiento que haremos aquí será el siguiente, utilizaremos uno de los discos para instalar nuestro sistema operativo y, seguidamente, crearemos el arreglo RAID con el resto de los discos, para luego usarlo como un punto de montaje más en nuestro sistema, recordemos que necesitamos un mínimo de “4” discos duros para poder hacer uso de este arreglo y sus bondades. Con respecto al punto de montaje es necesario recordar la funcionalidad final del equipo que estamos instalando y la configuración que usaremos para él, en nuestro caso será un servidor web y correo, así que nuestro punto de montaje para el arreglo será “/var”.

Deberemos crear el esquema de particionado en el primer disco duro, asegurándonos de dejar fuera del arreglo RAID el punto de montaje “/boot” ya que, de no hacerlo, el cargador de sistemas “Grub” podría tener problemas en detectar la marca de arranque, seguidamente creamos el área de intercambio la cual debe estar ajustada a la memoria física del equipo. Por último, declare los demás puntos de montaje que le parezcan adecuados en dicho disco duro, para los propósitos de esta configuración no separaremos más el sistema en otros puntos de montaje, así que declararemos nuestro último espacio libre como el punto raíz del sistema “/”.

El resto de los discos, los cuales todos poseen el mismo tamaño en capacidad, los usaremos como área de RAID, veamos cómo crearla:


Ilustración 1.25: Creando una nueva partición

En la Ilustración 1.25 se muestra el proceso de creación de una nueva partición.


Ilustración 1.26: Asignando el tamaño

En la Ilustración 1.26, asignamos el tamaño de la partición, usaremos todo el espacio disponible y continuaremos.


Ilustración 1.27: Seleccionado el tipo de partición de sistema

La selección del tipo de partición es representada en la Ilustración 1.27, seleccione “Primaria” y continúe.


Ilustración 1.28: Menú de configuración de particiones

En la Ilustración 1.28 podemos ver el menú de configuración de particiones donde nos dirigiremos directamente a seleccionar “Utilizar como”. Lo cual lo redirigirá al submenú “Como usar esta partición”. Note la Ilustración 1.29.


Ilustración 1.29: Menú de selección de uso de particiones

Al seleccionar “Volumen físico para RAID” se le presentará la siguiente pantalla. Observe la Ilustración 1.30.


Ilustración 1.30: Terminando de definir la nueva partición de RAID

Termine la configuración seleccionando “Se ha terminado de definir la partición”. Una vez que hayamos realizado estos pasos en cada uno de los discos que conformarán nuestro arreglo RAID, deberemos dirigirnos a la parte superior de la pantalla, donde se encuentra la opción “Configurar RAID por software”. Como se muestra en la Ilustración 1.31.


Ilustración 1.31: Opción del menú principal de particionado para la configuración de dispositivos tipo RAID

Seguidamente, el sistema analizará todos los cambios realizados a la tabla de particiones y le presentará una pantalla la cual esta denotada en la Ilustración 1.32.


Ilustración 1.32: Pantalla de confirmación para el formateo de la particiones creadas

Dicha pantalla habla por sí sola, se nos muestran todas las unidades configuradas y listas para soportar nuestro montaje RAID, dichas unidades son “sdb”, “sdc”, “sdd” y “sde”, también se nos indica que la unidad “sda” fue seccionada en “sda1”, “sda5” y “sda6”, lo cual es correcto. Recuerde que separamos el punto de montaje “/boot”, a su vez también creamos el área de intercambio (SWAP) y, por último, creamos otra partición para el punto raíz del sistema (/).

Revise cuidadosamente todas las unidades que está a punto de modificar, puesto que si se comete un error, el proceso de reparación del daño puede ser muy tedioso.

Seleccionamos “Sí” a la opción y el programa dará formato a las particiones escogidas tanto para el uso del sistema de archivos EXT3 como para el arreglo RAID, una vez hecho esto, se le presentará la pantalla de configuración de RAID del instalador del sistema Debian GNU/Linux, la cual está representada en la Ilustración 1.33, la misma tiene la siguiente apariencia:


Ilustración 1.33: Pantalla de configuración principal de dispositivos multi-discos

Esta es la pantalla principal de la configuración de arreglos RAID, como podemos apreciar disponemos de tres opciones “Crear un dispositivo multidisco”, “Borrar un Dispositivo multidisco”, “Terminar”. Continuemos creando un dispositivo multidisco. Seleccione “Crear un dispositivo MD”. Luego de esto, se le presentará el siguiente menú de opciones. Note la Ilustración 1.34.


Ilustración 1.34: Seleccionando el nivel de RAID deseado para el montaje

Se nos presentarán los distintos tipos de arreglos RAID que el instalador le ofrece. Por supuesto, escogeremos el arreglo de nivel “10” y continuaremos con la siguiente pantalla (Ilustración 1.35) donde escogeremos los dispositivos activos para el arreglo, por defecto el sistema le indicará el número “2” en el campo de texto ya que es el requisito mínimo pero en vista de que deseamos obtener el beneficio del “stripping” usaremos los “4” dispositivos, de forma tal que marcaremos “4” en el campo de texto y seguiremos adelante. El sistema le preguntará cuantos dispositivos dejará como libres (para repuestos) indicándole por defecto “0” (esto debido a que ya previamente los marco todos colocando “4” en el anterior campo de texto).

Seleccionamos todos los dispositivos disponibles (4) y escogemos la opción “Continuar”. Esto nos regresara a la pantalla principal de configuración de RAID donde seleccionaremos la opción “Terminar” y volveremos a la pantalla de particionado de discos. Si hemos configurado correctamente obtendremos un resultado como el que se puede apreciar en la Ilustración 1.36.


Ilustración 1.35: Seleccionando los dispositivos para el arreglo RAID

Como podemos observar el dispositivo multidisco está creado y el arreglo de nivel “10” está listo para ser usado, ahora sólo debemos decidir cómo incluirlo en el sistema dándole un punto de montaje válido. Para lo cual seleccionamos el dispositivo que nos llevará a la pantalla de configuración de la partición, en dicha pantalla escogeremos la opción “Utilizar como”, por defecto el sistema la selecciona como “no usable”, pero ingresando en ella podremos cambiar esto y configurar a gusto. Escogiendo un sistema de ficheros válido, en este caso usaremos EXT3, y seguidamente un punto de montaje válido, en este caso “/var”. Al finalizar obtendremos un resultado como el de la siguiente captura de pantalla.


Ilustración 1.36: Resultado final de la configuración del arreglo RAID nivel 10


debian-TOKeN

Para la gestión y manipulación de sus dispositivos RAID consulte el manual del comando “mdadm” al igual que “raidtab”, “raid0run”, “raidstop”, “mkraid”.


Realicemos un chequeo de nuestro esquema de particiones y si todo está correcto entonces podremos finalizar la edición y escribir los cambios en los discos. Proceda seleccionando la opción “Finalizar el particionado y escribir los cambios en el disco”.

The free sample has ended.

Genres and tags

Age restriction:
0+
Volume:
548 p. 381 illustrations
ISBN:
9788426720320
Publishers:
Copyright Holder::
Bookwire
Download format:

Similar books