Administración de Guadalinex V.3
Transcripción
Administración de Guadalinex V.3
Administración de Guadalinex V.3 José J. Grimaldos [email protected] Antonio Saorín [email protected] Administración de Guadalinex V.3 por José J. Grimaldos y Antonio Saorín Esta documentación está orientada al montaje de ciertos servicios de red utilizando como distribución base Guadalinex V.3 en el contexto de una pequeña red doméstica local o en un centro educativo para proporcionar al profesorado algunas herramientas TIC de uso común en la práctica docente. Copyright © 2004, 2005, 2006, 2007, 2008 José J. Grimaldos, Antonio Saorín Se permite la copia exacta y la distribución de este artículo en cualquier medio y soporte citando la procedencia, conforme a los términos de la licencia de documentación libre GNU. (http://www.gnu.org/copyleft/fdl.html) La información contenida en este documento es libre y debe ser usada bajo su propio criterio. Los autores no se responsabilizan de cualquier daño directo o indirecto que pudiera resultar de la utilización de este material. Todas las marcas registradas citadas en este documento pertenecen a sus respectivos propietarios. Historial de revisiones Revisión 1.7 23/01/2008 Revisado por: jg Conversión a UTF-8 Revisión 1.6 02/03/2006 Revisado por: jg Integración de los capítulos en un sólo documento usando XEmacs sobre Guadalinex v3.0 Revisión 1.5 02/03/2006 Revisado por: as Inclusión del sexto capítulo Revisión 1.4 21/02/2006 Revisado por: as Inclusión del quinto capítulo Revisión 1.3 13/02/2006 Revisado por: jg Inclusión del cuarto capítulo Revisión 1.2 01/02/2006 Revisado por: as Inclusión del tercer capítulo Revisión 1.1 24/01/2006 Revisado por: as Inclusión del segundo capítulo Revisión 1.0 20/12/2004 Revisado por: jg Creación del contenido del primer capítulo Tabla de contenidos 1. Instalación de Guadalinex ....................................................................................................................... 1 1.1. Introducción................................................................................................................................... 1 1.2. Requisitos del sistema.................................................................................................................... 1 1.3. Preparativos ................................................................................................................................... 1 1.3.1. Copias de seguridad .......................................................................................................... 2 1.3.2. Discos duros y particiones ................................................................................................ 2 1.3.3. La instalacion paso a paso................................................................................................. 5 1.3.3.1. Paso 1: Arrancar desde el CD de Guadalinex....................................................... 5 1.3.3.2. Paso 2: Particionado del disco duro...................................................................... 6 1.3.3.3. Nombre del equipo. Contraseñas de usuario y administrador. ........................... 16 1.3.3.4. Configuración de la red ...................................................................................... 18 1.3.3.5. Copiado del sistema al disco duro ...................................................................... 19 1.3.4. Registrándose en el sistema ............................................................................................ 20 1.3.5. Apagar el sistema ............................................................................................................ 21 1.4. Problemas con la instalación ....................................................................................................... 21 1.4.1. Windows no aparece en el menú de arranque de Grub ................................................... 22 1.4.2. Windows aparece en el menú de Grub pero aún así no arranca...................................... 22 1.4.3. Guadalinex parece arrancar pero cuando se inicia el entorno gráfico el monitor se queda en negro ........................................................................................................................... 23 1.5. Afinar la instalación..................................................................................................................... 23 1.5.1. Actualizar Guadalinex 2004............................................................................................ 23 1.5.2. Problemas con la impresión desde Mozilla-Firefox ....................................................... 24 2. El sistema de ficheros ............................................................................................................................. 25 2.1. Introducción................................................................................................................................. 25 2.2. Tipos de sistemas de ficheros....................................................................................................... 25 2.3. Estructura del sistema de ficheros................................................................................................ 26 2.4. Ficheros de configuración del sistema......................................................................................... 28 2.5. Ficheros de registro (logs) ........................................................................................................... 29 2.6. Ficheros especiales ...................................................................................................................... 30 2.6.1. Enlaces ............................................................................................................................ 30 2.6.2. Enlaces duros .................................................................................................................. 31 2.6.3. Enlaces simbólicos .......................................................................................................... 31 2.6.4. Ficheros de dispositivo.................................................................................................... 32 2.7. Administración de un sistema de ficheros ................................................................................... 32 2.7.1. Montar y desmontar dispositivos .................................................................................... 32 2.7.2. Fichero /etc/fstab............................................................................................................. 35 2.7.3. Ver el estado de los sistemas de ficheros en modo gráfico.............................................. 37 2.7.4. Crear nuevas particiones ................................................................................................. 38 2.7.5. Crear un sistema de ficheros ........................................................................................... 39 2.7.6. Actualizar particiones ext2 a ext3 ................................................................................... 40 2.7.7. Crear una partición swap................................................................................................. 40 2.7.8. Chequeo y recuperación de un sistema de ficheros......................................................... 41 2.7.9. Manipular particiones con herramientas gráficas. Gparted............................................. 42 2.8. Gestión de usuarios y permisos ................................................................................................... 43 2.8.1. Introducción .................................................................................................................... 43 2.8.2. Permisos .......................................................................................................................... 43 2.8.2.1. Notación octal del comando chmod ................................................................... 45 2.9. Usuarios y grupos ........................................................................................................................ 48 2.9.1. Gestión en modo texto .................................................................................................... 48 iii 2.9.2. Gestión en modo gráfico ................................................................................................. 50 2.9.3. Crear cuotas de disco para los usuarios .......................................................................... 51 3. Configuración de dispositivos................................................................................................................ 55 3.1. Introducción................................................................................................................................. 55 3.2. El sistema X Window .................................................................................................................. 55 3.2.1. Introducción .................................................................................................................... 55 3.2.2. Gestores de ventanas ....................................................................................................... 56 3.2.3. Entornos de escritorio ..................................................................................................... 58 3.2.4. Configuración del servidor gráfico X.............................................................................. 60 3.2.4.1. xf86config....................................................................................................... 60 3.2.4.2. xf86cfg ............................................................................................................. 60 3.2.5. El fichero /etc/X11/XF86Config-4 ........................................................................... 64 3.2.5.1. Aceleración gráfica en Guadalinex..................................................................... 68 3.2.6. Iniciar sesión como un nuevo usuario ............................................................................. 70 3.2.7. Ejecutar aplicaciones gráficas en una máquina remota con SSH.................................... 71 3.2.7.1. Configuración de la máquina remota.................................................................. 71 3.2.8. Abrir una sesión gráfica en una máquina remota son SSH ............................................. 72 3.2.9. Abrir una sesión gráfica en una máquina remota son GDM ........................................... 73 3.2.9.1. Configuración de la máquina remota.................................................................. 73 3.2.9.2. Inicio de sesión en la máquina local................................................................... 73 3.2.9.3. Escritorio Remoto con VNC .............................................................................. 74 3.2.9.4. Instalación y uso de rfb ..................................................................................... 75 3.3. Configuración de la tarjeta de sonido .......................................................................................... 75 3.3.1. Averiguar el modelo de nuestra tarjeta de sonido ........................................................... 76 3.3.2. Configuración automática mediante alsaconf ............................................................. 76 3.3.3. Configuración manual mediante modconf ...................................................................... 76 3.4. El servicio de impresión .............................................................................................................. 77 3.4.1. El sistema de impresión CUPS™ ................................................................................... 77 3.4.2. Nada es lo que parece...................................................................................................... 78 3.4.3. Instalación de la impresora con asistente ........................................................................ 79 3.4.4. Instalación de la impresora con el navegador ................................................................. 83 3.4.5. ¿Qué hacer si mi impresora no está listada? ................................................................... 84 3.5. La impresión en red ..................................................................................................................... 85 3.5.1. Configuración del servidor.............................................................................................. 85 3.5.1.1. El fichero cupsd.conf ...................................................................................... 85 3.5.1.2. Ejemplos de configuración ................................................................................. 91 3.5.1.3. Una triste alegría................................................................................................. 92 3.5.2. Configuración del cliente ................................................................................................ 95 3.5.2.1. El fichero client.conf .................................................................................... 95 3.5.2.2. Añadir una impresora de red .............................................................................. 95 3.6. Accediendo al escáner ................................................................................................................. 99 3.6.1. ¿Está mi escáner soportado? ........................................................................................... 99 3.6.1.1. La aplicación SANE ........................................................................................... 99 3.6.1.2. Comprobando los dispositivos.......................................................................... 100 3.6.1.3. El acceso al dispositivo..................................................................................... 101 3.6.2. Configurando SANE ..................................................................................................... 102 3.6.3. Otras herramientas de detección ................................................................................... 103 3.7. Cámaras digitales....................................................................................................................... 104 3.7.1. Acceso en modo disco................................................................................................... 104 3.7.2. Acceso en modo PTP .................................................................................................... 105 iv 4. Conexión a la red.................................................................................................................................. 109 4.1. Conectarse a Internet ................................................................................................................. 109 4.1.1. Módem analógico y Red Telefónica Básica (RTB)....................................................... 109 4.1.2. Acceso ADSL ............................................................................................................... 111 4.1.2.1. Configuración del modem USB para conectar con ADSL............................... 111 4.1.2.2. Conexión a internet con un Router ADSL........................................................ 116 4.1.2.3. Conexión a internet con un modem-cable. ....................................................... 117 4.1.3. Configuración de una conexión inalámbrica................................................................. 117 4.1.3.1. Configuración genérica..................................................................................... 118 4.1.3.2. Algunas utilidades para redes wireless............................................................. 122 4.2. Compartir la conexión a Internet ............................................................................................... 123 4.3. Configuración de un cortafuegos ............................................................................................... 125 4.3.1. Configuración con gnome-lokkit .................................................................................. 125 4.3.2. Configuración de cortafuegos con Firestarter ............................................................... 128 4.4. Redes de área local .................................................................................................................... 130 4.4.1. Introducción .................................................................................................................. 130 4.4.2. Configuración de la red con Guadalinex....................................................................... 133 4.4.3. Compartir recursos en redes Windows™ con SAMBA................................................ 136 4.4.3.1. Acceder desde Guadalinex a recursos compartidos en máquinas Windows .... 136 4.4.3.2. Acceder desde Windows a recursos compartidos en máquinas Guadalinex .... 138 4.4.3.3. Agregar a una impresora instalada en Windows. ............................................. 144 4.4.3.4. Agregar una impresora instalada en Guadalinex .............................................. 146 4.4.4. El sistema de ficheros NFS ........................................................................................... 147 4.4.4.1. Configuración del servidor ............................................................................... 147 4.4.4.2. Configuración del cliente.................................................................................. 147 5. Instalación de programas .................................................................................................................... 150 5.1. Introducción............................................................................................................................... 150 5.2. Distribuciones Debian ............................................................................................................... 151 5.3. Herramientas para el manejo de paquetes ................................................................................. 151 5.3.1. La herramienta APT ..................................................................................................... 152 5.3.1.1. Configuración de fuentes para apt (el fichero /etc/apt/sources.list) .. 152 5.3.1.2. Instalación y desinstalación de paquetes .......................................................... 153 5.3.1.3. Otras opciones de apt-get ................................................................................ 155 5.3.1.4. Obtención de información sobre paquetes ....................................................... 155 5.3.1.5. Reconfiguración de paquetes instalados........................................................... 155 5.3.2. La herramienta dpkg..................................................................................................... 156 5.3.3. Obtención y compilación de paquetes fuente Debian ................................................... 157 5.3.4. Instalar paquetes con synaptic...................................................................................... 158 5.3.4.1. Actualización completa del sistema ................................................................. 160 5.3.4.2. Instalar una aplicación...................................................................................... 161 5.4. Otras formas de instalar programas ........................................................................................... 163 5.4.1. Instalación a partir del código fuente ............................................................................ 163 5.4.2. Instalación a partir de binarios ...................................................................................... 165 5.5. El emulador Wine ...................................................................................................................... 166 6. APACHE, PHP y MYSQL................................................................................................................... 169 6.1. Introducción............................................................................................................................... 169 6.2. CMS (Content Management System)......................................................................................... 169 6.3. LMS (Learning Management System)....................................................................................... 170 6.4. El servidor web Apache ............................................................................................................ 170 6.4.1. Instalación ..................................................................................................................... 171 6.4.2. Configuración................................................................................................................ 172 v 6.5. PHP ............................................................................................................................................ 173 6.6. El sevidor de bases de datos MySQL........................................................................................ 174 6.6.1. PHPMyAdmin............................................................................................................... 175 6.7. Instalación de Joomla................................................................................................................ 176 6.8. Moodle....................................................................................................................................... 180 6.8.1. Descargar y copiar los ficheros de Moodle en el lugar apropiado ................................ 180 6.8.2. Configurar el servidor apache ....................................................................................... 181 6.8.3. Crear una base de datos................................................................................................. 181 6.8.4. Crear un directorio para los datos ................................................................................. 182 6.8.5. Ejecutar el script de instalación de Moodle .................................................................. 182 6.8.6. Configuración de Moodle.............................................................................................. 184 6.8.7. Instalación de módulos y actualización de la base de datos ......................................... 185 6.8.8. Configuración de la página de inicio............................................................................. 185 6.8.9. Creación de la cuenta de administrador ........................................................................ 186 vi Capítulo 1. Instalación de Guadalinex 1.1. Introducción El propósito de este capítulo es guiarle en el proceso de instalación de Guadalinex 2004 en su disco duro. Se trata de un procedimiento bastante automatizado y que por tanto requiere poca intervención por parte del usuario. La dificultad del proceso depende de varios parámetros que lo pueden ir complicando: ¿Será Guadalinex su único sistema operativo? ¿Quiere que Guadalinex conviva con Windows 98™? ¿Quiere que conviva con WindowsXP™? ¿Tiene espacio libre sin particionar en su disco duro suficiente para Guadalinex o más bien tiene que hacerle hueco redimensionando las particiones ya existentes?. Combinando estos factores puede encontrarse situaciones de instalación de lo más diverso. En lo que sigue trataremos darle indicaciones para todos estos casos comenzando por el más sencillo que es instalar Guadalinex en un disco duro como único sistema operativo. Por otra parte y aunque Guadalinex tiene soporte para la mayor parte del moderno hardware informático, podrían presentarse casos en los que un hardware en particular que usted tiene presente problemas de funcionamiento.Así que no será posible ofrecer aquí una guía pormenorizada de instalación que cubra todos y cada uno de los casos en su infinita variedad. De cualquier manera éste es un curso tutorizado lo que significa que en cualquier momento de duda puede consultar con los profesores. Le recomendamos encarecidamente que antes de hacer algo que no tenga claro consulte y una vez aparecido el problema no intente solucionarlo sin saber qué está haciendo a ciencia cierta, lejos de resolverlo podría estar empeorando la situación. Si es usted amante del aprendizaje autodidacta puede consultar directamente la sección "Para ampliar" y experimentar, es una forma divertida de aprender. Antes de empezar es necesario planificar bien la instalación y pensar qué queremos hacer, para ello responda a las preguntas que le hicimos más arriba. 1.2. Requisitos del sistema Mínimos. • Procesador Intel™ o compatible a 200 Mhz • 128 Mb de RAM • Tarjeta SVGA • 2,5 Gb de espacio libre en el disco duro Recomendados. • Procesador Intel™ o compatible a 800 Mhz • 256 Mb de RAM • Aceleradora gráfica 3D compatible con OpenGL • 5 Gb de espacio libre en el disco duro 1 Capítulo 1. Instalación de Guadalinex 1.3. Preparativos 1.3.1. Copias de seguridad Si va a instalar Guadalinex en un disco duro virgen entonces no necesita esta sección, en cambio sin planea instalarlo en un disco en el que ya tiene información es muy importante que siga las recomendaciones que vienen a continuación. Cualquier operación severa sobre su/s disco/s duro/s y en particular la instalación de un nuevo sistema operativo podría ocasionar la total o parcial pérdida de sus datos. Por ello le recomendamos encarecidamente que haga copias de seguridad. Si decide no hacerlas hágalo bajo su particular responsabilidad. Importante: Una copia de seguridad es simplemente una copia de sus datos, se le llama de seguridad porque no está destinada a trabajar sobre ella, como suele hacerse sobre los datos originales, sino a prevenir desastres. Si le hemos convencido de que haga copias de seguridad he aquí unas pocas indicaciones: 1. Usted debiera tener ya copias de seguridad de sus datos. 2. Lea el primer punto. 3. Fíjese que hablamos de "copias" en plural, lo que significa que debería tener más de una copia de sus documentos. Además tendría que tenerlas en lugares físicos distintos, por ejemplo en su despacho y en el centro de trabajo, siempre a buen recaudo. 4. Si usted lo desea puede hacer una copia de seguridad de todo su disco duro en un juego de CDs o DVDs con algunas de las utilidades existentes para ello. Pero en general no debiera preocuparse de los programas o el sistema operativo, podría volver a instalarlos en cualquier momento aunque le suponga una molestia. En cambio si pierde sus documentos personales, ese texto que escribió o su correo electrónico, no podrá volver a recuperarlos a menos que disponga de una copia. 5. Elija un soporte fiable y compruebe periódicamente que los datos están en buen estado. 6. Todos los soportes tienen ventajas e incovenientes, algunos de los más comunmente usados en informática doméstica son: DVD (gran capacidad, fiable, pero necesita de una grabadora que quizá no tenga), CD (menor capacidad, fiable, necesita de una grabadora aunque muchos ordenadores ya la tienen. Los hay de una sola escritura y regrabables. Estos últimos le darán la posibilidad de ir actualizando sus copias con un menor gasto), unidades ZIP (fiables, menor capacidad, casi se han dejado de comercializar), disquetes (escasa capacidad, poco fiables, casi todo el mundo tiene una disquetera), memorias USB (son fiables pero no se suelen emplear con estos fines, puesto que son suficientemente caras como para grabar en ellas datos y dejarlas después para cuando hagan falta). Sepa usted además que no todos los soportes CD o DVD tienen la misma calidad ni todos funcionan bien con todas las grabadoras y lectoras. Así pues, compruebe que el soporte es de calidad y fiable, pruébelo varias veces hasta que esté seguro de que no le va a fallar y tómese en serio las indicaciones de conservación del fabricante. 7. Haga copias redundantes, al menos dos e incluso tres. 8. Finalmente, actualice periódicamente las copias de sus datos. 2 Capítulo 1. Instalación de Guadalinex 1.3.2. Discos duros y particiones Podríamos considerar un disco duro como un gran local donde se almacenan los programas y los datos de una forma permanente. Un disco duro puede ser divido en particiones de la misma forma que haríamos habitaciones levantando tabiques en un mismo almacén. Si ha entendido el ejemplo ya sabe todo lo que se puede saber sobre particiones. Pero si no ha quedado satisfecho con semejante explicación pedestre siga leyendo. Hay dos tipos de particiones: primarias y extendidas. Un disco duro puede ser divido en un máximo de cuatro particiones primarias. Si usted necesita más particiones deberá entonces configurar una de las particiones primarias como extendida, que podrá ser divida a su vez en particiones lógicas, también conocidas como unidades lógicas. Esto significa que un disco duro puede estar dividido de cualquiera de las siguientes formas: • 1,2,3 y hasta 4 particiones primarias. • 1 partición primaria y 1 extendida • 2 particiones primarias y 1 extendida • 3 particines primarias y 1 extendida Hacer distintas particiones en un disco duro es una buena práctica: el acceso a los datos es más eficiente, se reduce la capacidad de infección de los virus, se aprovecha mejor el espacio, etc. En todo caso si va a tener en su disco más de un sistema operativo entonces es imprescindible hacer particiones. Para los que vienen de otros sistemas operativos seguramente les sorprenderá el nombre que GNU/Linux da a los discos. Vamos a aprender un poco sobre el tema para que sepamos qué estamos haciendo. En otros sistemas para referirse a los discos duros o particiones, así como a dispositivos tales como la disquetera o la lectora de CDROM, se utilizan letras como A:\ C:\ D:\ E:\ etc. Esta terminología es bastante confusa pues cada letra no siempre se refiere a lo mismo. Por ejemplo D:\ podría designar tanto una unidad de CDROM como una partición lógica o primaria del primer disco duro o incluso una partición primaria de un disco físico distinto. En el sistema GNU/Linx y por supuesto en Guadalinex la forma de nombrar los discos duros con sus particiones y el resto de dispositivos es bastante más coherente y ordenada. Véamos cómo se nombran los discos. Existen en el mercado distintas formas de conectar los dispositivos de almacenamiento como discos duros, lectores de CDs, grabadoras de CDs, DVDs, etc. Una de las más usuales (al menos en plan doméstico) es IDE. Nuestros ordenadores vienen equipados con dos "canales" (buses) IDE, y cada uno de ellos soporta un máximo de dos dipositivos. El primer dispositivo conectado a cada canal se llama maestro (Master) y el segundo esclavo (Slave). Así pues podemos tener hasta cuatro dispositivos IDE en nuestro PC. En GNU/Linux estos dispositivos se denominan hda, hdb, hdc y hdd según en qué canal estén conectados y en qué orden, perteneciendo los dos primeros al primer canal y los dos últimos al segundo canal. ¿Sabe ya qué significa "hda"?. Efectivamente hda es el primer dispositivo (master) del primer canal IDE, y hdb el segundo dispositivo (slave) de ese mismo canal. Por su parte hdc es el primer dispositivo del segundo canal y hdd el segundo dispositivo de ese mismo canal. Primer bus IDE. hda (master) - hdb (esclavo) Segundo bus IDE. hdc (master) - hdd (esclavo) 3 Capítulo 1. Instalación de Guadalinex Existe otra forma de conectar dispositivos de almacenamiento denominada SCSI. Los dispositivos SCSI funcionan con una tecnología completamente distinta, quedémonos con la idea de que se nombran de la siguiente manera: sda, sdb, sdc,etc. Así que los discos duros IDE son denominados "hd" (hard disk), mientras que los discos SCSI se conocen como "sd" (scsi disk). Como cada disco puede tener varias particiones, éstas reciben un nombre "heredado" del disco duro al que pertenecen, por ejemplo: hda1 será la primera partición del disco duro hda, hda2 la segunda, hdc1 la primera partición del disco hdc, etc. Teniendo en cuenta además que GNU/Linux sigue la filosofía Unix de considerar todo como un fichero del sistema, incluidos los dispositivos físicos, y que éstos residen en el directorio /dev, la nomenclatura para designar los distintos discos y particiones se ajusta a la siguiente secuencia: /dev/hda. Maestro del primer canal IDE /dev/hda1. Primera partición primaria del primer disco duro. /dev/hda2. Segunda partición primaria del primer disco duro. ... /dev/hda5. Primera partición lógica del primer disco duro. /dev/hda6. Segunda partición lógica del primer disco duro ... /dev/hdb. Dispositivo esclavo del primer canal IDE. /dev/hdb1. Primera partición primaria del segundo disco duro. ... Al proceso de ir creando las particiones se le suele llamar en la jerga y de modo poco imaginativo "particionar". Pero además las particiones una vez creadas deben ser "formateadas", es decir, se les debe crear un sistema de ficheros. Un sistema de ficheros es, dicho sin mucho rigor, una forma particular de organizar la información en el disco duro. En el mundo ideal habría una única forma de crear sistemas de ficheros, la mejor. Pero como no vivimos aún en ese mundo puede encontrar una gran variedad de formatos, no siempre compatibles entre sí, dependiendo del sistema operativo del que estemos hablando. Probablemente usted conozca ya los siguientes: FAT: con sus dos variantes FAT16 y FAT32 es el formato habitual en sistemas MS_DOS™, Windows95 y 98™, e incluso en WindowsXP™ Home Edition. NTFS: habitual en los sistemas Windows NT™, 2000, 2003 y XP™ Professional. GNU/Linux soporta una gran variedad de formatos pero lo más frecuente es encontrar particiones de tipo EXT3 o EXT2, y un tipo de partición especial denominada "swap". En concreto Guadalinex 2004 se instala sobre una partición con el formato EXT3. Este tipo de partición presenta indudables ventajas: es muy resistente a fallos, no fragmenta el disco, gran rapidez de acceso a los datos, excelente recuperación de errores una vez se han producido, etc. Importante: Siempre hay quien pregunta por una herramienta de defragmentación para GNU/Linux similar al "Defragmentador de discos" de Windows™. En GNU/Linux no existe tal herramienta, porque no se necesita. Cuanto más se usa el disco duro menos se fragmenta y en cualquier caso el porcentaje de fragmentación apenas llegará al uno por ciento. En concreto, para instalar Guadalinex necesitaremos como mínimo dos particiones.1Guadalinex necesita una partición para uso propio de un tamaño mínimo de 2,5 Gb. Usted puede tener una sola partición que 4 Capítulo 1. Instalación de Guadalinex contenga el sistema operativo completo, las aplicaciones y los ficheros personales. Además de la partición del sistema, también es recomendable tener una partición separada para el fichero de intercambio o swap. El swap es un espacio de uso temporal que permite al sistema utilizar espacio de disco como memoria virtual. Al poner el espacio de intercambio en una partición separada, Guadalinex puede hacer de él un uso mucho más eficiente. La otra opción sería no crear una partición swap y forzar así que Guadalinex utilice un fichero regular (/swapfile) como intercambio (al estilo Windows™ que usa un fichero llamado archivo de paginación), pero no es recomendable. El tamaño de esta partición debe ser el doble de la memoria RAM de nuestro equipo, aunque dado el tamaño de las memorias RAM de los equipos actuales bastaría con crear una partición de swap del mismo tamaño que la memoria RAM. Así, si tenemos un equipo con 128Mb de RAM el tamaño aconsejado sería 256Mb de swap, o si nuestro equipo posee 512Mb de RAM, con 512Mb también de tamaño para la partición de swap sería suficiente. 1.3.3. La instalacion paso a paso 1.3.3.1. Paso 1: Arrancar desde el CD de Guadalinex Para ser instalado Guadalinex necesita estar ejecutándose en modo Live-CD, de modo que lo primero que haremos será iniciar el sistema con el CD de Guadalinex y esperar a que éste se carge completamente y nos encontremos con el escritorio. Repase el capítulo 2 si no recuerda cómo hacer esto. Si su equipo dispone de una conexión mediante tarjeta de red a un router ADSL o una Red Local, verifique que está realmente conectado. Con Guadalinex ejecutándose en Live-CD localizaremos el acceso directo situado en el escritorio llamado Instalación de Guadalinex. Pulsando dos veces sobre él con el botón izquierdo lanzaremos el programa de instalación. Escritorio de Guadalinex en Live CD. Unas pantallas iniciales nos recomiendan la oportunidad de realizar una copia de seguridad de nuestros datos antes de continuar y nos advierten de los requisitos mínimos para instalar Guadalinex. A continuación se nos informa sobre los pasos que seguirá el proceso de instalación y que son: 5 Capítulo 1. Instalación de Guadalinex • Comprobar que el CD está en perfecto estado • Seleccionar dónde quiere usted instalar Guadalinex • Introducir los datos de su red • A continuación los datos se copiarán al disco duro • El CD será expulsado y el ordenador rearrancará automáticamente Una vez mostrada esta información se le preguntará si quiere comprobar que el CD está en perfecto estado. Si es la primera vez que usa ese CD es conveniente efectuar la comprobación. 1.3.3.2. Paso 2: Particionado del disco duro Se nos preguntará a continuación si queremos hacer divisiones o usar todo el disco. Si tiene un disco duro vacío o no le importa perder la información que tenga el disco y no va a instalar ningún otro sistema operativo y además no desea hacer partición swap forzando así a que Guadalinex use un fichero de intercambio, puede elegir Usar todo el disco y saltarse todo lo que viene a continuación sobre particiones. Si decidimos hacer divisiones se nos ofrecerán dos utilidades de particionado: Qtparted y cfdisk. Qtparted Qtparted es una herramienta gráfica bastante intuitiva recomendable para usuarios noveles. 6 Capítulo 1. Instalación de Guadalinex Cfdisk Cfdisk es una herramienta en modo texto que sólo es aconsejable si se tiene experiencia anterior con GNU/Linux. ¿Cuántas particiones hacer? Depende el tipo de instalación. 1.3.3.2.1. Guadalinex como único sistema operativo El caso más sencillo es que tengamos un disco duro vacío y queramos instalar Guadalinex como único sistema. Para ello necesitaremos: • Crear una partición de tipo ext3 para el sistema. • Crear una partición swap con un tamaño igual al doble de la memoria RAM. Importante: Supongamos un ordenador con 40 Gb de disco duro (o lo que es lo mismo 40959.81 Mb) y 256 Mb de RAM. No se preocupe por la exactitud del tamaño de las particiones, se trata siempre de valores aproximados. En ese caso: Cree una partición ex3 de tamaño = tamaño total del disco - doble de la RAM. En nuestro caso crearemos una partición ext3 de 40448 (es decir, 40959.81 menos 512). Esta partición será desde ahora /dev/hda1 Cree una partición swap con el resto del disco duro (512 Mb aproximadamente). Aplicar los cambios y salir 1.3.3.2.2. Guadalinex y Windows™ en el mismo disco duro Esta es una situación muy frecuente; queremos tener en el mismo disco duro una cualquiera de las versiones de Windows™ y Guadalinex. Partimos de la misma situación que antes, es decir, tenemos un disco duro vacío. En este caso las alternativas son varias así que lo que viene a continuación es sólo un modo de hacerlo de los muchos posibles. 7 Capítulo 1. Instalación de Guadalinex Windows 98™ (95) y Guadalinex. Instalaremos primero Windows™ pero teniendo cuidado de no utilizar todo el disco duro. Esto creará una partición primaria FAT32 y dejará espacio libre sin particionar (por lo menos 2.5 Gb, pero si va a usar Guadalinex para seguir el resto del curso, sea generoso y deje al menos 10Gb sin particionar). Instalaremos Guadalinex y haremos las divisiones en el espacio libre del mismo modo que en el caso anterior. Windows XP™ y Guadalinex. Instalaremos primero Windows™ pero teniendo cuidado de no utilizar todo el disco duro. Esto creará una partición primaria NTFS y dejará espacio libre sin particionar. Una vez instalado Windows XP™ y desde el administrador de discos podemos crear una partición extendida y dentro de ella una partición lógica de tipo FAT32. Tenga cuidado de no utilizar todo el disco. El propósito de esta partición es usarla para compartir información con Guadalinex: los archivos que guardemos en esa partición serán accesibles tanto desde Windows XP™ como desde Guadalinex. Sobre el tamaño decida teniendo en cuenta cuánta información maneja usted y cuán grande es su disco duro. Por supuesto puede decidir no crear dicha partición, pero le recomendamos que lo haga, de este modo podrá arrancar uno u otro sistema sabiendo que sus ficheros de datos serán siempre fácilmente accesibles. Instalaremos Guadalinex y haremos las divisiones en el espacio libre del mismo modo que en el caso de Guadalinex como único sistema. 1.3.3.2.3. Tengo Windows™ instalado, quiero instalar Guadalinex y no tengo espacio libre sin particionar en el disco duro. Esta es la situación más crítica pues partimos de un disco duro que tiene otro sistema operativo, con datos y programas, que con las operaciones de reparticionado podrían perderse. Más que nunca ahora le encarecemos que haga copias de seguridad de todos sus datos sensibles. Pero no se ponga nervioso todavía, analicemos la situación. Lo primero es comprobrar si tenemos espacio suficiente para instalar Guadalinex. Una partición puede estar ocupando todo el disco duro pero que no estar completamente llena de datos. Desde Windows™ vaya a Mi Pc, haga clic con el botón derecho del ratón sobre C:\ o cualquiera otra partición que pueda tener y vea cuanto espacio queda libre, si tiene al menos 2.5 Gb ya puede instalar Guadalinex, pero recuerde que sería mucho mejor que quedasen al menos 5 Gb. Si es así podemos instalar, pero antes necesitaremos redimensionar la partición, es decir, cambiar su tamaño para dejar espacio libre sin particionar suficiente para las dos particiones de Guadalinex. Esta operación puede realizarse desde Windows™ con herramientas de reparticionado tales como Partition Magic 8.0™. de la empresa Power Quest™. Antes de redimensionar la partición es conveniente que "defragmente" el disco con el "Defragmentador de discos" de Windows™, esta operación, según el tamaño y el uso del disco, podría llevarle incluso varias horas. Si utiliza Partition Magic™ una vez redimensionada la partición, puede crear también con la misma herramienta las dos particiones que necesitará Guadalinex. No obstante la rutina de instalación de Guadalinex le preguntará si utilizar todo el disco o hacer divisiones. Seleccione hacer divisiones, seleccione QTparted y salga del programa sin hacer nada (puesto que ya hizo sus particiones con Partition Magic™) y el proceso de instalación continuará normalmente. Aún así también puede redimensionar sus particiones con QTparted pero no se lo recomendamos. Importante: Mientras que usar QTparted sobre particiones FAT32 parece ser bastante seguro, se ha informado que al redimensionar particiones NFTS con QTparted es posible que se produzcan errores en la tabla de particiones que pondrían en serio peligro sus datos. No obstante una vez estropeada la tabla de particiones todavía se podría recuperar el sistema, pero es algo que debe hacer alguien con 8 Capítulo 1. Instalación de Guadalinex experiencia. Si se viera en la situación que tras instalar Guadalinex no pudiese acceder a WindowsXP™ no trate de solucionarlo a menos que sepa muy bien qué está haciendo, más bien póngase en contacto con el tutor del curso. 1.3.3.2.4. QTparted Qtparted Como puede verse en la imagen QTParted es una aplicación gráfica de fácil manejo que permite manipular discos duros y particiones. Es la recomendada para los usuarios más inexpertos. La ventana donde se ejecuta QTParted nos muestra una parte superior donde se encuentra el menú principal, una zona central y un pie donde está la barra de estado en la que se mostrarán todos los mensajes de la aplicación. La parte central se divide en dos zonas, la izquierda y la derecha. En la zona de la izquierda aparecerán todos los discos duros que tenemos en nuestro ordenador. Al seleccionar uno de ellos podremos ver información del fabricante justo en la parte inferior izquierda. En nuestra imagen podemos ver que el sistema dispone de un sólo disco duro (/dev/hda) marca Fujitsu™ de 28615.8 Mb de capacidad. En la zona derecha se nos muestra, tanto gráficamente como en forma de tabla, las particiones del disco que hemos seleccionado. Podemos ver bastante información de cada partición: Sistema de archivos que contiene, tamaño total, cuánto espacio tiene ocupado con datos y su disposición física en el disco. La parte superior derecha nos muestra un gráfico del disco duro dividido en rectángulos de tamaño proporcional a la partición correspondiente. Dentro de cada rectángulo, una zona de color amarillo nos informa gráficamente del espacio utilizado en la partición que corresponde. Siguiendo con nuestra imagen podemos ver que el disco tiene 4 particiones primarias: una NTFS de 4,88 Gb de los que están ocupados 4,3 Gb; una FAT32 de 2,93 Gb de los que están ocupados 378,71 Mb; una Swap de 509.88 Mb; finalmente una Ext3 de 19 Gb de los que están usados 12.88. Una vez que sabemos lo que queremos hacer según el tipo de instalación encontramos que QTParted permite las siguientes acciones sobre las particiones Crear: Para crear una partición basta con hacer click con el botón derecho del ratón sobre el espacio libre que tengamos. Podremos elegir el tamaño de la partición y el sistema de archivos a usar. 9 Capítulo 1. Instalación de Guadalinex Formatear: Es el paso siguiente a crear una partición. Deja la partición preparada para ser usada por el sistmea. Podremos elegir el sistema de archivos y podremos poner una etiqueta identificativa. Redimensionar: Nos permite cambiar el tamaño de una partición. Es el paso típico a realizar cuando no tenemos sitio libre para una partición y tenemos mucho espacio libre en una partición grande. El resultado es una partición más pequeña y espacio libre adicional. Podemos redimensionarla de forma gráfica o escribiendo directamente el nuevo tamaño. Mover: Mueve una partición a otro sitio del disco. Borrar: Elimina una partición y la convierte en espacio libre. Para terminar cuando la división del disco se encuentre según lo que queríamos, elegiremos la opción Aplicar bajo el menú Fichero y nos aparecerá una ventana de advertencia. Es la última oportunidad para abandonar el proceso y devolver el disco duro a su estado original. Si optamos por seguir QTParted realizará las operaciones solicitadas y nos informará que han sido completadas con éxito, a continuación elegimos Fichero−→ Salir. Importante: Es posible que, en ocasiones, también haya que reiniciar el ordenador para que tome la nueva configuración. Sobre todo si lo hacéis desde un sistema operativo ya instalado. Con algunos ejemplos visuales se verá tal vez más claro. Partiendo desde un disco duro vacío. Como ya dijimos es el caso más sencillo, tenemos un disco duro vacío y al abrir QTParted este el el aspecto que mostraría. Qtparted mostrando un disco vacío Lo primero será crear la tabla de particiones, para ello hacemos clic con el botón derecho del ratón en la representación gráfica del disco (o también un poco más abajo en la tabla de texto), y seleccionamos Crear tabla de particiones 10 Capítulo 1. Instalación de Guadalinex Crear la tabla de particiones Ahora creamos, haciendo clic con el botón derecho, la partición ext3 restándole al total del disco el doble de la RAM a fin de dejar espacio para la swap Crear la partición ext3 11 Capítulo 1. Instalación de Guadalinex Dejar espacio para la swap Esto creará la partición Liberado espacio para la swap A continuación creamos la swap 12 Capítulo 1. Instalación de Guadalinex Creación de la swap Esto creará la partición Particiones establecidas Finalmente seleccionamos Fichero−→Aplicar, y QTParted comenzará a realizar las operaciones solicitadas. Si todo va como debe verá la pantalla 13 Capítulo 1. Instalación de Guadalinex Aplicando los cambios En la siguiente imagen puede ver cómo quedaría un disco para hacer convivir pacíficamente a Guadalinex con WindowsXP™. Esquema de particionado para arranque dual Como vemos hay una partición primaria y una extendida. La primaria tiene el formato NTFS y es dónde reside WindowsXP™. La extendida está a su vez dividad en particiones lógicas, por una parte tenemos una FAT32, que es esa partición que recomendamos a fin de compartir información fácilmente entre los dos sistemas instalados; por otra tenemos una ext3 que es dónde reside Guadalinex y finalmente una swap. 1.3.3.2.4.1. Redimensionando particiones Si tiene una instalación de WindowsXP™ que ocupa todo el disco esté será el aspecto que le presentará QTParted 14 Capítulo 1. Instalación de Guadalinex Disco acaparado por un sólo sistema Así que habrá que hacerle sitio a Guadalinex, para ello tenemos que redimensionar. Redimensionar una partición Fíjese en la flecha de dos puntas que forma el cursor del ratón, eso significa que se está redimensionando gráficamente, pero podría haber hecho lo mismo escribiendo el nuevo tamaño. 15 Capítulo 1. Instalación de Guadalinex 1.3.3.2.4.2. Se instaló WindowsXP pero se dejó espacio libre sin particionar. Disco con espacio libre Fíjese en la imagen, ¿ve como hay 19.20 GB de espacio libre?. Aquí podemos instalar Guadalinex sin tener que hacer otra cosa sino particionar ese espacio libre. Con operaciones iguales a lo ya visto, así quedaría listo para instalar. Particionado del espacio libre 1.3.3.3. Nombre del equipo. Contraseñas de usuario y administrador. Una vez superado el escollo del particionado lo que queda es coser y cantar. Ahora el instalador de 16 Capítulo 1. Instalación de Guadalinex Guadalinex detecta las particiones disponibles para alojar el sistema y nos ofrece la posibilidad de elegir en cuál de ellas se ubicará, siempre que existan varias candidatas. Le indicaremos la correcta (suele estar ya bien seleccionada por defecto) y continuará el proceso. En este momento tenemos que elegir un nombre para el ordenador. El nombre que le demos carece de importancia pero es buen momento para la ternura, al fin y al cabo no llamaría a su gato simplemente gato. A continuación tendremos que crear las cuentas de usuario y administrador. Importante: Llamamos "cuenta" al conjunto formado por un nombre de usuario y una contraseña, por ejemplo: nombre de usuario. saorin Contraseña. 9b7twq Para ello se nos pedirá primero un nombre de usuario y una contraseña (que tendremos que teclear dos veces) a fin de crear una cuenta de usuario normal. Después se nos pedirá una contraseña para crear una cuenta especial, la del administrador de la máquina, cuyo nombre ya está dado por el sistema y no se puede cambiar, este nombre es "root"; así que sólo tendremos que teclear la contraseña dos veces y se creará la cuenta de administrador (root). En capítulos posteriores entraremos en detalle acerca del nivel de acceso al sistema que concede cada tipo de cuenta, por el momento trataremos que la contraseña del administrador no sea fácilmente adivinable. Incluso si se trata de un equipo doméstico no tenemos por qué dejarlo expuesto a cualquiera, y por supuesto si planea conectarlo a Internet debe tomarse en serio usar buenas contraseñas. Ahora que le hemos convencido de que no utilice como contraseñas cosas tales como su fecha de nacimiento o el año en que nació su primer hijo, le vendrán bien estas recomendaciones: Importante: Al llegar aquí pensará usted que los autores del manual han sido víctimas de un ataque agudo de paranoia porque ¿quién va a querer entrar en mi equipo? y si quiere entrar ¿cómo va a saber la fecha de nacimiento de mi hijo? A la primera pregunta le diremos que si usted va a usar su máquina para jugar al Tetris o poner sobre ella un cactus, efectivamente tiene razón. Pero si la va a usar como herramienta de trabajo y va a guardar en ella datos personales, entonces todo dependerá del sentido de la intimidad que usted tenga. Yo estoy ahora en mi sala de estudio, no me importaría que viniera de visita y viera lo que tengo en ella, es más estaría encantado de mostrárselo, pero no tengo la puerta abierta con un letrero que diga "pasen sin llamar". Ahora que ya le hemos convencido de que no deje las puertas abiertas, aunque no tenga nada de valor, viene la segunda respuesta. Existe una técnica para averiguar contraseñas consistente en probar una tras otra hasta que el sistema nos deje entrar, a esta técnica se le conoce con razón como "ataque por fuerza bruta". Por supuesto esto no se realiza tecleando manualmente cada contraseña sino que se hace atacando desde un ordenador (el atacante) a otro (la víctima). Se asombraría de la gran velocidad a que un ordenador es capaz de probar contraseñas hasta acertar. Si usted utiliza una contraseña tal como "180767" o "1871967" o "18/7/1967" o cualquier otra variante en poco menos de una hora podría ser violentada. Al fin y al cabo 2005 años a 365 días al año dan un número de variantes bastante pequeño para una máquina. Pero tampoco es mucho más resistente una palabra, por rara que sea, de cualquier idioma. Probar todo el diccionario de la RAE, incluyendo conjugaciones verbales, y formas de adjetivo es también bastante rápido de hacer, y más si los atacantes son varios. Este tipo de ataque es una variante de la fuerza bruta 17 Capítulo 1. Instalación de Guadalinex conocido como "ataque por diccionario". Incluso si la palabra es inventada, o es un patrón mnemotécnico, a poco que tenga algún sentido es vulnerable a una variante del ataque por fuerza bruta conocido como "ataque por patrón", piense que la misma lógica que siguió usted para construir su palabra inventada puede ser reconstruida por otro humano. Solución: que su contraseña no tengan absolutamente ningún sentido. • Debería contener caracteres alfanuméricos, es decir, letras y números a ser posible mezclados y utilizando mayúsculas y minúsculas. Este tipo de contraseñas es difícil de vulnerar pues las posibilidades son enormes. Así la contraseña "by6d9w" sería distinta de "bY6D9w". • Por la misma razón debería tener al menos 6 carácteres. • No deben usarse palabras con sentido que puedan estar en un diccionario. • No deben deducirse de datos relativos a nosotros mismos ni a una combinación de ellos: fecha de nacimiento, dni, matrícula del coche, números de teléfono. • No anotarla nunca, y si se hace no dejarla cerca del ordenador. Hay quién la esconde debajo del teclado o incluso la pega en el lateral del monitor. • En cualquier caso lo mejor es recordarla y si la anota dejarla en un lugar que le parezca muy seguro. Tenga en cuenta que estamos haciendo algo muy serio, instalar un sistema multiusuario en el que cada usuario debe tener las máximas garantías de confidencialidad y seguridad. Ningún usuario tendrá acceso a los datos de cualquier otro a no ser que éste último lo permita explícitamente y únicamente a aquellas partes de sus datos que quiera permitir. Si usted viene de otros sistemas operativos donde la seguridad es escasa o simplemente inexistente entendemos que le pueda parecer excesivo lo que aquí se dice, pero esta es la nueva filosofía que pronto le será familiar. 1.3.3.4. Configuración de la red Si su equipo no tiene tarjeta de red este paso será omitido por el instalador. Si desea conectarse a Internet tendrá que hacerlo por otros medios, un modem por ejemplo, pero la configuración del modem la haremos más tarde cuando el sistema esté instalado y funcionando. Si tiene tarjeta de red pero no la usa para conectarse a otros equipos ni a Internet puede cancelar la configuración de red eligiendo "No configurar una red ahora". Es posible que llegado a este punto Guadalinex le diga que ha detectado una configuración de red válida y le pregunte si desea mantenerla. Esto ocurre cuando su equipo está conectado por medio de una tarjeta de red a una Red de Area Local, o a un router ADSL. 2 donde hay disponible un servidor DHCP, y se inició el arranque desde el CD con el cable de red conectado. Por supuesto si esa va a ser la forma habitual con que usted conectará el ordenador conteste Sí. Si aún teniendo acceso a un router ADSL o Red Local con DHCP olvidó conectar el cable de red al iniciar el sistema, puede hacerlo ahora, pero tendrá que indicárselo al sistema. Si tiene tarjeta de red y desea configurarla se le ofrecerán dos posibilidades, o hacerlo manualmente o a través de DHCP. El caso más simple es que su equipo se vaya a conectar a una red que disponga de un servidor DHCP, el cual le facilitará a Guadalinex todos los parámetros necesarios automáticamente sin que tenga usted que hacer nada. 18 Capítulo 1. Instalación de Guadalinex Esta situación es frecuente en las Redes de Area Local (LAN) existentes en lugares como una oficina o un Instituto. También es frecuente si usted se conecta a Internet con un router ADSL mediante su tarjeta de red, en estos casos el router suele venir equipado con un servidor DHCP. Para que esta opción de configuración funcione bien es necesario que en este momento de la instalación su ordenador esté conectado a la red, ya sea la LAN o al router ADSL que le suministró su compañía de teléfono. La razón es que Guadalinex buscará el servidor DHCP y mirará si efectivamente le da los parámentros necesarios, en caso de no hallarlos producirá un error y le instará a que configure la red manualmente. Si está completamente seguro de que su LAN o router ADSL tienen un DHCP funcionando correctamente, pero que por cualquier motivo no está ahora disponible, puede forzar a que Guadalinex use DHCP aun cuando le diga que no es válido (funcionará bien cuando esté correctamente conectado) o cancelar la configuración de la red y dejarla para cuando el sistema esté instalado y funcionando. Si nuestro equipo forma parte de una red local o se encuentra conectado a un router ADSL que o bien no disponen de servidor DHCP o éste no está activo, debemos configurar la red manualmente. Para ello necesitamos conocer una serie de datos precisos, con los que tal vez no esté familiarizado. En una red cada ordenador se identifica con un número único que es como su dni, a este número le llamamos dirección IP (un número IP podría ser algo como 192.168.1.23). Si se está conectando a una red local pregúntele al administrador qué dirección IP debe usar, cuál es la máscara de la red, cuál es la IP de la puerta de enlace (gateway) y qué servidores de nombres de dominio (DNS) debe usar. 1.3.3.5. Copiado del sistema al disco duro Es el paso final, en este momento el instalador realizará las operaciones solicitadas, y verá los mensajes de lo que está haciendo en ese momento: • Formateando la partición ext3 a fin de crear en ella un sistema de archivos • Formateando la partición swap • Copiando los ficheros al disco duro • Configurando el gestor de arranque Grub Este proceso durará entre 5 y 30 minutos dependiendo de la velocidad de su CPU. Una vez concluido el proceso el ordenador se reiniciará y el CD será expulsado automáticamente. De ahora en adelante cada vez que encienda su ordenador se ejecutará el gestor de arranque GRUB. Se trata de un programa que le permitirá elegir qué sistema operativo ejecutar. Si sólo ha instalado Guadalinex el gestor le permitirá elegir entre el arranque normal de Guadalinex o Guadalinex a prueba de fallos. Pero si tenía ya instalado Windows 98™, Windows XP™ o ambos, el gestor de arranque le permitirá además elegirlos con sólo moverse con las teclas del cursor. Aun cuando haya varios sistemas instalados si usted no hace nada tras unos segundos se arrancará Guadalinex, ya que este es el sistema por defecto. 19 Capítulo 1. Instalación de Guadalinex Gestor de arranque GRUB Una vez cargado Guadalinex se puede cambiar el sistema operativo que se ejecutará por defecto. Vaya al menú Aplicaciones−→Herramientas del sistema−→Panel de control−→Arranque. Necesitará para ello la contraseña de root (administrador). Configurar el arranque del sistema 1.3.4. Registrándose en el sistema A diferencia de lo que ocurre cuando Guadalinex se está ejecutando desde el CD ahora para entrar en el sistema necesitará registrarse, es decir, facilitar su nombre de usuario y contraseña. Esto permitirá que el sistema lo idenfique y le asigne los privilegios de acceso conformes con su cuenta. Se protege así la confidencialidad de los datos y la seguridad del propio sistema. De modo que Guadalinex le pedirá siempre que introduzca su nombre de usuario y su contraseña. Cumplimentando ambos campos (tenga cuidado pues se distingue entre mayúsculas y minúsculas) se cargará el entorno gráfico y accederemos a nuestra área de trabajo. Como usuarios normales somos soberanos en ese área, podemos hacer y deshacer a nuestro antojo, pero fuera de ese área no podemos hacer absolutamente nada. Olvídese de la promiscuidad de otros sistemas 20 Capítulo 1. Instalación de Guadalinex operativos que le permiten escribir o crear directorios en cualquier sitio al azar. Es posible configurar Guadalinex para que no sea necesario el registro inicial sino que se acceda con un usuario genérico sin solicitar ningún tipo de contraseña. Sin embargo, esta configuración es completamente desaconsejable porque supone una pérdida de funcionalidad y ningún beneficio. Tiene en sus manos un sistemas multiusuario seguro ¿por qué desperdiciar esa potencialidad?. Aún cuando se usted el único usuario de su computadora es conveniente que mantenga el registro en el sistema, al fin y al cabo ¿por qué exponer su información a cualquier curioso? Hay algo igualmente desaconsejable: usted no debe usar la cuenta de administrador (root) para el trabajo normal como usuario. Cuando usted está en el sistema como root tiene poderes absolutos sobre el sistema operativo, puede hacer todo y también, por supuesto, echar todo a perder. Mientras trabaje como usuario normal puede experimentar sin miedo no podrá aunque quiera estropear el sistema, pero como root puede, si no sabe a ciencia cierta qué está haciendo, dejarlo completamente inutilizable. Por otra parte, aunque GNU/Linux es uno de los sistemas más seguros que se conocen, navegar por Internet como root es muy peligroso sobre todo si es usted dado a pinchar en todo lo que se mueve. Evitar esto es tan importante que por defecto Guadalinex no le dejará registrarse como root para acceder al entorno gráfico. Debe registrarse siempre como un usuario normal. Una vez dentro de Guadalinex cuando solicite alguna acción tal como crear nuevos usuarios o instalar nuevos programas, se le pedirá la contraseña de root y podrá hacer los cambios oportunos, después de realizar la tarea volverá a usuario normal, de ese modo no se compromete la estabilidad y seguridad del sistema. Asi que no se registre como root para el trabajo diario, no dirá que no se lo hemos dicho. Abandone viejas prácticas si las tenía y disfrute de uno de los mejores sistemas operativos del mundo que únicamente nos pide tener un poco de cuidado. 1.3.5. Apagar el sistema El sistema debe apagarse correctamente a fin de no causarle daños que pueden llegar a ser importantes. Para ello disponemos del botón apagar, tras pulsarlo se nos pedirá la contraseña de root, la introducimos y aceptamos, el sistema se apagará correctamente. Otro modo de apagarlo es ir al menú Acciones y seleccionar Terminar la sesión. Así regresaremos a la pantalla de registro inicial, desde allí en el menú Sistema, elegimos Apagar el ordenador. Guadalinex rara vez se cuelga, si le sucede muy a menudo puede que su instalación sea por algún motivo defectuosa. ¿Qué hacer en caso de cuelgue? Trataremos de este asunto más en profundidad, lo que ahora vemos es simplemente como apagar Guadalinex cuando éste parece colgado. Primera solución: presiones las teclas Control, Alt y Retroceso (cuidado, no es la tecla Suprimir, sino la de retroceso, esa que lleva una flecha apuntando a la izquierda), esto le devolverá la pantalla de registro desde donde podrá o volver a entrar o apagar el sistema. Segunda solución: presione las teclas Control+Alt+F2, se le presentará una pantalla en negro, solicitando login: teclee root, a continuación se le pedirá la contraseña, introdúzcala, finalmente teclee poweroff El efecto de estas palabras mágicas es iniciar el proceso de apagado ordenado, lo que en la jerga se conoce como "bajar el sistema", verá entonces una serie de mensajes indicándole la terminación de los procesos en curso. 21 Capítulo 1. Instalación de Guadalinex 1.4. Problemas con la instalación 1.4.1. Windows no aparece en el menú de arranque de Grub Normalmente durante el proceso de instalación del sistema Guadalinex detectará cualquier versión de Windows que tuviese en el ordenador y configurará Grub para que la arranque. Pero si esto no funciona puede modificar el gestor de arranque Grub para que puede lanzar Windows.Este es el procedimiento: • Vaya al menú Aplicaciones−→Configuración−→Sistema−→Arranque • Introducza la contraseña de root • Aparece el asistente "Crear una imagen de arranque nueva". Pulse "Adelante" Asistente para crear una imagen de arranque nueva • En la ventana que aparece en el campo "Nombre" ponga "Windows XP" o algo similar. En el desplegable "Sistema operativo" seleccione "Desconocido". Pulse "Adelante". • En la siguiente ventana en el desplegable seleccione /dev/hda1 (suponiendo que Windows esté en la primera partición del primer disco duro (lo cual es lo más habitual) Pulse "Aplicar" para guardar los cambios. Si este procedimiento no resultara por algún motivo o no le dan miedo los ficheros de configuración en texto, puede hacerlo de otro modo. Abra una terminal de root (Aplicaciones/Configuración/Terminal de root). Escriba en ella #gedit /boot/grub/menu.lst y añada al final una línea similar a esta title WINDOWS XP rootnoverify (hd0,0) makeactive chainloader +1 Guarde los cambios. Finalmente reinicie el sistema y verá que aparece una entrada para su sistema Windows XP 1.4.2. Windows aparece en el menú de Grub pero aún así no arranca En este error Windows sí aparece en el menú de Grub pero al intentar seleccionarlo o bien aparece una pantalla completamente en negro o bien aparece con la frase Chainloader +1 pero no continúa. Este error no es demasiado frecuente y se produce de un modo aparentemente aleatorio. Puede que estemos instalando en varios ordenadores y en alguno de ellos sin saber por qué ocurre esto.La causa del problema es la BIOS del sistema. Normalmente la BIOS está configurada para que autodecte el modo 22 Capítulo 1. Instalación de Guadalinex del disco duro pero en algunos casos esto no funciona. Para resolver el problema entre en la BIOS de su ordenador, configure el disco duro en modo LBA y guarde los cambios. Esto debería ser suficiente. 1.4.3. Guadalinex parece arrancar pero cuando se inicia el entorno gráfico el monitor se queda en negro Ejecutar Guadalinex 2004 desde el cd es un buen método para comprobar si todo va a quedar bien una vez instalado. De este modo si cuando ejecutamos el live-cd no tuvimos problemas con el monitor no deberíamos tenerlos una vez instalado. El problema descrito puede suceder después de la instalación e incluso durante la instalación y se debe a que la resolución y/o velocidad de refresco que Guadalinex tiene por defecto no está soportada por su monitor. Antes de nada pulse cualquier tecla pues podría ocurrir simplemente que se hubiese activado el protector de pantalla.Un modo sencillo de tratar de resolverlo es pulsar la combinación de teclas Ctrl+Alt+Retroceso unas cuantas veces para tratar de que Guadalinex se adapte a la velocidad de refresco de su monitor.Si esto no funciona deberá mirar el manual de su monitor para conocer la velocidad de refresco tanto horizontal como vertical expresada en Herzios de su monitor. Ahora cuando el sistema esté arrancando escriba boot:linux xvrefresh=60 (o cualquiera otra que sea la velocidad de refresco vertical del monitor). Si esto no funcionara podría ser todavía más explícito y teclear boot:linux vsync=56 hsync=35 Si no tiene el manual del monitor comience por poner los valores que aquí se indican como ejemplo y vaya bajándolos si es necesario.Más adelante en el capítulo sobre configuración de dispositivos trataremos sobre cómo mejorar la calidad de la imagen del monitor. 1.5. Afinar la instalación Hasta ahora el proceso de instalación habrá durado si no ha tenido problemas unos 15 o 20 minutos dependiendo de su equipo.Ahora necesitaremos tomarnos un poco de tiempo para dejar la instalación "fina" 1.5.1. Actualizar Guadalinex 2004 Después de la instalación del sistema podemos decidir actualizarlo, es decir, instalar las últimas versiones de todos los paquetes. Este procedimiento puede llevar algún tiempo dependiendo de la velocidad de su acceso a Internet.Para ello abra una terminal de root y escriba:#apt-get update De esta forma actualizamos la lista de paquetes disponibles para nuestra versión de Guadalinex. Después de este proceso escriba #aptget dist-upgrade y prepárese un café, té o güísqui and the rocks.El proceso puede llevar más de media hora dependiendo de su velocidad de acceso a la red. Durante el mismo es posible que se le haga preguntas si no sabe qué contestar elija siempre la opción por defecto. Si lo prefiere puede usar para la actualización el gestor gráfico de paquetes Synaptic. Para ello vaya al menú Aplicaciones/Configuración/Sistema/Synaptic. Se le pedirá la contraseña de root 23 Capítulo 1. Instalación de Guadalinex Gestor de paquetes Synaptic Pulse la tecla "Recargar" y después que haya terminado la actualización de la lista de paquetes dispondibles pulse "Marcar todas las actualizaciones". En la ventana emergente pulse "Actualización inteligente".Este procedimiento es equivalente al anteriormente descrito. 1.5.2. Problemas con la impresión desde Mozilla-Firefox Si usted tiene instalada una impresora en el sistema puede ocurrir que aún cuando todos los programas puedan imprimir Mozilla-Firefox no lo haga Notas 1. Los usuarios más avanzados cuando instalan GNU/Linux en general o Guadalinex en particular suelen crear más particiones de las estrictamente necesarias. Hay varias razones para hacerlo pero dado el carácter introductorio del curso no trataremos de ello ahora, en todo caso puede consultar la documentación incluida en la sección "Para ampliar". 2. El que usted tenga acceso ADSL a Internet no garantiza que esté utilizando para ello la tarjeta de red de su ordenador. Además de los routers ADSL exiten también los modems ADSL, éstos últimos se conectan al equipo a través de un puerto, habitualmente el USB. Si ese es su caso el acceso a Internet habrá que hacerlo más adelante con el sistema ya instalado. Si planea contratar acceso ADSL o tiene la posibilidad de cambiarlo le recomendamos contrate un acceso tal que pueda hacerse mediante la tarjeta de red de su equipo, ya sea con cable o inalámbrico. Si su equipo no tiene tarjeta de red instale una, le saldrá quizá un poco más caro pero ganará calidad. Entre otra ventajas el acceso ADSL mediante router le permitirá conectar varios equipos independientes al mismo tiempo, con tal que estén dotados de tarjeta de red, de la manera más sencilla y estable. 24 Capítulo 2. El sistema de ficheros 2.1. Introducción Normalmente para preparar un disco duro para su uso con cualquier sistema operativo realizamos dos tareas: particionarlo y crear un sistema de ficheros. 1Cuando hacemos lo primero estamos creando divisiones en el disco, cada disco tiene que tener al menos una de estas divisiones. La segunda operación, lo que habitualmente se conoce como formatear, consiste en crear una estructura de datos para que el sistema operativo (Windows o Linux) pueda organizar la información en ficheros y directorios. Así que un sistema de ficheros (en inglés filesystem) es simplemente una estructura de datos situada en un área o división del disco. De este modo un mismo disco puede contener varios sistemas de ficheros. Los distintos sistemas operativos normalmente usan diferentes sistemas de ficheros, lo que dificulta el compartir los contenidos de una unidad de disco entre ellos. Sin embargo, Linux admite múltiples sistemas de ficheros, lo cual hace posible por ejemplo la lectura/escritura de particiones dedicadas a MS-Windows. 2.2. Tipos de sistemas de ficheros Linux trabaja nativamente con los sistemas de ficheros Ext, Ext2, Ext3, Minix, Xia pero además soporta una gran variedad de sistemas para facilitar el intercambio de información con otros sitemas operativos. Una descripción detallada de cómo funcionan cada uno de estos sistemas de ficheros excede con mucho los propósitos de este capítulo. No obstante daremos unas pinceladas de los más frecuentes. Linux soporta: ext2. (Second extended filesystem o "segundo sistema de archivos extendido") fue el sistema de ficheros estándar en el sistema operativo GNU/Linux por varios años y continúa siendo ampliamente utilizado. Fue diseñado originalmente por Rémy Card. La principal desventaja de EXT2 es que la recuperación tras una caída repentina del sistema es lenta y en algunos casos dificultosa. ext3. Es una mejora del anterior. Incorpora una bitácora (journaling) lo que hace que la recuperación tras un apagado inesperado sea rápida y fácil. Actualmente es el sistema de ficheros más ampliamente utilizado en GNU/Linux. msdos. Para compatibilidad con el sistema de ficheros FAT de MS-DOS vfat. Para compatibilidad con el sistema FAT32 de Windows9X ntfs. Es el sistema empleado en Windows NT y WindowsXP. GNU/Linux sólo tiene soporte de lectura para este sistema de ficheros, y de escritura en fase experimental, aunque no se suele activar por defecto. Guadalinex viene preparado para ambas operaciones aunque la escritura no es aconsejable. iso9660. Es el sistema de ficheros de los CD-ROM. GNU/Linux incorpora de forma automática la extensión Rock Ridge lo que permite nombres de fichero más largos. umsdos. Extiende el sistema de ficheros msdos bajo GNU/Linux. El sistema de ficheros ms-dos no soporta nombres de fichero largos, propiedad, permisos, enlaces y ficheros de dispositivo que sí soporta el sistema ext2 o ext3. Con umsdos podemos utilizar un sistema de ficheros ms-dos como si fuera nativo de GNU/Linux. De este modo podríamos utilizar una partición ms-dos preexistente en el sistema para instalar GNU/Linux aunque con el inconveniente de que su rendimiento es menos eficiente. nfs. Network File System (Sistema de archivos de red) es un sistema de archivos distribuido para un entorno de red de área local. Posibilita que distintos sistemas conectados a una misma red accedan a ficheros remotos como si se tratara de locales. hpfs. Para compatibilidad con sistemas operativos OS/2 25 Capítulo 2. El sistema de ficheros sysv. Para compatibilidadcon Unix SistemV/i386, Coherent y Xenit 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. Actualmente es soportado por Linux y existen planes de futuro para incluirlo en otros sistemas operativos. A partir de la versión 2.4.1 del núcleo de Linux, ReiserFS se convirtió en el primer sistema de ficheros con journal (bitácora) en ser incluído en el núcleo estándar. xfs. Es un sistema de archivos con journaling de alto rendimiento creado por SGI (antiguamente Silicon Graphics Inc.) para su implementación de UNIX llamada IRIX. En mayo del 2000, SGI liberó XFS bajo una licencia de código abierto. udf. Universal Disk Format es utilizado en los cd-rom y en el dvd-video y dvd-rom minix. Primer sistema de ficheros utilizado por Linux ext. El sucesor inmediato de minix actualmente en desuso. xiafs. El sucesor de ext. Tampoco está en uso actualmente. Además de estos tipos de sistemas de ficheros en un sistema GNU/Linux suele haber también una partición utilizada por el sistema como área de intecambio (swap) a partir de la cual el sistema implementa la memoria virtual. La memoria virtual puede también implementarse a través de un fichero. En la instalación automática de Guadalinex se crea un fichero de intercambio con el nombre swapfile2, no obstante si Guadalinex encuentra una partición swap la utilizará para implementar la memoria virtual junto con el fichero de intercambio que él mismo creó. En GNU/Linux existen varias utilidades para manejar particiones las más utilizadas son: fdisk, cfdisk, qtparted, etc... alguna de las cuales ya se han tratado en este curso. En la imagen puede verse cómo muestra fdisk un disco duro con tres sistemas de ficheros (FAT, NTFS y EXT3) Fdisk 2.3. Estructura del sistema de ficheros. En GNU/Linux todo en el sistema es tratado como un fichero.3 Los directorios son ficheros cuyos datos son los archivos que contiene. Incluso los dispositivos (tales como una partición de disco duro, un diquete o un cd rom) son tratados como ficheros especiales en los que se puede leer y escribir. 26 Capítulo 2. El sistema de ficheros El sistema de ficheros en UNIX se compone de un único árbol de directorios que comienza en el directorio principal (/). Este árbol puede estar integrado por varios dispositivos físicos (e incluso dispositivos virtuales). A cada dispositivo integrado en el árbol de directorios se accede mediante un subdirectorio común del mismo llamado punto de montaje del dispositivo. De esta forma, resulta transparente para los usuarios y las aplicaciones qué dispositivos forman el árbol de directorios y dónde están montados. Importante: Si viene de Windows estará acostumbrado a utilizar letras para representar dispositivos, así C:\ siginificaría la primera partición del primer disco duro; D:\ podría representar una partición o un cd-rom; E:\ podría representar otra partición o un segundo cd-rom, etc. Esta forma de organizar la información tiene graves incovenientes. Para caer en la cuenta imagínese que un amigo desde su casa le dice "estoy viendo una letra D:\ ¿qué es esto?"... ¿podría responderle a ciencia cierta? En cambio con GNU/Linx, utilizando una metáfora, es como si sólo tuviese una gigantesca letra C:\, y usted accede a cualquier dispositivo simplemente a través de una carpeta. Los autores se niegan a admitir que el sistema de letras es más "intuitivo" para el usuario, únicamente reconocen que es a lo que se ha acostumbrado la gente. Pero ¿cuántas veces una aplicación no funciona porque está previsto que encuentre la información del cd-rom en D:\ cuando usted tiene su cd-rom en E:\? GNU/Linux está comprometido a respetar el Estándar de Jerarquía de Sistemas de archivos (FHS del inglés Filesystem Hierarchy Standard), un documento de consenso que define los nombres, la ubicación y los permisos de muchos tipos de archivos y directorios. Esto significa en la práctica que usted encontrará los mismos directorios en el mismo lugar en diferentes sistemas que respeten este estándar.4 A continuación mostramos un breve esquema de la jerarquía de directorios en un sistema GNU/Linux: / |-bin |-boot |-cdrom |-dev |-etc |-floppy |-home |-lib |-mnt |-proc |-root |-sbin |-tmp |-usr |-var Si describimos brevemente su contenido: /bin/. Contiene los ejecutables (binarios) básicos del sistema. En /usr/bin también hay contenidos ejecutables pero no los básicos. Esto se hace así porque puede que cuando el sistema arranque todavía no esté disponible el directorio /usr y sin embargo se necesite ejecutar algunos programas. /boot/. Este directorio contiene archivos estáticos requeridos para arrancar el sistema, tales como el kernel de Linux. Estos archivos son esenciales para que el sistema arranque correctamente. /cdrom/. En este directorio se accede al contenido del cd-rom. En otros sistemas GNU/Linux el cd-rom se monta en el directorio /mnt/cdrom/. En los sistemas RedHat Enterprise™ o Fedora existe un directorio /media/. Este directorio contiene los subdirectorios utilizados como puntos de montaje para los "media removible", tales como CD-ROMs, pendrives o discos Zip. /dev/. El directorio /dev/ contiene entradas del sistema de archivos que representan dispositivos del sistema. Estos archivos son esenciales para el correcto funcionamiento del sistema. 27 Capítulo 2. El sistema de ficheros /etc/. El directorio /etc/ está reservado para los archivos de configuración que son locales a su ordenador. No deben colocarse binarios en /etc/. Los binarios que antiguamente se colocaban en él deberían colocarse en /sbin/ o en /bin/. Los directorios X11/ y skel/ son subdirectorios. El directorio /etc/X11/ contiene los archivos de configuración de X Window System (el sistema gráfico que incorpora GNU/Linux). El directorio /etc/skel/ es un conjunto de archivos "esqueleto" (del inglés "skeleton") de usuarios, que son archivos utilizados para rellenar el directorio principal de un usuario la primera vez que éste es creado. /floppy/. En él se accede al contenido del disquete. En otros sistemas se monta en /mnt/floppy y en RedHat en /media/ tal como se explicó más arriba. /home/. En este directorio se encuentran los directorios de trabajo de los usuarios del sistema. Cada uno es completamente soberano en su propio directorio de trabajo. Este directorio, en el sistema gráfico GNOME, que es el que trae por defecto Guadalinex, es representado como un icono con el rótulo "Carpeta de inicio de usuario", donde usuario es su nombre con el que el sistema le identifica. /lib/. El directorio /lib/ debería contener sólo las bibliotecas (libraries) necesarias para ejecutar los binarios situados en /bin/ y en /sbin/. Estas imágenes de bibliotecas compartidas son particularmente importantes para arrancar el sistema y ejecutar comandos en el sistema de archivos raíz. /mnt/. De él cuelgan los directorios para montar sistemas de archivos, por ejemplo /cdroom/ o /floppy/. En Guadalinex se montan aquí las particiones Windows encontradas en el sistema, el cd-rom y el disquete se montan en otros lugares como hemos visto más arriba. /proc/. El directorio /proc/ contiene "archivos" especiales que o bien extraen información del kernel o bien la envían a éste. /root/. Directorio de trabajo del adminstrador del sistema. /sbin/. contiene los archivos binarios ensenciales para administrar el sistema, esto es, para arrancar, restaurar, recuperar y/o reparar el sistema. /tmp/. En él se almacena información temporal, necesario para la ejecución de ciertas aplicaciones. /usr/. Aquí se sitúan los programas que no son básicos para el sistema. En él se contiene el directorio /usr/local/ donde se sitúan las aplicaciones que van a ser compartidas por los usuarios del sistema. /var/. En él se almacenan archivos de datos variables. Esto incluye archivos y directorios spool, datos de administración, de registro y archivos temporales. Los archivos de registro del sistema tales como messages/ y lastlog/ van en el directorio /var/log/ /sys/. Este directorio utiliza el nuevo sistema de archivos virtual sysfs específico del kernel 2.6 (kernel que viene con Guadalinex 2004, pero no con anteriores versiones). El directorio /sys/ contiene información similar a la que se encuentra en /proc/, pero muestra una vista jerárquica de la información específica sobre los dispositivos de conexión en caliente (hot plug). Para ver ciertos dispositivos USB y Firewire montados, consulte la página man de /sbin/hotplug y /sbin/udev. 2.4. Ficheros de configuración del sistema No se van a tratar aquí todos los archivos de configuración sino aquellos que creemos debe conocer alguien que se inicia en un sistema GNU/Linux. Los ficheros de configuración se almacenan en distintas partes del sistema. $HOME. En el directorio de trabajo del usuario se encuentran diversos ficheros de configuración que afectan únicamente a ese usuario. Tales ficheros comienzan habitualmente con un punto lo que indica que son ficheros ocultos. Un ejemplo podría ser el fichero .bashrc En el directorio de trabajo suele almacenarse la configuración personal para las distintas aplicaciones instaladas en el sistema en carpetas que llevan el nombre de la aplicación tales como .mozilla-firefox (donde se almacenan las configuraciones 28 Capítulo 2. El sistema de ficheros personales de apariencia de la aplicación, los ficheros de marcadores, las preferencias de idioma, etc.). Si quiere ver estos ficheros y carpetas ocultos puede hacerlo de dos modos: desde una terminal escribiendo $ls -alh con lo que verá también qué tamaño tienen; o si usa nautilus vaya a Editar−→ Preferencias−→Mostrar archivos ocultos y de respaldo. /etc/. Aquí se encuentran la gran mayoría de los ficheros de configuración del sistema, algunos de los cuales son: • /etc/exports/. Lista de los directorios locales para ser compartidos utilizando NFS • /etc/fstab/. Contiene información sobre los distintos sistemas de ficheros y dónde están montados. • /etc/hosts/. Lista de nombres de máquina y direcciones IP. • /etc/passwd/. Contiene información de cada uno de los usuarios de la máquina. • /etc/shadow/. Lugar donde se almacenan las contraseñas encriptadas de los usuarios de la máquina. • /etc/resolv.conf/. Aquí se almacenan los nombres de los servidores DNS utilizados en el sistema. • /etc/X11. Directorio donde se almacena la configuración del sistema gráfico X instalado en el sistema. • /etc/X11/XF86Config-4. En este fichero se guarda la configuración esencial de su sistema gráfico: teclado, ratón, monitor, tarjeta gráfica, resolución de pantalla, profundidad de color. Trataremos de este fichero cuando entremos en la configuración de dispositivos. 5 • /etc/http. Contiene subdrectorios y ficheros necesarios para configurar el servidor web Apache • /etc/network/. Contiene los ficheros de configuración de las tarjetas de red y de otros parámetros de la red. 2.5. Ficheros de registro (logs) Llamamos logs a los ficheros de registro. En ellos se guarda información sobre las distintas acciones que realiza el sistema. Esto ficheros permiten al administrador hacer un seguimiento detallado de lo que está ocurriendo en su sistema.Algunos de ellos son: /var/logs/httpd. Mensajes procedentes del servidor web Apache. Contienen una exhaustiva información sobre quién ha accedido, desde que IP, a qué páginas, cuanto tiempo,etc... La información que contienen es tan compleja que se han creado programas tales como Webalizer para mostrarla de un modo más amigable. Con este tipo de aplicaciones podría hacerse un seguimiento de las visitas a nuestro servidor y mostarlas en gráficos, por ejemplo. /var/logs/squid. mensajes procedentes del proxy squid. Existen diversos comandos para mostrar el contenido de estos ficheros de forma amigable. Algunos son: • #last. Muestra una lista de los usuarios que se han conectado al sistema indicando desde dónde se han conectado y el tiempo de conexión. • #dmesg. Muestra los mensajes de arranque del sistema y diversos mensajes provenientes del kernel. Con un sencillo ejemplo comprenderá la utilidad de los registros del sistema. Si usted ha dejado la configuración por defecto de Guadalinex ingresará en el sistem a través de un login gráfico conocido como gdm. Pues bien puede saber quién se resgistró en el sistema, cuánto tiempo estuvo registrado e incluso quien intentó hacerlo y falló. Abra una terminal y escriba 29 Capítulo 2. El sistema de ficheros #less /var/log/auth.log | grep gdm 6 • #gnome-system-log. Si usted quiere una vista gráfica de diversas bitácoras del sistema ejecute este comando como root Importante: Cuando se indiquen comandos para ser ejecutados en la consola utilizaremos el símbolo # para indicar que se trata del administrador (root) y $ para indicar que la orden puede ser invocada por un usuario cualquiera del sistema. 2.6. Ficheros especiales En GNU/Linux además de los ficheros regulares que son aquellos que sirven para contener datos (tales como un texto, una imagen, etc.) existen ficheros especiales. En lo que sigue daremos un breve repaso. 2.6.1. Enlaces Un enlace no es más que una forma de vincular dos o más nombres de archivo con el mismo conjunto de datos. Hay dos formas de hacer esto: • Enlaces duros: Asocian dos o más nombres de archivo con el mismo inodo. Los enlaces duros comparten el mismo bloque de datos en el disco duro al tiempo que se comportan como si fueran archivos independientes. Esto tiene una desventaja: los enlaces duros no pueden hacerse entre ficheros de distintas particiones, puesto que los números de inodo sólo son únicos en una partición dada. • Enlaces simbólicos: Un enlace simbólico es un fichero que apunta a otro fichero. Un enlace simbólico contiene la ruta hacia otro archivo al que llamaríamos objetivo. Si borramos el archivo enlace no se borra el archivo objetivo. Si borramos el archivo objetivo el enlace queda roto y se vuelve inútil. Los enlaces simbólicos pueden hacerse entre ficheros de distintas particiones puesto que ocupan distintos inodos, es decir, distintos bloques de datos en el disco duro. Se podria añadir que existe una tercera clase de enlaces, los enlaces de espacio de usuario, que son muy similares a los accesos directos de MS Windows7. Estos archivos contienen meta-datos que pueden ser interpretados por un administrador de archivos gráficos tal como Nautilus. Sin embargo el sistema trata estos ficheros simplemente como archivos regulares. Este tipo de ficheros suelen terminar con el sufijo .desktop o .lnk Por ejemplo observe en su escritorio uno de los iconos tal como el de Ayuda. En realidad tal acceso directo es un fichero que se encuentra en /home/$usuario/Desktop/ (donde $usuario es su nombre de usuario). Para ver su contenido escriba algo como esto: $less /home/saorin/Desktop/ayuda.desktop[Desktop Entry] Encoding=UTF-8 Version=1.0 Type=Application Exec=firefox /usr/share/doc/guadalinex-browsers-inicio/inicio.html TryExec= Icon=/usr/share/icons/Nuvola/scalable/apps/gnome-help.svg X-GNOME-DocPath= 30 Capítulo 2. El sistema de ficheros Terminal=false Name[es_ES]=Ayuda GenericName[es_ES]= Comment[es_ES]=Ayuda de Guadalinex StartupNotify=true Veamos ahora con algo más de detalle cómo crear enlace duros y simbólicos. 2.6.2. Enlaces duros Como ya hemos explicado un enlace duro permite que un fichero puede aparecer en varios sitios a la vez, pero hace referencia a los mismos datos. Podemos crear enlaces duros con el comando ln $ln ejemplo1 ejemplo2 esto crea un nuevo enlace al fichero ejemplo1 con nombre ejemplo2 (por supuesto ejemplo1 debe existir previamente). Usado de esta forma el comando ln funciona como si se copiara el fichero, salvo que la nueva copia no es un nuevo fichero sino una nueva entrada de directorio para el fichero que ya existía. Como ya se dijo los enlaces duros están limitados a un mismo sistema de ficheros, esto es, no se puede hacer un enlace de un fichero a un directorio que se encuetre en un dispositivo físico distinto (disco, partición, etc.). En este caso si borramos uno de los ficheros enlazados no se borrará el otro o los otros. 2.6.3. Enlaces simbólicos No son realmente nuevas entrada de directorio para ficheros existentes, sino unos ficheros especiales que indican que los accesos a los mismos debe redirigirse a otro fichero diferente. Su uso es más frecuente que el de los enlaces duros. Los enlaces simbólicos también se crean con el comando ln, pero esta vez usando la opción -s. $ln -s ejemplo1 ejemplo2 Esto crearía un enlace simbólico llamado ejemplo2 apuntando a ejemplo1 (por supuesto el fichero objetivo debe existir previamente) El ejemplo propuesto es el más sencillo. Otro caso: $ln -s /usr/local/OpenOffice/bin/ooowriter /usr/bin/writer El fichero ooowriter existe previamente y es el objetivo. Con este comando creamos un enlace simbólico llamado "writer" en el directorio /usr/bin que apunta al fichero ooowriter situado en el directorio /usr/local/OpenOffice/bin/. Para ver dónde apunta un enlace simbólico escriba $ls -al-rw-r--r-1 saorin saorin 17 2006-01-24 11:49 ejemplo1 lrwxrwxrwx 1 saorin saorin 8 2006-01-24 11:49 ejemplo2 -> ejemplo1 31 Capítulo 2. El sistema de ficheros Vemos como ejemplo2 es un enlace simbólico que apunta a ejemplo1 2.6.4. Ficheros de dispositivo En GNU/Linux al igual que en UNIX, la mayoría de los dispositivos físicos están representados en el sistema de ficheros por ficheros especiales de tipo dispositivo (device). Estos ficheros se agrupan dentro del directorio /dev. Veamos un ejemplo: $ ls -al /devlrwxrwxrwx 1 root root crw-rw-rw1 root root 1, 7 2006-01-24 brw-rw---1 root disk 3, 0 2006-01-24 brw-rw---1 root disk 3, 1 2006-01-24 brw-rw---1 root disk 3, 2 2006-01-24 brw-rw---1 root disk 3, 3 2006-01-24 brw-rw---1 root cdrom 22, 0 2006-01-24 crw-rw---1 root root 226, 0 2006-01-24 8 2006-01-24 09:43 cdrom -> /dev/hdc 10:42 full 10:42 hda 10:42 hda1 10:42 hda2 10:42 hda3 10:42 hdc 09:44 i830 Vemos que hay dos tipos de dispositivos: tipo carácter (marcados con c) y tipo bloque (marcados con b). Con los dispositivos tipo carácter la transferencia se realiza byte a byte mientras que con los de tipo bloque, la transferencia se realiza por bloques completos de un tamaño determinado. Cada dispositivo se caracteriza por dos números: el número mayor y el número menor. El número mayor indica el tipo de dispositivo (disco, puerto serie, etc.) y el menor identifica un dispositivo concreto dentro de un tipo. Existen ficheros de dispositivo de muchos tipos y generalmente no es necesario crear ficheros nuevos. Gran cantidad de ellos representan hardware que no tiene por qué estar instalado. Si se necesitan nuevos ficheros de dispositivo, el script /dev/MAKEDEV puede ejecutarse con los argumentos adecuados para crear los dispositivos o grupos de dispositivos que se necesiten. Para más información sobre tipos de dispositivos y su creación ver MAKEDEV(8). Como puede verse en el ejemplo, el control a los dispositivos puede establecerse asignando los permisos adecuados. Los ficheros de dispositivo permiten acceder directamente al hardware que representan, haciendo operaciones de lectura, escritura y control sobre los ficheros de dispositivo como si fueran ficheros convencionales. En realidad, los ficheros de dispositivo es una de la grandes ideas de UNIX. En el ejemplo de arriba es de notar que el fichero /dev/cdrom es en realidad un enlace simbólico a /dev/hdc que es realmente el fichero de dispositivo. Tal y como está ahora mismo sólo podría usar el cdrom de la máquina el usuario root y todos aquellos usuarios que pertenezcan al grupo "cdrom". Más adelante cuando veamos los permisos trataremos de esto. A menudo cuando usted no puede acceder como usuario a algún dispositivo (por ejemplo el modem) debe mirar si tiene permisos de lectura y/o escritura sobre ese dispositivo. 2.7. Administración de un sistema de ficheros 2.7.1. Montar y desmontar dispositivos En general, en los sistemas UNIX es necesario montar los dispositivos extraibles antes de que puedan ser 32 Capítulo 2. El sistema de ficheros usados por el sistema, y también es necesario desmontarlos antes de extraerlos de las unidades correspondientes. De esta forma, el sistema es informado de la presencia del medio y puede optimizar la transferencia de datos con el mismo. En muchos entornos gráficos (como GNOME o KDE) existen iconos que permiten un acceso directo a los dispositivos, esto es, el dispositivo se monta automáticamente al pulsar en el icono y aparece una ventana con el contenido de la unidad. En estos casos suele ser necesario desmontar el dispositivo antes de extraer el medio, lo cual se realiza con la opción adecuada del menú desplegable del dispositivo (accesible a menudo pulsando la tecla derecha del ratón sobre el icono). Esta operación es especialmente importante en diskettes, ya que los CD ROMs no podrán ser extraidos hasta que se desmonten, pero los diskettes pueden ser extraidos sin desmontar, lo cual puede tener consecuencias desagradables como pérdida de datos o incluso bloqueo de la unidad. En este caso, es necesario volver a introducir el medio y hacer la operación de desmontar. En realidad, las operaciones de montado y desmontado las llevan a cabo los comandos mount y umount, por ejemplo: # mount /dev/hdc /cdrom montaría el dispositivo de CD ROM situado en /dev/hdc en el directorio /cdrom. Antes del montado, el directorio /cdrom debe estar creado. Tras el montado, el contenido del dispositivo montado aparece en /cdrom como si se tratara de un directorio más del sistema. De la misma forma de haría para un diskette: # mount /dev/fd0 /floppy y el contenido del diskette aparecerá en /floppy. De esta forma, se accede a un dispositivo montado como si se tratara de un directorio más del sistema. Los directorios /cdrom y /floppy son creados por el proceso de instalación precisamente para este propósito descrito. En cualquier momento puede saberse qué dispositivos están montados en el sistema ejecutando el comando mount sin argumentos: $ mount /dev/hda2 on / type ext3 (rw,errors=remount-ro) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw) usbfs on /proc/bus/usb type usbfs (rw) none on /proc/bus/usb type usbdevfs (rw) /dev/hda3 on /mnt/Windows9X1 type vfat (rw,nosuid,nodev,umask=000,user=saorin) /dev/hdc on /cdrom type iso9660 (ro,noexec,nosuid,nodev,user=saorin) Puede verse que /dev/hda2 (la segunda partición del primer disco IDE) es el sistema de ficheros principal (/), y que la tercera partición de este mismo disco es de formato vfat y está montada en /mnt/Windows9X1. También vemos que hay un CD ROM montado en /cdrom. Los dispositivos proc y devpts son dispositivos virtuales pero que se comportan como si fueran dispositivos reales. Aunque su descripción sale del ámbito de este apartado, diremos, por ejemplo, que /proc contiene ficheros que permiten obtener información sobre el hardware del sistema y su configuración. El contenido de estos ficheros es generado dinámicamente por el sistema cuando se leen. Es divertido pasearse por /proc y curiosear el contenido de sus ficheros y directorios. 33 Capítulo 2. El sistema de ficheros Linux reconoce muchos formatos posibles de discos, diskettes y CD ROM. En la mayoría de los casos el sistema identifica automáticamente el formato del dispositivo, pero cuando esto no es posible, podemos indicar el formato con la opción -t de mount, por ejemplo: # mount -t vfat /dev/fd0 /floppy montaría un diskette con formato MS DOS y soporte para nombres largos. Si tiene una partición NTFS (habitual en sistemas WindowsXP) puede tratar de montarla con el comando: #mount -t ntfs /dev/hda1 /mnt/WindowsXP1 (donde debe sustituir /dev/hda1 por la partición que contiene el sistema de ficheos NTFS y /mnt/WindowsXP1 por el directorio que ha creado para montar la partición) Una vez hecho esto podrá comprobar que únicamente tiene acceso de lectura.Así si ejecutamos #cd /mnt/WindowsXP1 #ls -al Veremos todos los ficheros. Pero si intentamos escribir en ella por ejemplo para crear el directorio test, obtendremos un mensaje de error #mkdir test mkdir: no se puede crear el directorio «test»: Sistema de ficheros de sólo lectura Esto significa que tal partición se monta como sólo lectura.8 El comando mount permite hacer cosas realmente curiosas. Con un ejemplo lo verá. Imagine que quiere copiar un cd-rom de datos pero antes quiere asegurarse que se ha leido bien. Empezaremos por crear la imagen ISO del cd-rom a copiar # dd if=/dev/hdc of=mi_imagen.iso Aquí if significa input file, y of, output file. Esto creará en el directorio desde el que se ejecute la orden un fichero llamado mi_imagen.iso con una imagen del contenido del cd-rom. Ahora escribimos # mount -o loop mi_imagen.iso /cdrom Si ahora nos vamos al directorio cdrom podremos ver su contenido exactamente del mismo modo que si tuviéramos el disco en la lectora.9 Ahora podemos volcar la imagen a un cd virgen tecleando # cdrecord -v -eject dev=/dev/hdc speed=24 imagen.iso donde /dev/hdc hay que sustituirlo por el dispositivo donde se encuentre la grabadora y speed por la velocidad.10 Para desmontar dispositivos se utiliza el comando umount cuya sintaxis general es #umount [opciones] dir Por ejemplo, para desmontar el cd-rom escribimos 34 Capítulo 2. El sistema de ficheros #umount /cdrom Si tenemos la unidad de cd-rom montada no podremos extraerla hasta que la desmontemos. Si queremos desmontarla y expulsarla al mismo tiempo podemos escribir #eject /cdrom En el caso de los disquetes es fundamental desmontarlos antes de extraerlos pues podría perderse información. Para desmontar un sistema de ficheros es necesario que no esté siendo utilizado por ningún proceso. Por ejemplo si intentamos desmontar un cdrom pero al mismo tiempo estamos explorando su contenido obtendremos un mensaje de error indicándonos que el dispositivo está ocupado. A veces puede ocurrir que intentemos desmontar un dispositivo y no nos deje diciendo que está ocupado y por más que miremos no acertamos a saber qué proceso lo está utilizando. Para saber qué procesos están usando un dispositivo utilizamos la orden /sbin/fuser. Por ejemplo si tenemos montada nuestra partición Windows en /mnt/Windows9x y no nos deja desmontarla podemos saber qué procesos la están usando utilizando la orden #/sbin/fuser -a /mnt/Windows9x Esto suele ser útil sobre todo cuando algún proceso que está usando el dispositivo se ha quedado "atascado" y no hay manera de que "suelte" la unidad. En ese caso con fuser vemos cuál es y con la orden kill lo matamos. Más adelante cuando se trate de la gestión de procesos veremos con detalle esta orden. 2.7.2. Fichero /etc/fstab Para facilitar el uso de mount y para indicar al sistema qué dispositivos forman el sistema de ficheros, existe el fichero /etc/fstab. En él se indican qué dispositivos han de montarse en qué lugar y con qué opciones entre las que se incluye quién puede y quién no puede montarlos. Un fichero /etc/fstab correctamente configurado nos permitirá por ejemplo montar el CD-ROM indicando simplemente el punto de montaje $ mount /cdrom o también nuestra partición ms-dos sin necesidad de indicar el dispositivo $ mount /mnt/Windows9x De esta forma, el usuario se puede olvidar de en qué dispositivo se encuentra el CD ROM, la partición ms-dos, etc. Por otra parte las operaciones de montado y desmontado de dispositivos en principio puede hacerlas únicamente el root (administrador) a no ser que el fichero /etc/fstab/ indique que también les está permitido a los usuarios. Toda esta información está preconfigurada en /etc/fstab. Un ejemplo de fichero es el siguiente: # /etc/fstab: static file system information. # # The following is an example. Please see fstab(5) for further details. # Please refer to mount(1) for a complete description of mount options. 35 Capítulo 2. El sistema de ficheros # # Format: # file system mount point type options /dev/hda2 / ext3 defaults,errors=remount-ro 0 1 proc /proc proc defaults 0 0 none /sys sysfs defaults 0 0 none /proc/bus/usb usbdevfs rw 0 0 dump pass /swapfile none swap sw 0 0 /dev/fd0 /floppy vfat defaults,users,sync,noauto,showexec,umask=022 0 0 /dev/cdrom /cdrom iso9660 defaults,ro,user,noexec,noauto 0 0 /tmp/image.iso /mnt/iso iso9660 defaults,users,noauto,noexec,nosuid,loop 0 0 /dev/hda2 /mnt/Linux1 auto noauto,user,exec 0 0 /dev/sda /mnt/usb1 vfat rw,users,sync,noauto 0 /dev/sda1 /mnt/usb2 vfat rw,users,sync,noauto 0 /dev/sdb /mnt/usb3 vfat rw,users,sync,noauto 0 /dev/sdb1 /mnt/usb4 vfat rw,users,sync,noauto 0 /dev/hda3 /mnt/Windows9X1 auto noauto,user,exec,umask=000 0 0 /dev/hda1 /mnt/WindowsXP1 auto noauto,user,exec,uid=1000,gid=1000 0 0 0 0 0 0 En este fichero, como en general ocurre con todos los ficheros de configuración, las líneas que empiezan con # son comentarios lo que significa que serán ignoradas por el sistema, su única misión es aclarar conceptos a quien las lee. Si leemos este fichero vemos que la primera línea sin comentarios nos dice que en /dev/hda2 (la segunda partición del primer disco duro) se encuentra la partición principal (/) de Linux (root file system) y que están montada con el sistema de ficheros ext3. La quinta línea nos indica que no hay una partición swap en el sistema sino que se trata de un fichero de intercambio (swapfile) El CD ROM y la disketera se montarán en /cdrom y /floppy respectivamente, pero no se montarán automáticamente al arrancar (opción noauto), aunque si podrán ser montados posteriormente por usuarios normales (opción user) En /dev/hda3 hay una partición cuyo tipo tratará de autodetectarlo el sistema (opción auto) que los usuarios pueden montar y que se montará a petición de los usuarios en /mnt/Windows9X1. En /dev/hda1 hay una partición que se montará en /mnt/WindowsXP1. Hay además una línea a primera vista extraña, la que comienza por /tmp/image.iso Esta línea es la utilizada por el comando isomount para montar las imágenes ISO cuando así se le solicita. Ahora que ya entiende algo de este fichero vamos a explicar su estructura más pormenorizadamente. El fichero fstab es de sólo lectura y sólo puede escribir en él el administrador del sistema (root). Cada sistema de ficheros ocupa una línea y los campos de cada línea están separados por tabuladores o espacios en blanco. El orden de las líneas es importante ya que los programas fsck, mount, umount actúan secuencialmente sobre ellas. device. Es el primer campo de la cada línea y especifica el dispositivo a montar. Por ejemplo /dev/hda3 directorio. Es el segundo campo e indica la carpeta en que se montará el dispositivo y por tanto en la que podremos acceder a su contenido. Por ejemplo /mnt/Windows9X1 tipo. Es el tercer campo e indica el tipo de sistema de ficheros. Si el tipo es "auto" entonces el sistema tratará de detectar automáticamente el tipo. Si es "ignore" entonces no se montará el sistema de ficheros. Esto es útil para indicarnos que hay una partición existente pero que no se está usando. opciones. Es el cuarto campo y especifica las opciones con que se montará el sistema de ficheros.Algunas de las posibles opciones son 36 Capítulo 2. El sistema de ficheros • auto. El sistema de ficheros se montará automáticamente al arrancar el sistema • noauto. El sistema de ficheros no se montará automáticamente al arrancar el sistema • user. Se permite a los usuarios montar el sistema de ficheros • nouser. No se permite a los usuarios montar el sistema de ficheros • ro. La partición se montará como sólo lectura (read only) • rw. La partición se montará como lectura y escritura • exec. Se pueden ejecutar los binarios contenidos en la partición • noexec. No se pueden ejecutar los binarios contenidos en la partición • uid y umask. Afectan a los permisos con que se monta el sistema de ficheros • async. los accesos de Entrada/Salida al sistema de ficheros debe hacerse asíncronamente • defaults. Es una abreviatura y equivale a rw,exec,nouser,noauto,async Frecuencia. Se indica al sistema con qué frecuencia deben hacerse las copias de seguridad del sistema por el comando dump. Si este campo no se especifica o está a 0 se indica a dump que el sistema de ficheros no necesita ser salvado. Secuencia. Es el último campo e indica al comando fsck en qué secuencia debe hacerse el chequeo del sistema de ficheros en el momento del arranque. El sistema de ficheros raíz debe tener un 1 indicado que es el primero en ser chequeado, los demás sistemas podrían tener un 2. Si este campo no se especifica o está a 0 se indica a fsck que no los chequee. 2.7.3. Ver el estado de los sistemas de ficheros en modo gráfico A estas alturas usted se estará pregutando ¿y no hay alguna aplicación que muestre cuánto espacio tengo ocupado en mi disco duro en forma de barritas o tartitas de color azul o fucsia? Pues sí las hay pero no hacen mucha falta. Para ver el uso que se está haciendo de un sistema de ficheros montado podemos utilizar el comando df cuya sintaxis general es df [opciones] [sistema_de_ficheros] Si se ejecuta sin indicar ningún sistema de ficheros en particular mostrará la información de todos los sistemas montados en ese momento. Con la opción H le indicamos que nos muestre esta información en un formato legible por los humanos. $ df -H S.ficheros /dev/hda2 tmpfs /dev/hda3 /dev/hda1 Tamaño 28G 256M 5,3G 28G Usado 11G 0 3,1G 5,1G Disp Uso% Montado en 16G 40% / 256M 0% /dev/shm 2,2G 59% /mnt/Windows9X1 23G 19% /mnt/WindowsXP1 No le vemos demasiado convencido. Usted quiere su aplicación gráfica con tartas. Pues bien instale por ejemplo KDE Disk Free. Para ello #apt-get install kdf Una vez instalada y si no la encuentra entre los menues abra una terminal y escriba 37 Capítulo 2. El sistema de ficheros $ kdf KDE Disk Free Esta aplicación le informa de modo gráfico del espacio ocupado, también le permitirá entre otras cosas montar y desmontar particiones sin tener que escribir comandos. Si lo desea también puede añadir un pequeño aplique para montar y desmontar fácilmente particiones. Haga clic con el botón derecho en cualquier lugar vacío del panel y seleccione Añadir al panel−→Utilidad−→Monitor de discos. Añada tantos apliques de este tipo como unidades quiera montar o desmontar. 2.7.4. Crear nuevas particiones Para crear nuevas particiones es necesario o bien disponer de un nuevo disco duro o de espacio libre en el actual. Si se dispone de este espacio el primer paso consiste en crear una o mas particiones. Para crear particiones podemos usar, entre otros, los programas fdisk o cfdisk. Con cfdisk procederíamos así: # cfdisk /dev/hda Tras la ejecución de cfdisk, el programa muestra una pantalla como la siguiente: 38 Capítulo 2. El sistema de ficheros cfdisk Antes de hacer las particiones hay que tener en cuenta varias cosas: los cambios no se hacen efectivos hasta que se escribe la tabla de particiones (menú [Write]); si el sistema está funcionando hay que tener en cuenta que no se deben modificar particiones que estén montadas. Para movernos por la pantalla del programa utilizamos las teclas del cursor. Nos situamos en aquella parte del disco duro que esté libre y seleccionamos la opción [New]. Decidimos si la partición será primaria o logica. Se nos ofrecerá ahora la posibilidad de decidir su tamaño en MB. La partición se creará por defecto como Linux (tipo 83). Si queremos cambiar el tipo vamos a la opción [Type] y escribimos la clave (números o letras) que significan cada tipo de partición. Tipo de partición en cfdisk Una vez nos hemos asegurado de que efectivamente queremos hacer los cambios seleccionamos la opción [Write] Una vez escrita la tabla de particiones, se ha asignado un tipo de sistema de fichero a cada una de las particiones establecidas en dicha tabla pero no se les ha dado el formato adecuado. 2.7.5. Crear un sistema de ficheros Una vez creadas las nuevas particiones es necesario formatearlas. Esto crea un sistema de ficheros en la particion. Los sistemas de ficheros se crean con el comando mkfs (Make File System). La sintaxis del comando es: mkfs [-t fstype] filesys Donde fstype es el tipo de sistema de ficheros a crear. Si no se pasa este argumento mkfs tratará de deducirlo mirando en /etc/fstab. Si no se encuentra aquí la información para hacerlo entonces se creará como ext2 por defecto. filesys es la partición a la que queremos dar formato (/dev/hda1; /dev/sda1, etc.) o también podría pasársele como un punto de montaje (/tmp; /mnt/usb1) Por ejemplo #mkfs -t ext2 /dev/sda1 39 Capítulo 2. El sistema de ficheros crea un sistema de ficheros ext2 en la primer partición del disco sda. Importante: Podría practicar tratando de crear un sistema de ficheros ext2 en un disquete o en un pendrive. Recuerde que el disquete es /dev/fd0. Para saber dónde está el pendrive móntelo vea en qué directorio está montado y examine el fichero /etc/fstab; o también una vez puesto en el puerto usb teclee el comando dmesg y lea las últimas líneas. 2.7.6. Actualizar particiones ext2 a ext3 Como ext3 es sólo una actualización a ext2, los sistemas de ficheros ext2 pueden convertirse de forma sencilla a ext3 sin tener que formatear particiones ni copiar discos. Supongamos un sistema con las siguientes particiones de Linux, según figura en /etc/fstab: /dev/hdb1 / ext2 defaults,errors=remount-ro 0 1 /dev/hdb3 /home ext2 defaults,errors=remount-ro 0 1 Para convertirlas a ext3, añadimos primero un registro de transacciones a los sistemas de ficheros, lo que también se conoce como journaling. No hace falta desmontar los sistemas de ficheros. # tune2fs -j /dev/hdb1 # tune2fs -j /dev/hdb3 Después modificamos el fichero /etc/fstab para reflejar el cambio en el sistema de ficheros: /dev/hdb1 / ext3 defaults,errors=remount-ro 0 1 /dev/hdb3 /home ext3 defaults,errors=remount-ro 0 1 Listo. La próxima vez que arranquemos el sistema, los sistemas de ficheros funcionarán como ext3. 2.7.7. Crear una partición swap Las particiones swap son creadas normalmente durante el proceso de instalación. Si en algún momento necesitáramos disponer de mayor espacio de swap hay dos alternativas: crear una nueva partición de swap en dico duro libre o, si no se dispone de espacio libre en el disco duro, crear un fichero de intercambio (swapfile); ya sabemos que éste último es el método que utiliza la instalación por defecto de Guadalinex. En el primer caso, el proceso comienza por crear una nueva particion con el comando cfdisk tal como se explicó. Lo unico que hay que tener en cuenta es que el tipo de la nueva particion debe ser Linux swap. Para formatear esta particion se utiliza el siguiente comando: # mkswap /dev/hdxx Una vez creada la activamos: # swapon /dev/hdxx El comando swapon con la opcion -s da informacion sobre las particiones swap activas. En el segundo caso, la ventaja está en que no es necesario disponer de espacio libre en el disco duro, sino de espacio libre en una particion ya activa para crear el fichero. El inconveniente es que el acceso a un fichero de intercambio es más lento que a una partición. El proceso de creación y activación de un fichero swap es como sigue: 40 Capítulo 2. El sistema de ficheros Se crea un fichero sin agujeros del tamaño que deseemos: # dd if=/dev/zero of=/swapfile bs=1024 count=524288 Con esta orden se crea en la raíz del sistema un fichero con el nombre swapfile de (524288 bloques x 1024 bytes por bloque=) 512MB A continuación se formatea el fichero swap: # mkswap /swapfile 524288 Ahora se activa el fichero swap: # sync # swapon -v /swapfile Finalmente lo incluimos en el fichero /etc/fstab para que sea montado en el proceso de arranque: /swapfile none swap sw 0 0 Todo esto suponiendo que el fichero swapfile se creó directamente en la raíz del sistema de ficheros, que por otra parte es lo más habitual. Si hizo la instalación de Guadalinex por defecto seguramente se creó un fichero de intercambio en la raíz del sistema con el nombre swapfile. Para ver su tamaño escriba $ls -alh /swapfile -rw-r--r-- 1 root root 256M 2006-01-08 17:24 /swapfile En este caso el fichero de intercambio es de 256MB 2.7.8. Chequeo y recuperación de un sistema de ficheros A diferencia del sistema Windows/DOS, en GNU/Linux no existe una herramienta de defragmentación del sistema de ficheros, simplemente porque no es necesario. Debido a las caracteristicas que posee el control del sistema de ficheros extended 2 no suele ser necesario realizar este proceso. Sin embargo existen herramientas para chequear y, si es necesario, reparar un sistema de ficheros deñado tras un apagado incorrecto de la máquina. El comando fsck nos permite chequear y opcionalmente reparar un sistema de ficheros dañado. Su funcionamiento es el siguiente. Cuando un sistema de ficheros se monta se marca como "sucio", porque el sistema en su trabajo normal mantendrá datos en memoria en vez de bajarlos directamente al disco, con el fin de mejorar sus prestaciones.11 Si el sistema se apaga correctamente una de sus tareas es pasar todo lo que tenga en memoria y corresponda a los discos a su lugar correspondiente. Tras hacer esto el sistema de ficheros se marca como "limpio". Si por cualquier razón la máquina se apagase repentinamente, por ejemplo porque le han cortado la luz por impago del recibo, entonces el sistema de ficheros quedará marcado como "sucio" lo que indica que debe comprobarse al arrancar la máquina. En general fsck se ejecuta automáticamente cada vez que el sistema arranca y se detecta que en la última sesión no se apagó correctamente la máquina. También se ejecuta automáticamente cuando tras un determinado número de montajes (habitualmente cada 32 montajes) no ha sido comprobado. Para chequear un sistema de ficheros éste debe estar desmontado La sintaxis básica es: fsck [-t fstype] [-fs-specific-options] device 41 Capítulo 2. El sistema de ficheros por ejemplo # /sbin/fsck /dev/hda2 Verificaría el sistema de ficheros del dispositivo /dev/hda2 Si usamos fsck de este modo cada vez que se necesite cambiar algo en el sistema de ficheros se nos pedirá confirmación. Si queremos que el sistema de ficheros se repare automáticamente sin pedir confirmación # /sbin/fsck -y /dev/hda2 También podemos utilizar # /sbin/fsck -A De este modo fsck recorrerá todos los sistemas de ficheros en /etc/fstab y los irá comprobando siguiendo el orden indicado por el parámetro fsckorder según se comentó más arriba. Es importante tener en cuenta que el proceso de comprobación sólo debe llevarse a cabo con la particion no montada o bien montada de solo lectura lo cual plantea un problema con la particion raíz del sistema. No obstante, lo habitual es que si la particón raíz tiene errores se detecte en el proceso de arranque y se intente correguir automáticamente. Si no es posible la correccion automática el sistema se queda en modo single user y solo lectura, pidiendo al administrador del sistema que, antes de arrancar debe entrar y ejecutar manualmente el comando de reparación del sistema de ficheros. Lo habitual entonces es responder sí a todas las preguntas que piden confirmación para reparar el sistema de ficheros. Si queremos automatizar la ejecución de fsck en el arranque de modo que responda sí a todas las preguntas que se planteen debemos modificar el fichero /etc/default/rcS añadiendo o modificando hasta tener una línea como la siguiente: FSCKFIX=yes 2.7.9. Manipular particiones con herramientas gráficas. Gparted Gparted (Gnome Partition Editor) es una herramienta gráfica que le permitirá manipular varios tipos de sistemas de ficheros distintos. En la dirección http://gparted.sourceforge.net/features.php puede ver los tipos de ficheros soportados y las operaciones que pueden realizarse sobre ellos. Gparted Puesto que la mayor parte de las operaciones sobre un sistema de ficheros han de hacerse cuando éste está desmontado lo ideal sería poder arrancar el sistema con un cdrom que contuviera el programa gparted. Así aunque gparted puede instalarse como programa tiene también una version en live-cd que puede descargar de http://prdownloads.sourceforge.net/gparted/gparted-livecd-0.1.iso?download 42 Capítulo 2. El sistema de ficheros Una vez descargado el fichero gparted-livecd-0.1.iso no tiene más que pasarlo a cd-rom con su programa de grabación favorito. 2.8. Gestión de usuarios y permisos 2.8.1. Introducción GNU/Linux es un sistema operativo multiusuario y multitarea. Esto significa que puede ser utilizado por varios usuarios simultáneamente, cada uno con sus correspondientes tareas. En todo sistema GNU/Linux, incluso cuando habitualmente lo utilice una única persona, deberían existir al menos dos cuentas: la del administrador (root) y la de un usuario normal. La cuenta de root debe reservarse exclusivamente para las tareas de administración, mientras que para el trabajo cotidiano debe emplearse una cuenta de usuario normal. Importante: Debería abandonar, si los tiene, viejos hábitos y no registrarse en el sistema como root nada más que cuando sea absolutamente imprescindible. La manera que tiene el sistema de identificar a los distintos usuarios es mediante la asignación de cuentas de usuario. Cada usuario es identificado por un nombre de usuario que es único en el sistema. Cada usuario puede pertener a uno o varios grupos. La identidad del usuario así como los grupos a los que pertenecen determinan los derechos de acceso a los ficheros y otros recursos del sistema. 2.8.2. Permisos En Unix cada fichero o directorio tiene un propietario identificado por su UID (User ID o Identificador de usuario), y cada usuario pertenece la menos a un grupo12 identificado por su GID(Group ID o Identificador de grupo). Basado en esta estructura el sistema crea permisos de acceso a los distintos objetos a tres niveles • Permisos para el propietario del objeto • Permisos para el grupo • Permisos para el resto de los usuarios del sistema A su vez los permisos básicos son tres: • r. Permiso de lectura • w. Permiso de escritura • x. Permiso de ejecución Importante: Las letras que simbolizan los permisos tienen una función mnemotécnica, en realidad el sistema las ve como valores binarios, r (del inglés read, leer), w (del inglés write, escribir), x (del inglés execution, ejecutar). Para ver los permisos de un objeto en particular 43 Capítulo 2. El sistema de ficheros $ls -l educacionred.txt -rwxr-xr-- 1 saorin users 21983 2005-12-07 01:28 educacionred.txt Vamos a analizar la información que nos muestra el comando ls empezando por la izquierda • -. (El guión) nos indica que el objeto es un fichero. Si fuera un directorio en lugar del guión habría una d, y si fuera un enlace simbólico una l, o una b si fuera un dispositivo de bloques, o una c si fuera un dispositivo de carácteres (sobre estos dos últimos tipos de ficheros véase más arriba). Los caracteres que viene a continuación hay que leerlos de tres en tres. • rwx. Nos indica que el propietario del fichero, en este caso saorin, tiene permisos de lectura, escritura y ejecución.13 • r-x. Indica que el grupo, en este caso users, tiene permisos de lectura y ejecución pero no de escritura. • r--. indica que el resto de usuarios registrados del sistema tiene permisos de lectura pero no de ejecución, ni escritura. Los permisos rwx cambian un tanto de sentido cuando se aplican a un directorio, en este caso • r. Permite leer el contenido del directorio, es decir los números de inodo y los nombres de los ficheros (podríamos ejecutar ls, pero no ls -l) • w. Permite escribir en el directorio, es decir, crear y suprimir otros ficheros y subdirectorios. • x. Permite recorrer el directorio y acceder a la información de los objetos que contiene. Podría hacer un cd pero no un ls. Esto en la practica significa que si usted sabe por otros medios que por ejemplo dentro del directorio /home/ existe un subdirectorio llamado compartido podría ejecutar cd /home/compartido, pero no podría ejecutar ls /home a fin de ver qué contiene el directorio. El propietario y el grupo de un fichero lo podemos modificar con el comando chown (change owner, cambiar propietario) siempre y cuando o bien seamos root o bien seamos el propietario del fichero. Con el comando chgrp (change group, cambiar grupo) únicamente podríamos cambiar el grupo del fichero. La sintaxis de estos comandos es chown usuario fichero Si queremos cambiar únicamente el usuario chown usuario:grupo fichero Si queremos cambiar el usuario y el grupo Si además de querer cambiar el usuario y el grupo de un directorio queremos cambiarlo también para todos los objetos que contenga chown -R usuario:grupo directorio Si únicamente queremos cambiar el grupo chgrp grupo fichero Los permisos sobre un fichero o directorio los podemos cambiar con el comando chmod (change mode, cambiar modo). Su sintaxis básica es chmod permisos fichero Para pasarle a chmod los permisos podemos utilizar dos tipos de notación: octal o simbólica. 44 Capítulo 2. El sistema de ficheros La sintaxis básica para pasar los permisos en notación simbólica (también conocida como nemónica) es ésta: chmod [usuario][operador][permisos]fichero En lugar de usuario podemos poner u. propietario (user) g. grupo (group) o. resto de usuarios (other) a. todos (all), es decir usuario, grupo y otros a la vez En lugar de operador podemos poner +. añade permisos a los ya existentes -. quita permisos de los que ya había =. hace que los permisos sean los únicos que el fichero va a tener borrando los que tuviese anteriormente fuesen los que fuesen. Los permisos pueden ser r. Lectura w. Escritura x. Ejecución s. Set uid o gid t. Sticky bit (bit pegajoso) Los tres primeros ya le suenan pero los dos últimos seguramente le son desconocidos. Un poco más abajo trataremos de estos dos permisos un tanto especiales. Algunos ejemplos #chmod o=r fichero Fija los permisos para el resto de usuarios (los que no son ni el propietario ni el grupo) a sólo lectura. #chmod u+x fichero Así añadimos el permiso de ejecución para el propietario del fichero #chmod ug+x fichero Añadimos el permiso de ejecución para el propietario y grupo del fichero #chmod a=rwx fichero Damos permiso de lectura, escritura y ejecución tanto al propietario, como al grupo como al resto de usuarios. Este comando también puede usarse recursivamente para cambiar los permisos de un directorio y todo lo que en él se contiene #chmod -R a=rwx /home/pepe Fija los permisos del directorio pepe y todo lo que se contiene en él a lectura, escritura y ejecución para el usuario,grupo y resto del mundo. 45 Capítulo 2. El sistema de ficheros 2.8.2.1. Notación octal del comando chmod Para pasar al comando chmod los permisos en notación octal hay que saber que el primer dígito corresponde a los permisos para el propietario, el segundo para el grupo y el tercero para el resto del mundo. Cada dígito octal corresponde con tres dígitos binarios: el primero para la lectura, el segundo para la escritura y el tercero para la ejecución. Si el dígito está a 1 entonces el permiso está habilitado, si está a 0 entonces el permiso está deshabilitado. permisos permisos permisos permisos permisos permisos permisos permisos ----x -w-wx r-r-x rwrwx en en en en en en en en binario binario binario binario binario binario binario binario 000 001 010 011 100 101 110 111 en en en en en en en en octal octal octal octal octal octal octal octal 0 1 2 3 4 5 6 7 Importante: Esta notación que parece un galimatías es en realidad algo bastante sencillo. Permítanos que se lo expliquemos sin mucho rigor. Lo primero es saber qué permisos queremos asignar. Supongamos que queremos asignar r-x como sabemos que en binario cuando un permiso está habilitado ponemos un 1 y cuando no un 0, pasar estos permisos a binario es fácil, sería 101 Ahora pasamos binario a octal. Empezamos por la derecha 20=1; 21=2; 22=4. Bien ahora vamos sumando o no según haya un cero o un uno. Así como el primer dígito a la derecha es uno sumamos 1; seguimos por la derecha, ahora tendríamos que sumar 2, pero como el dígito es cero no sumamos nada; seguimos por la derecha, ahora tendríamos que sumar 4, y como el digito está a 1, entonces sí lo sumamos. Así este 4 más el 1 que teníamos de antes hacen 5. Luego el permiso r-x equivale a 5 en octal. De este modo para asignarles los permisos rwxr-xr-- al fichero fichero.txt haríamos #chmod 754 fichero.txt donde 7 corresponde a rwx, 5 a r-x, y 4 a r-Existe un modo más fácil de asignar permisos y es utilizando un administrador de ficheros gráfico tal como Nautilus. Importante: No obstante si usted planea introducirse de verdad en la administración de sistemas GNU/Linux para trabajar con servidores de red por ejemplo, debe tomarse en serio este capítulo sobre permisos. Con Nautilus podemos cambiar fácilmente los permisos de un fichero o directorio así como el propietario y el grupo. Para ello pulse sobre el fichero o directorio cuyos permisos quiere cambiar a fin de seleccionarlo, luego haga clic con el botón derecho del ratón y en el menú emergente selecciones Propiedades. Aparecerá 46 Capítulo 2. El sistema de ficheros una nueva ventana, vaya a la pestaña Permisos, marque ahora las casillas correspondientes a los permisos que desea cambiar o asignar. Nautilus y los permisos Como puede ver por la imagen Nautilus proporciona una buena cantidad de información acerca de los permisos que tiene un fichero, además de mostrar la vista textual (-rwxrwxrwx) y la vista numérica en octal de que venimos hablando (777). Nos aparecen también tres casillas para permisos un tanto inquietantes: • Establecer el ID del usuario • Establecer el ID del grupo • Persistente ¿Qué son estos permisos? Ya hemos dicho algo más arriba, seamos ahora más explícitos. Comencemos por el más fácil. Sticky bit (Bit pegajoso, o bit persistente, o persistente sin más). El sticky bit tiene un sentido diferente según se aplique a un fichero o a un directorio. Le dice al sistema que el fichero que lo tiene activo tiene tendencia a ser ejecutado frecuentemente y debería ser retenido en el área de swap aun cuando no se esté ejecutanto en ese momento. Esto consume memoria swap pero reduce notablemente el tiempo de ejecución. Si un directorio tiene activado este bit entonces los usuarios no podrán borrar ficheros en él a no ser que los permisos para esos ficheros se lo permitan. Este bit activo nos lo muestra el comando ls -l con una t en lugar que correspondería a los permisos de ejecución para el resto de usuarios del sistema. Este permiso puede ser útil aplicado a un directorio en el que queremos que todos los usuarios puedan escribir y leer pero no puedan modificar o borrar nada más que los ficheros que cada uno ha creado y no los de los otros. El sticky bit corresponde al valor octal 1000 así que si queremos activarlo la notación octal sería #chmod 1000 nombre_objeto Esto añadiría el bit persistente a nombre_objeto pero eliminaría los demás permisos. Si queremos añadirlo sin eliminar los permisos que hubiese de antes y suponiendo por ejemplo que nombre_objeto tuviera permisos 754 pondríamos #chmod 1754 47 Capítulo 2. El sistema de ficheros nombre_objeto SUID. (Establecer el ID de usuario). El SUID le dice al kernel que el usuario que ejecute el fichero que tiene ese bit activo, adquiera durante la ejecución la identidad del propietario del fichero. Este bit activo nos lo muestra la salida del comando ls -l con una s en el lugar que correspondería al permiso de ejecución para el propietario. Su representación en octal es 4000. ¿Para qué sirve? Pongamos un ejemplo. Es deseable que cualquier usuario del sistema pueda cambiar su contraseña sin tener que recurrir al root (administrador). Ahora bien cuando se cambia la contraseña las modificaciones se guardan en un par de ficheros /etc/password y /etc/shadow. Pero estos ficheros son propiedad del root y sólo él puede escribir en ellos. ¿Qué hacemos? Una solución sería permitir que todo el mundo pueda escribir en estos ficheros. La solución es malísima porque de este modo no sólo cada usuario podría cambiar su propia contraseña sino también la de cualquier otro usuario. La solución pasa por activar el bit suid al fichero ejecutable /usr/bin/passwd que es propiedad del root. Este programa sirve para cambiar las contraseñas escribiéndolas en /etc/password. De este modo cuando un usuario normal ejecuta /usr/bin/passwd, durante el tiempo que dura la ejecución del programa, adquiere la personalidad del root y por tanto puede escribir en los ficheros ya mencionados. Podemos comprobar como /usr/bin/passwd tiene activado el bit suid #ls -l /usr/bin/passwd -rwsr-xr-x 1 root root 26616 2004-09-08 07:13 /usr/bin/passwd SGID. (Establecer el ID del grupo). Tiene un significado parecido, pero referido al grupo de usuarios propietario del fichero o directorio. Este bit activo nos lo muestra la salida del comando ls -l con una s en el lugar que correspondería al permiso de ejecución para el grupo. Su representación octal es 2000 2.9. Usuarios y grupos 2.9.1. Gestión en modo texto GNU/Linux proporciona diversas herramientas para la gestión de usuarios • adduser. Para añadir usuarios al sistema • passwd. Para asignar o cambiar la contraseña de un usuario • deluser. Para quitar usuarios del sistema Importante: En realidad los comandos originales para añadir y quitar usuarios del sistema son useradd y userdel, adduser y deluser son programas diseñados para proporcionar una interfaz más amigable. Para añadir un usuario al sistema escriba como root: #adduser nombre_de_usuario Por ejemplo para añadir el usuario cuyo nombre de usuario es luis escriba 48 Capítulo 2. El sistema de ficheros #adduser luis Añadiendo usuario luis... Adding new group ‘luis’ (1003). Adding new user ‘luis’ (1003) with group ‘luis’. Creando el directorio home /home/luis. Copiando archivos desde /etc/skel Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Cambiando la información de usuario para luis Introduzca el nuevo valor, o presione ENTER para el predeterminado Nombre completo []: Número de habitación []: Teléfono del trabajo []: Teléfono de casa []: Otro []: ¿Es correcta la información? [y/N] y Añadiendo al usuario luis al grupo audio... Hecho. Añadiendo al usuario luis al grupo dialout... Hecho. Añadiendo al usuario luis al grupo dip... Hecho. Añadiendo al usuario luis al grupo disk... Hecho. Añadiendo al usuario luis al grupo floppy... Hecho. Añadiendo al usuario luis al grupo cdrom... Hecho. Añadiendo al usuario luis al grupo fax... Hecho. Añadiendo al usuario luis al grupo games... Hecho. Añadiendo al usuario luis al grupo lp... Hecho. Añadiendo al usuario luis al grupo lpadmin... Hecho. Añadiendo al usuario luis al grupo man... Hecho. Añadiendo al usuario luis al grupo postgres... Hecho. Añadiendo al usuario luis al grupo scanner... Hecho. Añadiendo al usuario luis al grupo ssh... Hecho. Añadiendo al usuario luis al grupo users... Hecho. Añadiendo al usuario luis al grupo video... Hecho. La salida del comando es suficientemente autoexplicativa. No obstante, veamos que ha hecho el comando. En primer lugar se ha creado un grupo de nombre luis. Después se ha creado el usuario luis y se le ha añadido al grupo luis. Recuerde que todo usuario debe pertenecer al menos a un grupo. El comando crea un grupo con el mismo nombre que el del usuario y añade a éste último al grupo. 49 Capítulo 2. El sistema de ficheros Luego se crea el directorio de trabajo del usuario /home/luis y se copian en él todos los ficheros y directorios contenidos en el directoro /etc/skel (skel viene de esqueleto o estructura). Después se nos pide una contraseña para el usuario que habrá que introducir dos veces. La contraseña no tiene eco lo que significa que mientras se teclea no se verá ningún carácter en pantalla. Más adelante nos pide algunos datos cuya consignación es optativa, si quiere dejarlos en blanco simplemente pulse Enter. Finalmente se añade el usuario a todos los grupos que le permitirán usar los diferentes dispositivos del sistema:cdrom, modem, tarjeta de sonido, etc. Finalmente todos estos datos se escriben el los ficheros /etc/password, /etc/shadow y /etc/group. El comportamiento del comando adduser en Guadalinex 2004, al menos en su primera versión, presenta algunas peculiariedades. En primer lugar el directorio de trabajo del usuario, /home/luis en nuestro caso, se crea con permisos 755 lo que significa que cualquier usuario del sistema puede leer los ficheros contenidos en él. Si la confidencialidad es una de sus prioridades tal cosa no es deseable. Afortunadamente puede cambiarse este comportamiento por defecto editando el fichero /etc/adduser.conf y cambiando la línea DIR_MODE=0755 por esta otra DIR_MODE=700 De este modo negamos cualquier permiso al resto de usuarios del sistema. Importante: En el proceso de instalación de Guadalinex se le pide que cree un usuario normal del sistema. El home de este usuario sí que se crea con permisos 700. Además no se crea el grupo con el mismo nombre que el del usuario sino que el usuario es añadido al grupo users. Seguramente esto se debe a que el proceso de instalación de Guadalinex utiliza el comando original useradd. Sin embargo recomendamos que para añadir usuarios después de la instalación utilice adduser, sobre todo por facilidad. Cualquier usuario puede cambiar su contraseña en cualquier momento. Para ello basta con que escriba: $passwd También el root puede cambiar la contraseña de cualquier usuario: #passwd luis Para eliminar un usuario del sistema: #deluser luis Ahora bien esto eliminará al usuario pero no el directorio de trabajo del usuario (/home/luis para seguir con el ejemplo). Si quiere que también se elimine la carpeta del usuario: #deluser --remove-home luis Si lo que desea es eliminar cualquier objeto que le pertenezca esté o no dentro del home de usuario #deluser --remove-all-files luis 2.9.2. Gestión en modo gráfico Guadalinex cuenta con una herramienta gráfica que le permitirá gestionar sus usuarios y grupos. Para abrirla vaya a Aplicaciones−→Configuración−→Sistema−→Usuarios y grupos. Se le pedirá la contraseña de root. 50 Capítulo 2. El sistema de ficheros Gestión gráfica de usuarios Para añadir un nuevo usuario pulse el botón Añadir usuario. En la pestaña Cuenta rellene los datos que se le piden. Datos del nuevo usuario Finalmente vaya a la pestaña Otros grupos y añada el usuario a los grupos que desee. Para que el usuario pueda usar los diferentes dispositivos y recursos del sistema debería añadirlo al menos a los grupos: audio, cdrom, dialout, dip, disk, fax, floppy, games, lp, lpadmin, man, postgres, scanner, ssh, users, video. 51 Capítulo 2. El sistema de ficheros 2.9.3. Crear cuotas de disco para los usuarios El sistema de cuotas provee un mecanismo para el control y uso del espacio de disco duro disponible en un sistema de ficheros. Se pueden establecer límites en la cantidad de espacio y el número de ficheros de que puede disponer un usuario o grupo. Vamos a ver únicamente como se establecen límites en el uso de disco duro para los usuarios, dejando para otro momento el tema de cómo hacerlo para los grupos. El procedimiento que vamos a seguir para activar las cuotas de disco para los usuarios del sistema es el siguiente: primero, seleccionaremos el sistema de ficheros en el que se van a controlar las cuotas de disco. Segundo, habilitaremos las cuotas en ese sistema de ficheros. A continuación especificaremos cuotas para un usuario que nos servirá de plantilla para establecer cuotas para el resto de usuarios del sistema. Finalmente habilitaremos un mecanismo de tal modo que todos los usuarios nuevos que se añadan al sistema tengan automáticamente establecidas la cuota de disco que pueden usar. Previamente debemos instalar el paquete quota que contiene todas las herramientas necesarias para implementar el sistema de cuotas. Adicionalmente podría instalarse también el paquete quotatools. #apt-get install quota Paso primero: Elección del sistema de ficheros sobre el que se aplican las cuotas Lo normal es que sólo el sistema donde están los directorios de trabajo de los usuarios tengan cuotas, aunque es recomendable que tenga cuotas todo sistema de ficheros donde los usuarios puedan escribir. Para habilitar las cuotas en un sistema de ficheros hay que editar el fichero /etc/fstab e incluir la opción usrquota. En una instalación típica de Guadalinex todo el sistema estará en una única partición así que editaremos el fichero /etc/fstab y modificaremos la línea donde aparece el sistema de ficheros raíz: # gedit /etc/fstab /dev/hda2 / ext3 defaults,errors=remount-ro,usrquota 0 1 Después de agregar la opción, vuelva a montar cada sistema de archivos cuyas entradas fstab hayan sido modificadas. Si el sistema de archivos no está siendo usado por ningún proceso, use el comando umount seguido de mount para volver a montar el sistema de archivos. Si el sistema de archivos está siendo usado actualmente, el método más fácil para volver a montar el sistema de archivos es reiniciando el sistema. Paso segundo: Habilitar las cuotas La manera más sencilla es ejecutar el comando #quotacheck -acu Esto creará el archivo de cuotas aquota.user en la raíz del sistema de archivos al que hayamos aplicado cuotas. Seguidamente #quotacheck -avu Esto generará la tabla de uso actual del disco duro por el sistema de archivos con cuotas activadas: Paso tercero: Especificar las cuotas para un usuario # edquota testuser En lugar de testuser ponga el nombre de usuario que desee. Se nos abrirá entonces el editor de texto definido en la variable de entorno EDITOR (habitualmente el editor vi) y nos mostrará algo com esto: Disk quotas for user testuser (uid 501): Filesystem blocks /dev/hda2 440436 soft 0 hard 0 inodes 37418 soft 0 hard 0 52 Capítulo 2. El sistema de ficheros La primera columna es el nombre del sistema de archivos que tiene una cuota activada. La segunda columna muestra cuántos bloques (en kilobytes) está usando el usuario actualmente. Las próximas dos columnas son usadas para colocar límites de bloques duros y suaves para el usuario del sistema de archivos. La columna inodes muestra cuántos inodes está usando el usuario actualmente. Las últimas dos columnas son usadas para colocar los límites duros y suaves para los inodes del usuario en el sistema de archivos. Un límite duro es la cantidad máxima absoluta de espacio en disco que un usuario o grupo puede usar. Una vez que se alcance el límite, no se puede usar más espacio. El límite suave define la cantidad máxima de espacio en disco que puede ser usado. Sin embargo, a diferencia del límite duro, el límite suave puede ser excedido durante cierto tiempo. Este tiempo es conocido como período de gracia. El período de gracia puede ser expresado en segundos, minutos, horas, días, semanas o meses. El período de gracia puede cambiarse con: #edquota -t Si cualquiera de los valores está especificado a 0, ese límite no está configurado. En el editor de texto, cambie los límites deseados. Habitualmente únicamente tendrá que cambiar el límite soft y hard, y no tendrá que preocuparse por el límite de inodos. Para editar estos valores utilice los comandos típicos del editor vi. Para el caso bastará con que pulse la tecla i para añadir modificaciones. Cuando termine pulse Escape y escriba :wq Para verificar que la cuota de usuario ha sido especificada use el comando: #quota nombre_usuario Finalmente modificaremos la siguiente línea del fichero de configuración del programa adduser de modo tal que todos los usuarios creados de ahora en adelante, tengan habilitadas las mismas cuotas de disco que acabamos de habilitar para el usuario testuser. #gedit /etc/adduser.conf QUOTAUSER="testuser" Si tiene usuarios ya creados en el sistema y desea crear cuotas para ellos iguales a las del usuario testuser utilice: #edquota -p testuser ‘awk -F: ’$3 >499 {print $1}’ /etc/passwd‘ Asumiendo que los usuarios tienen un número de UID a partir del 500, lo que por otra parte es lo más habitual. Hasta aquí llega este largo capítulo. Pero ya sabe que la vida del administrador de sistemas es dura. No se preocupe llegará el tiempo de divertirnos. Notas 1. En la documentación en inglés se utiliza siempre el término file que se ha traducido tanto por "archivo" como por "fichero". En lo que sigue utilizamos como sinónimos los términos "archivo" y "fichero", lo mismo con los términos "directorio" y "carpeta". 2. Esto se hace así para facilitar la instalación del sistema al usuario novel que no tendrá que preocuparse de hacer particiones en el disco. Puede ver el tamaño de este fichero con sólo teclear $ls -alh /swapfile 53 Capítulo 2. El sistema de ficheros 3. En GNU/Linux, al igual que en Unix, todo son ficheros; si algo no es un fichero entonces es un proceso 4. Esto no es del todo cierto. El documento que define el FHS es la referencia autorizada para cualquier sistema compatible FHS, sin embargo el estándar da pie a la extensibilidad de unas áreas o no define otras.Así que para ser exactos diríamos que los encontraríamos en un 90% de los casos. 5. En las últimas versiones del sistema X Windows este fichero es sustituido por xorg.conf 6. Para salir hay que pulsar q 7. Así es efectivamente. A pesar de lo que puediera parecer los enlaces simbólicos de que hablamos más arriba no son de ningún modo comparables a los accesos directos de Windows. Los accesos directos de Windows equivalen a los enlaces de espacio de usuario. 8. No parece que Guadalinex 2004 ofrezca la posibilidad de montar particiones NTFS en modo escritura, posibilidad que sí encontramos en otras distribuciones GNU/Linux recientes. 9. Si se dispone de la utilidad isomount no será necesario utilizar el comando mount, bastará con escribir $isomount mi_imagen.iso isomount creará un enlace simbólico a mi_imagen.iso en el directorio /tmp que invariablemente se llamará imagen.iso y lo montará en el directorio /mnt/iso 10. Esto no es realmente necesario si se no pone el programa cdrecord tratará de determinar la velocidad automáticamente. 11. El sistema de ficheros ext2/3 se parece a un secretario listo. Usted manda a su secretario que abra un expediente y guarde en él un documento. Si su secretario es diligente irá inmediatamente a hacerlo, pero si es listo lo dejará sobre la mesa y esperará. Más adelante manda a su secretario a que guarde otro documento en el mismo u otro expediente, su secretario diligente irá inmediatamente, pero el listo esperará. Así una y otra vez. Su secretario diligente tiene dos problemas: el primero es que ha perdido mucho tiempo yendo y viniendo y el segundo es que como no podía saber cuánto espacio iba a ocupar el expediente lo ha ido distribuyendo en muchos lugares a lo largo de las estanterías, esto es, cada expediente está distribuido fragmentariamente. El secretario listo ha esperado a tener un número suficiente de documentos para archivar así ha podido calcular mejor el espacio que iba a ocupar el expediente y además lo ha hecho en una sola ida y venida. Esto tiene un coste y es que si su secretario listo tiene que marcharse repentinamente y a toda prisa, no tendrá tiempo de archivar los documentos correctamente y los dejará en las estanterías de cualquier manera y al día siguiente pasará bastante tiempo tratando de reconstruir dónde iba cada cosa. Esto es lo que ocurría con el sistema de ficheros ext2 cuando la máquina se apagaba incorrectamente. Pero el sistema ext3 añade una bitácora o diario (journal) en la que apunta dónde va cada cosa en las estanterías. Así aunque al marcharse repentinamente tenga que dejar los documentos en cualquier parte siempre podrá reconstuir rápidamente dónde poner cada cosa con sólo mirar el diario que escribió en su momento. 12. Cuando se crea un usuario por ejemplo pepe, simultáneamente se crea también automáticamente un grupo con el mismo nombre, según suele estar establecido en el fichero /etc/adduser.conf. Pues bien, el usuario pepe pertenece al menos al grupo pepe. De este modo se cumple que cada usuario pertenece al menos a un grupo, aunque habitualmente pertenecerá a más de uno 13. Usted se preguntará qué sentido tiene que un fichero tenga permisos de ejecución si no es un ejecutable como en este caso. Por mucho que tenga permisos de ejecución el fichero educacionred.txt no se va a poder ejecutar porque no es un fichero ejecutable. Sin embargo tiene sentido que se mantenga este sistema de permisos por coherencia: por ejemplo hay ficheros que son puro texto tales como un script de shell o de php o de cualquier otro lenguaje interpretado que sin embargo pueden ejecutarse en cuanto tengan permisos de ejecución. 54 Capítulo 3. Configuración de dispositivos 3.1. Introducción Normalmente, una vez instalado el sistema hemos de realizar ciertas tareas de configuración para armonizar los distintos periféricos que se encuentran conectados a nuestro equipo. Algunos, seguramente habrán sido detectados correctamente durante el proceso de instalación, otros funcionarán de manera limitada y será necesario afinar su configuración, mientras que ciertos periféricos será necesario incorporarlos totalmente al sistema para poder utilizarlos correctamente. Todo lo relativo al entorno gráfico controlado por el servidor X, se encontrará posiblemente funcionando a pleno rendimiento. Teclado, monitor o ratón mantendrán el estado en el que fueron reconocidos durante la ejecución en modo Live CD, antes de la instalación, sin embargo, tal vez sea necesario realizar pequeños ajustes para optimizar su comportamiento y explorar algunas características avanzadas sobre las posibilidades que brinda este maravilloso servidor gráfico. En cambio otros dispositivos como el escáner, la impresora o una cámara de fotos digital, será necesario que se incorporen al conjunto del sistema manualmente en una tarea reservada al administrador del equipo, por no citar a los innumerables gadchets último modelo que encontramos habitualmente en las instalaciones domésticas. En este capítulo trataremos de lidiar con estos elementos para conseguir que cumplan a pleno rendimiento la tarea para la que fueron diseñados. 3.2. El sistema X Window 3.2.1. Introducción Aunque todas las tareas de configuración de una máquina GNU/Linux pueden hacerse desde un entorno texto, y aunque en este mismo entorno dispongamos de cientos de aplicaciones potentísimas capaces de editar textos, grabar cds, editar video y audio, etc. es claro que en un entorno gráfico todas estas operaciones se tornan mucho más fáciles. Por otra probablemente GNU/Linux no habría llegado al nivel de popularidad actual si no dispusiese de un entorno de trabajo gráfico. En efecto, el acercamiento de la informática al usuario corriente no habría sido posible sin el desarrollo de interfaces gráficas de usuario (GUI). Estas interfaces facilitan las tareas y permiten interactuar fácilmente con el sistema ejecutando todo tipo de aplicaciones: retocar fotografías, procesar textos, etc. En el futuro puede que dispongamos de GUIs basadas en realidad virtual donde el usuario interectúe con la máquina mediante la voz, el tacto, la dirección de la mirada o incluso el pensamiento, pero en la actualidad las GUIS están basadas en objetos pictóricos tales como iconos o ventanas, además de texto. La pieza fundamental de las modernas interfaces gráficas de usuario son las ventanas. Un sistema de ventanas es una colección de programas que le permiten utilizar y mostrar muchas aplicaciones en una única pantalla. Para esto divide la pantalla en varias más pequeñas, posiblemente superponiendo secciones, llamadas ventanas, con lo que usted puede tener varias sesiones simultáneamente en diferentes nodos o hosts, programas que muestren gráficos, lectura de correspondencia, proceso de texto, etc, todo ejecutándose al mismo tiempo. La mayoria de los sistemas de ventanas utilizan una abstracción llamada “metáfora de escritorio" (desktop). Esto es, la pantalla es tratada como si fuera la parte superior de un escritorio, y cada ventana de programa como si fuera un pedazo de papel. En un escritorio real, usted puede poner piezas de papel una al lado de otra, apilarlas unas sobre otras, moverlas alrededor, doblarlas , y así sucesivamente. Similarmente, 55 Capítulo 3. Configuración de dispositivos un sistema de ventanas le permite colocar ventanas en la pantalla, apilarlas, colocarlas contiguas, moverlas, etc. En GNU/Linux es posible disponer de una GUI gracias al sistema X Window (nótese el singular). El Sistema X Window, conocido también como X, es una colección de programas que forman una interface para el usuario, orientada al uso de teclado, ratón y una pantalla gráfica. A diferencia de los sistemas de GUI de Apple™ o Microsoft™, X fue diseñado para estar aislado completamente del núcleo del sistema operativo, lo que resulta en una mejor estabilidad, ya que si por algún motivo X tiene un fallo o simplemente se cuelga, el sistema en general no se ve afectado. También resulta en una mayor versatilidad, debido a que es posible reiniciar X sin reiniciar el sistema operativo, en incluso instalar diferentes versiones e implementaciones en un mismo núcleo. El Sistema X Window se desarrolló originariamente a principios de los años 80 en el Instituto de Tecnología de Massachussets (MIT). En 1988 se creó por parte de las grandes empresas del sector informático el MIT X Consortium con el objetivo de desarrollar el sistema X como un producto abierto1. Aunque el sistema es de libre distribución muchas empresas, por su parte, han creado ampliaciones propietarias de las X destinadas en su mayor parte a los sistemas Unix comerciales. En GNU/Linux podemos disponer de una versión del sistema X gracias al proyecto XFree86 (http://www.xfree86.org/) basado en el estándar X11 de las X Window2. Guadalinex 2004 cuenta con la versión 4.3.0.1 de XFree86. Para verlo basta con ejecutar el comando $XFree86 -version La versión 4 de XFree86 supone un notable cambio respecto de la versión anterior (3.3.6). Mientras que en versiones anteriores teníamos que cargar un servidor gráfico distinto dependiendo del modelo de tarjeta gráfica de que disponíamos en la versión 4 se carga un único servidor gráfico para todas las tarjetas gráficas soportadas.3 El sistema X nos permite disponer tanto de una interfaz gráfica en nuestro propio sistema, como compartir y ejecutar aplicaciones gráficas en red. Veamos. El Sistema X Window está diseñado para poder trabajar en redes mediante un sistema de cliente-servidor. De esta manera, un servidor X se encarga de manejar el hardware necesario para disponer de una interfaz gráfica: la tarjeta de vídeo, el ratón y el teclado; y brindar una interfaz para poder trabajar sobre estos dispositivos. Un cliente X en cambio es cualquier aplicación gráfica, la cual debe conectarse a un servidor X para poder mostrarse en la pantalla. Para esto, la aplicación cliente hace uso de Xlib, que es el conjunto de librerías de programación que contienen lo necesario para tal labor. La intercomunicación entre el cliente y el servidor de X se realiza gracias a un protocolo de red llamado Protocolo X, el cual puede trabajar sobre otros de bajo nivel como TCP/IP. Por lo general en un sistema de escritorio GNU/Linux, tanto el cliente como el servidor de X se ejecutan en la misma máquina, y el proceso de comunicación entre los dos se realiza de forma completamente transparente. Sin embargo, también es posible ejecutar el cliente y el servidor en equipos diferentes con lo cual se obtiene una enorme flexibilidad. Por ejemplo es posible utilizar remotamente, en un computador cliente, un programa con interfaz gráfica que se esté ejecutando en otro computador. El servidor X provee servicios para acceder a la pantalla, teclado y ratón, mientras que los clientes son las aplicaciones que utilizan estos recursos para interacción con el usuario. De este modo mientras el servidor X se ejecuta de manera local, las aplicaciones pueden ejecutarse remotamente desde otras máquinas. Sobre la base del Sistema X Window se montan los otros elementos que configuran un entorno gráfico de trabajo: gestor de ventanas y entorno de escritorio. 56 Capítulo 3. Configuración de dispositivos 3.2.2. Gestores de ventanas Un gestor de ventanas (en inglés, window manager), es un programa que controla la apariencia y la posicion en pantalla de las ventanas. El gestor de ventanas decorará cada ventana con botones que le permitirán cerrar, maximizar o minimizar, controlará el aspecto de la barra de estado o de desplazamiento de cada ventana, etc. Las plataformas Windows™ y Macintosh™ ofrecen métodos de visualización y control de las ventanas e interacción con las aplicaciones, estandarizados por sus vendedores. En cambio el sistema gráfico X Window permite al usuario escoger entre varios gestores según sus gustos o necesidades. Los gestores de ventanas difieren entre sí de muchas maneras, incluyendo apariencia, consumo de memoria, opciones de personalización, escritorios múltiples o virtuales y similitud con ciertos entornos de escritorio ya existentes. Actualmente existe una gran variedad gestores de ventanas para X, partiendo de los más rápidos y que consumen menos memoria como TWM a los más lentos y que ocupan mucha memoria como Enlightenment4. El gestor de ventanas Enlightenment El gestor de ventanas Metacity Como puede ver estos gestores de ventanas son suficientes para disponer de una interfaz gráfica de usua- 57 Capítulo 3. Configuración de dispositivos rio agradable. Además cuentan con la ventaja de que pueden ejecutarse en máquinas con pocos recursos. Un paso más en la evolución de GUI es el entorno de escritorio, no obstante si se tiene una máquina con pocos recursos pueden ser una opción estupenda. Si desea iniciar una sesión gráfica únicamente con el gestor de ventanas fluxbox, en la pantalla inicial de registro gráfico vaya a Sesión, seleccione fluxbox y pulse aceptar. Elegir tipo de sesión Pulse con el botón derecho del ratón en el escritorio fluxbox para activar el menú de Aplicaciones Fluxbox 3.2.3. Entornos de escritorio Un entorno de escritorio (en inglés, Desktop Environment) es un conjunto de software para ofrecer al usuario de un ordenador un ambiente amigable y cómodo. Un entorno de escritorio ofrece al usuario iconos, barras de herramientas,integración entre aplicaciones, etc. En general cada entorno de escritorio se distingue por su aspecto y comportamiento particulares, aunque indudablemente comparten algunas características.5 58 Capítulo 3. Configuración de dispositivos En GNU/Linux tenemos dos entornos de escritorio disponibles: GNOME (GNU Network Object Model Environement) y KDE (K Desktop Environement). Guadalinex viene con GNOME aunque también puede instalarse KDE y utilizar ambos; incluso pueden instalarse en un entorno de escritorio aplicaciones propias de otro.6 El proyecto GNOME (http://www.gnome.org) (GNU Network Object Model Environment) surge en agosto de 1997 como proyecto liderado por el mexicano Miguel de Icaza para crear un entorno de escritorio completamente libre para sistemas operativos libres, en especial para GNU/Linux. Desde el principio, el objetivo principal de GNOME ha sido proporcionar un conjunto de aplicaciones amigables y un escritorio fácil de utilizar. En esos momentos existía otro proyecto anterior con los mismos objetivos, pero con diferentes medios: KDE. Los primeros desarrolladores de GNOME criticaban a este proyecto por basarse en la biblioteca de controles gráficos Qt por no ser compatible con los fundamentos del software libre. Años más tarde los problemas de licencia de Qt se han resuelto y estas críticas han cesado. Sin embargo, los dos proyectos siguen rumbos tecnológicos distintos y se hacen una competencia amigable. Entorno de escritorio KDE El inconveniente que presentan ambos es que suelen ser bastante exigentes en lo que respecta a disponibilidad de memoria RAM y potencia del microprocesador.7 Los entornos de escritorio trabajan en colaboración con los gestores de ventanas, por ello en cada momento junto con un entorno de escritorio hay trabajando un gestor de ventanas. El gestor de ventanas las decorará con botones y barras de desplazamiento y estado, el entorno de escritorio las situará en el espacio de trabajo, les ofrecerá un panel donde situarse o las lanzará, etc. GNOME puede trabajar con varios gestores de ventanas aunque el preferido es metacity. Para ver que gestor de ventanas se está usando por defecto con GNOME basta con escribir en una terminal: $ less /usr/share/gnome/default.wm Para salir pulsa q Así se nos mostrará el gestor de ventanas por defecto de Gnome. También podemos ver los gestores de ventanas disponibles y eventualmente cambiar de uno a otro con: # update-alternatives --config x-window-manager There are 2 alternatives which provide ‘x-window-manager’. Selection Alternative 59 Capítulo 3. Configuración de dispositivos ----------------------------------------------*+ 1 /usr/bin/metacity 2 /usr/bin/fluxbox Press enter to keep the default[*], or type selection number: 3.2.4. Configuración del servidor gráfico X Como se dijo anteriormente el servidor gráfico X Window es el encargado de garantizar el acceso al hardware de entrada/salida necesario para disponer de una GUI: teclado, ratón, monitor, tarjeta gráfica. Por tanto configurar el servidor X es tanto como configurar el comportamiento de estos dispositivos. Lo más probable es que no necesite usar estas herramientas puesto que el proceso de instalación es capaz de detectar los componentes hardware de nuestra computadora. Hay sin embargo un par de situaciones en que quizá necesite hacerlo: cuando alguno o algunos componentes no hayan sido correctamente detectados o cuando hagamos algún cambio en el hardware de nuestra máquina (por ejemplo reemplazar la tarjeta gráfica). Antes de utilizar cualquiera de las herramientas que le proponemos es muy recomendable que haga una copia del fichero /etc/X11/XF86Config-4. Para ello abra una terminal de root y escriba: # cd /etc/X11/ # cp XF86Config-4 XF86Config-4.original Si usted configura mal el servidor X puede quedarse sin la posibilidad de acceder al entorno gráfico. En este caso si tiene hecha la mencionada copia puede restaurarlo desde un entorno de texto con tan solo escribir como root: # mv XF86Config-4.original XF86Config-4 Y todo funcionará igual que antes de tratar de configurar el servidor X. En Debian y por tanto Guadalinex, disponemos de varias herramientas para este propósito. 3.2.4.1. xf86config Se trata de una utilidad en entorno puramente texto. No supone ninguna ventaja respecto a las herramientas de configuración gráfica. Lo usaremos únicamente en el caso de que el sistema X no funcione en absoluto y por tanto necesitemos recurrir al puro texto. Su uso implica un conocimiento avanzado de los componentes de nuestra máquina. 3.2.4.2. xf86cfg Es una herramienta gráfica para la configuración del sistema XFree86 y se puede usar tanto para reemplazar la configuración inicial detectada por el proceso de instalación, como para personalizar la configuración actual. También puede usarse cuando se haya añadido o quitado algún componente en nuestro sistema. 60 Capítulo 3. Configuración de dispositivos xf86cfg La herramienta permite configurar uno o varios de los siguientes dispositivos:ratón, teclado, tarjeta gráfica y monitor. Los cambios no son escritos hasta que pulsamos el botón Quit, momento en que se nos pedirá confirmación para hacer los cambios. Esta herramienta es a la par compleja y potente. Tanto en el modo normal como en el modo experto requiere que sepamos muy bien qué estamos haciendo. La forma más cómoda y fácil de configurar el sistema X es utilizar el script de configuración Debian. Sin embargo este script no detectará automáticamente el hardware. Por tanto necesitará tener a mano la documentación del hardware instalado en su máquina. Si no la tiene a mano o no es fiable puede recurrir a las diversas herramientas que Guadalinex dispone para la detección automática de dispositivos: • infhard. Creado por la Junta de Andalucía. Genera un informe bastante completo pero difícil de leer. Para ejecutarlo vaya a Aplicaciones−→Configuración−→Sistema−→Informe de Hardware. Esto creará un paquete tar.gz en el escritorio con iformación sobre el hardware instalado en su computadora. • hardinfo. Este paquete no está instalado por defecto. Para instalarlo abra una terminal de root y escriba: # apt-get install hardinfo Se trata de una pequeña aplicación que muestra información sobre el hardware instalado y sobre el sistema operativo. • hal-device-manager. Aplicación gráfica que muestra información sobre los dispositivos detectados. Para ejecutarlo vaya a Aplicaciones−→Configuración−→Sistema−→Gestión de dispositivos Para el script de configuración de Xfree86 abra un terminal, regístrese como root y escriba: # dpkg-reconfigure xserver-xfree86 ahora aparecerán una serie de pantallas en las que debemos ir contestando diferentes preguntas. Seleccione el sevidor X que desea tener por defecto. A menudo se nos ofrecerá una única opción así que pulsaremos el botón Adelante Seleccione el controlador del servidor X que desea. Seleccionaremos el controlador adecuado a nuestra tarjeta gráfica. Los controladores tienen por nombre típicamente el fabricante de la tarjeta de vídeo del conjunto de chips o también el modelo específico. Para ver qué tarjetas gráficas soporta cada controlador consulte http://www.xfree86.org/4.3.0/manindex4.html 61 Capítulo 3. Configuración de dispositivos Introduzca un identificador para su tarjeta de vídeo. El nombre que pongamos aquí carece de importancia, por claridad podemos poner el nombre de la marca y el modelo por ejemplo ATI Rage Fury Please enter the video card’s bus identifier. (Por favor, introduzca el identificador del bus de su tarjeta de vídeo). Si sólo tenemos una tarjeta gráfica instalada, lo cual es lo más frecuente, podemos dejarlo en blanco. Introduzca la cantidad de memoria (en kB) usada por su tarjeta de vídeo. Normalmente el servidor X detecta automáticamente la cantidad de memoria de la tarjeta gráfica, así que podemos dejar este parámetro en blanco. Algunos chips de vídeo integrados en placa (como el Intel i810) tienen poca o nada de memoria de su propiedad y lo que hacen es ocupar memoria principal del sistema para sus necesidades. Es lo que se conoce como tarjetas gráficas de memoria compartida habituales en los ordenadores portátiles o de sobremesa de bajo costo.8 En estos casos y sólo si el servidor X tiene problemas para detectar automáticamente la cantidad de memoria RAM de vídeo es necesario especificar este parámetro. Por favor, seleccione el conjunto de reglas de XKB que usará. Comienza aquí la configuración del teclado. Para que el servidor X maneje correctamente el teclado se debe seleccionar un conjunto de reglas. En la gran mayoría de los casos escogeremos el conjunto de reglas de teclado xfree86 Please select your keyboard model. (Por favor, seleccione su modelo de teclado). Seleccionamos ahora el modelo de teclado. Lo habitual es escribir pc105 Por favor, seleccione el diseño de su teclado. Escribiremos aquí es para el teclado español Por favor, seleccione su variante de teclado. Escribimos nodeadkeys para poder trabajar normalmente con las teclas de acento o diéresis. Por favor, seleccione las opciones de su teclado. Podemos dejar este parámetro en blanco. Si quiere saber las opciones posibles así como su utilidad pulse el botón Help Por favor, escoja el puerto de su ratón. Seleccionamos ahora el puerto dependiendo del tipo de ratón de que disponemos. /dev/psaux si nuestro ratón es PS/2 (los puertos PS2 son pequeños conectores redondos con 6 patillas) /dev/ttyS0 si nuestro ratón está conectado al primer puerto serie (COM1), /dev/ttyS1 si nuestro raton está conectado al segundo puerto serie (COM2) y así con el resto de puertos serie, /dev/imput/mice si el ratón está conectado a un puerto USB. Por favor, escoja la opción que mejor describa su ratón. Se nos ofrecen ahora en una lista desplegable distintos modelos de mouse: • PS/2 • ImPS/2 (MS IntelliMouse (serial, PS/2)) • GlidePointPS/2 (ALPS GlidePoint (serial, PS/2)) • NetMousePS/2 (Genius NetMouse and NetMouse Pro (serial, PS/2)) , Genius NetScroll Optical (PS/2, USB)) • NetScrollPS/2 (Genius NetScroll (PS/2)) • ThinkingMousePS/2 (Kensington Thinking Mouse and Kensington Expert Mouse (serial, PS/2)) • MouseManPlusPS/2 (Logitech MouseMan+ and FirstMouse+ (serial, PS/2)) • ExplorerPS/2 (MS IntelliMouse Explorer (PS/2, USB)) PS/2 es un modelo genérico y se ajustará a las necesidades de cualquier tipo de ratón. Sin embargo botones tales como el scroll (ruedecilla central) pueden no funcionar. Use este modelo únicamente si su ratón está funcionando mal o no sabe qué hacer. ImPS/2 este modelo debería funcionar también con la mayor parte de ratones. Use este modelo si su ratón es serie o PS/2 y dispone de scroll. ExplorerPS/2 si su ratón dispone de scroll y es USB o PS/2 puede probar también con este modelo. 62 Capítulo 3. Configuración de dispositivos Los demás modelos los usaremos sólo si tenemos un ratón de ese tipo. Para una mayor información sobre los modelos de ratón soportados puede consultar la página http://www.xfree86.org/4.3.0/mouse6.html#26 ¿Emular un ratón de tres botones? Marcaremos esta casilla ¿Activar eventos de desplazamiento con la rueda del ratón? Si nuestro ratón tiene ruedecilla marcaremos esta opción. Si no lo sabe o no está seguro marque esta opción. Marcar esta opción es inocuo aunque el ratón no tenga ruedecilla. Introduzca un identificador para su monitor. Puede poner aquí lo que desee. Por claridad lo habitual es indicar la marca y modelo del monitor. Si no lo sabe o no está seguro deje el valor por defecto. ¿Es su monitor un dispositivo LCD? Si su monitor es de cristal líquido, lo que es el caso de la práctica totalidad de los portátiles, marque esta opción. Los usuarios de un monitor de rayos catódicos (el que llamaríamos monitor corriente) no deben marcar esta opción. Por favor, escoja un método para seleccionar las características de su monitor. Se nos ofrecen ahora tres opciones: simple, medio, avanzado. Para la opción simple, sólo necesita saber el tamaño físico en pulgadas de su monitor; con eso se darán algunos valores de configuración apropiados para un monitor CRT típico del tamaño correspondiente, pero pueden no ser los óptimos para monitor CRT de buena calidad. Esta opción está desactivada para los usuarios de LCD. La opción medio le presentará una lista de resoluciones y tasas de refresco, como "800x600 @ 85Hz". Debería escoger el mejor modo que desee usar y que sepa que su monitor es capaz de soportar. La opción avanzado le permitirá especificar directamente las frecuecuencias de refresco horizontal y vertical de su monitor. Si está muy perdido o no sabe nada acerca de su monitor seleccione la opción simple. Si conoce al menos la velocidad de refresco de su monitor y la resolución de que es capaz seleccione la opción medio. Si está teniendo problemas con el monitor debiera usar la opción avanzado. Si seleccionamos la opción medio la siguiente pantalla, Por favor, seleccione el mejor modo de vídeo de su monitor. En la lista desplegable seleccionamos el modo de vídeo que más se ajuste a nuestro monitor. Cuanto mayores sean las resoluciones y tasas de refresco mejor será el comportamiento del monitor. Ahora bien debemos asegurarnos de que nuestro monitor es capaz de soportarlas: un modo de video inadecuado provocará que la imagen se vea distorsionada o que no se vea en absoluto. Si no encontramos nuestro modo exacto es siempre mejor elegir un modo aproximado por debajo. Si nuestro monitor soporta "800x600 72Hz" no pasará nada si elegimos "800x600 60Hz", en cambio funcionará muy mal en "800x600 85 Hz". Seleccione los modos de vídeo que le gustaría que usase el servidor X. Por defecto el servidor X intentará usar la resolución más alta de que sea capaz su monitor. Marque los modos que desea usar. Para ello pulse con el botón izquierdo del ratón el primer modo a usar, pulse la tecla de mayúsculas y sin soltarla haga clic con el ratón en el último modo a usar. Se resaltarán en azul los modos seleccionados. Podría emplear la resolución más alta de que sea capaz su monitor y todas las resoluciones inferiores. Si no está seguro marque todos los modos. Por favor, seleccione la pronfundidad de color (en bits) deseada. Lo normal es marcar 16 o 24 bits de profundidad de color. Select the XFree86 server modules that should be loaded by default. Esta opción es para usuarios avanzados, en la mayor parte de los casos deberían activarse todos los módulos. Si no está seguro deje todos los marcados. 63 Capítulo 3. Configuración de dispositivos ¿Escrbir sección Files por defecto en el fichero de configuración? Marque la casilla ¿Escribir sección DRI predefinida en el fichero de configuración? Marque la casilla 3.2.5. El fichero /etc/X11/XF86Config-4 El fichero que establece el comportamiento del sistema X Window es /etc/X11/XF86Config-49. Para el nuevo servidor XOrg del que hablamos más arriba y que viene por defecto en distribuciones como Fedora Core, el fichero de configuración es /etc/X11/xorg.conf. Todas las aplicaciones que hemos visto hasta ahora no son más que utilidades para facilitar la escritura de este fichero. El proceso de instalación genera el fichero y siempre es posible, si tenemos que ajustar algún parámetro que no ha sido bien detectado, editarlo directamente. Podemos ver el contenido del fichero con: # less /etc/X11/XF86Config-4 El fichero está organizado en Secciones. Todas las Secciones tienen la misma estructura: • Section "Nombre de la sección" • Parámetros • End Section Las líneas que empiezan con # son comentarios y serán ignoradas por el sistema. Los comentarios suelen ser de dos tipos: aclaraciones sobre las líneas que siguen y parámetros comentados que pueden activarse con sólo quitar el símbolo de comentario. Veamos brevemente que hay en cada sección. ServerLayout. (Diseño del servidor). La sección ServerLayout vincula los dispositivos de entrada y salida controlados por el servidor XFree86. Como mínimo, esta sección debe especificar un dispositivo de salida (pantalla, screen) y al menos dos dispositivos de entrada (un teclado y un ratón). A su vez la pantalla (screen) es una combinación de Monitor (Monitor) y tarjeta de vídeo (Device) El ejemplo siguiente ilustra una sección ServerLayout típica: Section "ServerLayout" Identifier Screen 0 InputDevice InputDevice EndSection "XFree86 Configured" "Screen0" 0 0 "Keyboard0" "CoreKeyboard" "PS/2 Mouse" "CorePointer" El significado de cada uno de los parámetros es: • Identifier. Especifica un nombre único para esta sección ServerLayout. • Screen. Especifica el nombre de la sección Screen que se va a usar con el servidor XFree86. • InputDevice. Especifica el nombre de la sección InputDevice que se va a usar con el servidor XFree86. 64 Capítulo 3. Configuración de dispositivos Al menos deben haber dos entradas InputDevice: una para el ratón por defecto y otra para el teclado por defecto. Las opciones CorePointer y CoreKeyboard indican que éstos son el ratón y teclado principales.10 ServerFlags. La sección ServerFlags contiene varios parámetros globales del servidor XFree86.Se trata de una sección opcional. Las entradas dentro de la sección ServerFlags comienzan con el término Option seguido por una opción encerrada en dobles comillas ["]. A continuación un ejemplo de la sección ServerFlags: Section "ServerFlags" Option "AllowMouseOpenFail" EndSection "true" La siguiente es una lista de algunas de las opciones más útiles: "AllowMouseOpenFail" "true". Permite usar simultáneamente dos ratones. Esto es típico en los orde- nadores portátiles donde a menudo además del ratón incorporado se suele conectar, por facilidad de manejo, un segundo ratón normal. "DontZap" "true". Esta configuración impide el [Ctrl]+[Alt]+[Retroceso] para finalizar el servidor XFree86. uso de la combinación de teclas "DontZoom" "true". Esta configuración impide moverse a lo largo de las resoluciones de vídeo configu- radas usando las combinaciones de teclas [Ctrl]+[Alt]+[+] y [Ctrl]+[Alt]+[-]. Files. . La sección Files configura la ruta para servicios vitales al servidor XFree86, tal como las rutas hacia la base de datos de colores RGB. Module. La sección Module especifica cuales módulos del directorio /usr/X11R6/lib/modules/ cargará el servidor XFree86. Los módulos añaden funcionalidad adicional al servidor XFree86. InputDevice. Cada sección InputDevice configura un dispositivo de entrada para el servidor XFree86. Los sistemas típicamente tienen al menos dos secciones InputDevice, un teclado y un ratón. El ejemplo siguiente ilustra una sección InputDevice típica para un ratón: Section "InputDevice" Identifier "PS/2 Mouse" Driver "mouse" Option "Device" "/dev/input/mice" Option "SendCoreEvents" "true" Option "Protocol" "ExplorerPS/2" Option "ZAxisMapping" "4 5" Option "Buttons" "5" EndSection Las entradas siguientes son comúnmente usadas en la sección InputDevice: Identifier. Especifica un nombre único para esta sección InputDevice. Esto es una entrada requerida. Driver. Especifica el nombre del controlador del dispositivo que XFree86 debe cargar para el dispositivo. Option Especifica. las opciones necesarias pertinentes al dispositivo. Para un ratón, estas opciones pueden ser entre otras: • Protocol Indica el protocolo usado por el ratón, tal como IMPS/2 o ExplorerPS/2 • Device Indica la ubicación del dispositivo físico. 65 Capítulo 3. Configuración de dispositivos Para una lista completa de las opciones válidas para esta sección consulte la página man de XF86Config ($ man XF86Config) Monitor. Esta sección configura el tipo de monitor usado por el sistema. Para modificar esta sección debemos conocer bien las características técnicas de nuestro monitor. Tenga cuidado cuando modifique manualmente valores en la sección Monitor. La utilización de valores inapropiados pueden dañar o destruir el aparato. Las líneas que con más frecuencia hay que modificar son las que se refieren a sincronía horizontal y velocidad de actualización vertical. HorizSync rango_valores VertRefresh rango_valores Donde rango_valores puede ser una serie de valores separados por comas para los monitores de frecuencia fija que admiten varios valores o un rango de valores separados por un guión si el monitor es multifrecuencia. Esta segunda forma es la más habitual en los modernos monitores. Un ejemplo típico de esta sección sería: Section "Monitor" Identifier "Monitor0" # Wish we could use some probed settings here, too, but XFree4 cannot do this yet. # HorizSync 28.0 - 78.0 # Warning: This may fry very old Monitors HorizSync 28.0 - 96.0 # Warning: This may fry old Monitors VertRefresh 50.0 - 76.0 # Very conservative. May flicker. En los comentarios se nos avisa (Warning) que utilizar la Sincronía Horizontal 28.0 - 96.0 puede freír algunos monitores antiguos. También se nos avisa que la velocidad de refresco 50.0 - 76.0 es muy conservadora y podría provocar que el monitor parpadease. Podemos modificar con precaución estos parámetros para ajustarlos a nuestro monitor y obtener así un mejor rendimiento. Las líneas que siguen y que comienzan todas con Modeline son generadas automáticamente por el script de configuración. Modeline es un parámetro opcional que especifica los modos de vídeo adicionales para el monitor en resoluciones particulares, con ciertas resoluciones de refrescamiento de sincronización horizontal y vertical. De todas las líneas Modeline sólo se usarán unas pocas. El servidor X elegirá entre las que representan la misma resolución aquella que configure el mejor modo de video admitido en función de los parámetros HorizSync y VertRefresh. Puede haber diferentes secciones Monitor pero únicamente se estará usando aquella cuyo identificador coincida con el valor del parámetro Monitor de la sección Screen. Device. En esta sección es donde se configura la tarjeta gráfica. El siguiente ejemplo ilustra una sección Device típica para una tarjeta de vídeo: Section "Device" Identifier "Card0" Driver "i810" VendorName "All" BoardName "All" EndSection Cada driver en particular puede soportar un número específico de parámetros opcionales. Si está teniendo problemas con un driver en particular puede probar a configurar uno o más de estos parámetros. Para ver las opciones disponibles para cada driver vaya a URL http://www.xfree86.org/4.3.0/manindex4.html 66 Capítulo 3. Configuración de dispositivos Si no sabe qué tarjeta gráfica tiene instalada puede probar a detectarla escribiendo $ lspci | grep VGA 0000:00:02.0 VGA compatible controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02) En el ejemplo ha sido detectada la tarjeta gráfica Intel 82852/855GM. Comprobando la documentación sobre drivers arriba mencionada sabemos que el driver adecuado para esta tarjeta es "i810". Si está teniendo problemas con su tarjeta gráfica puede usarse el driver genérico "vesa". Esto debería ser suficiente para la mayor parte de las fuciones gráficas aunque probablemente redundará en un rendimiento menor de su hardware. Puede haber diferentes secciones Device pero únicamente se estará usando aquella cuyo identificador coincida con el valor del parámetro Device de la sección Screen. Screen.. Una pantalla (screen) es una combinación de una tarjeta gráfica (Device) y un monitor (Monitor). Puede haber diferentes secciones Screen pero únicamente se estará usando aquella cuyo identificador coincida con el valor del parámetro Screen de la sección ServerLayout. Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultColorDepth 16 SubSection "Display" Depth 1 Modes "1024x768" EndSubSection SubSection "Display" Depth 4 Modes "1024x768" EndSubSection SubSection "Display" Depth 8 Modes "1024x768" EndSubSection SubSection "Display" Depth 15 Modes "1024x768" EndSubSection SubSection "Display" Depth 16 Modes "1024x768" EndSubSection SubSection "Display" Depth 24 Modes "1024x768" EndSubSection SubSection "Display" Depth 32 Modes "1024x768" EndSubSection EndSection "800x600" "640x480" "800x600" "640x480" "800x600" "640x480" "800x600" "640x480" "800x600" "640x480" "800x600" "640x480" "800x600" "640x480" En estas sección • Depht indica la profundidad de color expresada en bit por píxel (bpp). 67 Capítulo 3. Configuración de dispositivos • Modes la lista indica la resolución que se usará. El primero de la lista indica la resolución por defecto. Podemos pasar de uno a otro dinámicamente utilizando la combinación de teclas [Ctrl]+[Alt]+[+] para pasar al modo superior o [Ctrl]+[Alt]+[-] para pasar al modo inferior. Alternativamente podemos emplear la herramienta gráfica gnome-display-properties, para ello vaya al menú Aplicaciones−→Configuración−→Panel de Control−→Resolución de la pantalla. De todas las profundidades de color se usará por defecto la expresada en el parámetro DefaultColorDepth11. Tal y como está en el ejemplo estaríamos usando una profundidad de color de 16 bpp. Por tanto si queremos añadir, quitar, o cambiar la resolución por defecto tendríamos que modificar únicamente la línea Modes debajo de Depth 16. Sección DRI. La sección opcional DRI especifica parámetros para Direct Rendering Infrastructure (DRI). DRI es una interfaz que permite a las aplicaciones de software 3D sacar provecho de las capacidades de aceleración de hardware 3D incorporadas en la mayoría del hardware moderno de vídeo. Además, DRI puede mejorar el rendimiento de 2D a través de la aceleración de hardware, si es soportado por el controlador de la tarjeta. El ejemplo siguiente muestra una sección DRI típica: Section "DRI" Mode EndSection 0666 Esta sección únicamente se usa si su tarjeta permite aceleración 3D por hardware.Para comprobar si nuestra tarjeta gráfica está usando la aceleración gráfica correctamente abra un terminal y escriba $ glxgears Aparecerá una ventana con la imagen de unos engranajes en movimiento. Si la aparta un poco en la terminal donde escribió el comando podrá ver una salida como ésta: 5818 frames in 5.0 seconds = 1163.600 FPS 6715 frames in 5.0 seconds = 1343.000 FPS 6454 frames in 5.0 seconds = 1290.800 FPS Siempre y cuando estos valores alcancen y/o superen los 1000 FPS, la tarjeta gráfica estará usando la funcionalidad de aceleración 3D que lleva incorporada. La aceleración gráfica de las tarjetas basadas en los chips nvidia o ati puede ser específicamente configurada en Guadalinex. Para ello utilice la receta que encontrará en la Guadapedia en la dirección http://www.guadalinex.org/guadapedia/index.php/Receta:_Aceleraci%C3%B3n_gr%C3%A1fica_(Guadalinex_2004). A continuación reproducimos la receta con pequeñas modificaciones. 3.2.5.1. Aceleración gráfica en Guadalinex 3.2.5.1.1. Introducción La inversión en un nuevo ordenador para la casa suele ser muy costosa. Quizás la razón más importante sea el ansia del consumidor por obtener los productos de última hornada. Como no hay ordenador sin ocio, no hay ocio sin juegos, y la inercia del sector ha provocado que desde mediados de los 90 no se considere un juego como tal si no incorpora 3D... se ha convertido en condición obligatoria la incorporación de una tarjéta gráfica con aceleración 3D al ordenador personal. En esta receta, se guía al usuario final para la configuración de los dos tipos de tarjetas gráficas (que incorporan aceleración 3D) más extendidas del mercado: 68 Capítulo 3. Configuración de dispositivos • Tarjetas basadas en chipset nvidia • Tarjetas basadas en chipset ati 3.2.5.1.2. Desarrollo Para probar la aceleración gráfica en Guadalinex, es condición indispensable haber instalado Guadalinex 2004 previamente en nuestro Disco Duro. Una vez hecho esto, y arrancado el sistema operativo, es necesario insertar el CD de Guadalinex en la bandeja del CD/DVD lector. El siguiente objetivo ha de ser el icono Equipo del escritorio, para, posteriormente, hacer doble click sobre el icono CD-ROM, y conseguir así, montar el dispositivo y acceder a él. Finalizamos dirigiéndonos al directorio extras/paquetes dentro del propio CD. 3.2.5.1.3. Configuración de tarjetas nvidia En el directorio paquetes previamente citado (en el CD de Guadalinex), se puede observar la presencia del paquete nvidia-glx-guadalinex_1.1-4_i386.deb Haremos doble click sobre él para instalar el paquete (acto seguido se solicita la contraseña de administrador del equipo, que debemos facilitar). Una vez hecho esto, sólo queda seguir las instrucciones del programa de instalación desarrollado por el equipo de Guadalinex. El citado paquete puede también instalarse con: # apt-get install nvidia-glx-guadalinex Si se necesita comprobar que la instalación de los controladores ha sido satisfactoria, podemos realizar el siguiente test: • Lanzamos una terminal de usuario (/Aplicaciones/Configuración/Terminal) • Escribimos la instrucción glxgears y pulsamos Enter • Apartamos de la terminal la nueva ventana con engranajes que aparecerá. • Esperamos unos 20 segundos observando los valores que devuelve la aplicación en la terminal. Estos valores podrán se de la forma: 618 frames in 5.0 seconds = 123.600 FPS 821 frames in 6.0 seconds = 136.833 FPS 660 frames in 5.0 seconds = 132.000 FPS • Siempre y cuando estos valores alcancen y/o superen los 1000 FPS, la tarjeta gráfica estará usando la funcionalidad de aceleración 3D que lleva incorporada. 3.2.5.1.4. Configuración de tarjetas ati En el directorio paquetes previamente citado (en el CD de Guadalinex), se puede observar la presencia del paquete ati-guadalinex_4.3.0-3.9-3_i386.deb. Haremos doble click sobre él para instalar el paquete (acto seguido se solicita la contraseña de administrador del equipo, que debemos facilitar). Una vez hecho esto, sólo queda seguir las instrucciones del programa de instalación desarrollado por el equipo de Guadalinex. El citado paquete puede también instalarse con: # apt-get install ati-guadalinex 69 Capítulo 3. Configuración de dispositivos Si se necesita comprobar que la instalación de los controladores ha sido satisfactoria, podremos realizar el siguiente test: • Lanzamos una terminal de usuario (/Aplicaciones/Configuración/Terminal) • Escribimos la instrucción glxgears y pulsamos Enter • Apartamos de la terminal la nueva ventana con engranajes que aparecerá. • Esperamos unos 20 segundos observando los valores que devuelve la aplicación en la terminal. Estos valores podrán ser de la forma: 618 frames in 5.0 seconds = 123.600 FPS 821 frames in 6.0 seconds = 136.833 FPS 660 frames in 5.0 seconds = 132.000 FPS • Siempre y cuando estos valores alcancen y/o superen los 1000 FPS, la tarjeta gráfica estará usando la funcionalidad de aceleración 3D que lleva incorporada. 3.2.5.1.5. Casos especiales Hay ocasiones en las que los controladores facilitados por el propio fabricante (estos son los controladores que ha empaquetado el equipo de desarrollo de Guadalinex) no dan soporte para ciertas tarjetas gráficas comercializadas por ellos (parece que hay iniciativa para que esto cambie a corto plazo, pero sólo podemos esperar), en cuyo caso, nuestro sistema gráfico no volvería a arrancar tras la instalación de estos drivers. Como, evidentemente, desearemos restablecer el sistema a su estado original, para conseguirlo es necesario ejecutar las siguientes órdenes: • Aparecerá en pantalla un símbolo de sistema en modo texto que solicitará login:. Aquí debemos escribir root y presionar Enter. • Acto seguido se solicitará su contraseña de acceso. Debemos escribir la contraseña de administrador del equipo y pulsar Enter. • • CASO ATI: Por último, tendremos que escribir la orden dpkg -P ati-guadalinex && /etc/init.d/gdm restart (tal cual está aquí escrita, sin olvidar de ningún carácter especial). • CASO NVIDIA: Por último, tendremos que escribir la orden dpkg -P nvidia-glx-guadalinex && /etc/init.d/gdm restart (tal cual está aquí escrita, sin olvidar de ningún carácter especial). En las siguientes secciones podrá comprobar algunas de las posibilidades que le ofrece el potente servidor X Window. 3.2.6. Iniciar sesión como un nuevo usuario GNU/Linux es un sistema multiusuario lo que significa que varios usuarios pueden estar usándolo simultáneamente. Sin cerrar su sesión gráfica actual usted puede abrir una nueva sesión gráfica con el mismo o con diferente usuario. Para ello vaya al menú Aplicaciones−→Accesorios−→Inicio de sesión nuevo . Esto abrirá una nueva pantalla de registro gráfico, regístrese y dispondrá del entorno de escritorio para su trabajo habitual. Puede pasar de la sesión de un usuario a la del otro simplemente pulsando la combinación 70 Capítulo 3. Configuración de dispositivos de teclas [Ctrl]+[Alt]+[F7] y [Ctrl]+[Alt]+[F8]. Si lo desea puede abrir otra nueva sesión, con lo que tendría tres sesiones abiertas para el mismo o diferente usuario. Para alternar entre ellas añada a las teclas mencionadas la combinación [Ctrl]+[Alt]+[F9]. Puede hacer esto hasta con 6 sesiones diferentes. Esto mismo puede hacerse también de otro modo. Para describir este procedimiento imaginamos la situación en que un único usuario ha abierto una sesión gráfica. Pulse ahora la combinación [Ctrl]+[Alt]+[F2]. Se le ofrecerá una pantalla de registro en modo texto pidiendo el login: Escriba su nombre de usuario y contraseña (ojo al teclear la contraseña no verá nada, pues no tiene eco). Ahora escriba $ startx -- :1 y se abrirá una nueva sesión gráfica. Puede alternar entre ellas del modo anteriormente descrito. Si todavía quiere una sesión más pulse [Ctrl]+[Alt]+[F3] repita el procedimiento, y ahora escriba $ startx -- :2 En un entorno multiusuario tal como el de un Centro TIC es conveniente que cierre su sesión antes de abandonar la máquina. Para ello vaya a Acciones−→Terminar sesión. Pero si lo que desea es hacer una pausa para continuar más tarde utilice Acciones−→Bloquear la pantalla, de este modo preservará la confidencialidad de su trabajo. No se preocupe si alguien detrás de usted desea iniciar una sesión gráfica, siempre puede utilizar el procedimiento recientemente descrito. También pueden iniciarse nuevas sesiones gráficas sin necesidad de abandonar la sesión actual. Para ello vaya a Aplicaciones−→Accesorios−→Nuevo acceso en una ventana anidada. Esto abrirá nuevas sesiones gráficas en una ventana como si fuese un programa más de su entorno. Nuevo acceso en ventana anidada 3.2.7. Ejecutar aplicaciones gráficas en una máquina remota con SSH Gracias a la potencia del servidor X Window podemos ejecutar aplicaciones situadas en una máquina distinta a la nuestra, a la que llamaremos máquina remota. Para los ejemplos suponemos una máquina remota en la dirección IP 192.168.1.7 y suponemos también que en esa máquina existe un usuario de nombre marlera. Suponemos también que su máquina (a la que llamaremos máquina local) tiene la dirección IP 192.168.1.6 71 Capítulo 3. Configuración de dispositivos 3.2.7.1. Configuración de la máquina remota En la máquina remota necesitamos que se esté ejecutando el demonio sshd. Por defecto Guadalinex 2004 instala tal demonio pero no lo configura adecuadamente. Así que los primero será ejecutar: # dpkg-reconfigure ssh Marcaremos las dos casillas. Ahora editamos el fichero /etc/ssh/sshd_config # gedit /etc/ssh/sshd_config y cambiamos la entrada X11Forwarding no para que sea X11Forwarding yes. Guardamos los cambios y reiniciamos el servicio con: # /etc/init.d/ssh restart La máquina remota ya está lista para recibir conexiones gráficas remotas. Ahora en nuestra máquina local abrimos una terminal y escribimos $ ssh -X [email protected] Se nos pedirá el login y la contraseña. Los ponemos. Ahora simplemente escribimos el nombre del binario que lanza la aplicación, por ejemplo $ mozilla & Ponemos el símbolo & para que la aplicación se lance en segundo plano y el terminal quede libre para ejecutar otros comandos. En pocos momentos, dependiendo de las características de la máquina y la velocidad de la red, verá ejecutarse la aplicación Mozilla. ¿Cómo?, dirá usted, ¡pero si es el mismo mozilla que yo tengo instalado en mi máquina! ¿no nos estará tomando el pelo? No, lejos de nosotros la intención. Examine por ejemplo los marcadores de la aplicación y comprobará que no son sus marcadores sino los del usuario de la máquina remota. En realidad se está ejecutando el Mozilla de la máquina remota y poco importa que usted tenga o no instalada la misma aplicación. Usted puede ejecutar las aplicaciones situadas en la máquina remota y no juega nigún papel lo que usted tenga instalado en su sistema. 3.2.8. Abrir una sesión gráfica en una máquina remota son SSH Para este caso suponemos la misma configuración que en la sección anterior. En su máquina local abra una terminal de texto con [Ctrl]+[Alt]+[F2]. Regístrese y escriba $xinit -- :1 Se abrirá una terminal gráfica pero sólo eso. Su aspecto tal vez le sorprenda pero no se preocupe pronto todo cambiará. Escriba ahora $ xhost + $ env Tome nota del valor de la variable de entorno DISPLAY. Para el ejemplo supongamos que DISPLAY=:1.0 escriba ahora 72 Capítulo 3. Configuración de dispositivos $ ssh -Y [email protected] Se le pedirá la contraseña, escríbala. Ponga ahora $ export DISPLAY=192.168.1.6:1.0 $ gnome-sesion Recuerde que 192.168.1.6 es la dirección IP de su máquina. Verá ahora cómo se inicia una sesión gráfica de usuario en la máquina remota de modo transparente, para los efectos es como si estuviese sentado delante de ella. Usted estará pensando que todo el trabajo lo hace la máquina remota y se estará preguntando hasta dónde puede aguantar si muchos usuarios inician sesión remota. Permítamente que le diga que no todo el trabajo lo hace la máquina remota. La aplicación sí se está ejecutando en ella y consumiendo por tanto recursos, pero su máquina también está trabajando y mucho. Ella pone los recursos gráficos necesarios: teclado, monitor, ratón, esto es, los recursos controlados y aportados por el servidor X. La aplicación se ejecuta en remoto pero sus resultados se muestran en su máquina local. Así que desde el punto de vista de las X la máquina remota actúa como cliente de su servidor gráfico. La máquina remota es servidor de aplicaciones pero cliente X, su máquina es cliente de aplicaciones pero servidor X. Curiosa paradoja lo que parecía un servidor es en realidad un cliente, dar y recibir son acciones recíprocas, en GNU/Linux el orden aparente se subvierte. 3.2.9. Abrir una sesión gráfica en una máquina remota son GDM Existe todavía una forma más cómoda y fácil de abrir sesiones gráficas en máquinas remotas, sin tener que conocer comandos, ni direcciones ip, ni configuraciones complicadas y sin necesidad de instalar software adicional. ¡Caramba haber empezado por ahí!. Ya sabe que los autores con cierto sadismo tienden a torturarle, sufrido lector, con comandos y extraños nombres de fichero. Todo ello lo podemos conseguir únicamente configurando adecuadamente GDM. GDM es un gestor de sesiones gráficas X y fue escrito como un reemplazo de XDM. ¿Qué no sabe todavía qué es GDM? GDM significa Gnome Display Manager, un programa de login gráfico. Es el programa que le aparece cada vez que inicia una sesión en su máquina.12 3.2.9.1. Configuración de la máquina remota Vaya a Aplicaciones−→Configuración−→Sistema−→Configuración de la pantalla de sesión. Vaya a la pestaña XDMCP y active la casilla Activar XDMCP. Esto es todo. 3.2.9.2. Inicio de sesión en la máquina local Ahora en la máquina local cierre su sesión gráfica si la tiene abierta. En la pantalla GDM pulse en Sistema. En la ventana emergente seleccione Ejecutar el selector XDMCP 73 Capítulo 3. Configuración de dispositivos Selector XDMCP Ahora se le mostrará una lista con todos las máquinas de su red que aceptan el inicio de sesiones gráficas remotas. Seleccione la que desee e inice sesión en ella. Existen otros modos más eficientes y seguros de iniciar sesiones gráficas en máquinas remotas sobre todo si se hace a través de Internet. Una de estas aplicaciones es Freenx que nos permitirá iniciar sesiones remotas tanto en entornos Windows™ como en GNU/Linux, es decir con Windows ejecutándose en la máquina local podremos iniciar una sesión remota de una máquina GNU/Linux. También podremos conectar desde Linux con un servidor Windows Terminal Server. Para ampliar información vaya a http://www.wikilearning.com/que_es_freenx-wkccp-6865-2.htm La siguiente es un receta que hemos tomado de la experiencia del IES Averroes. Personalmente no la hemos probado. 3.2.9.3. Escritorio Remoto con VNC Otra posibilidad de acceder remotamente a un ordenador de la red es la de usar VNC, un software cliente/servidor que permite acceder remotamente a sesiones gráficas. El primer paso para utilizar este software en Guadalinex es instalarlo ya que no viene incluido en la distribución. El paquete que debemos instalar irá en función del uso que pretendamos darle. Vamos a exponer algunas posibilidades: Si queremos un escritorio remoto podemos instalar el paquete vncserver o, mejor aún, una versión mejorada del mismo TightVNC que comprime el tráfico de datos y alcanza mayor velocidad que el VNC estandar y es compatible con él. Para instalarlo debemos buscar con Synaptic el paquete tightvncserver e instalarlo o, desde un terminal como root, ejecutar la instrucción # apt-get install tightvncserver La instalación debemos efectuarla tanto en el ordenador que actuará como servidor como en el que actuará como cliente, a no ser que en éste dispongamos de otro cliente compatible distinto. Guadalinex 2004 incorpora un cliente de vnc en Aplicaciones−→Internet−→Remote Desktop. VNC nos permitirá iniciar sesiones remotas de un modo similar a lo que ya hemos visto. Pero si lo que queremos es controlar la sesión gráfica iniciada por un usuario en el ordenador remoto necesitamos programas distintos. Esto puede ser muy útil en procesos de formación: el profesor está sentado delante de 74 Capítulo 3. Configuración de dispositivos su ordenador y el alumno en el suyo. Ahora el profesor muestra al alumno cómo hacer algo y el alumno lo ve en su propio ordenador. Al tiempo el profesor puede ver en todo momento qué está haciendo el alumno.13 Dos paquetes que permiten hacer esto son x11vnc y rfb. Aunque ambos programas son similares vamos a describir el uso de rfb que admite una configuración gráfica y además cuando el servidor está funcionando aparece una ventana en el escritorio del servidor, con lo que el usuario que está ante él sabe que su sesión gráfica está siendo capturada, con lo cual se evita la intromisión en la intimidad del usuario.14 3.2.9.4. Instalación y uso de rfb Para instalar rfb lo hacemos como siempre, lo buscamos con Synaptic y lo instalamos. Tras la instalación tendremos dos programas: • x0rfbserver: el servidor • x0rfbviewer: el cliente El uso del visualizador es muy sencillo, en primer lugar ejecutamos el servidor en el ordenador que queremos que actúe como servidor. Para ello debemos ejecutar el comando xorfbserver en Acciones−→Ejecutar un programa o bien creando un nuevo lanzador. También podemos encontrarlos en Menú Debian−→Aplicaciones−→Herramientas Tras la ejecución aparecerá en el escritorio la ventana del programa. Haciendo clic con el botón derecho sobre la ventana podremos configurar algunas opciones. Lo hacemos y seleccionamos Properties (Propiedades). En la primera de las pestañas (Incomming Connections) podemos introducir una contraseña para que el servidor acepte las conexiones y activar la casilla para acceder al teclado y al ratón desde el cliente. Ahora nos centramos en el cliente. Para ello, en el ordenador cliente, tenemos que ejecutar el programa x0rfbviewer ya sea desde Aplicaciones−→Ejecutar un programa o creando un lanzador. Tras la ejecución aparecerá una ventana en la que sólo tendremos que introducir la ip del ordenador que actúa como servidor. Una vez establecida la conexión podremos ver la sesión gráfica que esté ejecutándose en el servidor. Todo esto le da a usted una idea de las potencialidades del sistema X Window. Cuando redactábamos estas páginas encontramos una interesante noticia en http://www.fxguide.com/press-337.html. Como usted sabe las animaciones de la película Las crónicas de Narnia, a cargo de la empresa Rhythm & Hues™, fueron creadas con un programa de animación en 3D basado en inteligencia artificial. Tal programa es Massive Software. Massive es usado por compañías líderes en la producción digital y los estudios de efectos especial tales como Weta Digital™, The Mill™, Animal Logic™, Rhythm & Hues™ and Digital Domain™. En 2004, Massive fue honrada con el el Premio de Ciencia e Ingeniería de la Academy of Motion Picture Arts and Sciencies, y con el Premio de Innovación Técnica en 3D en Copenhage. Si accede a la página de Massive (http://www.massivesoftware.com/requirements.html) podrá ver que necesita para ejecutarse de RedHat 7.3, 9 o Fedora Core 2, todas ellas distribuciones GNU/Linux. Los autores no puede evitar sonreir cuando alguien indignado hecha de menos en GNU/Linux aplicaciones gráficas tan "potentes" como Corel Draw™. 75 Capítulo 3. Configuración de dispositivos 3.3. Configuración de la tarjeta de sonido Normalmente este dispositivo debe instalarse correctamente. Sabrá que está correctamente instalado si en el panel superior ve un icono en forma de altavoz y al hacer clic en él puede ampliar y disminuir el volumen. Si está teniendo problemas debe probar algo de lo siguiente. En esta sección vamos a tratar tres modos de configuración de la tarjeta de sonido. 3.3.1. Averiguar el modelo de nuestra tarjeta de sonido El paso previo a la configuración de nuestra tarjeta de sonido sería comprobar el modelo. Para comprobar el modelo de su tarjeta de sonido, puede utilizar cualquiera de los procedimientos que vimos anteriormente para la tarjeta de vídeo. Puede utilizar hardinfo. Diríjase al Menú General de Gnome (Aplicaciones−→Herramientas del sistema−→Información del sistema). Se abrirá una ventana llamada System Information. Presione sobre la pestaña Devices y observe entre los dispositivos reconocidos si aparece su tarjeta de sonido. Puede también tratar de detectarla con # lspci | grep audio Puede ocurrir que su tarjeta de sonido haya sido detectada pero no esté configurada. En esta situación usted verá el icono en forma de altavoz en la barra de tareas pero al hacer clic sobre él y tratar de ampliar el volumen verá que no responde. En este caso debe proceder a configurarla. 3.3.2. Configuración automática mediante alsaconf Para comenzar el método de detección automática de alsaconf, debemos lanzar, en primer lugar, una Terminal de Root. Una vez hemos conseguido la terminal, tecleamos la instrucción alsaconf y pulsamos la tecla Enter. A continuación, podremos comprobar cómo nos aparece una pantalla de bienvenida de la aplicación ALSA CONFIGURATOR. Debemos presionar Enter para pasar a la autodetección. Una vez hecho esto, y finalizado el proceso, se nos presentarán en pantalla aquellas tarjetas de sonido posiblemente detectadas en nuestro sistema. Debemos seleccionar el modelo correspondiente a nuestra tarjeta de sonido, y presionar la tecla Enter. Una vez hecho esto, ya tendremos audio en nuestro escritorio Gnome. Detección con ALSA 76 Capítulo 3. Configuración de dispositivos 3.3.3. Configuración manual mediante modconf En caso de que la autodetección de alsaconf haya resultado infructuosa, debemos proceder a la configuración manual de la tarjeta de sonido mediante modconf. Para ello, debemos acceder a una terminal root y teclear la instrucción modconf y pulsamos la tecla Enter. A continuación, se nos presentará un menú de selección, por el que tendremos que navegar manejando las teclas con símbolos de dirección del teclado numérico (flechas) a través de las diferentes secciones kernel/sound. Una vez hemos alcanzado la sección citada, debemos proceder a la búsqueda de nuestra tarjeta de sonido, la seleccionaremos y pulsaremos Enter en dos ocasiones (una para seleccionar, y la siguiente tras una solicitud de información del sistema, que deberemos mantener vacía). Ya configurada nuestra tarjeta de sonido, sólo tenemos que volver a la entrada Salir del menú, hasta dejar la aplicación modconf. Y por último, cuando nos hemos percatado de que se ha cerrado correctamente la aplicación modconf, podemos cerrar la terminal y estar tranquilos de que a partir de la próxima sesión, mantendremos nuestra tarjeta de sonido configurada en el equipo. Si todavía no ha conseguido configurar su tarjeta de sonido queda una solución avanzada. Trate de averiguar cuál es exactamente la marca y modelo de su fabricante, mirando la documentación de la tarjeta o viendo cómo la ha detectado otro sistema operativo en el que funciona correctamente. Intente los métodos anteriormente descritos para ver si existe un driver disponible para su tarjeta. Si no existe mire en la página del fabricante o busque en Internet por si existiera un driver para su tarjeta. Si tiene la fortuna de encontralo normalmente será en código fuente y deberá compilarlo e instalarlo en su sistema. Habitualmente cuando se encuentra un driver así viene también con instrucciones para hacer esto. En el útimo capítulo de este curso trataremos de introducirnos en la compilación e instalación de módulos. 3.4. El servicio de impresión 3.4.1. El sistema de impresión CUPS™ Tradicionalmente se han utilizado en Unix™ dos sistemas de impresión Berkeley Line Printer Daemon (LPD) y el ATandT Line Printer creados en los años 70 para usar las impresoras matriciales de la época. Más tarde, con la evolución de éstos periféricos incorporando las tecnologías láser o de chorro de tinta, estos sistemas fueron adaptándose e incluyendo controladores que permitieran su uso en este tipo de impresoras, aunque sin mejorar sustancialmente sus capacidades originales. Importante: CUPS ha sido desarrollado por la empresa californiana Easy Software Products™ (http://www.easysw.com/) y toda la información sobre el mismo puede encontrarse en la dirección http://www.cups.org A finales de los años 90 surgieron diferentes iniciativas orientadas a la creación de un sistema estándar de impresión, estableciéndose las especificaciones del protocolo IPP (Internet Printing Protocol) como una extensión del HTTP (HyperText Transfer Protocol)en el que se basa la navegación por la Internet, con el propósito de proporcionar servicios de impresión remota. CUPS™ (Common UNIX Printing System) es software libre, distribuido conforme a los términos de la Licencia Pública General (GPL) y basado en este 77 Capítulo 3. Configuración de dispositivos protocolo IPP, apareciendo su primera versión en octubre de 1999 con el objetivo de dotar de una solución moderna, en materia de impresión, a los sistemas tipo Unix™. Un ordenador cliente envía una petición al servidor CUPS. Esta demanda es recogida por el demoniocupsd y se ocupa de trasladarlos a la impresora que los convertirá en el documento impreso. Este sistema de impresión está concebido como un servicio de red, incluso si Guadalinex está instalado en un único ordenador, en este sentido, funciona como cualquier otro servicio, basado en la filosofía clienteservidor. Normalmente este sistema se encuentra implementado en la instalación de Guadalinex y configurado para que se inicie al arrancar el sistema, sin embargo podemos comprobar el estado de CUPS abriendo una terminal Aplicaciones−→Herramientas del sistema−→Terminal y ejecutando la orden: [grimaldos@ron:~]$ ps aux | grep cupsd root 528 0.0 0.6 6304 3172 ? grimaldos 2855 0.0 0.1 2032 684 pts/1 S R 15:36 21:40 0:01 /usr/sbin/cupsd 0:00 grep cupsd Recordemos que estamos haciendo una petición al sistema para que nos muestre todos los procesos (ps) y filtramos (|) la salida de la orden (grep) para que nos muestre sólo aquellos que contengan la instrucción cupsd. Este comando nos devuelve dos líneas, donde la primera es la que realmente nos informa de que el demonio cupsd está en ejecución, ya que la segunda es el proceso correspondiente a nuestra propia petición. Pero, ¿qué hacer si cupsd no se está ejecutando? Pues tenemos que "levantar" el servicio de impresión, bien utilizando el entorno gráfico o, directamente, ejecutando la orden: [root@secre01:~]# /etc/init.d/cupsys start 3.4.2. Nada es lo que parece No se trata de sembrar el desconcierto, simplemente queremos destacar que en Guadalinex, y por extensión en ningún sistema GNU/Linux, no debemos confundir el concepto de impresora con el objeto físico, es decir, con una impresora real, al menos, no tiene por qué ser así. En la mayoría de las ocasiones cuando nos referimos a una impresora o cuando enviamos un trabajo a imprimir, en realidad deberíamos precisar que se trata de una cola de impresión configurada conforme a unas características particulares establecidas por las necesidades de cada usuario. Tal vez un ejemmplo nos ayude a explicar esta situación. Supongamos una impresora de inyección de tinta con calidad fotográfica. Es este caso, deseamos configurarla correctamente, de modo que nos permita imprimir las fotos e ilustraciones con unos resultados ciertamente vistosos. Sin embargo, ¿qué ocurre cuando necesitamos imprimir una o varias páginas de texto puro? Pues, seguramente la configuración con calidades altas no mejorará sensiblemente el aspecto de nuestros textos impresos, tan sólo ocasionará un mayor gasto de tinta y, como consecuencia un despilfarro que, aunque leve, no menos indeseable. La solución pasa por definir distintas colas de impresión que el sistema asumirá como impresoras aunque se trate en realidad del mismo dispositivo físico. Podríamos definir una impresora, así entendida con resoluciones altas, llamada foto por ejemplo, para enviar a ella los trabajos que requieran de una impresión de calidad. Otra, llamada normal, para imprimir documentos a color, pero sin unas exigencias de nitidez elevadas, por ejemplo, páginas de Internet. Finalmente, una tercera impresora, borrador, a la que envia- 78 Capítulo 3. Configuración de dispositivos remos los trabajos que sólo contengan texto puro, configurada con una calidad económica. De esta forma, el sistema se comporta como si tuviésemos tres impresoras distintas cuando en realidad se trata del mismo dispositivo configurado adecuadamente para cada necesidad. Por no mencionar la posibilidadde auditar el uso de la impresora o establecer distintos niveles de acceso y determinar qué usuarios pueden utilizar cada recurso, por ejemplo, que el departamento de contabilidad no pueda imprimir sus balances en la "Laser Color" reservada al departaménto de márketing, o que pueda hacerlo sólo el responsable de finanzas para imprimir el crecimiento económico en unos colores vistosos. Evidentemente esta característica del sistema es totalmente opcional, quedando a criterio del usuario el uso que hace de ella. Sin embargo, es conveniente aclarar que cuando decimos configurar la impresora, vamos a configurar realmente una cola de impresión. 3.4.3. Instalación de la impresora con asistente El uso más básico del recurso de impresión proporcionado por Guadalinex consiste en tener un dispositivo físico directamente conectado al equipo e integrarlo en el sistema, de manera que podamos obtener documentos impresos desde cualquier aplicación con esta capacidad. Cuando nuestras necesidades no pasan de ahí, será suficiente invocar la ayuda del asistente e ir cumplimentando las sucesivas pantallas que obtenemos.En este caso, el proceso es bastante sencillo. Asegúrese de que la impresora esté encendida y conectada correctamente al ordenador. Para abrir el asistente de instalación de impresoras vamos al menú Aplicaciones−→Configuración−→Sistema−→Impresoras. Se nos pedirá la contraseña de administrador, tras ponerla, se abrirá el panel de control de impresoras Ventana inicial del asistente para añadir impresoras 79 Capítulo 3. Configuración de dispositivos Añadir impresora Del menú Editar seleccionamos Add printer. Inicio del asistente Se iniciará así el asistente para la instalación de impresoras Pulse Adelante y se le mostrará una ventana con todas las impresoras que hayan sido detectadas por el sistema. Autodetección del puerto de impresión En la imagen podemos ver cómo el sistema ha detectado dos impresoras: una está en el puerto paralelo y se llama Xerox DocuPrint P8e; la otra está en un puerto USB y es una Samsung ML-1510. Vamos a instalar ésta última. Pulsamos el botón Adelante. 80 Capítulo 3. Configuración de dispositivos Definición de la cola de impresión El sistema habrá identificado correctamente su impresora, puede dejar todo tal como está y pulsar Adelante. Pero si lo desea puede cambiar el campo Queue Name (Nombre de la cola) poniendo aquí el nombre con el que se conocerá la impresora e introducir una descripción para ella. Elección de la marca y modelo A continuación deberá seleccionar el controlador (driver) apropiado para su modelo y marca de impresora, en nuestro caso elegimos Samsung, que es la marca de nuestra impresora, y ML-1510 que es el modelo. Importante: Aunque Guadalinex tiene soporte para una gran cantidad de impresoras puede ocurrir que la suya no aparezca listada. En ese caso pueden suceder dos cosas: que su modelo y marca de impresora sea compatible con otras de las que sí están listadas; o que necesite descargar un driver específico, en este último caso diríjase a http://www.linuxprinting.org, y localice allí su driver. Si su impresora es Postscript, lo cual no es frecuente si se trata de una impresora de bajo coste, consulte no obstante el manual de la impresora, no necesitará descargar ningún driver, bastará con disponer del fichero .ppd que suele venir en el cd de instalación facilitado por el fabricante. Más adelante precisaremos un poco más el camino a seguir en esta situación. 81 Capítulo 3. Configuración de dispositivos Elección del driver Una vez seleccionado el modelo y marca se le ofrecerán los drivers disponibles para ese modelo, habitualmente elegiremos el recomendado (recommended) y pulsaremos Adelante. La instalación está casi lista. Pulse ahora el botón Aplicar para finalizar la instalación. Finalización del asistente Regresamos así al Panel de control de impresoras, donde se nos mostrarán las impresoras instaladas y cuál de ellas es la predeterminada (default queue) 82 Capítulo 3. Configuración de dispositivos Impresoras instaladas Si tiene varias impresoras instaladas podrá elegir cuál de ellas se usará por defecto simplemente seleccionándola y eligiendo Make Default desde el menú Configuración. Para configurar las propiedades de la impresora selecciónela y vaya al menú Configuración−→Printer Options. Las opciones disponibles dependerán de la marca y modelo de su impresora. Opciones de la cola de impresión Una misma impresora física puede instalarse más de una vez con distintos nombres, como ya explicamos en una sección anterior. Pues bien, para instalar la misma impresora física dos veces, con diferentes configuraciones de impresión, bastará con poner nombres distintos (en el campo Queue Name) cuando se le pida, y elegir luego las opciones apropiadas. De este modo podrá imprimir cómodamente desde los programas sin tener que estar cambiando continuamente las opciones de impresión, sólo tendrá que seleccionar la cola de impresión adecuada. Posteriormente podrá controlar las impresoras, por ejemplo parar trabajos o cancelarlos, desde el panel de control de impresoras (Aplicaciones−→Configuración−→Sistema−→Impresoras) haciendo doble clic en el icono que representa a la impresora. 3.4.4. Instalación de la impresora con el navegador Otra forma de añadir una impresora15 al sistema es utilizando un navegador. Para ello basta apuntar a 83 Capítulo 3. Configuración de dispositivos nuestro propio equipo lanzando la petición al puerto 631, para ello, escribiremos en la barra de direcciones: http://localhost:631 Pantalla inicial del servidor CUPS A través de esta interfaz web podremos realizar el proceso de añadir una nueva impresora y/o controlar las existentes. Este proceso lo detallaremos en una sección posterior dedicada a la impresión en red. 3.4.5. ¿Qué hacer si mi impresora no está listada? El soporte para dispositivos de impresión bajo GNU/Linux no suele ofrecer demasiados contratiempos, normalmente, la mayoría de las impresoras se encuentran plenamente operativas o en un estado de desarrollo de drivers específicos bastante avanzado. Tal vez, los últimos modelos todo-en-uno multifunción gozan de un soporte más precario o alguna de sus funcionalidades no se encuentra totalmente operativa a consecuencia de la imposibilidad de facilitar drivers por parte de los fabricantes con acuerdos en exclusiva con Microsoft™. Hemos, por tanto, de tener presente esta circunstancia a la hora de elegir un nuevo producto y procurar que cumpla todos los estándares para asegurarnos que estará plenamente soportado en cualquier plataforma. En cualquier caso, esté nuestra impresora soportada o no, es conveniente siempre visitar LinuxPrinting.org (http://www.linuxprinting.org), el lugar donde se centralizan todos los recursos de impresión bajo GNU/Linux. Allí podremos consultar en su base de datos (http://www.linuxprinting.org/printer_list.cgi) si nuestro dispositivo funcionará correctamente, qué driver debemos elegir, así como, las recomendaciones para la instalación y puesta a punto de la impresora. Importante: Suele ocurrir en muchas ocasiones que los fabricantes comercializan distintos modelos de impresora con el mismo soporte físico.GNU/Linux les hará funcionar a todas con el mismo controlador y extraerá, por tanto, el máximo rendimiento, sin importar el modelo concreto, siempre funcionarán igual que el más alto de la gama. En el caso de no encontrar nuestra impresora en la lista, ya sea del asistente o de la configuración mediante el navegador, consultaremos la base de impresoras citada anteriormente y distinguiremos dos situaciones: • Impresora PostScript™. En este caso no hay ningún problema, este tipo de impresoras funcionan con un fichero .ppd que podemos obtener del disco suministrado con el aparato, descargar de Linuxprinting.org (http://www.linuxprinting.org) o, incluso de la web de Adobe (http://www.adobe.com/products/printerdrivers/) que mantiene una extensa colección de archivos PPD para diferentes impresoras. Una vez obtenido, bastará copiarlo a la carpeta 84 Capítulo 3. Configuración de dispositivos /usr/share/cups/model/, reiniciar el servicio /etc/init.d/cupsys restart y listo. Nuestra impresora ya está preparada para funcionar a pleno rendimiento. • Impresora no PostScript™. En este caso, consultaremos en la base de datos (http://www.linuxprinting.org/printer_list.cgi) de Linuxprinting.org (http://www.linuxprinting.org) para comprobar si está totalmente soportada y qué controlador es necesario. En caso de existir el driver, lo descargaremos e instalaremos siguiendo las indicaciones específicas de cada modelo. Puede ocurrir que el controlador se encuentre "empaquetado" en un conjunto de drivers junto al de otros modelos, por ejemplo, gimp-print, en cuyo caso, bastará con instalar el paquete gimp-print-cups 3.5. La impresión en red Evidentemente no pretendemos desarrollar este apartado pensando en las necesidades de impresión de una red corporativa, ni siquiera de pequeño tamaño. La solución y el mantenimiento de este tipo de tareas complejas no están al alcance de nuestras capacidades, lamentablemente. En cambio, el hecho de compartir impresora para varios equipos sí es cada vez más frecuente, ya sea en el ámbito de una pequeña red local o incluso en alguna instalación doméstica. La impresora, como recurso de red, proporciona importantes ventajas y un considerable ahorro, tanto en equipos como en mantenimiento, por ello, es interesante aprovechar las posibilidades que nos brinda CUPS pues, aunque está diseñado para proporcionar soluciones avanzadas a grandes instalaciones, podemos aprovechar sus capacidades para nuestras necesidades domésticas. 3.5.1. Configuración del servidor Entenderemos como servidor en este contexto, un ordenador que posee una/s impresora/s configuradas16 y CUPS instalado y ejecutándose en él. Las directivas para el comportamiento como servidor se encuentran en el fichero /etc/cups/cupsd.conf y su manejo es muy similar al fichero de configuración del servidor web Apache. En condiciones normales no será necesaria su modificación pues los servicios de impresión locales funcionarán perfectamente, tan sólo ajustaremos aquellos que afectan a los accesos vía red. Importante: Como en toda tarea de administración crítica tomaremos la precaución de realizar una copia de seguridad del fichero para prevenir algún desastre: #cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.orig La/s impresora/s configuradas serán las que podamos compartir con el resto de usuarios de la red, en este sentido podemos decidir si utilizamos las del sistema o definimos nuevas colas con el propósito de utilizarlas como recurso de red. 3.5.1.1. El fichero cupsd.conf Como es habitual en los ficheros de configuración las entradas precedidas por el carácter # no son tenidas en cuenta por la aplicación y se utilizan para reseñar comentarios que permitan una mejor comprensión de cada una de las directivas. De la misma forma, es una buena costumbre, cada vez que modifiquemos alguna entrada, colocar un comentario acerca de la modificación. Todas las directivas de este fichero están agrupadas por secciones. Comentaremos sólo algunas de ellas, sobre todo las decisivas a la hora de proporcionar servicio de impresión remota. 85 Capítulo 3. Configuración de dispositivos 3.5.1.1.1. Server Identity Aquí se configura el nombre del servidor y la cuenta de correo del administrador para que los clientes le puedan comunicar problemas en la impresión. #ServerName equipo.dominio.com #ServerAdmin [email protected] 3.5.1.1.2. Server Options Diversas características como la ubicación del fichero de registro, directorio de datos, codificación de caracteres, idioma, directorio de documentación, nivel de registro de errores, mantener copia de los trabajos, etc. ######## Server Options ######## #AccessLog /var/log/cups/access_log #Classification classified #Classification confidential #Classification secret #Classification topsecret #Classification unclassified # # The default is off. ClassifyOverride off # # DataDir: the root directory for the CUPS data files. # By default "/usr/share/cups". DataDir /usr/share/cups # DefaultCharset: the default character set to use. If not specified, # defaults to "utf-8". Note that this can also be overridden in # HTML documents... DefaultCharset iso-8859-1 # DefaultLanguage: the default language if not specified by the browser. # If not specified, the current locale is used. DefaultLanguage es # DocumentRoot: the root directory for HTTP documents that are served. # By default "/usr/share/cups/doc-root". DocumentRoot /usr/share/cups/doc-root # ErrorLog: the error log file; if this does not start with a leading / # then it is assumed to be relative to ServerRoot. By default set to # "/var/log/cups/error_log" # ErrorLog /var/log/cups/error_log 86 Capítulo 3. Configuración de dispositivos # # # # FileDevice: determines whether the scheduler will allow new printers to be added using device URIs of the form "file:/foo/bar". The default is not to allow file devices due to the potential security vulnerability and due to the fact that file devices do not support raw printing. FileDevice No # FontPath: the path to locate all font files (currently only for pstoraster) # By default "/usr/share/cups/fonts". FontPath /usr/share/cups/fonts # LogLevel: controls the number of messages logged to the ErrorLog # file and can be one of the following: # # debug2 Log everything. # debug Log almost everything. # info Log all requests and state changes. # warn Log errors and warnings. # error Log only errors. # none Log nothing. # LogLevel info # MaxLogSize: controls the maximum size of each log file before they are # rotated. Defaults to 1048576 (1MB). Set to 0 to disable log rotating. MaxLogSize 0 # PageLog: the page log file; if this does not start with a leading / # then it is assumed to be relative to ServerRoot. By default set to # "/var/log/cups/page_log" PageLog /var/log/cups/page_log # PreserveJobHistory: whether or not to preserve the job history after a # job is completed, cancelled, or stopped. Default is Yes. # PreserveJobHistory Yes # PreserveJobFiles: whether or not to preserve the job files after a # job is completed, cancelled, or stopped. Default is No. PreserveJobFiles No # AutoPurgeJobs: automatically purge jobs when not needed for quotas. # Default is No. AutoPurgeJobs No # MaxCopies: maximum number of copies that a user can request. Default is # 100. MaxCopies 100 # MaxJobs: maximum number of jobs to keep in memory (active and completed.) # Default is 500; the value 0 is used for no limit. MaxJobs 500 # MaxJobsPerPrinter: maximum number of active jobs per printer. The default # is 0 for no limit. MaxJobsPerPrinter 0 87 Capítulo 3. Configuración de dispositivos # MaxJobsPerUser: maximum number of active jobs per user. The default # is 0 for no limit. MaxJobsPerUser 0 # # MaxPrinterHistory: controls the maximum number of history collections # in the printer-state-history attribute. Set to 0 to disable history # data. # MaxPrinterHistory 10 # Printcap: the name of the printcap file. Default is /etc/printcap. # Leave blank to disable printcap file generation. # Printcap /var/run/cups/printcap # # PrintcapFormat: the format of the printcap file, currently either # BSD or Solaris. The default is "BSD". # #PrintcapFormat BSD #PrintcapFormat Solaris # RequestRoot: the directory where request files are stored. # By default "/var/spool/cups". # RequestRoot /var/spool/cups # RemoteRoot: the name of the user assigned to unauthenticated accesses # from remote systems. By default "remroot". # #RemoteRoot remroot # ServerBin: the root directory for the scheduler executables. # By default "/usr/lib/cups". ServerBin /usr/lib/cups # ServerRoot: the root directory for the scheduler. # By default "/etc/cups". # ServerRoot /etc/cups Como puede observarse, el fichero de configuración está plagado de comentarios (aunque en inglés) que describen el comportamiento de cada directiva afectando al funcionamiento general de CUPS, en cambio, las opciones por defecto funcionarán correctamente y no será necesario realizar ningún ajuste, salvo los relativos a permitir el acceso a los recursos, para implementar el servicio de impresión a través de la red. 88 Capítulo 3. Configuración de dispositivos 3.5.1.1.3. Encryption Support Si deseamos que las comunicaciones entre el servidor y los clientes viajes cifradas, aquí le indicaremos al CUPS dónde se encuentran el certificado y la clave del servidor respectivamente. #ServerCertificate /etc/cups/ssl/server.crt #ServerKey /etc/cups/ssl/server.key 3.5.1.1.4. Filter Option El servidor CUPS se inicia al arrancar el ordenador con privilegios de root, en cambio, una vez iniciado asume la identidad de un usuario y grupo del sistema. Es aquí donde establecemos ésta. En los sistemas derivados de Red Hat el usuario suele ser lp y el grupo sys, en cambio, en los derivados de Debian, como Guadalinex, la identidad por defecto es: User lp Group lpadmin 3.5.1.1.5. Network Options Esta es una de las secciones donde modificaremos alguna de las directivas para un correcto funcionamiento del servicio de impresión para clientes de red. Para una configuración mínima que implante este servicio sin demasiadas exigencias, no será necesario tocar demasiadas entradas. # # # # # # # # # # # # # # # # # # Ports/addresses that we listen to. The default port 631 is reserved for the Internet Printing Protocol (IPP) and is what we use here. You can have multiple Port/Listen lines to listen to more than one port or address, or to restrict access: Port 80 Port 631 Listen hostname Listen hostname:80 Listen hostname:631 Listen 1.2.3.4 Listen 1.2.3.4:631 NOTE: Unfortunately, most web browsers don’t support TLS or HTTP Upgrades for encryption. If you want to support web-based encryption you’ll probably need to listen on port 443 (the "https" port...) #Port 80 #Port 443 Port 631 Esta parte nos permite establecer a quién y/o dónde escuchará peticiones el "demonio" cupsd. Por defecto viene establecido el puerto 631, reservado inicialmente para las transacciones del protocolo IPP 89 Capítulo 3. Configuración de dispositivos Se pueden establecer varias directivas, basadas en el puerto y/o basadas en la procedencia, por ejemplo, si queremos limitar el acceso a CUPS exclusivamente a nuestra máquina local estableceremos una única línea activa con la entrada: Listen 127.0.0.1:631 En esta sección controlamos otros comportamientos generales que afectan a la operativa de CUPS como el trabajo con nombres de máquina totalmente cualificados, el máximo de clientes simultáneos, el de peticiones por equipo, el tamaño máximo de los trabajos de impresión o el tiempo de espera para atender las peticiones: #HostNameLookups On #MaxClients 100 #MaxClientsPerHost 0 #MaxRequestSize 0 #Timeout 300 3.5.1.1.6. Browsing Options El comportamiento predeterminado de CUPS es difundir las impresoras a través de la red, de manera que los clientes detecten los recursos compartidos automáticamente. En esta sección estableceremos las características de este comportamiento indicando si deseamos esta difusión, el protocolo a utilizar y la dirección de multidifusión: #Browsing On # BrowseProtocols: which protocols to use for browsing. Can be # any of the following separated by whitespace and/or commas: # # all - Use all supported protocols. # cups - Use the CUPS browse protocol. # slp - Use the SLPv2 protocol. #BrowseProtocols cups #BrowseAddress x.y.z.255 #BrowseAddress x.y.255.255 #BrowseAddress x.255.255.255 #BrowseAddress 255.255.255.255 #BrowseAddress @LOCAL #BrowseAddress @IF(name) 3.5.1.1.7. Security Options En este lugar radica verdaderamente la posibilidad de establecer los niveles de acceso a los diferentes recursos proporcionados por CUPS y afinar, combinando las distintas directivas, para conseguir un rendimiento óptimo y seguro de este servicio. Para clarificar algo el significado de algunas directivas quizás sea necesario conocer con precisión algunos términos utilizados en esta sección: classes. El concepto de clase en CUPS es una generalización de la idea de impresora, puede ser entendido como un conjunto de impresoras. Por ejemplo la clase laser puede entenderse como un grupo de impresoras láser entre las que CUPS distribuirá el trabajo según su nivel de ocupación para optimizar la tarea 90 Capítulo 3. Configuración de dispositivos de impresión. Evidentemente este recurso está diseñando para su implementación en instalaciones con un elevado nivel de exigencia. jobs. Todos los trabajos aceptados por el "demonio" cupsd printers. Todas las impresoras definidas en el sistema. En este sentido printer/laserHP designaría a una impresora del mismo de nombre laserHP /. Todos los servicios proporcionados por CUPS y, por consiguiente, la posibilidad de acceso a configuración de los mismos. admin. Todas las tareas de configuración de CUPS AuthType. Tipo de autentificación para el acceso a un determinado recurso. • none. Ninguna. Acceso anónimo. • basic. Modelo basado en la pareja "usuario" y "contraseña". • digest. También basado en el "usario" y "contraseña" pero éstas viajan cifradas hasta el servidor. AuthClass. Nivel de autentificación requerido según el tipo establecido en la directiva anterior. Los valores aceptados son: • Anonymous. Ninguna. No es necesaria autentificación. Es el valor por defecto. • User. Requiere "usuario" y "contraseña". • System. Es necesario que el usuario proporcionado pertenezca al grupo del sistema sys • Group. Con el mismo sentido que el anterior, sólo que ahora es necesario que el usuario proporcionado pertenezca al grupo establecido en la directiva AuthGroupName Order. Orden secuencial en el que el sistema procesa las directivasallow y deny Allow From / Deny From. Permite/Deniega el acceso desde ciertos equipos, dominios, etc. 3.5.1.2. Ejemplos de configuración El fichero /etc/cups/cupsd.conf es suficientemente autoexplicativo. Vamos a indicar, sin embargo, algunos ejemplos prácticos para una configuración sin demasiadas pretensiones. En todos ellos suponemos que este fichero permanece con las directivas por defecto y mencionaremos aquellas que hemos de cambiar para ajustar su comportamiento. 3.5.1.2.1. Compartir todas las impresoras Para que CUPS ofrezca la posibilidad de instalar todas las impresoras configuradas en cualquier máquina cliente que pueda comunicarse con él a través del puerto 631, será suficiente con establecer una entrada, como la siguiente: <Location /printers> </Location> En este caso CUPS asumiría los valores por defecto que son permitir el acceso anónimo al recurso printers. 91 Capítulo 3. Configuración de dispositivos 3.5.1.2.2. Compartir una determinada impresora Si queremos compartir una impresora que tengamos instalada de nombre, por ejemplo p8ered, la entrada sería ahora: <Location /printers/p8ered> </Location> Si este recurso queremos que esté disponible exlcusivamente para una determinada máquina de nuestra red, la entrada sería: <Location /printers/p8ered> Order Deny,Allow Deny From All Allow From 192.168.1.12 </Location> 3.5.1.2.3. Administrar CUPS en remoto En muchas ocasiones, CUPS se instala en un viejo equipo preparado para el uso exclusivo de servicios de impresión y puede estar ubicado físicamente en un lugar alejado de nuestro puesto de trabajo habitual. Si deseamos tener la posibilidad de acceder a la administración del servidor CUPS desde una máquina diferente deberíamos configurar las entradas: <Location /> #Permitimos el acceso a la raíz de CUPS #sólo a la máquina local y a la IP 192.168.1.12 Order Deny,Allow Deny From All Allow From 127.0.0.1 Allow From 192.168.1.12 </Location> <Location /admin> #Autentificación básica basada en usuario y contraseña AuthType Basic AuthClass User #Permitimos el acceso a la administración de CUPS #sólo a la máquina local y a la IP 192.168.1.12 Order Deny,Allow Deny From All Allow From 127.0.0.1 Allow From 192.168.1.12 </Location> Por último, indicar que es necesario, para que los cambios en este fichero tengan efecto, reiniciar el servicio de impresión. Para ello bastará con ejecutar: [root@ron~]# /etc/init.d/cupsys restart 92 Capítulo 3. Configuración de dispositivos 3.5.1.3. Una triste alegría Todas las tareas de administración, y sobre todo aquellas que afectan a situaciones críticas del sistema deben realizarse como norma general prescindiendo del entorno gráfico y accediendo directamente a los ficheros de configuración. De esta forma no estaremos a merced de un comportamiento anómalo de la herramienta gráfica que supone, en ocasiones, un verdadero rompecabezas a la hora de detectar fallos en algún servicio. Siempre que utilizamos una herramienta gráfica para cualuqier tarea, estamos incorporando un elemento más a nuestra interacción con el sistema y, por tanto, incrementamos las posibilidades de error. En este caso, Guadalinex dispone de una herramienta gráfica para configurar CUPS llamada cupsdconf que podemos invocar desde cualquier terminal gráfica de root. Esta herramienta es parte del paquete de administración del entorno KDE y necesita, por tanto, las librerías gráficas de este escritorio que están presentes en Guadalinex para que pueda ejecutarse K3b. Sería, en un principio la buena noticia, contar con un aliado que hiciese más amigable la interacción con el servidor CUPS. Si invocamos a esta aplicación desde una terminal gráfica como usuario sin privilegios, nos solicitará las claves de administración, bien del "root" o del usuario con acceso a la configuración de CUPS que podamos haber establecido en el fichero /etc/cups/cupsd.conf, según hemos indicado con anterioridad. Autentificación Una vez registrados correctamente accedemos a una pantalla de bienvenida en castellano acompañada de un panel lateral donde se nos permitirá configurar cada uno de los servicios de CUPS siguiendo la estructura de secciones del fichero cupsd.conf reseñadas en los apartados anteriores. 93 Capítulo 3. Configuración de dispositivos Pantalla de bienvenida A través de la pestaña de Seguridad podemos establecer las directrices para compartir los recursos de impresión o habilitar la configuración remota: Seguridad En la "caja" inferior del centro de la ventana aparecen los distintos servicios y una botonera para añadir nuevos elementos o establecer privilegios de acceso. Compartir recursos Esta podría ser una magnífica noticia, puesto que contamos con un aliado para "suavizar" nuestra interacción con el sistema, sin embargo, esta herramienta no se comporta todo lo bien que sería deseable, lo que convierte en "triste" la alegría de este descubrimiento. Por alguna extraña razón, si configuramos CUPS con esta herramienta funciona correctamente al principio, pero no podemos reiniciar el servicio de impresión posteriormente no tenemos acceso a la administra- 94 Capítulo 3. Configuración de dispositivos ción del mismo para corregir algún defecto de configuración, de modo que nos vemos obligados a volver al estado inicial del fichero cupsd.conf y establecer las directivas manualmente. Por lo tanto, si está interesado en profundizar en el uso de esta herramienta y averiguar la causa de su inestabilidad, le recomendamos encarecidamente que efectúe una copia de seguridad del fichero original ya que sobreescribe su contenido. 3.5.2. Configuración del cliente CUPS también funciona como cliente del servicio de impresión y guarda sus parámetros de configuración en el fichero /etc/cups/client.conf, sin embargo, no será necesario efectuar ningún cambio en este fichero en la mayoría de las ocasiones pues todo funcionará correctamente con sus valores por defecto. Sólo tendremos que añadir una impresora al sistema como si de una local se tratase. Lo vemos en detalle. 3.5.2.1. El fichero client.conf Este fichero no necesita modificaciones, citaremos únicamente las directivas que contiene y su significado. La entrada ServerName nos permite indicar el nombre (o la dirección IP) de nuestro servidor de impresión lo que ocasionará que los trabajos se almacenen en él, en lugar de hacerlo en el directorio de spool de la máquina local. #ServerName gutemberg.dominio.com La directiva Encryption nos permite decidir si usaremos algún tipo de cifrado en las comunicaciones con el servidor, podríamos establecer como valores posibles: Always. Para usar siempre cifrado de tipo SSL. Never. No usar nunca cifrado. Required. Para usar cifrado de tipo TLS IfRequested. Para usar cifrado únicamente cuando lo pida el servidor. Es la opción por defecto. #Encryption #Encryption #Encryption #Encryption Always Never Required IfRequested 3.5.2.2. Añadir una impresora de red El procedimiento para configurar una impresora de red es totalmente análogo al seguido para las impresoras locales, tan sólo varía el parámetro relativo al puerto de conexión. Veamos en detalle este procedimiento utilizando el navegador y nos servirá como método alternativo al uso de asistente. Apuntamos con el navegador a la máquina local en en puerto 631 tecleando en la barra de dirección http://localhost:631 95 Capítulo 3. Configuración de dispositivos Pantalla inicial de CUPS Pulsando en el enlace Administración lógicamente nos solicita la contraseña de root ya que accederemos a dispositivos físicos del sistema. Pantalla de registro Una vez registrados convenientemente y en el menú de administración pulsaremos sobre el botón Añadir impresora o Add Printer. Nueva impresora En este formulario introduciremos el nombre17, obligatoriamente y dos campos opcionales para indicar la ubicación física y una descripción del dispositivo Tipo de conexión 96 Capítulo 3. Configuración de dispositivos En el menú emergente de esta ventana establecemos el tipo de conexión, en este caso ipp, si se trata de una impresora local, aquí estableceríamos el bus correspondiente. Dirección de la impresora Aquí le indicamos la forma de localizar la impresora. En este ejemplo, se alcanza a través de ipp://192.168.1.48:631/printers/p8ered, es decir, en la máquina con IP 192.168.1.48 hay una impresora configurada y compartida, con el nombre p8ered que aceptará las peticiones de impresión. Fabricante Comienza el proceso para establecer el driver, seleccionando el fabricante de la impresora. Modelo de impresora Finalmente, fijamos el controlador concreto según el modelo de impresora. 97 Capítulo 3. Configuración de dispositivos Impresora añadida Esta tranquilizadora pantalla nos informa que el proceso ha concluido correctamente. Nueva impresora Pulsamos ahora sobre Configure Printer para establecer el comportamiento y las características concretas de impresión. Recordemos que se pueden definir distintas calidades de impresión asociadas a un mismo dispositivo. Página de prueba Para concluir enviamos una página de prueba y así nos aseguramos que todo está correctamente configurado. 98 Capítulo 3. Configuración de dispositivos Test Page 3.6. Accediendo al escáner Estos dispositivos de captura de imágenes pueden encontrarse con frecuencia en las instalaciones domésticas. El abaratamiento paulatino de su coste junto al inusual aumento de prestaciones son elementos que explican esta evolución. Integrar este periférico en Guadalinex es una tarea bastante sencilla, sin embargo hemos de insistir en los problemas derivados de los componentes no compatibles por no cumplir los estándares internacionales debido, en la mayor parte de los casos, a los acuerdos con Microsoft™ y en otros a la comercialización de pseudodispositivos de bajo precio adaptados exclusivamente al funcionamiento con cierto sistema operativo y con una funcionalidad limitada como consecuencia de su emulación por software. También aquí nos encontramos con el caso de distintos fabricantes que comercializan una serie de modelos utilizando el mismo chipset. En estos casos el controlador será el mismo para todos ellos y funcionarán en GNU/Linux con el máximo de prestaciones que permita el más alto de la gama. 3.6.1. ¿Está mi escáner soportado? Esta es la primera cuestión que nos planteamo cuando tratamos de utilizar el escáner bajo Guadalinex. A diferencia de las impresoras, aquí influye bastante tanto el tipo de conexión como el chipset concreto que incorpore el dispositivo, incluso el mismo modelo con distinta interfaz de conexión, puede que funcione correctamente el tipo USB y no estar soportado el que se conecta mediante el puerto paralelo. En cualquier caso, para salir de dudas, miraremos primero en la página de SANE (http://www.saneproject.org/), donde se centraliza todo lo relativo al funcionamiento de los escáneres bajo GNU/Linux, concretamente en http://www.sane-project.org/sane-supported-devices.html tenemos una relación completa, clasificada por fabricantes y por controlador, con el driver y las indicaciones pertinentes para hacer funcionar cada modelo de escáner. Básicamente podríamos decir que si se trata de un modelo con conexión SCSI, seguramente estará soportado y no tendrá ningún problema para su configuración y uso en Guadalinex, al igual que la mayoría de escáneres con conexión USB. Actualmente los fabricantes están colaborando con el proyecto SANE, conscientes de las posibilidades que representa este creciente mercado de usuarios de sistemas libres. Si está pensando en adquirir un escáner, asegúrese previamente que funcionará a pleno rendimiento en Guadalinex, consultando en la página referenciada anteriomente. 99 Capítulo 3. Configuración de dispositivos 3.6.1.1. La aplicación SANE SANE son las siglas de Scanner Access Now Easy. Es una interfaz de acceso estandarizado a cualquier dispositivo de captura de imágenes concebida con unas características muy avanzadas que la sitúan por encima de otros proyectos similares. Permite, por ejemplo, el acceso al escáner a través de una red, o la posibilidad de escanear desde la consola de texto ,lo que simplifica la automatización de tareas mediante scripts, separando claramente la interfaz de usuario para la captura de imágenes, de los controles del dispositivo. Se trata de software de dominio público y puede distribuirse conforme a los términos de la Licencia GPL (http://www.gnu.org/copyleft/gpl.es.html). Para conocer más características de esta aplicación puede visitar su página principal (http://www.saneproject.org/) desde la que tendrá acceso a todos los proyectos relaccionados con el tema de captura de imágenes soportados por SANE. 3.6.1.2. Comprobando los dispositivos Guadalinex incorpora por completo la aplicación SANE desde la instalación, sin embargo, en caso necesario o si desea conocer qué software requiere el soporte para el escáner, en el caso de Debian, se encuentra en los paquetes: • sane-backends • sane-backends-extras • sane-frontends • XSane La última versión de estos paquetes se pueden obtener directamente con apt, o usando Synaptic incluyendo en el fichero /etc/apt/sources.list: deb http://people.debian.org/~aurel32/SANE sarge main deb-src http://people.debian.org/~aurel32/SANE sarge main La primera línea será suficiente para instalar el soporte de SANE y, la segunda, si estamos interesados en los ficheros fuente.Veamos qué ocurre con los dispositivos según el método de conexión: 3.6.1.2.1. Conexión SCSI Si el escáner se conecta mediante este bus, seguramente poseerá una tarjeta controladora SCSI y puede que tenga más de un periférico en lo que se conoce como cadena SCSI Se trata, pues, del caso más elemental puesto que GNU/Linux soporta nativamente los dispositivos SCSI, de hecho, los accesos a otros periféricos, como llaves de memoria o grabadoras, aún guardan parte de esa herencia. Con el escáner conectado, comprobaremos que el sistema lo ha detectado ejecutando la instrucción: [grimaldos@guadalinex:~]$ cat /proc/scsi/scsi Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: Model: Scanner 300A4 Rev: 3.00 Type: Scanner ANSI SCSI revision: 02 Host: scsi0 Channel: 00 Id: 01 Lun: 00 100 Capítulo 3. Configuración de dispositivos Vendor: HL-DT-ST Model: CD-RW GCE-8240B Rev: 0009 Type: CD-ROM ANSI SCSI revision: 02 Esta orden nos mostrará toda la cadena de periféricos SCSI conectados a nuestro sistema, en este caso, un escáner y una grabadora de CD’s. 3.6.1.2.2. Conexión USB Si el escáner se conecta al equipo mediante un puerto USB, podemos cerciorarnos que ha sido reconocido ejecutando: grimaldos@guadalinex:~$ cat /proc/bus/usb/devices T: Bus=04 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0000 ProdID=0000 Rev= 2.06 S: Manufacturer=Linux 2.6.5 uhci_hcd S: Product=Intel Corp. 82801DB USB (Hub #3) S: SerialNumber=0000:00:1d.2 C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms T: D: P: S: S: C:* I: E: E: E: Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 Ver= 1.10 Cls=ff(vend.) Sub=00 Prot=ff MxPS= 8 #Cfgs= 1 Vendor=04b8 ProdID=011d Rev= 1.00 Manufacturer=EPSON Product=EPSON Scanner #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 2mA If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=ff Driver=(none) Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=16ms Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms Ad=03(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms En este caso, nos interesa el segundo bloque informativo donde aparece reconocido el escáner, pero aún sin controlador conocido. 3.6.1.3. El acceso al dispositivo A estas alturas ya somos conscientes que el GNU/Linux todo es un fichero. En el caso del escáner también accederemos a través de un archivo del directorio /dev 3.6.1.3.1. Dispositivo SCSI Si la conexión es SCSI, el acceso será a través de /dev/sg[0...n] dependiendo del lugar que ocupe el escáner en la cadena SCSI. [grimaldos@guadalinex:~]$ ls -al /dev/sg0 crw------- 1 root root 21, 0 2006-01-24 17:26 /dev/sg0 Si no tocamos este fichero, seguramente nos aparecerán los típicos problemas de "sólo puedo escanear como root", lógicamente dada la cadena de permisos que podemos observar. Solucionaremos este inconveniente ejecutando: 101 Capítulo 3. Configuración de dispositivos [grimaldos@guadalinex:~]$ su Password: # chmod 660 /dev/sg0 # chgrp scanner /dev/sg0 # ls -al /dev/sg0 crw-rw---- 1 root scanner 21, 0 2006-01-24 17:26 /dev/sg0 De esta forma el dispositivo pertenece al "root", pero el grupo "scanner" tiene permisos para utilizarlo. Sólo tendremos que añadir a este grupo a los usuarios que vayan a usarlo. 3.6.1.3.2. Dispositivo USB Tal vez esta forma es la más frecuente actualmente y, a la vez, la que ocasiona algunos problemas, sobre todo en los centros TIC, a la hora de utilizar el escáner. La razón es que el soporte para dispositivos USB, en versiones anteriores a los núcleos de la serie 2.4 se realizaba mediante un módulo directamente "inyectado" en el kernel. A partir de esta versión del núcleo, esta característica ha sido abandonada y el acceso se realiza a través de libusb. Guadalinex se encuentra a caballo entre los dos sistemas, aunque las versiones más recientes, sólo soportarán acceso mediante libusb, dado que el soporte como módulo del núcleo ha desaparecido en los últimos kernels. Perfecto, pero ¿cuál es el problema? Pues el soporte mediante libusb implementa un acceso al dispositivo "en caliente", es decir, éste se regenera cuando se conecta el escáner y el núcleo informa de esta situación a los ficheros de proceso, ésto ocasiona dos inconvenientes. Es necesario que el núcleo detecte el dispositivo cuando está a pleno funcionamiento y éste proceso no se realiza todavía desde el arranque, por lo tanto, es necesario desconectar y volver a conectar el escáner, una vez el sistema cargado, para que éste regenere el fichero de dispositivo. El otro inconveniente es el control de los permisos de acceso. A diferencia del modelo anterior, no existe un dispositivo fijo en el directorio /dev, como /dev/usbscanner0 o /dev/usb/scanner0, sino que ahora el dispositivo está localizado bajo /proc/bus/usb/ y puede ser algo como /proc/bus/usb/001/003 o en /dev/bus/usb/, por ejemplo /dev/bus/usb/001/003 Pueden cambiarse los permisos mediante la orden: chmod a+rw /proc/bus/usb/001/003 Todo funcionaría correctamente, el problema es que este cambio no es persistente y se perdería en el siguiente reinicio o reconexión del escáner. La solución pasa por fijarlos en los ficheros libsane.usermap y libusbscanner situados en /etc/hotplug/usb, pero es una tarea compleja. Existe una solución intermedia que consiste en crear/modificar una entrada en el fichero /etc/fstab con el contenido: none /proc/bus/usb usbfs defaults,devmode=0666 usbfs rw 0 0 O simplemente: none /proc/bus/usb 0 0 102 Capítulo 3. Configuración de dispositivos 3.6.2. Configurando SANE En cualquier caso, hasta ahora hemos comprobado que el dispositivo es detectado por el sistema, sin embargo es posible que todavía no podamos acceder a él porque sea necesario ajustar el controlador. No hay que fiarse de las apariencias, miraremos en la página de SANE (http://www.saneproject.org/sane-mfgs.html) donde se encuentran ordenados por fabricante todos los modelos y comprobaremos el nuestro, observando qué controlador necesitamos activar. Por ejemplo, para el EPSON Perfection 1260, resulta que el driver es plustek, en lugar de epson como pudiera parecer en un principio. El primer lugar donde miraremos es en el fichero /etc/sane.d/dll.conf. Se trata de un cargador dinámico de controladores que informa a SANE qué backend debe preparar para acceder al escáner. Su estructura es una simple lista de backends, precedidos (o no) del símbolo #. Cuando SANE encuentra un backend comentado entiende que no debe preocuparse en cargar dicho controlador pues el dispositivo no estará presente en la instalación. Por continuar con el ejemplo nos aseguramos que la entrada plustek está descomentada18, lo que permitirá a SANE preparar este controlador para acceder al escáner. También es siempre una buena idea leer la página de manual correspondiente a nuestro driver concreto, en este caso, accederemos con: man sane-plustek Siempre encontraremos información útil y consejos para conseguir una óptima configuración. Siguiendo las indicaciones, editaremos el fichero correspondiente a nuestro controlador, en este caso /etc/sane.d/plustek.conf y nos aseguramos que todas las entradas se corresponden con lo referenciado en la página de manual. En nuestro ejemplo, no es necesario tocar el fichero pues ya viene preparado con la línea device auto descomentada. Tarea concluida, a partir de este momento tenemos el escáner a disposición de cualquier herramienta de captura presente en el sistema. 3.6.3. Otras herramientas de detección Para asegurarnos que el acceso al escáner está correctamente configurado, todavía disponemos de algunas herramientas auxiliares, de hecho, es aconsejable utilizarlas antes de intentar capturar alguna imagen, pues hasta que éstas no reconozcan el escáner no estaremos seguros que lo harán las aplicaciones de escaneo. En primer lugar ejecutaremos: grimaldos@guadalinex:~$ sane-find-scanner # No SCSI scanners found. If you expected something different, make sure that # you have loaded a SCSI driver for your SCSI adapter. found USB scanner (vendor=0x04b8 [EPSON], product=0x011d [EPSON Scanner], chip=LM9832/3) at libusb:004: # Your USB scanner was (probably) detected. It may or may not be supported by # SANE. Try scanimage -L and read the backend’s manpage. # Not checking for parallel port scanners. # Most Scanners connected to the parallel port or other proprietary ports # can’t be detected by this program. 103 Capítulo 3. Configuración de dispositivos # You may want to run this program as root to find all devices. Once you # found the scanner devices, be sure to adjust access permissions as # necessary. Esta utilidad ha detectado nuestro escáner y nos informa del código del fabricante, del modelo, el tipo de chipset y el dispositivo donde se encuentra accesible, así sabemos que estamos utilizando el modo de acceso mediante libusb, en la dirección: :004:002. Todo esto nos indica que el escáner está accesible y listo para usarse, no obstante, aún podemos realizar otra comprobación: grimaldos@guadalinex:~$ scanimage -L device ‘plustek:libusb:004:002’ is a Epson Perfection 1260/Photo USB flatbed scanner La salida de este comando corrobora la información que ya conocíamos. Importante: No olvide que siempre podemos contar con las páginas de manual para conocer algún detalle sobre el comportamiento y las opciones tanto de los ficheros de configuración como de los comandos del sistema. 3.7. Cámaras digitales Otro de los periféricos que se ha convertido en omnipresente en la mayoría de instalaciones domésticas. La comodidad de su uso pudiendo prescindir del tradicional carrete y la espera al proceso de revelado. La calidad, cada vez mayor, y un coste ajustado que lo convierten en un magnífico regalo de Reyes, son factores que ayudan a explicar la masiva presencia de una cámara digital, al menos, en la mayoría de los hogares. Prácticamente podemos indicar las mismas consideraciones que en el caso de los escáneres o las impresoras. Si usted dispone de una cámara digital estandarizada, seguramente tendrá un buen aparato y completamente soportado por GNU/Linux, en cambio, si el dispositivo está artificialmente limitado y le obliga a utilizar un CD de instalación en cierto sistema operativo para tener acceso a sus fotografías, posiblemente no podrá recuperar sus imágenes desde Guadalinex. Por otra parte, tampoco necesita un software especial para acceder a las fotografías y archivarlas en el disco duro o realizar copias de seguridad de las mismas. En este sentido, la memoria de la cámara y las tarjetas de almacenamiento deben comportarse exactamente igual que los llaveros USB, usan el mismo fundamento. Es cierto que, en ocasiones, disponer de una aplicación gráfica que mejore la interacción con alguna tarea compleja del sistema o que faciliten la comunicación con algún periférico, es una ventaja muy de agradecer, sin embargo, en este caso, se convierte más bien en una incómoda interfaz que únicamente sirve para ocultar el proceso de transferencia al usuario y hacer ésta más transparente. 3.7.1. Acceso en modo disco Normalmente las cámaras digitales pueden configurarse de dos modos para comunicarse con un PC: En modo disco o en modo cámara19, es decir, como cualquier otro dispositivo USB Mass Storage Mode, como una llave de memoria o mediante el Protocolo de Transferencia de Imágenes (http://ptp.sourceforge.net/) (Picture Transfer Protocol) que, aunque pueda parecer lo contrario se trata de una implementación estandarizada y regulada por la norma PIMA/ISO 15740. 104 Capítulo 3. Configuración de dispositivos Si accedemos al menú de configuración de la cámara y establecemos modo disco, accederemos a ella en cualquiera de los puntos de montaje reservados para unidades USB en Guadalinex Podemos asegurarnos antes que está reconocida por el sistema, ejecutando: grimaldos@guadalinex:~$ cat /proc/bus/usb/devices ...................... T: Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=03f0 ProdID=6702 Rev= 0.01 S: Manufacturer=Hewlett-Packard S: Product=hp photosmart 720 C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 10mA I: If#= 0 Alt= 0 #EPs= 3 Cls=06(still) Sub=01 Prot=01 Driver=(none) E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=83(I) Atr=03(Int.) MxPS= 2 Ivl=255ms ...................... Observaremos varios bloques correspondientes a los dispositivos USB del sistema, entre ellos, el anterior que nos garantiza que la cámara ha sido reconocida por el sistema. Sólo tenemos que montarla y acceder a su contenido con Nautilus, por ejemplo: Acceso con Nautilus En este caso, tarjeta de memoria de la cámara ha sido detectada en /mnt/usb2 y tenemos completo acceso a las imágenes para transferirlas, manipularlas, etc. como cualquier otro fichero del disco duro. Si aún así, está empeñado en utilizar una aplicación para acceder a la cámara en modo PTP, lea la siguiente sección. 3.7.2. Acceso en modo PTP Para comunicarnos con la cámara mediante este protocolo, tenemos dos alternativas: gThumb y gtkam, ambas instaladas "de serie" con Guadalinex. Si conectamos la cámara en este modo al puerto USB, accederemos perfectamente a ella, siempre que lancemos cualquiera de las dos aplicaciones anteriores como "root" [grimaldos@guadalinex:~]$ su 105 Capítulo 3. Configuración de dispositivos Password: guadalinex:/home/grimaldos# gtkam Si no es así, no tendremos acceso al dispositivo. El problema es similar al caso del escáner. Todo se fundamenta en los permisos del fichero generado por libusb situado el el directorio de procesos /proc/bus/usb/ Para acceder como usuario "normal" al contenido de la cámara podemos establecer: root@guadalinex# chmod -R a+rxw /proc/bus/usb/ De esta forma, cualquiera podrá acceder. No es tampoco una cuestión crucial para la seguridad, pues este fichero se regenera "en caliente" con los permisos adecuados, por lo tanto, no se trata de una solución definitiva. Acceso con gThumb Lanzamos gThumb y seleccionamos Importar fotos. Nos mostrará una previa de las imágenes de la cámara y podremos realizar la transferencia según el protocolo PTP. Buscar la cámara con gtkam De la misma forma podemos lanzar la aplicación gtkam20 y elegir la opción Añadir cámara. Este procedimiento lo realizaremos únicamente la primera vez que conectamos cada cámara, a partir de ese momento, el programa guarda las entradas y nos carga directamente el contenido de la memoria. 106 Capítulo 3. Configuración de dispositivos Acceso con gtkam De la misma forma que en el caso anterior, estamos en condiciones de utilizar el protocolo PTP para transferir las fotos al disco duro. Lógicamente, ésta no es una solución "elegante", sin embargo, tal vez no merezca la pena el esfuerzo en configurar los niveles de acceso en libusb para la simple tarea de copiar unos ficheros al disco duro, no obstante, si desea investigar esta posibilidad y configurar de una manera precisa el acceso de los usuarios a la cámara digital, puede consultar esta documentación (http://www.gphoto.org/doc/manual/permissionsusb.html). También puede consultar aquí (http://www.teaser.fr/~hfiguiere/linux/digicam.html) el listado de cámaras soportadas actualmente mediante PTP. Notas 1. En la actualidad se trabaja con la revisión 6 de la versión 11 (X11R6 2. En la actualidad hay otra versión de las X disponible para GNU/Linux, nos referimos a XOrg (http://www.x.org/). La primera versión de Xorg, la X11R6.7.0, fue una bifurcación del proyecto XFree86 debido a un desacuerdo con la nueva licencia de XFree86 4.4 final. Varios de los anteriores desarrolladores de XFree86 se han sumado al proyecto, ya que se gestiona de una forma más abierta que XFree86. El servidor XOrg aumenta día a día su popularidad entre los sistemas operativos de código abierto. Ha sido adoptado por Gentoo Linux, Fedora Core, Slackware, SuSE, Mandrakelinux, Cygwin/X, Ubuntu Linux y FreeBSD 5.x en lugar de XFree86. Debian actualmente lo tiene en sus versiones testing (pruebas) y en unstable (desarrollo). Las versiones actuales de XOrg son la X11R6.9.0 y X11R.7.0, lanzadas el 21 de Diciembre del 2005. Guadalinex 2004 hace uso de XFree86. Sin embargo la nueva vesión, Guadalinex V3, que está en fase de pruebas usará el servidor XOrg. 3. Una lista de los drivers disponibles así como de las tarjetas gráficas soportadas por cada driver puede verse en http://www.xfree86.org/current/RELNOTES4.html, allí también pueden encontrarse detalladas instrucciones para el uso de cada uno de los drivers. 4. Existe casi un centenar de gestores de ventanas para GNU/Linux, si quiere puede verlos coleccionados en URL http://xwinman.org/ 5. El primer entorno moderno de escritorio que se comercializó fue desarrollado por Apple™ en los años 1980. En http://www.pegasus3d.com/apple_screens.html puede encontrar una curiosa historia de la evolución de este entorno de escritorio. 6. Guadalinex incorpora bastantes aplicaciones KDE y más aún si se tiene instalado el paquete educativo como ocurre con los sistemas de los Centros TIC. Muchas de estas aplicaciones tienen un nombre que empieza por K 107 Capítulo 3. Configuración de dispositivos 7. Estas exigencias han ido creciendo conforme los entornos de escritorio han ido desarrollándose, así las primeras versiones de GNOME tenían suficiente con 32 MB cuando actualmente necesitan un mínimo de 128MB. 8. Por ejemplo muchos de los equipos APD e Inves con que están equipados los Centros TIC que utilizan el chip Intel 810 integrado en placa. 9. Para la versión 4.x de XFree86. Para la versión 3.3.x el fichero de configuración es /etc/X11/XF86Config. 10. A la vista de este ejemplo ¿qué teclado está usando el servidor por defecto? Más abajo en el fichero puede haber muchas entradas InputDevice. Pues bien, el teclado por defecto será aquel que se especifica en la Section InputDevice cuyo nombre (Identifier) sea Keyboard0 11. Este parámetro puede expresarse también como ColorDepth 12. Aburrido de tener siempre la misma pantalla de login gráfico mostrándole el logo de la Junta. No hay problema. Vaya a Configuración−→Sistema−→Configuración de la pantalla de sesión. Se le pedirá la contraseña de "root". Pulsa la pestaña Interfaz de inicio gráfica. Seleccione aquí el tema que más le guste. ¿Qué no le gusta ninguno? ¡caramba! es usted difícil de contentas. Vaya a http://art.gnome.org/themes/gdm_greeter/ y descarge el tema que le guste a cualquier lugar de su disco duro, no es necesario que descomprima el fichero. Vuelva a abrir la Configuración de la pantalla de inicio gráfica y vaya a la pestaña Interfaz de inicio gráfica. Pulse el botón Instalar nuevo tema y busque el lugar donde tiene el fichero de tema comprimido. Ahora ya tiene un nuevo tema disponible. 13. El Cañón de red virtual (CRV) instalado en los Centros TIC no es más que esto, aunque se le ha privado de la funcionalidad de poder ver qué está haciendo el alumno 14. Con x11vnc se consiguen resultados análogos pero el usuario tiene más complicado notar que su sesión está siendo capturada. 15. En realidad una cola de impresión 16. Aunque no estén físicamente conectadas a él, el acceso puede ser a través de la red, o la/s impresora/s pueden también ser de red. 17. Sin caracteres especiales ni espacios en blanco. 18. Si no tenemos más dispositivos, podemos comentar todas las entradas restantes ya que no serán necesarias. 19. PTP mode 20. Situada bajo el apartado Visores del Menú Debian 108 Capítulo 4. Conexión a la red 4.1. Conectarse a Internet Para poder acceder a Internet necesitará tener un proveedor de acceso (ISP), una línea telefónica, RTB o ADSL, y un módem o router mediante el que establecer las conexiones. En el escritorio de Guadalinex tenemos un acceso directo llamado Conexión a Internet que nos llevará a una carpeta. Allí hay un fichero con el nombre LEAME-PRIMERO.txt con instrucciones concretas de cómo realizar las conexión para diversas modalidades de acceso. Aquí seguiremos en parte las indicaciones contenidas en el fichero pero añadiremos algo nuevo a fin de que tenga un mayor control sobre el proceso. Examine cuál es su caso y vaya directamente a su modalidad de acceso. 4.1.1. Módem analógico y Red Telefónica Básica (RTB) Este es un caso muy frecuente: usted dispone de un módem conectado a su línea telefónica convencional, a la que se denomina RTB. Tanto si su módem es interno como externo Guadalinex lo detectará automáticamente y estaremos en condiciones de configurar nuestra cuenta de acceso. Importante: Si su modem es interno podrían presentarse problemas en la detección. Existe una familia de modems llamados winmodems algunos de los cuales no son detectados. La razón es que éstos son en realidad falsos módems puesto que suplen parte de la funcionalidad hardware propia de un modem recurriendo al sistema operativo Windows™. Su uso se ha extendido bastante debido a su bajo coste, aunque suelen ser de poca calidad. Para configurar la conexión disponemos de varios programas: gnome-ppp, gkdial y pppconfig. Los dos primeros bajo un entorno gráfico y el último en modo texto. Trataremos aquí únicamente del primero y dejaremos los otros dos para una posible ampliación de contenidos. Según se recomienda en la Guadapedia,1 antes de comenzar con la configuración es necesario desinstalar el paquete irda-utils, incluído en Guadalinex, que interfiere con este proceso. La forma más sencilla de desintalarlo es utilizando la herramienta synaptic o a través de una Terminal de Root (Aplicaciones−→Configuración−→Terminal de Root) ejecutando la orden: # apt-get remove irda-utils. Una vez eliminado este paquete podemos comenzar la configuración sin interferencias de ningún tipo. Asegúrese que tiene el modem conectado al ordenador y a la línea telefónica y que está encendido (si es externo) antes de seguir las instrucciones: 1. Acceda a la carpeta del escritorio Conexión a Internet. 2. Haga doble clic sobre el icono Conexiones por modem. El programa que se inicia se llama gnome-ppp. También puede ejecutarlo desde Aplicaciones−→Menú Debian−→Aplicaciones−→Red−→GnomePPP 109 Capítulo 4. Conexión a la red Inicio de gnome-ppp 3. Antes de nada debe configurar una conexión. Haga click en el botón Configuración. 4. Aparecerá una nueva ventana con tres pestañas: Módem, Red y Opciones. Ventana principal de configuración de gnome-ppp a. En la pestaña modem pulse el botón Detectar. Esto intentará encontrar un módem en su sistema y configurará los datos automáticamente. El resto de opciones puede dejarlas como están. b. En la pestaña Red configure cada sección según las instrucciones de su proveedor de internet (ISP). Normalmente se configura con "IP dinámica" y "DNS automático". c. En la pestaña Opciones le aconsejamos que marque la casilla Minimizar, pues hará desaparecer la ventana del programa una vez se establezca la conexión. Tendrá total control de la conexión con el applet Luces del modem que configurará más adelante. 5. Pulse el botón Cerrar para aceptar los cambios y cerrar la ventana. 6. De nuevo en la ventana principal escriba los datos apropiados en "Usuario", "Contraseña" y "Número de teléfono" con el nombre de usuario, contraseña y número de teléfono a marcar. Estos datos debe ser facilitados por su proveedor de internet. Puede marcar la casilla Recordar contraseña para que la contraseña quede guardada en la configuración. No cierre la ventana. 110 Capítulo 4. Conexión a la red Ventana de marcado de gnome-ppp 7. A continuación ponga un icono nuevo en uno de los paneles del escritorio. Puede hacerlo tanto en el superior como en el inferior. Para ello haga clic con el botón derecho de ratón sobre una zona sin usar de la barra y seleccione el menú Añadir al panel−→Internet−→Luces del modem. Esta aplicación le servirá para ver si está conectado, el tiempo total de conexión, una pequeña gráfica de ancho de banda usado y las luces de envío y recepcion del modem. Pulse ahora el botón Conectar en la ventana principal de GnomePPP, una vez establecida la conexión la ventana se minimizará y podrá controlar la conexión con el aplique de la barra de tareas. Para desconectarse pulse sobre la luz verde de ese aplique. 8. A partir de ahora podrá conectar y desconectar usando el aplique Luces del modem. Cuando el modem esté desconectado la luz del aplique estará apagada, para conectar pulse sobre esa luz, y a continuación pulse el botón Conectar de la ventana de diálogo de confirmación. Mientras se está conectando la luz del modem aparecerá en amarillo. Una vez conectado la luz del modem se pondrá en verde. Pulse de nuevo en la luz verde para desconectarse. Alternativamente puede ir a la aplicación GnomePPP desde Aplicaciones−→Menú Debian−→Aplicaciones−→Red−→GnomePPP y pulsar el botón conectar. 4.1.2. Acceso ADSL Otra de las formas habituales de conectarnos a Internet es utilizando una línea telefónica del tipo ADSL. El dispositivo para efectuar esta conexión puede ser, básicamente, un modem USB o un modem/router cableado o inalámbrico. Esta circunstancia es crucial para configurar bien la conexión. Si todavía no tiene contratada la línea ADSL pero planea hacerlo le recomendamos encarecidamente que solicite un modem/router independientemente de qué proveedor de acceso tenga pensado elegir.2 En el caso de usar un modem USB tendrá que padecer los efectos de la negativa habitual de algunos proveedores de acceso y fabricantes a facilitar soporte a las conexiones basadas en GNU/Linux. De modo que se verá obligado a conseguir el controlador para su modelo de módem y preparar el sistema para que lo reconozca. No obstante Guadalinex cuenta con herramientas que le facilitarán esta tarea. 4.1.2.1. Configuración del modem USB para conectar con ADSL. La configuración del modem ADSL USB depende en gran medida de la marca y modelo de modem que tiene y del proveedor de internet que usa. Encontrará una aplicación en Guadalinex llamada tkpppoe que sirve para configurar los parámetros de cualquier conexión ADSL que use el protocolo PPPoE (PPP over Ethernet). Según la marca del modem que tenga tendrá que realizar los siguientes pasos antes de poder usar tkpppoe: 4.1.2.1.1. Configuración modem Comtrend CT-350 o Sagem Fast 800 Si tiene un modem Comtrend CT-350 o un Sagem Fast 800 debe usar el fichero que encontrará en la carpeta Conexión a Internet/ADSL del escritorio llamado eagle-usb_1.9.8-1_i386.deb. Haga doble 111 Capítulo 4. Conexión a la red clic sobre el fichero para iniciar la instalación. Al final de la instalación se iniciará automáticamente la configuración del ADSL. Es necesario responder a una serie de preguntas relativas al modem, que han de ser suministradas por la compañía que presta los servicios de conexión a Internet: • Identificador numérico del proveedor de conexión • Nombre de usuario (login) para la conexión • Contraseña de conexión a la red Importante: Puede darse el caso en el que tras el proceso de instalación, se produzca el siguiente error: Carga del módulo... [ OK ] Carga del DSP & options... [ Error ] dpkg: error al procesar eagle-usb (--install): el subproceso post-installation script devolvió el código de salida de error 1 Se encontraron errores al procesar: eagle-usb En este caso, es necesario desconectar el módem del puerto USB y reiniciar el ordenador (Acciones−→Terminar la sesióny posteriormente Sistema−→Reiniciar el equipo) Debemos conectar el módem en la pantalla de bienvenida de GDM (aquella en la que se nos solicita usuario y contraseña). Esperamos aproximadamente 15 segundos y la luz bajo el identificador Connection del módem parpadeará cuatro veces y permanecerá fija. Introducimos usuario y contraseña Abrimos una Terminal Root (Aplicaciones−→Configuración−→Terminal de Root) y tecleamos la instrucción eagleconfig contestando todas las preguntas que se solicten pulsando la tecla Intro. Al finalizar, aparecerá el mensaje: Configuración completada Una vez hemos completado todos estos pasos con éxito, podemos conectar a Internet. Para ello, Lanzamos la orden startadsl en una Terminal de Root. Para finalizar la conexión, debemos lanzar la aplicación stopadsl (también en una Terminal de Root). Durante el proceso de conexión, parpadeará varias veces la luz "Data". Haciendo doble click al icono Navegador web podremos comprobar que hemos conectado por fin a Internet Importante: Cada vez que encendemos el equipo para entrar en Guadalinex 2004 debemos desconectar el módem antes de iniciar el sistema y es necesario conectarlo cuando aparezca la pantalla de Bienvenida. En el caso en que deseemos que todos los usuarios puedan hacer uso de la conexión debemos realizar la siguiente secuencia de órdenes: • Abrimos una Terminal Root y tecleamos la orden gedit /etc/sudoers 112 Capítulo 4. Conexión a la red • Modificamos el fichero sudoers añadiendo al final cuatro líneas. El resultado debería ser (respetando mayúsculas, minúsculas y espacios): ALL ALL ALL ALL ALL ALL=NOPASSWD: ALL=NOPASSWD: ALL=NOPASSWD: ALL=NOPASSWD: ALL=NOPASSWD: /usr/sbin/goff-halt-enabled /usr/sbin/startadsl /usr/sbin/stopadsl /usr/sbin/eaglediag /usr/sbin/eagleconfig Podemos añadir ahora el applet Luces del módem de la misma forma que en el caso anteriormente descrito. Una vez hemos añadido el applet, hacemos clic con el botón derecho sobre él, y seleccionamos la opción Propiedades. Completamos a continuación los campos Comando de conexión y Comando de desconexión con las instrucciones sudo /usr/sbin/startadsl y sudo /usr/sbin/stopadsl respectivamente. Por fin hemos acabado el proceso de configuración. Para conectar, sólo necesitamos hacer click en el botón izquierdo del applet Luces del modem y lo mismo para desconectar. 4.1.2.1.2. Configuración modem Vitelcom En primer lugar, debemos movernos hacia el directorio Conexión a Internet−→ADSLdel escritorio de Guadalinex 2004, y hacer doble clic sobre el fichero cxacru_2.6.5-20040623_i686.deb. A continuación, debemos instalar los paquetes libatm1 y atm-tools (disponibles en el repositorio de Guadalinex) mediante synaptic (Aplicaciones−→Configuración−→Sistema−→Synaptic). Posteriormente, hemos de modificar el archivo /etc/cxacru con los siguientes parámetros: PATH_ATM="/sbin" PROTOCOL_MODE=4 Sólo en el caso de tener asignada IP estática, debemos añadir también lo siguiente (modificando los valores x.x.x.x por aquellos proporcionados por nuestro proveedor de servicios de Internet): IP_ADDRESS=x.x.x.x NETMASK=255.255.255.0 GATEWAY=x.x.x.x El siguiente paso, será crear un enlace simbólico de la forma siguiente: Lanzamos una Terminal de Root y tecleamos la orden ln -s /usr/sbin/br2684ctl /sbin/br268ctl Es necesario copiar el fichero /etc/ppp/peers/provider a /etc/ppp/peers/dsl-provider3. Ahora debemos editar este fichero y modificar el valor /dev/ttyS1 por /dev/modem (lanzamos la orden gedit /etc/ppp/peers/dsl-provider desde la terminal de root anterior Ejecutamos adsl-setup. Se nos solicitará una interfaz de conexión (por defecto asignará eth0), debemos teclear nas0 113 Capítulo 4. Conexión a la red Ejecutamos adsl-start. Por último, debemos añadir nuestros servidores DNS al fichero /etc/resolv.conf (deben ser proporcionados por la compañía proveedora de servicios de Internet). El modelo del fichero, ha de ser: nameserver x.x.x.x # DNS Primerio nameserver x.x.x.x # DNS secundario En el caso en que deseemos conectar como usuario (por ejemplo, para poder usar el applet Luces del módem (podemos colocarlo en el panel superior de Gnome haciendo clic en el botón derecho sobre él y seleccionando la opción Añadir al panel−→Internet−→Luces del módem), debemos realizar la siguiente secuencia de órdenes: • Abrimos una Terminal Root y tecleamos la orden gedit /etc/sudoers • Modificamos el fichero sudoers añadiendo al final dos líneas. El resultado debería ser (respetando mayúsculas, minúsculas y espacios): ALL ALL=NOPASSWD: /usr/sbin/goff-halt-enabled ALL ALL=NOPASSWD: /sbin/start-adsl ALL ALL=NOPASSWD: /sbin/stop-adsl Una vez hemos añadido el applet Luces del módem, hacemos click con el botón derecho sobre él, y seleccionamos la opción Propiedades. Completamos a continuación los campos Comando de conexión y Comando de desconexión con las instrucciones sudo /sbin/start-adsl y sudo /sbin/stop-adsl respectivamente. Por fin hemos acabado el proceso de configuración. Para conectar, sólo necesitamos hacer click en el botón izquierdo del applet (mismo mecanismo a seguir para desconectar). 4.1.2.1.3. Configuración modem Conexant Accessrunner USB Si tiene un módem Conexant Accessrunner USB debe usar el fichero que encontrará en la carpeta Conexión a Internet−→ADSL del escritorio llamado cxacru_2.6.5-20040623_i686.deb. Haga doble clic sobre el fichero a fin de iniciar la instalación. Al final de la instalación se iniciará automáticamente la configuración del ADSL. Tenga los datos de su conexión a mano, pues los necesitará en este punto. 4.1.2.1.4. Otros modem USB ADSL Existe un driver para modems usb adsl, basados en el conjunto de chips Globespan, llamado ECI que tiene soporte para 56 modelos. Consulte la lista de modem soportados en la dirección http://eciadsl.flashtux.org/ en la sección Modems. Si usted tiene uno de los modem allí listados, descargue el driver y siga el procedimiento de instalación que se indica en la sección de Documentación de la mencionada página (hay versión en español). En la misma documentación se le indica qué comandos usar para conectar a Internet. 4.1.2.1.4.1. Uso de tkpppoe El programa tkpppoe es una interfaz gráfica para rp-pppoe, y le servirá para configurar una conexión adsl basada en PPPoE4 114 Capítulo 4. Conexión a la red Si al instalar el driver se inició automáticamente la configuración de la conexión a Internet no necesitará esta sección. Si instaló y configuró el driver ECI y su proveedor de acceso utiliza PPPoE tendrá que crear una conexión con tkpppoe. root@guadalinex:/home/saorin# tkpppoe Nueva conexión Vaya a la pestaña básico y rellene los datos que se le piden. Observe que al situar el puntero del ratón sobre cada campo se le dará información sobre los datos requeridos. Nombre de la conexión: escriba un nombre que identifique la conexión Nombre de usuario: escriba el nombre de usuario facilitado por su proveedor. Red: algunos proveedores de servicios requieren que ponga aquí su nombre de dominio (por ejemplo, terra.es). Si no está seguro no escriba nada. Contraseña: escriba la contraseña facilitada por su proveedor. Vaya a la pestaña NIC y DNS: Interfaz: seleccione dónde está conectado su modem haciendo clic en botón con puntos suspensivos. Habitualmente éste habrá sido detectado. Configuración DNS: > Seleccione Desde el servidor si usa DNS dinámico o Especificar si quiere escribir el número de DNS manualmente. Habitualmente será suficiente con dejar la configuración Desde el servidor. Vaya a la pestaña Opciones. Si quiere permitir que todos los usuarios puedan usar la conexión seleccione Permitir el uso a usuarios distintos de root. Puede dejar los otros campos tal como vienen. Nueva conexión. Opciones No es necesario que abra la pestaña Avanzado. Pulse Ok Para conectar a Internet pulse el botón Iniciar. Para terminar pulse Finalizar 115 Capítulo 4. Conexión a la red Gestionar la conexión Posteriormente cuando quiera conectarse a Internet ejecute la aplicación tkpppoe. Si concedió permiso para ello todos los usuarios podrán ejecutarla, en caso contrario sólo el root podrá hacerlo. 4.1.2.2. Conexión a internet con un Router ADSL. La conexión con un modem/router ADSL es la más fácil de configurar y la más estable. Si cuando instaló Guadalinex 2004 tenía el modem conectado y encendido probablemente no necesite hacer esto. Pero si tiene que hacerlo ahora asegúrese de que su módem está bien conectado y encendido. 1. Aconsejamos que la conexión se haga, por facilidad, con el router configurado en modo "multipuesto" y con el servidor DHCP activado. Puede consultar a su proveedor de Internet cómo hacer dicha configuración.5 2. Una vez que el router está configurado en "multipuesto" puede acceder al menú Aplicaciones−→Configuración−→Sistema−→Red. Se le pedirá la clave de "root" para acceder a dicha aplicación. 3. Ventana inicial de configuración de la red Vaya a la pestaña Conexiones y modifique la configuración de su tarjeta de red ethernet, haciendo clic en el botón Propiedades. Debe configurarla en modo DHCP. 116 Capítulo 4. Conexión a la red Configuración de la tarjeta de red 4. En las propiedades de la conexión también puede indicar que la tarjeta se inicie al encender el equipo. En este momento si quiere iniciar la conexión haga click en Activar. Para detener la conexión, haga click en Desactivar. 5. En las siguientes ocasiones si marcó la casilla para activar la tarjeta cuando se encienda el equipo no necesitará hacer nada. Simplemente abra su navegador y disfrute de Internet. Importante: En raras ocasiones sucede que el servidor DHCP de que está dotado el router no es capaz de facilitar los números de DNS correctos. Esto provocaría que su navegador no encuentre nada cuando se escribe una dirección en la barra de direcciones. Si esto ocurriera vaya a la pestaña DNS e introduzca manualmente los números de DNS facilitados por su proveedor. 4.1.2.3. Conexión a internet con un modem-cable. La configuración es idéntica que la del Router ADSL en "multipuesto". Acceda al menú Aplicaciones−→Configuración−→Sistema−→Red. Se le pedirá la clave de "root" para acceder a dicha aplicación. Vaya a la pestaña Conexiones y modifique la configuración de su tarjeta de red ethernet. Debe configurarla en modo DHCP. En las propiedades de la conexión también puede indicar que la tarjeta se inicie al encender el equipo. Para iniciar la conexión haga clic en Activar y para detener la conexión, haga clic en Desactivar. 4.1.3. Configuración de una conexión inalámbrica Una de las formas de conexión a la red que mayor auge está teniendo es la conexión con tarjeta de red inalámbrica o WiFi. La fuente de información que manejamos en lo que respecta a la configuración de tarjetas inalámbricas está tomada fundamentalmente de la Guadapedia. Probar todas las configuraciones supondría disponer de una gran cantidad de hardware distinto, tan sólo hemos podido experimentar con algunas de ellas. El primer paso consiste en comprobar si su tarjeta de red inalámbrica está soportada en GNU/Linux. En español existe una base de datos más o menos completa en http://www.compatiblelinux.org/.6 En general podemos comprobar si nuestra tarjeta ha sido reconocida por el sistema ejecutando el comando 117 Capítulo 4. Conexión a la red #iwconfig cuya salida es similar a esta: lo no wireless extensions. sit0 no wireless extensions. eth0 no wireless extensions. eth1 no wireless extensions. wlan0 unassociated ESSID:off/any Mode:Managed Channel=0 Access Point: 00:00:00:00:00:00 Bit Rate=0kb/s Tx-Power=20 dBm RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 Si su tarjeta ha sido detectada una de las interfaces de red tendrá una extensión inalámbrica (wireless). También puede comprobarlo con el comando #lspci0000:01:07.0 Network controller: Intel Corp. PRO/Wireless 2200BG (rev 05) Si se trata de una tarjeta WiFi USB podemos comprobarlo con #lsusb 4.1.3.1. Configuración genérica Para las tarjetas genéricas (aquellas que no tengan ningún tipo de problemas de detección en Guadalinex), configuramos la red de la forma siguiente: Editamos el fichero /etc/network/interfaces ejecutando la instrucción gedit /etc/network/interfaces/ y añadimos al final del fichero las siguientes líneas: Caso DHCP: auto eth1 iface eth1 inet dhcp wireless_essid nombre_de_la_red wireless_key "s:contraseña" Caso IP Fija: auto eth1 iface eth1 inet static address x.x.x.x netmask x.x.x.x gateway x.x.x.x wireless_essid nombre_de_la_red wireless_key "s:contraseña" Debemos modificar el identificador eth1 de las líneas citadas anteriormente por el identificador apropiado que podemos obtener tras ejecutar la orden iwconfig en la Terminal de Root corresponidente. Nos debemos fijar en la salida por pantalla de la instrucción anterior, que será de la forma: 118 Capítulo 4. Conexión a la red eth1 IEEE 802.11b ... ... En los ejemplos de configuración se asume además que su red tiene encriptación WEP. En general existen dos modos de pasar la clave WEP o mediante números hexadecimales o mediante una palabra de paso. En el anterior ejemplo se supone que usted pasa la clave como palabra de paso. Si se quiere pasar en hexadecimal simplemente habría que modificar la línea de este modo wireless_key "número_en_hexadecimal" Por otra parte si la red no está encriptada entonces modificaríamos la línea así: wireless_key off 4.1.3.1.1. Configuración e instalación de controladores ndiswrapper Algunos proveedores de tarjetas WiFi rehusan publicar sus especificaciones hardware o los controladores para sus productos sobre sistemas operativos distintos a Microsoft Windows™. El proyecto ndiswrapper hace que sea posible usar este tipo de hardware con Linux gracias a un módulo del kernel que "maneja" los controladores NDIS (API del controlador de red de Windows). Para ver una lista completa de las tarjetas WiFi soportadas por ndiswrapper vaya a http://ndiswrapper.sourceforge.net/mediawiki/index.php/List Para proceder a la configuración, en primer lugar, necesitamos descargar los controladores de su dispositivo WiFi para Windows. Sólo necesitaremos los ficheros *.inf y *sys. Puede que dispongamos de un CD-ROM o disquete suministrados con el paquete de compra. En caso contrario los podemos descargar de la página del fabricante o directamente de la anterior URL (http://ndiswrapper.sourceforge.net/mediawiki/index.php/List) En segundo lugar, necesitamos cargar por primera y única vez estos controladores escribiendo las siguientes instrucciones en una Terminal de Root: ndiswrapper -i driver.inf ndiswrapper -i driver.sys (donde driver.inf y driver.sys son los ficheros apropiados a su tarjeta) Por último, añadiremos esto al fichero /etc/network/interfaces: auto wlan0 iface wlan0 inet dhcp pre-up modprobe ndiswrapper post-down rmmod ndiswrapper wireless_essid nombre_de_la_red wireless_key "s:contraseña" Sustituiremos los valores "nombre_de_la_red" y "contraseña" por los datos correspondientes de la red, del modo que se describió más arriba. En esta configuración hemos supuesto que su tarjeta inalámbrica obtiene la dirección IP de un servidor de DHCP, si fuera una IP fija entonces: auto wlan0 iface wlan0 inet static address x.x.x.x netmask x.x.x.x gateway x.x.x.x 119 Capítulo 4. Conexión a la red pre-up modprobe ndiswrapper post-down rmmod ndiswrapper wireless_essid nombre_de_la_red wireless_key "s:contraseña" Finalmente para iniciar la red una vez efectuados todos estos pasos, ejecutaremos en la terminal de root anterior, la instrucción ifup wlan0 (a partir de este momento tendremos configurada la red wifi y no necesitaremos volver a ejecutar esta serie de operaciones. Cada vez que iniciemos el sistema, la red wifi quedará autoconfigurada). En caso de disponer de varias interfaces wlan en el ordenador, puede que necesitemos cambiarlo a wlan1 o algún otro identificador. Podremos obtenerlo de la forma siguiente: Nos debemos fijar en la salida por pantalla de la instrucción iwconfig (desde la Terminal de Root), que será de la forma: eth1 IEEE 802.11b ... ... 4.1.3.1.2. Configuración de una tarjeta Intel PRO/Wireless 2100 Instalar el driver compilándolo a partir del código fuente: 1. Lanzamos una Terminal de Root 2. Instalamos el paquete kernel-source-2.6.5 mediante la orden apt-get install kernel-source-2.6.5 3. Descomprimimos el kernel en disco, ejecutando la instrucción cd /usr/src/ && tar jxvf kernel-source-2.6.5.tar.bz2 4. Creamos los enlaces simbólicos correspondientes en el directorio /usr/src a través de la orden ln -sf /usr/src/kernel-source-2.6.5 /usr/src/linux-2.6.5 && ln -sf /usr/src/kernel-source-2.6.5 /usr/src/linux 5. Ejecutamos la orden cd linux && make oldconfig (seguidamente debemos pulsar la tecla Intro sin leer las preguntas, hasta volver a obtener el símbolo del sistema). 6. Descargamos los drivers ipw2100-0.56.tgz desde la web http://ipw2100.sourceforge.net/ 7. Los descomprimimos en disco mediante la orden cd directorio_descargas_firefox && tar zxvf ipw2100-0.56.tgz 8. Compilamos el módulo ejecutando la instrucción cd ipw2100-0.56 && make 9. Instalamos los drivers con la orden make install 10. Descargamos el firmware de la tarjeta (fichero ipw2100-fw-1.3.tgz) desde la url http://ipw2100.sourceforge.net/firmware.php (primero hemos de aceptar el contrato de licencia). 11. Descomprimimos el paquete de firmware mediante la orden tar zxvf ipw2100-fw-1.3.tgz 12. Instalamos el firmware en su ubicación correspondiente a través de la orden mv *.fw /usr/lib/hotplug/firmware/ 13. Configuramos la red de la forma siguiente: Editamos el fichero /etc/network/interfaces ejecutando la instrucción gedit /etc/network/interfaces/ y añadimos al final del fichero las siguientes líneas, según se trate de los casos DHCP o IP fija, respectivamente: 120 Capítulo 4. Conexión a la red auto eth1 iface eth1 inet dhcp pre-up modprobe ipw2100 post-down rmmod ipw2100 wireless_essid nombre_de_la_red wireless_key "s:contraseña" auto eth1 iface eth1 inet static address x.x.x.x netmask x.x.x.x gateway x.x.x.x pre-up modprobe ipw2100 post-down rmmod ipw2100 wireless_essid nombre_de_la_red wireless_key "s:contraseña" 14. Debemos modificar el identificador eth1 de las líneas citadas anteriormente por el identificador apropiado que podemos obtener tras ejecutar la orden iwconfig en la Terminal de Root corresponidente. Nos debemos fijar en la salida por pantalla de la instrucción anterior, que será de la forma: eth1 IEEE 802.11b ... 4.1.3.1.3. Instalar el driver a partir de un paquete Debian Si no desea compilar el código fuente puede instalar el driver a partir de un paquete, para ello abra una terminal de root y ejecute #apt-get install ipw2100-modules-2.6.5.deb El driver no incluye los ficheros de firmware necesarios para el funcionamiento de la tarjeta así que debe descargarlos y descomprimirlos en el lugar adecuado. Para ello: 1. Descargamos la versión 1.3 del firmware de la tarjeta (fichero ipw2100-fw-1.3.tgz) desde la url http://ipw2100.sourceforge.net/firmware.php (primero hemos de aceptar el contrato de licencia). 2. Descomprimimos el paquete de firmware mediante la orden tar zxvf ipw2100-fw-1.3.tgz 3. Instalamos el firmware en su ubicación correspondiente a través de la orden mv *.fw /usr/lib/hotplug/firmware/ La configuración es la misma que en el caso Configuración genérica reseñado más arriba. 4.1.3.1.4. Configuración de una tarjeta Intel PRO/Wireless 2200 Este chip es muy frecuente en los de los portátiles con tecnología Centrino™. Para esta tarjeta existe un paquete en los repositorios de guadalinex con el driver compilado para el kernel 2.6.5. Para instalarlo escriba #apt-get install ipw2200-modules-2.6.5.deb 121 Capítulo 4. Conexión a la red El driver no incluye los ficheros de firmware necesarios para el funcionamiento de la tarjeta así que debe descargarlos y descomprimirlos en el lugar adecuado. Para ello: 1. Descargamos la versión 2.2 del firmware de la tarjeta (fichero ipw2200-fw-2.2.tgz) desde la url http://ipw2200.sourceforge.net/firmware.php (primero hemos de aceptar el contrato de licencia). 2. Descomprimimos el paquete de firmware mediante la orden tar zxvf ipw2200-fw-2.2.tgz 3. Instalamos el firmware en su ubicación correspondiente a través de la orden mv *.fw /usr/lib/hotplug/firmware/ La configuración es la misma que en el caso Configuración genérica reseñado más arriba. 4.1.3.1.5. Configuración de tarjetas WiFi que incorporan el chip Atheros™ Multiband Atheros Driver for WiFi (MADWIFI) es un driver Linux para tarjetas que usan el chipset Atheros. Para ver una lista de las tarjetas soportadas por este driver vea http://madwifi.org/wiki/Compatibility El driver puede instalarse desde el código fuente descargándolo de http://madwifi.org/ También pude crear sus propios paquetes Debian siguiendo las instrucciones que se encuentran en http://www.marlow.dk/site.php/tech/madwifi Alternativamente puede usar el paquete existente en el repositorio de Guadalinex para ello abra una terminal de root y escriba la orden: #apt-get install madwifi La configuración es la misma que en el caso Configuración genérica reseñado más arriba. 4.1.3.1.6. Configuración de tarjetas Wifi que incorporan el chip acx100 Utilizaremos el driver acx100. Puede consultar una lista de tarjetas soportadas por este driver en http://acx100.sourceforge.net/wiki/Device_list Abra una terminal de root y ejecute la orden: #apt-get install acx-pci 4.1.3.2. Algunas utilidades para redes wireless Este apartado no pretende ser una guía completa de todas las utilidades de red Wifi tan sólo una guía rápida de algunos comandos básicos. El comando iwlist le permitirá obtener información detallada acerca de su interfaz wifi. Algunos ejemplos de uso suponiendo que su interfaz de red es wlan0 (sutituya este parámetro por el valor adecuado a su situación: #iwlist wlan0 scan Le dará información detallada sobre las redes inalámbricas a su alcance. 122 Capítulo 4. Conexión a la red #iwgetid Mostrará el nombre de la red a la que se encuentra conectado. #imgetid -m Le mostrará el modo de trabajo en que se encuentra configurada su tarjeta. Los modos son fundamentalmente tres: ad-hoc, managed y master. Ad-hoc: Estas redes se construyen normalmente sin necesidad de disponer de un punto de acceso y se configuran de modo que todos los ordenadores de la red trabajan "par a par", todos reciben los paquetes de todos y envían sus propios paquetes a todos los ordenadores de la red. Para esto no se necesita nada especial, sólo definir una red con un nombre (ESSID), preferiblemente encriptar a 128 bits (con WEP) y no tener demasiados ordenadores en la misma red. Managed: En este caso exite un servidor independiente, Access Point (punto de acceso) al cual se conectan todos los ordenadores. El access point entonces envía las tramas 802.11 a los destinatarios finales. Normalmente los access points soportan roaming, es decir los clientes pueden estar en movimiento a ir cambiando de punto de acceso de acuerdo a la potencia de la señal. También los access points suelen ofrecer servicios de enrutado IP, servidor DHCP y bridging sobre una Ethernet. Cuando un ordenador o tarjeta está conectado a la red a través de un punto de acceso se dice que está en modo managed. Este es quizá el modo más habitual y con el que se conectará por ejemplo al modem/router inalámbrico facilitado por su proveedor de Internet. Master: Es el modo en que trabaja el access point descrito en el punto anterior. Es posible también fabricar un access point con Linux, aunque la explicación de cómo hacerlo escapa a los propósitos de este apartado. También hay un par de apliques gráficos que le pueden resultar divertidos. El Monitor de enlace inalámbrico le mostrará la calidad de la señal de su tarjeta. Para agregarlo haga clic en cualquier lugar vacío del panel y seleccione Añadir al panel−→Internet−→Monitor de enlace inalámbrico. Puede añadir el aplique Netspeed que le notificará de forma gráfica la velocidad de su red. Para añadirlo haga clic con el botón derecho del ratón en cualquier lugar vacío del panel y seleccione Añadir al panel−→Internet−→Monitor de red. Una vez agregado el aplique pulse en él con el botón derecho y seleccione Preferecias. En la ventana emergente seleccione su interfaz y configure el modo como el aplique mostrará la información. 4.2. Compartir la conexión a Internet En redes de área local (LAN) tales como la de un Centro educativo suele ser necesario compartir la conexión a Internet: en estos casos una sola computadora tiene acceso directo a Internet y las otras máquinas de la red lo hacen a través de ella. De esta forma tendremos un gran control sobre el acceso y la seguridad de la red. Para el administrador tal procedimiento pasa por un buen conocimiento de la herramienta iptables y eventualmente de servicios de proxy de red tales como Squid. A diferencia de otros sitemas operativos el filtrado de paquetes, necesario para compartir la conexión a Internet o implementar un cortafuegos, es realizado directamente en el núcleo y por tanto no se requiere de software adicional. Iptables es simplemente una herramienta para configurar, administrar e inspeccionar las reglas de filtrado de paquetes del núcleo Linux.7 123 Capítulo 4. Conexión a la red También en pequeñas redes domésticas suele ser necesario compartir la conexión a Internet cuando el dispositivo de conexión ofrezca servicio únicamente a un puesto.8 Guadalinex cuenta para ello con un sistema cómodo y fácil para el usuario final. El primer paso a realizar es lanzar una Terminal de Root. Una vez ejecutada, introducimos la orden gedit /etc/init.d/guadalinex. Tendremos que hacer las modificaciones marcadas a continuación en el citado fichero, y posteriormente Guardar: case "$1" in start) echo -n "Starting $DESC: $NAME" echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -s 172.26.0.0/16 -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE cd /dev && MAKEDEV busmice mknod /dev/ppp c 108 0 chown root.dialout /dev/ppp chmod 660 /dev/ppp En caso de estar compartiendo una conexión ppp (módem analógico), será necesario modificar el valor eth0 por ppp0. En caso de compartir conexión de salida a Internet a través de red inalámbrica será necesario modificar el valor eth0 por el identificador de interfaz asociado a esa red (comunmente eth1 o wlan0). Una vez realizadas estas modificaciones, habremos compartido automáticamente la conexión a Internet cada vez que arranquemos Guadalinex. Si deseamos también activarla en este preciso momento, debemos ejecutar las siguientes instrucciones: echo 1 > iptables iptables iptables /proc/sys/net/ipv4/ip_forward -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE -t nat -A POSTROUTING -s 172.26.0.0/16 -o eth0 -j MASQUERADE -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE Aunque probablemente con esto es suficiente, puesto que usted se dispone a administrar un sistema GNU/Linux no es bueno que haga las cosas sin reflexión. Así que permítanos que le expliquemos algo de lo que hemos hecho y así comprenderá cómo algunas líneas de las que acabamos de escribir son innecesarias e incluso inadecuadas. echo 1 > /proc/sys/net/ipv4/ip_forward Con esto activamos el ruteo de paquetes, es decir, permitimos que pasen a través de nuestra máquina paquetes TCP/IP que no van destinados a ella. iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE Con esta instrucción hacemos que todos los paquetes procedentes de las máquinas cuya IP comienza con 192.168. y que salen por la interfaz eth0 (que suponemos es la interfaz de conexión a Internet) se enmascaren, es decir, aparezcan como procedentes de la IP que tenga la interfaz de red eth0. Pero ¿qué sucede si las máquinas de nuestra red no tienen una ip tal como 192.168.0.4 o 192.168.1.2?. Pues que será necesario cambiar el parámetro -s 192.168.0.0/24 por el adecuado a su red. En la configuración de más arriba se parte de la conjetura de que los modems/routers distribuidos por las compañías de acceso a Internet asignan direcciones de alguna de esas redes (10.0.0.0/8; 172.26.0.0/16; 192.168.0.0/24)9, pero la configuración de su red podría ser distinta. Podría necesitar cambiarlo y en todo caso probablemente únicamente necesitará una línea, la que se ajuste a su configuración de red. Una vez que ha terminado la configuración, la IP de su máquina funcionará como puerta de enlace (gateway) a Internet para el resto de computadoras de la red. 124 Capítulo 4. Conexión a la red Finalmente debe indicarles a las computadoras cliente, es decir aquellas que van a hacer uso de la conexión compartida, como puerta de enlace la IP de la máquina recién configurada. Para ello vea la sección más abajo sobre "Configuración de la red". 4.3. Configuración de un cortafuegos La seguridad de la información en una red supone la implementación de algún mecanismo dedicado para controlar los privilegios de acceso y restringir los recursos de la red a los usuarios autorizados, identificables y localizables. Los cortafuegos o firewalls son uno de los componentes principales de la implementación de seguridad. Los cortafuegos pueden ser soluciones de hardware independiente, tales como aparatos cortafuegos de Cisco™, Nokia™, Sonicwall™... También existen soluciones de cortafuegos de software propietario desarrolladas para los mercados del hogar y de negocios por vendedores tales como Checkpoint™, McAfee™ o Symantec™. El subsistema Netfilter proporciona a GNU/Linux un poderoso mecanismo cortafuegos capaz de satisfacer un amplio abanico de necesidades: desde los usuarios del hogar protegiendo un PC hasta las soluciones de Centros de Datos resguardando información vital de la corporación. La implementación de soluciones cortafuegos con GNU/Linux en entornos con altos requirimientos de seguridad implica un buen conocimiento de la herramienta iptables. Sin embargo el usuario doméstico o el administrador de una LAN de tamaño medio, tiene al alcance soluciones más sencillas sin perder nada de la potencia de Netfilter. En este caso la simplicidad no significa pérdida de potencia. 4.3.1. Configuración con gnome-lokkit La aplicación lokkit le permite a un usuario medio configurar los parámetros básicos de seguridad de su máquina mediante la creación de reglas de red iptables básicas. En lugar de tener que escribir las reglas, el programa Lokkit le formula una serie de preguntas sobre cómo utiliza el sistema y, a continuación, escribe por usted las reglas en un fichero de forma automática. Las posibilidades que tiene Iptables son infinitas y pueden llegar a ser muy complejas. Lokkit no está diseñado para generar reglas complejas, sino que está orientado a crear configuraciones sencillas para ofrecer protección a usuarios con conexiones de módem, ADSL y cable. En primer lugar será necesario instalar los paquetes gnome-lokkit y lokkit. Para ello abra una terminal de root y escriba: #apt-get install gnome-lokkit lokkit Para iniciar la aplicación Lokkit vaya a Aplicaciones−→Menú Debian−→Aplicaciones−→Sistema−→Gnome-lokkit o alternativamente pulse en Acciones−→Ejecutar un programa y escriba gnome-lokkit introduzca la contraseña de administrador y se ejecutará el programa. Se iniciará un sencillo asistente que le irá guiando para configurar sus políticas de seguridad. 125 Capítulo 4. Conexión a la red Inicio de la herramienta En la ventana de bienvenida pulse siguiente y avanzará hasta la ventana de Configuración Básica, donde elegirá el nivel de seguridad adecuado para su sistema. Existen 3: Configuración básica Seguridad Alta. Esta opción desactiva la mayoría de las conexiones de red, excepto las respuestas de DNS y DHCP para que se puedan activar las interfaces de la red. IRC, ICQ y otros servicios de mensajería instantáneo, así como RealAudioTM no funcionan sin un proxy. Seguridad Baja. Esta opción no permite conexiones remotas en el sistema, incluidas las conexiones NFS y las sesiones remotas de un sistema X Window. Los servicios que se ejecutan en el puerto 1023 no aceptan las conexiones, incluidas las realizadas con FTP, SSH, Telnet y HTTP. Deshabilitar cortafuegos. Esta opción no crea ninguna regla de seguridad. Sólo se recomienda seleccionar esta opción si el sistema se encuentra en una red de confianza (no en Internet), si el sistema tiene instalado un firewall grande o si escribe personalmente las reglas del firewall. Si elige esta opción y hace click en Siguiente, pase a la la sección de nombre Activación del servicio iptables. No se cambiará la seguridad del sistema. Hosts Locales. Si elige una de las dos primeras opciones, el asistente le seguirá preguntando las configuraciones que desea incluir en su sistema de seguridad. 126 Capítulo 4. Conexión a la red Hosts locales Si hay dispositivos Ethernet en el sistema, la ventana de Hosts Locales le permitirá configurar si las reglas del cortafuegos se utilizan en las peticiones de conexión enviadas a cada dispositivo. Si el dispositivo conecta su sistema a una red área local con un cortafuegos y no se conecta directamente a Internet, pulse Sí. Si su sistema esta directamente conectado a Internet a través de un módem ADSL o por cable, se recomienda seleccionar No. Pulse siguiente. DHCP. Si utiliza el protocolo DHCP para activar algunas de las interfaces de su sistema, debe responder Sí a la pregunta sobre DHCP. Si contesta No, no podrá conectar con un servidor DHCP y puede crearle problemas. Si conecta a Internet a través de un módem ADSL o cable-módem elija Si. Pulse siguiente. DHCP Configuración de servicios. Lokkit también le permite activar y desactivar ciertos servicios comunes. Si responde Sí a la configuración de servicios, se le pedirá información sobre los servicios siguientes. Si elige no, se negará el accesos a estos sevicios. • Servidor Web. Si desea que el resto de los usuarios puedan acceder a un servidor web instalado en su máquina, como Apache por ejemplo, elija Sí. Si no existe ningún servidor web en su sistema, elija No. • Correo STMP de Entrada. Pulse Sí si desea que el sistema acepte el correo entrante. No necesitará usar esta opción si recupera el correo electrónico mediante IMAP, POP3 o fetchmail. • Shell Seguro de Entrada. También llamado SSH, es un conjunto de herramientas para el registro y ejecución de comandos en una máquina remota a través de una conexión cifrada. Si necesita tener acceso a la máquina de forma remota a través de SSH desde otros ordenadores, seleccione Sí. 127 Capítulo 4. Conexión a la red • Telnet de Entrada. Telnet le permite registrarse en su máquina remotamente, pero no es un método seguro. Envía texto plano a través de la red. Se recomienda utilizar SSH para registrarse en la máquina remotamente. No obstante, si necesita tener acceso al sistema vía Telnet, seleccione la opción Sí y presione Siguiente. • Activación del Firewall. Para Aplicar los cambios pulse el botón de Terminar. Mail Relay. Mail Relay es un sistema que permite a otros sistemas enviar correo a través de él. Si el sistema es un mail relay, algunos usuarios podrían usarlo para enviar correo basura a otros desde su máquina. Si decide activar los servicios de correo, después de hacer click en Terminar en la página Activar el Firewall, se le pedirá que compruebe el sistema de mail relay. Si pulsa Sí para comprobarlo, GNOME Lokkit intentará conectarse al sitio Web de Mail Abuse Prevention System en la dirección http://www.mailabuse.org/ y ejecutará un programa de comprobación de mail relay. Los resultados de la comprobación se mostrarán cuando haya acabado. Si el sistema permite mail relay, es muy recomendable que configure Sendmail para evitar su uso. 4.3.2. Configuración de cortafuegos con Firestarter Firestarter es un programa de cortafuegos gráfico que trata de combinar la facilidad de uso con la potencia necesaria para servir tanto a los usuarios medios como a los administradores de sistema. Según reza en su web (http://www.fs-security.com): "Usted debe preocuparse únicamente en tomar las decisiones sobre políticas de seguridad y nosotros nos ocuparemos de todo el trabajo. Esto supone un cambio radical respecto del modo como se han implementado hasta ahora los cortafuegos en Linux, que tradicionalmente han exigido un conocimiento de los arcanos". Firestarter le permitirá entre otras cosas: compartir una conexión de Internet, activar el reenvío de puertos, monitorizar la red incuidas las conexiones que atraviesan el cortafuegos, abrir y cerrar puertos, etc. El fichero de configuración de Firestarter se guarda en /etc/firestarter/firestarter.sh que es un script de shell conteniendo reglas de iptables. El fichero se crea una vez que firestarter es configurado. Importante: No es conveniente que utilice simultáneamente gnome-lokkit o escriba usted mismo reglas de iptables pues lo primero que hace firestarter al ejecutarse es borrar todas las reglas existentes. Para ejecutar la aplicación vaya a Aplicaciones−→Configuración−→Sistema−→Firestarter, se le pedirá la contraseña de root. 128 Capítulo 4. Conexión a la red Firestarter La primera vez que se ejecuta Firestarter le mostrará un asistente. Después de la pantalla de bienvenida se le pedirá que seleccione su dispositivo de red de una lista de los que han sido detectados en su máquina. En caso de tener múltimples interfaces seleccione aquella que utilice para conectarse a Internet. Si no lo sabe o no está seguro deje el valor predeterminado. Configuración del dispositivo de red Si su interfaz de conexión a Internet recibe la dirección IP desde un servidor DHCP marque la casilla "Dirección IP asignada vía DHCP". Si desea que el cortafuegos se inicie cuando se conecte a Internet marque la casilla "Iniciar el cortafuegos al conectarse al exterior". Pulse ahora Adelante Si va a compartir su conexión a Internet con el resto de máquinas de la red marque la casilla "Habilitar la traducción de direcciones (NAT)". Si su máquina tiene más de una interfaz de red seleccione ahora cuál de ellas es la que utiliza para conectar con su red local.10 Pulse Adelante Red compartida Si ejecuta programas de servidor en su máquina puede ahora permitir o denegar el acceso a esos servicios. 129 Capítulo 4. Conexión a la red Servicios de red Si marca la casilla "Habilitar acceso público a los siguientes servicios" asegúrese de que realmente se están ejecutando los servidores correspondientes. Si planea compartir recursos con máquinas Windows marque el servicio SAMBA. Puse Adelante Final del asistente Una vez que el asistente ha terminado pulse el botón Guardar. El cortafuegos está ahora listo y su máquina está segura. Firestarter está ahora funcionando en su modo predeterminado que consiste en aplicar un política muy restrictiva para el tráfico entrante y bastante permisiva con las conexiones salientes. Esto significa que usted está completamente protegido contra los intentos de conexión provinientes del exterior, pero que se le permitirá navegar por la web, leer el correo, etc. con toda normalidad. No necesita configurar nada más si esta política por defecto le resulta satisfactoria. Una pregunta que podría hacerse es qué sucede cuando se cierra el programa. La respuesta es que el firewall sigue funcionando. Puesto que Firestarter se ejecuta como un servicio se iniciará cuando el sistema arraque. Además puede usted controlarlo con las sentencias: #/etc/init.d/firestarter start para iniciarlo o #/etc/init.d/firestarter stop para pararlo. Puede usted ver qué reglas de cortafuegos han sido aplicadas con #/etc/init.d/firestarter status Del mismo como la haría ejecutando el comando #iptables -nL 4.4. Redes de área local 4.4.1. Introducción Una red de computadoras (también llamada red de ordenadores, red informática o red a secas) es un conjunto de tres o más computadores o dispositivos conectados entre sí y que comparten información (ar- 130 Capítulo 4. Conexión a la red chivos), recursos (CD-ROM, impresoras, etc.) y servicios (e-mail, chat, juegos), etc. Las redes de área local, generalmente llamadas LAN (local area networks) son redes de propiedad privada dentro de un solo edicifio o campus de hasta unos cuantos kilómetros de extensión. Se usan ampliamente para conectar computadoras personales y estaciones de trabajo en oficinas de compañías, fábricas o centros educativos con objeto de compartir recursos (por ejemplo, impresoras) e intercambiar información. Las LAN a menudo usan una tecnología de transmisión que consiste en un cable sencillo (coaxial o de par trenzado) al cual están conectadas todas las máquinas. Los dispositivos físicos necesarios para construir una LAN son al menos: tarjetas de red para los computadores; uno o más concentradores (hub) o conmutadores (switch) de red; una cantidad suficiente de cable, frecuentemente de par trenzado. Tarjeta de red PCI 10/100 Mbps La tarjeta de red o NIC (Network Interface Card, Tarjeta de Interfaz de Red, en español), es un dispositivo electrónico que permite a un ordenador o impresora acceder a una red y compartir recursos entre dos o más equipos (discos duros, cdrom, etc). Hay diversos tipos de adaptadores en función del tipo de cableado o arquitectura que se utilice en la red (coaxial fino, coaxial grueso, etc.), pero, actualmente el más común es del tipo Ethernet utilizando un interfaz o conector RJ45. Las tarjetas de red Ethernet pueden variar en función de la velocidad de transmisión, normalmente 10 Mbps ó 10/100 Mbps. Actualmente se están empezando a utilizar las de 1000 Mbps, también conocida como Gigabit Ethernet y en algunos casos 10 Gigabit Ethernet, utilizando también cable de par trenzado, pero de categoría 6, 6e y 7 que trabajan a frecuencias más altas. Las tarjetas están conectadas por medio de un cable de par trenzado terminado en un conector RJ45 que va a parar a un switch. Cada tarjeta de red tiene un número identificativo único de 48 bits, en hexadecimal llamado MAC. Estas direcciones hardware únicas son administradas por el Institute of Electronic and Electrical Engineers (IEEE). Los tres primeros octetos del número MAC identifican a proveedores específicos y son designados por la IEEE. Cable de par trenzado 131 Capítulo 4. Conexión a la red Conector RJ45 Conexiones RJ45 en un switch Ethernet Un switch (en español "interruptor" o "conmutador") es un dispositivo de interconexión de redes de computadoras. A diferencia del hub (concentrador) que difunde los paquetes de datos en todas las direcciones, el switch posee la capacidad de aprender y almacenar las direcciones de red de nivel 2 (direcciones MAC) de los dispositivos alcanzables a través de cada uno de sus puertos, con lo que se mejora notablemente el rendimiento de la red. Switch También es posible construir una red de área local utilizando dispositivos inalámbricos, en este caso lo único que se precisa es de una tarjeta de red inalámbrica (tarjeta WiFi) para cada computadora y uno o más puntos de acceso (Acces Point). En realidad, la comunicación inalámbrica digital no es una idea nueva. Ya en 1901 el físico italiano Marconi demostró un telégrafo inalámbrico de barco a costa usando el código Morse (los puntos y las rayas son binarios después de todo). Los sistemas inalámbricos modernos tienen mejor rendimiento, pero la idea básica es la misma. La tarjeta inalámbrica es ya moneda corriente en portátiles, pero también es frecuente en equipos de sobremesa. 132 Capítulo 4. Conexión a la red Tarjeta de red inalámbrica Punto de acceso Además de los dispositivos físicos para que sea posible la comunicación todas las computadoreas de la red, independientemente de cual sea su sistema operativo, tienen que hablar el mismo lenguaje. A ese lenguaje común que permite el intercambio de información en la red le llamamos un protocolo de red. Aunque son muchos los protocolos de red nos interesa el TCP/IP puesto que es la base sobre la que se contruye Internet y la mayoría de las redes locales. En realidad TCP/IP más que un protocolo es un conjunto de protocolos: Protocolo de Control de Transmisión (TCP) y Protocolo de Internet(IP). Aunque la descripción de este conjunto de protocolos escapa con mucho a los propósitos de este curso nos quedaremos con lo más característico. El protocolo TCP/IP exige que cada máquina de la red tenga una dirección IP única. La convención es escribir estas direcciones en la denominada notación decimal separada por puntos (dotted decimal notation). En esta notación cada dirección IP es descrita como un conjunto de cuatro números del rango 0 a 255 separados por puntos. Así 192.168.0.1 ó 172.126.0.1 son direcciones IP válidas mientras que 192.162.256.0 ó 192.23.4 no lo son. 4.4.2. Configuración de la red con Guadalinex El proceso de configuración de una tarjeta de red en Guadalinex se realiza, comunmente, durante la instalación del sistema operativo. En cualquier caso, el usuario pudo decidir postergar este proceso por diferentes razones. El proceso a seguir para preparar el ingreso del equipo en una red local es el siguiente: 1. Lanzamos la aplicación Red del menú Aplicaciones de Gnome (submenú Configuración/Sistema) 2. Introducimos la contraseña de administración y nos centramos en la pestaña Conexiones 133 Capítulo 4. Conexión a la red Configuración de la red 3. Seleccionamos el dispositivo asignado a nuestra tarjeta de red y pinchamos en Propiedades Propiedades del dispositivo 4. En la ventana propiedades de la interfaz, seleccionamos la opción Manual (si necesitamos una configuración de red fija), o bien Automática (si disponemos de un servidor dhcp en la red) 5. En caso de seleccionar el modo Manual, debemos asignar una dirección IP y máscara de subred al equipo, acorde con los datos de nuestra red local (solicite estos datos al administrador de la red local). El dato puerta de enlace no es necesario para configurar una red local. Sin embargo si usted tiene acceso a Internet a través de algún dispositivo tal como un modem/router o una computadora que esté 134 Capítulo 4. Conexión a la red compartiendo la conexión a Internet debe poner aquí su dirección IP. Todos estos datos son escritos en el fichero /etc/network/interfaces cuyo contenido puede ser más o menos el siguiente: auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp name Tarjeta de red Ethernet En este fichero la primera intefaz definida es lo que es la interfaz de loopback necesaria para el buen funcionamiento de sistema. En general no tendrá que preocuparse de ella. Al siguiente interfaz definida es la interfaz Ethernet eth0. Se dice que tomará la dirección por medio de un servidor dhcp y que se activará automáticamente en el arranque (auto eth0) Aquí tiene otro ejemplo esta vez con asignación de IP estática y con puerta de enlace en 192.168.1.1 auto eth0 iface eth0 inet static address 192.168.1.6 netmask 255.255.255.0 gateway 192.168.1.1 Usted puede ver en todo momento cómo está configurada su/s tarjeta/s de red con el comando: #ifconfig eth0 Link encap:Ethernet HWaddr 00:03:0D:2C:E4:D9 inet addr:192.168.1.6 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::203:dff:fe2c:e4d9/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:19379 errors:0 dropped:0 overruns:0 frame:0 TX packets:16890 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:20769263 (19.8 MiB) TX bytes:2614203 (2.4 MiB) Interrupt:5 Base address:0x400 Asimismo puede ver la tabla de rutas de red incluido su gateway con #routeKernel IP routing table Destination Gateway Genmask 192.168.1.0 * 255.255.255.0 default 192.168.1.1 255.255.255.0 UG Flags Metric Ref U 0 0 0 0 Use Iface 0 eth0 0 eth0 Una misma tarjeta de red puede tener más de una dirección IP. Para ello modifique el fichero /etc/network/interfaces de este modo: auto eth0 iface eth0 inet static address 192.168.1.6 netmask 255.255.255.0 gateway 192.168.1.1 auto eth0:0 iface eth0:0 inet static address 172.74.1.2 netmask 255.255.255.0 135 Capítulo 4. Conexión a la red Como ve puede añadir tantos dispositivos como desee comenzando por eth0:0 y siguiendo por eth0:1, eth0:2, etc. Para activar un tarjeta de red inmediatamente utilice el comando ifup cuya sintaxis general es ifup nombre_interfaz por ejemplo, ifup eth0:0 Para desactivar una tarjeta de red inmediatamente utilice el comando ipdown cuya sintaxis general es ifdown nombre_interfaz por ejemplo, ifdown eth0 4.4.3. Compartir recursos en redes Windows™ con SAMBA Samba es una suite de aplicaciones Unix que habla el protocolo SMB (Server Message Block). Mediante el soporte de este protocolo, Samba permite a los servidores Unix entrar en acción, comunicando con el mismo protocolo de red que los productos de Microsoft Windows™. De este modo, una máquina GNU/Linux con Samba puede funcionar como servidor en una red Microsoft™ y ofrecer entre otros los siguientes servicios: • Compartir uno o más sistemas de archivos. • Compartir impresoras, instaladas tanto en el servidor como en los clientes. • Funcionar como un Controlador Principal de Dominio (PDC) • Samba puede actuar también como cliente usando los servicios (discos e impresoras) ofrecidos por máquinas Windows. 4.4.3.1. Acceder desde Guadalinex a recursos compartidos en máquinas Windows En este primer caso veremos a Guadalinex como cliente accediendo a recursos compartidos en computadoras con Windows. Los pasos a seguir para acceder a recursos compartidos fuera de nuestra máquina son los siguientes: 1. Hacemos doble click en el icono Equipo del Escritorio. 2. Posteriormente, doble click en el icono Red. 3. A continuación, tras un pequeño tiempo de espera, aparecerá el icono Red de Windows, sobre el que tendremos que hacer doble click. 4. Tras un lapso de espera, surgirán los dominios y grupos que se encuentren en la Intranet. Accederemos a ellos con doble click. 136 Capítulo 4. Conexión a la red Red Windows 5. Una vez dentro del dominio/grupo, aparecerán automáticamente los equipos disponibles. Tendremos que hacer doble click sobre el equipo al que queramos acceder. Equipos del dominio 6. Por último, debemos facilitar el nombre de usuario y contraseña correctos para poder acceder al equipo si así se solicita, y a continuación, acceder al recurso que buscábamos. 137 Capítulo 4. Conexión a la red Recursos compartidos Si lo que queremos es montar el recurso windows como parte de nuestro propio sistema de ficheros utilizaremos la orden: #smbmount //nombre_máquina_windows/nombre_recurso punto_de_montaje Por ejemplo #smbmount //portatil/documentos /mnt/documentos Donde portatil es la máquina con Windows que comparte el recurso documentos. Por su parte el directorio /mnt/documentos debe existir previamente. Habitualmente lo mejor es incluir una línea como ésta en el fichero filename>/etc/fstab //portatil/documentos /mnt/documentos smbfs username=pepe,password=dr45g,user,noauto,rw 0 0 Si el acceso al recurso no requiere de nombre de usuario y contraseña omitiremos los parámentros username y password) Esto nos permitiría montar el recurso con tal sólo un par de clics de ratón desde el icono Equipo. 4.4.3.2. Acceder desde Windows a recursos compartidos en máquinas Guadalinex En este segundo caso nuestro Guadalinex funcionará como servidor ofreciendo recursos (carpetas y archivos) para que puedan ser accedidos desde las computadoras Windows. En primer lugar debemos asegurarnos de que el servidor samba está activo. Para activarlo vaya ejecute la orden # /etc/init.d/samba start 138 Capítulo 4. Conexión a la red Si quiere que se active cada vez que se arranque el sistema la manera más fácil es ir al menú Aplicaciones−→configuración−→Sistema−→Red. En la ventana emergente y bajo la pestaña General marque la casilla Habilitar el trabajo en red de Windows. Ponga en Descripción una breve descripción de su equipo o deje el valor por defecto. En el campo Dominio/Grupo de trabajo escriba el nombre del grupo de trabajo o dominio de Windows al que pertenecerá su equipo. Finalmente pulse Aceptar. Habilitar SAMBA El fichero de configuración del servidor samba es /etc/samba/smb.conf Durante la instalación de Guadalinex 2004 se crea este fichero con unas configuraciones suficientes para que el servidor se ejecute sin problemas. Sin embargo, de acuerdo con nuestros objetivos debemos hacer algunas modificaciones. El fichero smb.conf tiene un aspecto muy parecido al del los ficheros de configuración *.ini de Windows. Está divido en secciones marcadas entre corchetes [] que contienen diferentes parámetros. Los signos # y ; son comentarios. La primera sección es [global] que controla la operativa general del servidor. Su aspecto inicial es: [global] netbios name = GUADALINEX2004 server string = GUADALINEX 2004 workgroup = GUADALINEX wins support = no encrypt passwords = true netbios name. El nombre netbios es el nombre con que será conocido el equipo en la red Windows. Puede dejarlo como está. Ahora bien si en su red hay varios equipos con Guadalinex instalado debe cambiarlo puesto que el nombre netbios debe ser único. Para este propósito puede hacer dos cosas o bien asigna un nombre del modo: netbios name = marlera (Para el nombre netbios no utilice ni espacios ni caracteres extraños tales como acentos o eñes) o bien comenta o borra este parámetro.;netbios name = GUADALINEX2004, en cuyo caso se tomará como nombre netbios el nombre UNIX de la máquina. Puede ver el nombre de su máquina con tan solo ejecutar la orden: #hotsname11 139 Capítulo 4. Conexión a la red server string = GUADALINEX 2004. Se pone aquí una descripción de la máquina con la que será conocida en la red Windows. Puede poner aquí una descripción significativa de su computadora. workgroup = GUADALINEX. Cambie este parámetro para ajustarlo al nombre del grupo de trabajo o dominio de Windows al que pertenecerá su máquina. A continuación vienen una o más secciones acotadas entre corchetes [...] indicando los recursos compartidos así como los privilegios de acceso que tendrán los usuarios cuando accedan a ellos. [compartido] path = /home/compartido comment = Directorio compartido en Guadalinex 2004 writeable = no guest ok = yes guest only = yes browseable = yes La sección indica que estamos compartiendo la carpeta /home/compartido, que será vista por los equipos Windows con el nombre "compartido". Expliquemos esta sección un poco más. [compartido]. Indica el nombre con que verán las máquinas Windows el recurso. path= /home/compartido. Indica cuál es la carpeta real de su sistema de ficheros que está siendo compartida. Todo lo que pongamos en el interior de /home/compartido será visto por la máquinas de la red Windows. writeable = no. No se pueden borrar ni crear ficheros o subdirectorios en la carpeta "compartido", loo que significa que se comparte con permisos de sólo lectura. guest ok = yes / guest only = yes. No se precisa ser un usuario registrado del sistema para acceder a la carpeta browseable = yes. Los usuarios que accedan al recurso podrán explorar el contenido de la carpeta y de las subcarpetas que pudiera contener. Importante: En guadalinex 2004 se ha habilitado un mecanismo para facilitar al usuario final compartir carpetas con el resto de usuarios de la red. En cada home de usuario existe una carpeta de nombre "compartido" que en realidad es un enlace simbólico a /home/compartido. Así que cuando queremos ofrecer al resto de la red un fichero o directorio tan sólo tenemos que copiarlo o crearlo aquí. Seguramente la mejor forma de ver cómo funciona el servidor Samba sea con unos sencillos ejemplos. En lo que sigue supondremos que tenemos la siguiente estructura: • Máquina Guadalinex. nombre = marlera descripción = Guadalinex 2004 • Máquina Windows XP. nombre = portatil descripción = Equipo con Windows XP Ambos equipos pertenecen al grupo de trabajo CVALERA Caso 1. Queremos que las máquinas Windows accedan al recurso cuyo nombre es "compartido" situado en marlera pero sin tener que utilizar un nombre y contraseña de usuario. 140 Capítulo 4. Conexión a la red Debemos modificar la sección [global] añadiendo la línea security = share Explicación. Por defecto cuando una máquina Windows trata de acceder a un recurso en un servidor samba debe suministrar un nombre de usuario y contraseña válidos. De este modo deshabilitamos tal necesidad. Los privilegios de acceso serán los que se indiquen para cada recurso compartido. Adicionalmente queremos que se pueda borrar y crear carpetas o ficheros en el recurso compartido. Debemos entonces modificar la sección [compartido] writeable = yes También queremos añadir un nuevo recurso compartido con el nombre "publico" que corresponda a la carpeta real /home/samba. Para ello: mkdir /home/samba chmod 755 /home/samba Y en el fichero smb.conf añadimos: [publico] path = /home/samba comment = Directorio de acceso pubico writeable = no guest ok = yes guest only = yes browseable = yes Para que los cambios tengan efecto debe reiniciar el servidor samba: #/etc/init.d/samba restart Previamente podemos comprobar si hemos escrito correctamente todo en smb.conf con la orden: #testparm Ahora en la máquina Windows XP en el explorador de ficheros y tras pulsar el enlace "Ver equipos del grupo de trabajo" nos aparecerá una ventana como la siguiente: 141 Capítulo 4. Conexión a la red Acceso desde Windows XP Si hacemos doble clic sobre el icono que representa al equipo Guadalinex 2004 (Marlera) podremos ver los recursos que nos ofrece sin necesidad de suministrar un nombre de usuario. 142 Capítulo 4. Conexión a la red Recursos compartidos Caso 2. Queremos que sólo los usuarios registrados en Guadalinex puedan tener acceso a los recursos compartidos. En primer lugar en la sección [global] añadimos la línea security = user Esto no es necesario ya que éste es el modo por defecto del servidor samba. Si lo añadimos es simplemente por claridad. Ahora debemos crear el usuario para el servidor samba. Para crear un usuario samba #smbpasswd -a pepe Se nos pedirá dos veces que escribamos la contraseña para ese usuario.12 Es importante distinguir los usuarios UNIX estándar creados con el comando adduser y almacenados en el fichero /etc/passwd; de los usuarios samba creados con smbpasswd y almacenados en /etc/samba/smbpasswd. Para que un usuario pueda acceder a un recurso compartido en un servidor samba no basta con que tenga una cuenta unix estándar, es necesario que además tenga una cuenta samba. Sin embargo para que un usuario pueda ser añadido a un servidor samba es preciso que tenga ya previamente una cuenta unix estándar. No ocurre así con la contraseña que puede ser diferente. Ahora en las máquinas Windows cuando tratemos de acceder a la máquina Guadalinex se nos solicitará un nombre de usuario y una contraseña sin la cual no tendremos acceso a los recursos. Registro Adicionalmente queremos que cuando un usuario acceda a la máquina con Guadalinex se le muestre, además de los recursos compartidos en general, su propia carpeta de inicio de usuario. Para ello añadimos la sección [homes] comment = Carpeta de inicio de usuario browseable = no writable = yes valid users = %S create mode = 0664 directory mode = 0775 Cuando el usuario acceda desde la máquina Windows a Guadalinex verá además de los recursos compartidos generales su propia carpeta de inicio. 143 Capítulo 4. Conexión a la red Compartir la carpeta de inicio 4.4.3.3. Agregar a una impresora instalada en Windows. Veamos cómo imprimir en una impresora conectada a una máquina windows utilizando samba. Supongamos una impresora de nombre lexmark conectada a un equipo Windows de nombre fede. Para ello iniciamos CUPS y accedemos mediante el navegador con: localhost:631. Optamos por añadir una impresora y para ello pulsamos el enlace Manage Printers y después Add printers. Rellenamos los campos Name, Location y Description como de costumbre. En la lista desplegable Device seleccionamos Windows Printer via Samba y pulsamos Continue 144 Capítulo 4. Conexión a la red Añadir impresora compartida En el campo de texto Device URI escribimos: • Si la máquina está en el mismo grupo de trabajo y no se requiere usuario y contraseña smb://nombre_máquina/nombre_impresora • Si la máquina está en el mismo grupo de trabajo y se requiere usuario y contraseña smb://usuario:contraseña@nombre_máquina/nombre_impresora • Si la máquina está en otro grupo de trabajo y no se requiere usuario y contraseña smb://grupo_trabajo/nombre_máquina/nombre_impresora • Si la máquina está en otro grupo de trabajo y se requiere usuario y contraseña smb://usuario:contraseña@grupo_trabajo/nombre_máquina/nombre_impresora Ahora sólo nos queda seleccionar el driver adecuado. 145 Capítulo 4. Conexión a la red Configurar el acceso 4.4.3.4. Agregar una impresora instalada en Guadalinex Veamos cómo imprimir en una impresora conectada a una máquina Guadalinex utilizando samba. Tenemos que modificar la sección [global] del fichero smb.conf añadiendo las líneas: load printers = yes printing = cups printcap name = cups Debemos también añadir una sección [printers] comment = All Printers path = /var/spool/samba browseable = no public = yes guest ok = yes writable = no printable = yes printer admin = root, @ntadmins También hay que modificar un par de ficheros de CUPS para permitir que se envíen a la impresora datos "crudos" sin aplicarles filtro alguno, ya que esta función la realizará el driver instalado en Windows. En /etc/cups/mime.types hacia el final descomente la línea application/octet-stream En /etc/cups/mime.conv hacia el final descomente la línea application/octet-stream application/vnd.cups-raw 0 - En la máquina Windows instale la impresora como lo haría si estuviese conectada a un equipo Windows. 146 Capítulo 4. Conexión a la red 4.4.4. El sistema de ficheros NFS Aunque puede utilizarse Samba para compartir recursos entre equipos sólo con Guadalinex lo más elegante y a la larga más eficaz para estos casos es utilizar NFS.13 El Sistema de Archivos de Red (NFS, Network File System) es una forma de compartir ficheros eficaz y rápida entre equipos de una misma red que soporten este sistema, de forma que tenga la apariencia de que éstos están en el disco duro del equipo cliente. NFS sólo podrá ser utilizado cuando los equipos entre los cuales deseamos compartir los archivos utilizan Linux como sistema operativo. El funcionamiento de NFS es muy sencillo; se basa en el concepto de que un equipo actúe como servidor al compartir archivos y otro como cliente, pudiendo operar un mismo equipo como servidor y como cliente al mismo tiempo (si deseamos compartir archivos o carpetas de nuestra propiedad y a la vez queremos tener acceso a recursos de otros equipos). Lo mejor será verlo con un ejemplo. Partimos de una máquina cuya dirección IP es 192.168.1.6 que actuará como servidor y compartirá vía nfs el directorio /home/nfs en el que todo el mundo tendrá permisos de lectura y escritura. Además quiere que el recurso compartido esté disponible para todas las máquinas de su red. 4.4.4.1. Configuración del servidor Lo primero es instalar los paquetes necesarios para el sistema nfs, para ello: #apt-get install nfs-common nfs-user-server portmap Importante: En vez del paquete nfs-user-server podría haberse instalado en su lugar nfs-kernel-server. En ambos casos estamos proporcionando soporte para el servidor nfs, sólo que un caso a nivel de espacio de usuario y en otro a nivel de kernel. El soporte a nivel de kernel es más rápido, el soporte en espacio de usuario es más lento pero ofrece más posibilidades. El fichero clave para NFS es /etc/exports, aquí situaremos qué vamos a compartir, quién tendrá acceso y con qué privilegios. Siguiendo con nuestro ejemplo lo primero será crear el directorio /home/nfs, para ello: #mkdir /home/nfs #chmod 777 /home/nfs Ahora modificamos el fichero /etc/exports añadiéndole la línea /home/nfs 192.168.1.0/255.255.255.0(rw) En esta línea decimos que vamos a compartir el directorio /home/nfs, qQue al él tendrán acceso todas las máquinas de la red 192.168.1.0 (es decir todas las máquinas de nuestra red) y que será compartido con permisos de lectura y escritura. Una vez hechas las modificaciones únicamente nos queda que el servidor las lea, para ello ejecutamos: #/etc/init.d/nfs-user-server restart 147 Capítulo 4. Conexión a la red 4.4.4.2. Configuración del cliente Será necesario instalar al menos los paquetes nfs-common y portmap, aunque podría ser también conveniente instalar nfs-user-server, si queremos más adelante servir ficheros vía nfs. Para ello ejecutamos la orden: #apt-get install nfs-common portmap Y ahora simplemente montamos el recurso con la orden: #mount -t nfs 192.168.1.5:/home/nfs /mnt/test Donde /mnt/test es un punto de montaje que debe existir previamente en nuestro sistema de ficheros. En principio podemos hacer el montaje en cualquier directorio de nuestro sistema de ficheros. Si queremos que el montaje sea automático cada vez que arranquemos el ordenador tan sólo debemos incluir una nueva línea en nuestro fichero /etc/fstab de este modo: 192.168.1.6:/home/nfs /mnt/test nfs rsize=8192,timeo=14,intr Conviene explicar esto un poco. En el primer campo indicamos la dirección del servidor y el recurso que vamos a montar. En el segundo indicamos el punto de montaje. En el tercero indicamos el sistema de ficheros, en este caso nfs. El cuarto campo es un tanto más críptico: rsize indica el tamaño del datagrama de usuario enviado por los clientes en las operaciones de lectura y escritura. timeo indica el tiempo en décimas de segundo que el cliente esperará a que una operación se complete. Es decir, indica el tiempo que el cliente esperará a que el servidor le responda. Si se sobrepasa este tiempo (timeout) entonces ocurrirá lo que indica el siguiente parámetro. intr indica abortar la operación cuando el servidor no responde. Estos dos últimos parámetros, en definitiva, indican qué hay que hacer cuando el servidor no responde, bien porque esté muy ocupado o bien porque se haya caido. Notas 1. La Guadapedia trata de recopilar toda la información acerca de la configuración y uso de Guadalinex, puede encontrarse en la dirección URL http://www.guadalinex.org/guadapedia/ 2. Lo único que tendrá que hacer es instalar en su ordenador una tarjeta de red si es que no la tiene ya. La conexión con modem/router es más versátil, de mayor calidad y es completamente independiente del sistema operativo de los ordenadores cliente. Por ejemplo con un modem/router podrá conectar sin ningún problema varios ordenadores a Internet simultáneamente. 3. en la terminal de root lanzada anteriormente, tecleamos la orden cp /etc/ppp/peers/provider /etc/ppp/peers/dsl-provider 4. PPPoE (Point-to-Point Protocol over Ethernet) es un protocolo usado por muchos proveedores de Servicios de Internet sobre ADSL. Tendrá que consultar a su proveedor para saber si utiliza este protocolo. Habitualmente si no tiene ip fija será éste su caso 5. Habitualmente los proveedores de acceso distribuyen los routers configurados en modo "multipuesto", por lo que lo único que tendrá que hacer es asegurarse de que es así. Por supuesto para hacer la configu- 148 Capítulo 4. Conexión a la red ración aquí descrita olvide cualquier CDROM o Kit autoinstalable que le haya facilitado su proveedor. Le recordamos que para esta configuración su ordenador necesita una tarjeta de red. Aunque la inmensa mayoría de las tarjetas de red están soportadas por GNU/Linux, si planea comprar una asegúrese de que está soportada. En cambio en general no importa cuál sea la marca o modelo del modem/router. 6. La compatibilidad de una tarjeta depende del chipset que incorpore. Chipset significa conjunto de circuitos integrados. Un mismo chipset puede estar incorporado a distintas tarjetas de marcas y modelos diferentes. Por ello para saber si una tarjeta WiFi está soportada más que el dato de marca y modelo será necesario conocer cuál es su chipset 7. En sentido estricto el filtrado de paquetes es proporcionado por el subsistema netfilter. El subsistema netfilter proporciona un filtrado de paquetes con vigilancia continua o sin ella, así como también NAT y servicios de enmascaramiento IP. Netfilter también tiene la habilidad de mutilar la información IP de cabecera para un enrutamiento avanzado y gestión del estado de la conexión. Netfilter es controlado a través de la utilidad iptables. 8. Esto sucede típicamente cuando se usa un modem USB, serie o interno. El procedimiento aquí descrito y tomado de la Guadapedia es útil para pequeñas redes domésticas. Si usted administra una LAN de mayor tamaño y sobre todo con mayores requerimientos de seguridad, deberá ampliar la información sobre el uso de iptables. 9. El número detrás de la barra inclinada "/" indica la máscara de red en notación abreviada. Asi 24 equivale en notación decimal a la máscara 255.255.255.0 es decir, tres octetos a uno lo que da 24. 16 equivale a 255.255.0.0 es decir, dos octetos a 1 lo que da 16 10. En una situación típica usted conectará su máquina a Internet con un modem USB o serie y compartirá la conexión con el resto de equipos a través de su tarjeta de red Ethernet, conectada a un concentrador de red o mediante un cable cruzado. En ese caso su interfaz de acceso a Internet será ppp0 y la interfaz de red interna eth0. En otro escenario usted podría tener un modem/router de acceso a Internet confgurado en monopuesto y su máquina una sola interfaz de red. En ese caso tanto la interfaz de acceso a Internet como la de la red interna serían la misma. Un último escenario, frecuente por ejemplo en un Centro educativo, es que se disponga de un modem/router configurado en modo monopuesto y una máquina con dos interfaces de red: una conectada al router y la otra a la red interna mediante un concetrador. En ese caso la interfaz de Internet podría ser por ejemplo eth0 y la interna eth1 11. Cambiar el nombre de su máquina es sencillo, simplemente ejecute la orden #hostname nuevo_nombre 12. Si más adelante queremos cambiar la contraseña suprimiremos el parámetro -a y escribiremos únicamente smbpasswd pepe Para eliminar un usuario escriba smbpasswd -x nombre_usuario 13. Por cierto este es el sistema que se emplea actualmente en los Centros TIC, para que los usuarios puedan acceder a sus carpetas desde cualquier máquina de la red. 149 Capítulo 5. Instalación de programas 5.1. Introducción Lo único que pretendemos en estas páginas es ofrecer una guía rápida útil para el usuario final. La información contenida en este capítulo puede ampliarse convenientemente consultando la guía de referencia Debian (http://www.debian.org/doc/manuals/reference/reference.es.html) A estas alturas seguramente no le extraña que le remitamos a Debian, pues como usted sabe Guadalinex no es otra cosa que una metadistribución de Debian, una de las distribución de GNU/Linux consideradas "mayores".1 Podría considerarse que el modo más simple de instalar una aplicación sería copiar al disco duro todos los ficheros, binarios y de configuración, necesarios para que ésta funcione. Pero esta tecnología de instalación aparentemente sencilla es sin embargo muy ineficaz. Sucede a menudo que una o más aplicaciones comparten rutinas, funciones o procedimientos. Ocurre incluso que una aplicación hace uso de la funcionalidad que aportan otras aplicaciones. En este escenario instalar las aplicaciones como todos separados es poco eficiente puesto que duplicaríamos innecesariamente y de modo desproporcionado el número de los ficheros. Los paquetes normalmente contienen todos los archivos necesarios para implementar un conjunto de aplicaciones o características relacionadas. Un "paquete" Debian, o un archivo Debian, contiene los ejecutables, bibliotecas y documentación asociada con una forma particular de un programa o conjunto de programas relacionados. Normalmente un archivo Debian tiene un nombre que acaba en .deb. En Debian se emplea un sistema de control de paquetes que permite que el administrador del sistema instale o desinstale éstos, sin que en ningún momento queden programas instalados que no funcionen por falta de otros incluidos en su paquete. El sistema de control de paquetes usualmente también se ocupa de mantener las dependencias entre paquetes: si algún paquete depende de otro, el sistema se encarga de instalar este primero. En efecto, la instalación de software por el sistema de paquetes usa "dependencias" que son cuidadosamente diseñadas por los encargados del paquete. Estas dependencias están documentadas en el archivo de control asociado con cada paquete. Por ejemplo, el paquete que contiene el compilador de C de GNU (gcc) "depende" del paquete binutils que incluye el enlazador y el ensamblador. Si un usuario intenta instalar gcc sin haber instalado antes binutils, el sistema de paquetes de Debian dará un mensaje de error avisando de que necesita la instalación de éste. El sistema de paquetes Debian tiene un conjunto de "dependencias" diseñadas para indicar hasta qué punto un paquete cualquiera, al que llamaremos A, necesita o está relacionado con cualquier otro paquete, al que llamaremos B. Así decimos que: • El paquete A depende del paquete B si B tiene que estar instalado obligatoriamente para que funcione A. • El paquete A recomienda al paquete B, si el responsable del paquete considera que la mayoría de usuarios no querrán A sin tener la funcionalidad permitida por B. • El paquete A sugiere al paquete B si B contiene archivos que están relacionados con (y normalmente mejoran) la funcionalidad de A. • El paquete A entra en conflicto con el paquete B cuando A no funcionará si B está instalado en el sistema. La mayoría de las veces los conflictos son casos en los que A contiene archivos que son una mejora respecto a los que contiene B. Los "Conflictos" se combinan frecuentemente con "reemplazos". 150 Capítulo 5. Instalación de programas • El paquete A reemplaza al paquete B cuando archivos instalados por B son borrados y (en algunos casos) sobrescritos por archivos en A. • El paquete A proporciona el paquete B cuando todos los archivos y la funcionalidad de B se incorporan en A. Este mecanismo proporciona un modo de que los usuarios con espacio de disco reducido instalen la parte del paquete A que realmente necesitan. 5.2. Distribuciones Debian Los programas en Debian, como en cualquier otro sistema, están en constante evolución: algunos paquetes se eliminan porque son considerados obsoletos, otros se mejoran y se crean otros nuevos. En el proceso de creación de una aplicación cualquiera se pasa normalmente por tres fases: una primera fase donde la aplicación aunque tal vez sea usable es sin embargo muy inestable; un segundo período donde parece funcionar bien aunque no se descarta que produzca errores; hasta que llega a la madurez, se consolida y la consideramos ya fiable. Poco más o menos lo que ocurre con el desarrollo intelectual, emocional y moral de las personas. O tal vez no... Las empresas de desarrollo comerciales siempre tratan de adelantarse a la competencia sacando a la luz un software con el propósito de ganar cotas de mercado. Esto a menudo supone que el programa se comienza a vender prematuramente, antes de que esté listo. Más adelante se comienzan a distribuir un sin fin de parches y parches de parches. En cambio en Debian la preocupación fue siempre la estabilidad y fiabilidad del sistema. Por eso se distribuye en tres versiones, dependiendo del estado de desarrollo del conjunto de las aplicaciones: estable (stable), de prueba (testing) e inestable (unstable). La versión estable, denominada también sarge, es la más fiable, la que ha sufrido un mayor proceso de prueba y depuración. Esta versión es la única que tiene número (actualmente la 3.1, publicada el 6 de junio de 2005). A las demás no se les asigna un número sino únicamente un nombre. La versión de prueba, también conocida como etch, contiene los paquetes que ya han sido probados durante un cierto tiempo en la rama inestable. Estos paquetes deben estar en sintonía con todas las arquitecturas para las cuales fueron construidos y deben poder instalarse; además, deben tener menos fallos críticos que las versiones que se encuentran en la rama inestable. De esta manera, es de esperar que la rama de prueba sea la posible candidata de la próxima versión. La distribución inestable, denominada siempre sid, contiene la imagen más reciente del sistema en desarrollo. Se alienta a los usuarios a usar y probar estos paquetes pero se les advierte sobre su estado. La ventaja de usar la distribución inestable es que uno siempre está actualizado con lo último del proyecto Debian, pero también corre el riesgo de que deje de funcionar. Esta versión no es recomendable instalarla en sistemas en producción.2 A la versión stable se la ha tachado en ocasiones de ser demasiado "conservadora". Por ello muchos usuarios Debian prefieren la versión testing, se benefician de este modo de los más recientes desarrollos al tiempo que conservan un buen nivel de fiabilidad. Guadalinex está basada, según sus desarrolladores, en la rama estable. Aunque es posible, no suele ser buena idea mezclar paquetes procedentes de distintas ramas, a no ser que se sea un usuario experimentando y se sepa muy bien qué se está haciendo. 5.3. Herramientas para el manejo de paquetes dselect. herramienta de administración de paquetes basada en menús 151 Capítulo 5. Instalación de programas dpkg. instala paquetes apt-get. instala paquetes resolviendo las dependencias tasksel. instala tareas (conjunto de paquetes) aptitude. interfaz gráfica para APT basada ncurses synaptic. otra interfaz gráfica para APT Estas herramientas no están en un mismo nivel. dselect se ejecuta encima de APT (apt-get) y dpkg, es decir, cuando se le pide a dselect que haga algo automáticamente echará mano de apt-get y dpkg. En cuanto a la dependencia entre paquetes, apt-get obtiene automáticamente los paquetes que dependen entre sí (depends) pero ignora los paquetes recomendados (recommends) y sugeridos (suggests). dselect, en cambio, ofrece un control más avanzado de los paquetes basado en menús que ofrece la posibilidad de elegir paquetes basándose en depends, recommends y suggests. aptitude tiene la opción de descargar todos los paquetes automáticamente basándose en depends, recommends y suggests. En lo que sigue no vamos a ver ni todas las utilidades ni todas las funciones de cada una de ellas, nos centraremos en cambio en el uso más frecuente que necesitará hacer de ellas. 5.3.1. La herramienta APT 5.3.1.1. Configuración de fuentes para apt (el fichero /etc/apt/sources.list) Toda la información contenida en esta sección puede ampliarse consultando el how-to (cómo) de apt. Para ello abra una terminal y escriba: apt-howto Lo primero que hay que hacer para usar apt y los programas que dependen de él es indicarle dónde debe buscar paquetes Debian para crear su base de datos. Las fuentes de paquetes se indican en el fichero /etc/apt/sources.list y son básicamente de dos tipos: URLs y CD-ROMs. Los primeros incluyen direcciones http, ftp y directorios locales, mientras que los segundos se refieren a unidades de CD extraibles, como los CD s de instalación de Debian y otros CDs conteniendo paquetes debian. Las fuentes tipo URL se indican en /etc/apt/sources.list con líneas de este tipo: deb http://http.guadalinex.org/debian/ sarge main contrib non-free En cada línea se indica la localización del directorio principal, la versión de la distribución (sarge o stable, testing, unstable) y las secciones que se quieren tomar. Para hacer uso de esta funcionalidad se requiere tener acceso a Internet, pues los paquetes así indicados se guardan en grandes depósitos, a los cuales denominamos repositories (traducido literalmente como repositorios). Debian mantiene una lista de repositorios oficiales para cada una de las versiones. Si todos los usuarios a la hora de instalar paquetes accediesen a los repositorios oficiales terminarían colapsando el sistema. Para evitar este problema se mantienen copias exactas de los repositorios Debian en otros lugares de Internet. A estos lugares que mantienen una copia de la paquetería oficial de Debian les denominamos mirrors (espejos). A su vez otros grupos de usuarios que trabajan en proyectos relacionados con Debian pueden mantener sus propios repositorios no oficiales contiendo paquetes que habitualmente no están integrados en ninguna de las ramas oficiales. 152 Capítulo 5. Instalación de programas Guadalinex 2004 mantiene su propio repositorio basado en el sarge de Debian. Pero no es un repositorio oficial Debian y además hace ya bastante tiempo que no se actualiza. Podría pensarse que, puesto que el repositorio Guadalinex está basado en sarge no habría problema en mezclar paquetes de Guadalinex 2004 con paquetes provinientes del repositorio oficial Debian sarge. Sin embargo nuestra experiencia es que al mezclar paquetes de ambos repositorios el resultado no siempre es satisfactorio. Su fichero /etc/apt/sources.list podría tener este aspecto: # Junta de Andalucía (Repositorio raiz) # Método HTTP deb deb deb deb http://http.guadalinex.org/debian/ sarge main contrib non-free http://http.guadalinex.org/debian-non-US/ sarge/non-US main contrib non-free http://http.guadalinex.org/debian-security/ sarge/updates main contrib non-free http://http.guadalinex.org/repositorio/ muflon guada # Fuentes # deb-src http://http.guadalinex.org/debian/ sarge main contrib non-free # deb-src http://http.guadalinex.org/repositorio/ muflon guada # Método FTP # deb ftp://ftp.guadalinex.org/repositorio/ muflon main contrib non-free guada # deb ftp://ftp.guadalinex.org/repositorio/ muflon/non-US main contrib non-free # Mirror Oficial de Guadalinex: Centro Informático Científico de Andalucía (CICA) # deb ftp://ftp.cica.es/debian/ testing main contrib non-free # deb ftp://ftp.cica.es/guadalinex/repositorio/ muflon guada # # # # # # Mirror Oficial de Debian Sarge deb http://ftp.fi.debian.org/debian/ testing main contrib non-free deb http://ftp.fi.debian.org/debian-security/ sarge/updates main contrib non-free deb http://non-us.debian.org/debian-non-US/ sarge/non-US main contrib non-free En este fichero las líneas que comienzan con # son comentarios y por tanto son ignoradas por apt. También comienzan con # las líneas que hacen referencia a repositorios que en este momento no queremos tener activos. Las fuentes tipo CD ROM no se crean manualmente, sino que son introducidas en /etc/apt/sources.list ejecutando el comando #apt-cdrom add Entonces el sistema pedirá que introduzcamos un CD ROM en la unidad, lo analizará en busca de paquetes Debian y actualizará tanto la información en el fichero de fuentes como otra información interna para recordar en el futuro en qué CD ROM se encuentra cada paquete. En cualquier caso siempre que hagamos cambios en el fichero /etc/apt/sources.list ya sea para activar unos repositorios o desactivar otros se debe actualizar la base de datos de APT ejecutando: #apt-get update 153 Capítulo 5. Instalación de programas 5.3.1.2. Instalación y desinstalación de paquetes La instalación y desinstalación de paquetes con APT es extraordinariamente sencilla si se conoce el nombre del paquete a instalar. Basta con ejecutar el comando apt-get install seguido de la lista de paquetes a instalar. APT instalará los paquetes seleccionados y cualquier otro del que éstos dependan, resolviendo todas las dependencias. Para la instalación considerará todas las fuentes listadas en /etc/apt/sources.list y obtendrá las versiones más actualizadas de los paquetes, realizando las conexiones necesarias y solicitando los CDs que se necesiten. En caso de encontrar un paquete en varias fuentes, utilizará aquella que se especifique en primer lugar en el fichero de fuentes. Por ejemplo, #apt-get install mozilla gimp gnome-xbill instalará los paquetes mozilla, gimp y gnome-xbill más todos aquellos que éstos necesiten. Para desinstalar paquetes apt-get remove seguido de la lista de paquetes a desinstalar Por defecto se conservan los ficheros de configuración del paquete que se desinstala, pero se puede indicar que se borren con la opción --purge. Por ejemplo, #apt-get remove mozilla gimp gnome-xbill desinstala los paquetes anteriores, y #apt-get --purge remove mozilla gimp gnome-xbill borraría además los ficheros de configuración. El sistema APT incluye potentes algoritmos que permiten actualizar una gran cantidad de paquetes simultáneamente e incluso renovar la distribución completamente. Por ejemplo, si en el servidor web o ftp han actualizado los paquetes de nuestra versión, podemos obtener las listas actualizadas con: #apt-get update y luego actualizar a las nuevas versiones de todos los paquetes que hayan sido actualizados con: #apt-get upgrade Este comando actualizará los paquetes que ya tuviéramos instalados en nuestro sistema, pero no añadirá paquetes nuevos. Si estos paquetes nuevos son necesarios para actualizar alguno que ya tuviéramos instalado, simplemente éste último no se actualizará. Así que si lo que queremos es una actualización completa del sistema debemos utilizar el comando: #apt-get dist-upgrade Este comando es útil sobre todo cuando la actualización supone un cambio a una versión completamente nueva de la distribución (porque aparezca una nueva versión mayor o porque queramos cambiar a una de las 154 Capítulo 5. Instalación de programas versiones de desarrollo) necesitamos usar otra opción que es capaz de manejar la actualización simultánea de todos los paquetes de la distribución. 5.3.1.3. Otras opciones de apt-get Cuando APT instala un paquete, descarga los archivos necesarios de los servidores listados en /etc/apt/sources.list, éstos a su vez son guardados en un depósito local (/var/cache/apt/archives/), y de ahí se procede con la instalación. Con el tiempo el depósito puede crecer y ocupar mucho espacio en disco. Afortunadamente, APT provee de herramientas para manejar su depósito local: #apt-get clean borra totalmente el repositorio local que contiene los ficheros .deb descargados #apt-get autoclean Al igual que clean, autoclean borra el repositorio local de paquetes descargados. La diferencia reside en que sólo borrará aquellos paquetes que ya no pueden ser descargados, o son claramente inservibles. apt-get -f Algunas veces en la instalación de paquetes pueden producirse dependencias circulares, para salir de esta situación utilice esta opción que trata de resolver conflictos de dependencias en la instalación de paquetes. apt-get -s Muestra las operaciones que haría pero no hace cambios en realidad. 5.3.1.4. Obtención de información sobre paquetes La utilidad apt-cache permite obtener información diversa sobre los paquetes. Aquí se muestran las opciones más útiles: #apt-cache stats. muestra estadísticas generales sobre el sistema de paquetes: paquetes instalados, disponibles, etc. # apt-cache show paquete. muestra información general sobre paquete, incluyendo una descripción. # apt-cache search regexp. busca paquetes con la expresión regular regexp en su descripción. Muy útil para buscar un paquete sobre un tema determinado. Por ejemplo si queremos saber qué paquetes contienen juegos de ajedrez podríamos utilizar: $apt-cache search chess3dchess - 3D chess for X11 cgoban - complete Go board cl-cil - Chess In Lisp. A library for cmucl. eboard - A graphical chessboard program ... Luego no tenemos más que instalar el paquete de nuestra elección. 155 Capítulo 5. Instalación de programas 5.3.1.5. Reconfiguración de paquetes instalados Cada vez que un paquete es instalado, el sistema pasa automáticamente a la fase de configuración del mismo. En muchas ocasiones la configuración se realiza sin la intervención del usuario, pero otras veces ésta es necesaria para que el usuario eliga ciertas preferencias sobre la operación del programa, como en el caso de los paquetes exim o ssh. Si en el futuro queremos modificar las opciones de instalación de uno de los paqutes instalados, pueden darse tres situaciones: 1. No hay programa de reconfiguración: en este caso se deben editar los ficheros apropiados y modificar allí las opciones deseadas. Es el caso, por ejemplo, de la configuración de los parámetros de la red. 2. El paquete posee un programa de configuración propio: en este caso basta con ejecutar dicho programa. Por ejemplo, eximconf configura la instalación inicial del paquete exim. 3. El paquete emplea el sistema debconf para su configuración inicial. El sistema debconf es la interfaz genérica de Debian para configurar paquetes durante su intalación inicial. Se tiende a que todos los paquetes de la distribución empleen este sistema. Si el paquete emplea este sistema, se puede reconfigurar con el el comando #dpkg-reconfigure que presentará por defecto los parámetros de configuración empleados la última vez que se configuró el paquete. Por ejemplo, para reconfigurar el paquete sshd: # dpkg-reconfigure sshd El propio sistema debconf puede configurarse con este método. Entre otras facilidades, debconf proporciona una variedad de interfases de configuración y la posibilidad de configurar los paquetes en bloque antes de su descarga e instalación. En cualquier caso, se recuerda que esta configuración se refiere a las opciones de instalación inicial de los paquetes, y no a programas generales de configuración y administración del software. Estos programas, si existen, dependen de cada paquete en concreto y tendremos que consultar la documentación del paquete para averiguar si existen y cómo se usan. 5.3.2. La herramienta dpkg La manipulación directa de ficheros de paquetes se realiza con el comando dpkg. Gracias a la existencia de programas como dselect y apt-get, sólo es necesario usar dpkg cuando nos encontramos con paquetes Debian sueltos, ésto es, que no forman parte de un archivo estructurado en la red o de un CD ROM con el formato adecuando para apt-cdrom. El comando #dpkg --install paquete.deb instalará el fichero de paquete indicado. En caso de que se produzcan problemas de dependencias (falta un paquete del que depende), el paquete no será configurado, pero será desempaquetado. En este caso deberemos instalar también los paquetes necesarios para resolver las dependencias, con dselect o apt-get si es posible o bien con dpkg y finalmente ejecutar #dpkg --configure --pending para configurar todos los paquetes pendientes de configuración. Es necesario advertir que se debe ser cuidadoso con los paquetes instalados directamente con dpkg. Por ejemplo, si tenemos instalada una versión stable de la distribución y tomamos paquetes de la versión unstable , casi con toda seguridad tendremos que instalar versiones nuevas de las que depende este paquete. 156 Capítulo 5. Instalación de programas El número de dependencias implicadas puede llegar a ser tan alto que implique a la práctica totalidad de los paquetes instalados o a paquetes vitales para el sistema cuya instalación manual es, cuando menos, delicada si no se sabe bien lo que se hace. Una opción más adecuada para tomar paquetes de la distribución inestable es descargar los fuentes de los mismos y compilarlos en nuestro sistema. Esto se realiza con la opción source de apt-get y con el comando dpkg-buildpackage. El procedimiento se explica en el apartado siguiente. Para desinstalar paquetes con dpkg se emplea #dpkg --remove paquete o bien #dpkg --purge paquete si se quiere además borrar los ficheros de configuración. En ambos casos se indica el nombre del paquete, no del fichero .deb. Otras opciones útiles de dpkg son: #dpkg -I paquete.deb nos muestra información detallada sobre el paquete. (Creador, fecha de creación, descripción, etc.) #dpkg -c paquete.deb nos muestra la lista de ficheros contenidos en el paquete. 5.3.3. Obtención y compilación de paquetes fuente Debian También es posible descargar el código fuente de los paquetes Debian. Para ello debemos tener configurado el fichero sources.list con las líneas deb-src adecuadas. Por ejemplo: deb-src ftp://ftp.uk.debian.org/debian unstable main contrib nonfree Para descargar paquetes fuente se emplea la opción source de apt, siendo conveniente disponer de un directorio específico para realizar las descargas, como /usr/local/deb. Por ejemplo: #cd /usr/local/deb-src #apt-get source gtoaster La principal utilidad que tiene el descargar paquetes fuente para el usuario medio, es la posibilidad de compilar en un sistema stable paquetes de la rama unstable. Como se comentó más arriba, la instalación directa de paquetes binarios de la rama unstable en la stable provoca múltiples conflictos de dependencias que prácticamente pueden obligar a la actualización completa de la instalación a unstable, pero esto no suele ser deseable en sistemas en producción. Muchas de estas dependencias se resuelven si obtenemos el paquete de la rama unstable en formato fuente y lo compilamos dentro de la stable usando las librerías presentes en las mismas. No obstante, es posible que programas de la rama unstable necesiten versiones actualizadas de las librerías u otros programas. Este hecho es más probable cuanto más espacio temporal separe las ediciones estable e inestable de la distribución. En este caso es necesario obtener los paquetes fuente de las librerías o programas a actualizar y realizar el mismo proceso con éstos. 157 Capítulo 5. Instalación de programas A continuación se enumeran los pasos a seguir para obtener y compilar un paquete fuente. Se supone que trabajamos con una versión estable y que queremos obtener y compilar paquetes de la rama inestable. 1. Configuramos /etc/apt/sources.list con las direcciones donde encontrar paquetes fuente: deb-src ftp://ftp.uk.debian.org/debian unstable main contrib nonfree deb-src ftp://ftp.uk.debian.org/debian/non-US unstable/non-US main contrib non-free 2. Cambiamos al directorio adecuado y descargamos el código fuente del paquete a compilar: #cd /usr/local/deb-src #apt-get source paquete.deb Este proceso descarga tres ficheros por cada paquete: paquete.orig.tar.gz: código fuente original del programa, antes de ser modificado por el equipo de Debian.paquete.diff.gz: modificaciones realizadas por el equipo de Debian al código original. paquete.dsc: información administrativa sobre el paquete. Además, se habrá creado un directorio con el nombre del paquete donde se ha descomprimido el código y se han aplicado las modificaciones realizadas por Debian. 3. Para compilar cualquier programa se necesita tener instaladas librerías de desarrollo. Las librerías necesarias para compilar el paquete se mencionan el el fichero paquete.dsc o en el fichero paquete/debian/control en la línea encabezada con Build Depends: Si las versiones de estos paquetes están disponibles en la versión estable de la distribución, basta con instalarlos directamente con apt-get install En caso de que no dispongamos de alguna de las librerías o fuera necesaria una versión posterior, tendríamos que obtener el paquete fuente de esa librería y repetir el mismo proceso que estamos describiendo. 4. Compilamos el código fuente. Para ello entramos en el directorio del paquete y ejecutamos el comando dpkg-buildpackage: #cd paquete #dpkg-buildpackage Aquí debemos estar atentos a los posibles errores que en la mayoría de los casos se deben a la falta de algún programa de desarrollo (compilador, etc.) o de alguna de las librerías mencionadas anteriormente. Tras resolver el problema se vuelve a ejecutar el comando hasta que el proceso finalice correctamente. El paquete binario generado tiene extensión .deb y se escribe en el directorio superior, junto al fichero .dsc. 5. Instalar el paquete generado. Se hace, como vimos en el apartado anterior, con el comando dpkg --install, instalando así mismo aquellos paquetes de los que dependa y que imposibiliten su configuración. En este punto es posible que la dependencia de alguna versión más reciente de otro programa nos obligue a compilar ese programa desde el código fuente. Al igual que antes, esto es más probable cuando el tiempo que separa las distribuciones estabe e inestable es mayor. 5.3.4. Instalar paquetes con synaptic Synaptic es una aplicación gráfica que le permitirá instalar paquetes del modo más sencillo. Para lanzar la aplicación vaya a Aplicaciones−→Configuración−→Sistema−→Synaptic 158 Capítulo 5. Instalación de programas Synaptic Cuando accedemos a Synaptic nos encontramos con una ventana de aplicación típica del entorno gráfico en la que se distinguen los siguientes elementos: Barra de menú. Que contiene todas las opciones de la aplicación clasificadas bajo cinco entradas. Barra de menú Barra de herramientas Barra de herramientas Recargar: Consulta de nuevo a los repositorios y actualiza la lista de paquetes disponibles. Marcar todas las actualizaciones: Localiza los paquetes para los que hay versiones nuevas, excepto los que dependen de otros paquetes y los actualiza a la última versión disponible en los repositorios. Aplicar: Inicia el procedimiento para actualizar/instalar los paquetes seleccionados. Propiedades: Muestra las propiedades del paquete seleccionado. Buscar: Abre el diálogo de búsqueda 159 Capítulo 5. Instalación de programas Selector de categorías Selector de categorías. El selector de categorías del lado izquierdo permite clasificar los paquetes listados por categorías. Las siguientes categorías están disponibles: Secciones. Muestra los paquetes pertenecientes a la sección seleccionada Estado. Muestra los paquetes con el estado seleccionado Alfabético. Muestra los paquetes cuya letra inicial coincida con la seleccionada Filtro. Muestra los paquetes que coniciden con el criterio personalizado de selección Histórico de búsqueda. Muestra los resultados de la búsqueda seleccionada. Lista de paquetes La lista de paquetes muestra una lista de los paquetes de la categoría seleccionada. Para abrir el diálogo de propiedades del paquete seleccionado: Elija Paquete−→Propiedades en el menú o alternativamente pulse el botón Propiedades en la barra de herramientas. La ventana emergente tiene tres solapas: Común. Muestra la información básica del paquete: nombre, descripción corta, mantenedor, estado, prioridad, etiquetas y versión. Descripción. Muestra una extensa descripción del paquete Dependencias. Lista los paquetes requeridos, dependientes, proporcionados, sugeridos y recomendados. Veámos ahora cómo hacer algunas cosas habituales. 160 Capítulo 5. Instalación de programas 5.3.4.1. Actualización completa del sistema Pulse el botón Recargar a fin de que se actualice la lista de los paquetes disponibles en los repositorios. Pulse Marcar todas las actualizaciones Aparecerá una ventana de diálolo preguntándole que tipo de actualización desea: Actualización Actualización (Modernización) predeterminada. Este método se salta las actualizaciones que podría introducir conflictos o que requieran instalar paquetes adicionales. Equivale a la opción apt-get upgrade Actualización inteligente. Este método intenta resolver los conflictos y completar todas las dependencias instalado paquetes nuevos si fuera necesario. Equivale a la opción apt-get dist-upgrade. Una vez elegido el método de actualización se marcarán todos los paquetes que van a ser actualizados. Para iniciar la actualización pulse el botón Aplicar. Se le informará de todos los paquetes que serán instalados, actualizados y eliminados. Acepte. A continuación se descargarán desde Internet todos los paquetes necesarios, una vez descargados se procederá a su configuración. Una vez que haya terminado todo el proceso cierre la ventana. 5.3.4.2. Instalar una aplicación. Vamos a ilustrar con un ejemplo práctico la instalación de una aplicación en Guadalinex, no sin antes advertir que esta herramienta es de una indudable potencia y, usada sin precaución, podría dañar nuestro sistema. Supongamos que tenemos interés en editar ficheros PDF. Para ello necesitaremos un procesador de textos que tenga esa posibilidad, instalaremos Koffice. Iniciamos Synaptic en el cuadro de diálogo para las búsquedas Buscar introducimos koffice y, rápidamente se selecciona el programa mostrándonos sus características junto a una breve descripción de sus capacidades. Seleccionamos el paquete, hacemos clic con el botón derecho del ratón y seleccionamos Instalar en el menú contextual.3 161 Capítulo 5. Instalación de programas Marcar para instalación Si la instalación del paquete requiere que se instalen paquetes adicionales, como en este caso, se nos preguntará si deseamos también marcarlos para la instalación. Marcar recomendados Si deseamos marcarlos pulsamos el botón Marcar. Después pulsamos el botón Aplicar, aparecerá una ventana informativa con un resumen de las tareas que realizará Synaptic, a modo de advertencia. Finalmente, si todo es correcto, optaremos por Proceder y, ¡esto es todo! Synaptic nos informa del progreso y del origen de la descarga así como del proceso de instalación y configuración. Cuando termina su tarea, miramos en Debian−→Aplicaciones−→Editores y, ¡allí está Koffice! el menú Aplicaciones−→Menú Tan sólo tenemos que ejecutarlo, probarlo, utilizarlo y, si no nos convence, desinstalarlo. Synaptic ha trabajado por nosotros, localizando el programa, resolviendo las dependencias, descargando los archivos necesarios, descomprimiendo, instalando y configurando la aplicación, todo ello, de una forma transparente. Synaptic siempre nos pedirá que instalemos el/los paquete/s de que depende aquel que hemos marcado para la instalación. Además algunos paquetes indican otros paquetes como recomendados o sugeridos. La instalación de estos últimos no es obligatoria, pero si desea añadirlos al sistema 162 Capítulo 5. Instalación de programas 5.3.4.2.1. Repositorios Ya hemos tratado más arriba de los repositorios y hemos visto también cómo añadir o quitar repositorios del fichero /etc/apt/sources.list. Pues bien, synaptic provee también de un procedimiento para editar, añadir o quitar repositorios. Para abrir el editor de repositorios vaya a Configuración−→Repositorios Repositorios En la imagen podemos ver los elementos que debemos incluir cuando creamos o editados un repositorio:Deb, este elemento describe el tipo de repositorio. Los valores posibles son deb (Paquetes binarios de Debian) y deb-src (paquetes de fuente de Debian), URI http://http.guadalinex.org/debian/, el segundo elemento es la ubicación del repositorio. Lo más habitual es utilizar los protocolos HTTP y FTP. sarge el tercer elemento describe la distribución para la que lo paquetes están hechos. En este caso es un repositorio para la versión stable (sarge). main contrib non-free el cuarto elemento describe la/s sección/es del repositorio que deberían ser incluidas. Por omisión los repositorios se separan en main, contrib y non-free. En cada momento tendremos uno o varios repositorios activos, que son aquellos que aparecen con una marca en sus casilla de verificación. Podemos desactivarlo simplemente desmarcándolos y marcando unos nuevos. Después de esta operación debemos pulsar siempre el botón Recargar de la barra de herramientas a fin de actualizar la lista de paquetes disponibles. En general no es buena idea mezclar paquetes procedentes de distintas versiones de Debian.4 Para añadir repositorios desde un CD-ROM vaya el menú Editar−→Añadir−→CD-ROM 5.4. Otras formas de instalar programas Además de los paquetes .deb existen otras formas de instalar programas. Esencialmente hay otras dos formas: • A partir del código fuente, realizando nosotros el proceso de compilación. • A partir de binarios la compilados y que nosotros instalamos en el lugar elegido. 5.4.1. Instalación a partir del código fuente Normalmente los ficheros en código fuente vienen en formato .tar.gz; .tgz; tar.bz2 163 Capítulo 5. Instalación de programas Antes de ver cómo se instalan programas de este modo veamos cómo funciona el comando tar. Mediante el comando tar podemos empaquetar muchos ficheros (e incluso un árbol o árboles de directorios completos). La extensión normal para un fichero empaquetado con tar es .tar. Para crear un fichero tar de un directorio completo utilizamos el comando: tar -cf fichero.tar directorio Con esto creamos el fichero fichero.tar que contiene todo lo que cuelgue del árbol que empieza en directorio. Por ejemplo $tar -cf home.tar /home Estamos empaquetando (opción c) en el fichero home.tar el directorio /home con todo su contenido. Si quisiéramos restaurar el contenido del directorio escribimos $tar -xf home.tar y toro el árbol de directorios guardado se restaurará en la ubicación donde estemos. Una vez que tenemos un archivo tar normalmente lo comprimimos para que no ocupe tanto espacio, para ello $gzip home.tar de este modo obtendremos el fichero comprimido home.tgz. El proceso de empaquetado y compresión puede hacerse en un sólo paso con el comando $tar -czvf home.tar.gz /home Y lo descomprimiríamos con $tar -xzvf home.tar.gz Si queremos usar el algoritmo de compresión bzip2 que es más potente pero también un poco más lento utilizaríamos $tar -cjvf home.tar.bz2 /home Y para descomprimir $tar -xjvf home.tar.bz2 Veamos ahora como se instala un programa desde las fuentes. Para ello utilizaremos como ejemplo la instalación del programa nightfall, una aplicación interactiva de astronomía que puede generar animaciones de eclipses, curvas, velocidad radial, etc. El fichero fuente lo obtendremos de http://www.hs.uni-hamburg.de/DE/Ins/Per/Wichmann/Nightfall.html#down (>http://www.hs.uni-hamburg.de/DE/Ins/Per/Wichmann/Nightfall.html#down) Hacemos clic en el enlace Source code: nightfall-1.44.tar.gz y una vez en nuestra máquina lo desempaquetaremos con $tar -xzvf nightfall-1.44.tar.gz y vemos cómo se crea un directorio de nombre nightfall-1.44. Ahora nos vamos a ese directorio $cd nightfall-1.44 164 Capítulo 5. Instalación de programas Vemos que hay un fichero README con instrucciones sobre la instalación. Normalmente cuando instalamos desde la fuente debemos buscar un fichero cuyo nombre será README, INSTALL o LEAME conteniendo instrucciones para la instalación. Si leemos éste fichero veremos qué requerimientos debemos tener en nuestro sistema y los pasos para compilar e instalar el programa. En este caso necesitaremos el programa gnuplot que normalmente viene instalado con Guadalinex. La instalación de este programa la podemos hacer de dos formas: utilizando el script DoInstall.sh o manualmente. Si decidimos hacer la instalación automática entonces ejecutaremos como root: #./DoInstall.sh El proceso manual, que es el más frecuente en este tipo de instalaciones sería así. $./configure $make Este comando iniciará la compilación del programa. El resultado final será un fichero binario, qe podemos ejecutar desde el directorio donde hemos realizado la compilación. Si además queremos que el programa esté disponible para todos los usuarios ejecutaremos como root: #make install De este modo el fichero binario que acabamos de compilar se copiará en el directorio /usr/local/bin. Ahora cualquier usuario del sistema puede ejecutar la aplicación. Así podemos escribir: $nightfall -A -Db 0.9 80 1.0 0.7 4000. 5000. Ejecución de nightfall 5.4.2. Instalación a partir de binarios La instalación a partir de binarios es similar a la anterior, pero ahora no tenemos que compilar sino únicamente instalar los ejecutables de la aplicación. Para ver cómo se hace ésto instalaremos la aplicación Skype. Se trata de una aplicación de voz sobre IP que nos permitirá llamar a cualquier otra persona en cualquier lugar del mundo y hablar con ella de modo totalmente gratuito, siempre que tenga también este programa. 165 Capítulo 5. Instalación de programas Lo primero es descargar la aplicación de su (http://www.skype.com/intl/es/products/skype/linux/) pinchando en el binario dinámico. Una vez tenemos la aplicación en nuestra máquina ejecutamos: página enlace oficial Tar.bz2 $tar xjvf skype-1.2.0.18.tar.bz2 Esto creará el directorio skype-1.2.0.18. Para ejecutar la aplicación no tenemos más que escribir $/skype-1.2.0.18/skype Ahora bien si queremos hacer una instalación más elegante de modo que esté disponible para todos los usuarios, nos registramos como root y escribimos: #cp skype-1.2.0.18.tar.bz2 /usr/local #cd /usr/local #tar -xjvf skype-1.2.0.18.tar.bz2 #ln -s /usr/local/skype-1.2.0.18/skype /usr/local/bin/skype De este modo cualquier usuario podría ejecutar skype con tan sólo escribir en una terminal #skype Si queremos añadir un acceso directo en el escritorio, nos vamos a cualquier lugar vacío del mismo, hacemos clic con el botón derecho del ratón y elegimos Crear un lanzador y rellenamos los campos de este modo: Nombre: Skype Comando: skype Para añadirle un icono pulsamos en el botón Icono y buscamos y seleccionamos el icono del tamaño que más nos guste. Ahora haciendo doble clic sobre el icono del escritorio ejecutaremos la aplicación. /usr/local/skype-1.2.0.18/icons 5.5. El emulador Wine Wine es un programa que nos permite ejecutar aplicaciones de Windows™ desde Linux. Este programa está en constante evolución y la última versión que hemos podido probar es realmente muy potente. Sin embargo no está disponible para la versión sarge de Debian y su instalación puede dejar el sistema bastante inestable. No obstante si quiere experimentar con ella añada a su fichero /etc/apt/sources.list las las siguiente líneas. deb http://wine.sourceforge.net/apt/ binary/ deb-src http://wine.sourceforge.net/apt/ source/ deb http://ftp.fi.debian.org/debian/ testing main contrib non-free Ejecute como de costumbre: #apt-get update #apt-get install wine Sin embargo en esta sección nos basaremos en la última versión Wine existente en los repositorios de Guadalinex, con lo cual no necesita hacer ninguna modificación a su fichero sources.list Veremos a título de ejemplo cómo ejecutar la aplicación HotPotatoes5. Lo primero será actualizar Wine a la última versión disponible: 166 Capítulo 5. Instalación de programas #apt-get update #apt-get install wine La aplicación puede instalarse sin necesidad de ser root. En este caso únicamente estará disponible para el usuario que la instale. Para que HotPotatoes funcione correctamente necesitaremos tener instalada una versión de Wine igual o superior a la 20041201. Para comprobar qué versión de Wine tenemos instalada abra una terminal (no es necesario que sea de root) y teclee $wine --version Obtendrá una salida similar a ésta, indicándole la versión instalada Wine 20041201 Wine exited with a successful status A continuación nos dirigiremos a la página web de HotPotatoes (http://hotpot.uvic.ca/) y pinchamos en Downloads. En la página que aparece busque el enlace que reza: Hot Potatoes for Linux users running Wine (version 6.0.4; this is a zip file containing the folder structure of the Windows version of Hot Potatoes. You can extract this to create the HotPot program folder without running the setup program if you prefer). El uso de Hot Potatoes es gratuito para particulares y para instituciones educativas sin ánimo de lucro a condición de que los materiales que se elaboren con este programa se distribuyan gratuitamente a través de la WWW a toda persona interesada. Si ha hecho todo correctamente habrá descargado en su directorio personal el fichero wine_hotpot60.zip. Para instalar la aplicación proceda así: 1. Abra el explorador de ficheros Nautilus. 2. Busque el fichero wine_hotpot60.zip 3. Haga doble clic sobre él a fin de descomprimirlo 4. Pulse el botón Extraer. 5. En la ventana de diálogo que aparece pulse un nuevo botón Extraer Esto habrá creado una carpeta en su directorio personal con el título hotpotatoes6. Si es así ya tiene HotPotatoes instalado. Para ejecutar la aplicación recién instalada abra una terminal (no es necesario que sea de root) y escriba $wine hotpotatoes6/HotPot.exe 167 Capítulo 5. Instalación de programas HotPotatoes Notas 1. En español, el nombre del proyecto es una palabra llana, así que se pronuncia "Dé-bian", con acento en la e. La palabra es la contracción de los nombres Debra, esposa de Ian Murdock) e Ian Murdock, quienes fundaron el proyecto. 2. En el pasado se utilizaron otros nombres clave para las distintas versiones: buzz para Debian 1.1, rex para Debian 1.2, bo para Debian 1.3.x, hamm para Debian 2.0, slink para Debian 2.1, potato para Debian 2.2, y woody para Debian 3.0. Como puede ver son todos nombres de personajes de la película Toy Story, de los estudios de animación Pixar. 3. Algunos paquetes indican otros paquetes como recomendados o sugeridos. La instalación de estos últimos no es obligatoria, pero si desea añadirlos al sistema seleccione las opciones Marcar recomendados para la instalación, Marcar sugeridos para la instalación 4. Actualmente tampoco suele dar buen resultado mezclar los repositorios sarge de Guadalinex con la rama stable oficial Debian. Tal vez se pregunte ¿por qué no si ambas son la misma versión de Debian? Porque los repositorios Guadalinex no están actualizados a la última versión sarge de Debian. Esta situación es reversible y es posible que en el momento en que se escriben estas líneas el equipo de desarrollo de guadalinex haya hecho una puesta en forma. 5. Actualmente el equipo de desarrollo de HotPotatoes está trabajando en una versión Java de la aplicación, que permitiría ejecutarla en cualquier plataforma que contase con la máquina virtual Java. Lo que en la práctica significaría que no sería necesario ningún tipo de emulación. 168 Capítulo 6. APACHE, PHP y MYSQL 6.1. Introducción La combinación del servidor web Apache, el servidor de bases de datos MySQL y el lenguaje PHP ha adquirido en la actualidad un protagonismo creciente, pues sirve de base para la instalación de multitud de gestores de contenidos y plataformas de formación en línea. Este capítulo no puede ser un estudio detallado de los mencionados servidores. Tal propósito sería más propio de un curso de administración de redes con GNU/Linux. Se tratarán únicamente aquellos aspectos y configuraciones que le permitan tener una plataforma disponible para el soporte de diversos gestores de contenidos y plataformas de formación en línea. Incluso esto último podría ser innecesario si en vez de administrar su propio servidor en el Centro, se dispone a contratar un alojamiento (hosting). Algunos de estos alojamientos tales como Lo Mejor de Internet (http://www.lomejordeinternet.net/) le permitirán instalar gestores de contenidos, blog, foros, etc. con tan sólo un par de clics de ratón por un precio bastante moderado. Así pues, nuestro propósito es introducirle en la administración de servidores de Internet con GNU/Linux, sin embargo las configuraciones aquí tratadas aunque sencillas son plenamente funcionales. Antes de comenzar con la instalación y configuración de los servicios anunciados permítanos unas líneas sobre gestores de contenidos y sistemas de aprendizaje en línea. 6.2. CMS (Content Management System) Frente a las clásicas páginas web de Centro que una o varias personas debían mantener con la sobrecarga de trabajo que ello supone y el riesgo de falta de actualización, un Sistema de Gestión de Contenido (Content Management System, en inglés, abreviado CMS) permite la creación y administración de contenidos principalmente en páginas web. Consiste en una interfaz que controla una o varias bases de datos donde se aloja el contenido del sitio. El sistema permite manejar de manera independiente el contenido por una parte y el diseño por otra. Así, es posible manejar el contenido y darle en cualquier momento un diseño distinto al sitio sin tener que darle formato al contenido de nuevo, además de permitir la fácil y controlada publicación en el sitio a varios editores, lo que los hace idóneos para construir mediante ellos la página web del Centro. La multitud de diferentes CMS existentes se pueden agrupar en las siguientes categorías: • Foros. Crea un foro de discusión en línea donde la gente se puede reunir y discutir temas en los que están interesados. • Blogs. Publica noticias o artículos que no pueden ser editados, pero que tienen un espacio para comentarios y discusión. • Wikis. Todo el mundo puede colaborar en los artículos y también permite espacio para discusiones. Indicado para material que irá evolucionando con el tiempo. • Portales. Sitios que combinan varias características para crear una comunidad en línea. Básicamente, un foro y un blog conjuntamente, y algunas veces espacio para artículos que no son noticias. Algunos de los CMS de código abierto más utilizado son: • Action Applications. (PHP) 169 Capítulo 6. APACHE, PHP y MYSQL • Apache Lenya. (Java/XML) • CMS Contenido. (PHP) • DotNetNuke. (.NET) CMS desarrollado en .NET, gratis y con fuentes.1 • Drupal. (PHP) • Jaws. (PHP) • Joomla. http://www.joomlaos.net/ (http://www.joomlaos.net/) (PHP) Versión surgida de Mambo de codigo abierto, independiente de aquel. • Mambo. http://www.mambohispano.org/ (http://www.mambohispano.org/) (PHP) CMS muy fácil de usar, pero con posibilidades un poco limitadas. • NukeET. (PHP) CMS totalmente en español basado en el PHP-Nuke. • Openflavor. (PHP) Gestor de contenidos web en castellano. • OpenCMS. (Java) • PHP REGION N. (PHP) Un cms al estilo php-nuke pero desarrollado totalmente en español. • Plone. (Zope/Python) • PHP-Nuke. http://phpnuke.org/ (http://phpnuke.org/) (PHP) • POC-CMS. (PHP) CMS totalmente desarrollado en español basado en el PHP REGION N • Postnuke. (PHP) CMS modular de código libre bajo licencia GNU/GPL • Sa.Bros.us. Gestor de enlaces totalmente en castellano, del estilo a del.icio.us. • SPIP. (PHP) Gestor de Contenido de licencia libre • Textpattern. (PHP) • TikiWiki. (PHP) • Typo3. (PHP) CMS muy potente, pero muy difícil de utilizar pues utiliza un lenguaje de scripts para las plantillas. • WordPress. Portal para blogs. • Xaraya. (PHP). Es un CMS bastante potente y general, aunque con una elevada curva de aprendizaje. • XOOPS. http://www.xoops.org/ (http://www.xoops.org/) (PHP) CMS modular. En http://www.opensourcecms.com/ o en http://www.cmsinfo.org/ puede encontrar una lista completa de los CMS de código abierto clasificados con diversos criterios. En este capítulo veremos cómo instalar Joomla. 6.3. LMS (Learning Management System) Un Sistema de Gestión de la Enseñanza (LMS en inglés) es una apliación, normalmente basada en web, usada para proyectar, implementar y evaluar procesos de aprendizaje. Típicamente un LMS permite crear y entregar contenidos, monitorizar la participación de los estudiantes, y evaluar el proceso de enseñanza-aprendizaje. A menudo cuenta con la posibilidad de incorporar herramientas interactivas tales como mensajería, chats, video conferencia y foros de discusión. Algunos de los LMS de código abierto más populares son: Claroline (http://www.claroline.net/), Dokeos (http://www.dokeos.com/), ILIAS (http://www.ilias.de/ios/index-e.html) y Moodle (http://moodle.org/). En este capítulo veremos cómo instalar Moodle. 170 Capítulo 6. APACHE, PHP y MYSQL 6.4. El servidor web Apache 6.4.1. Instalación Apache es actualmente el servidor web más utilizado en el mundo. Su potencia, fiabilidad y sencillez de configuración lo hacen sin duda un fuerte rival para sus competidores. La actual serie del veterano servidor web es Apache2 y es ésta la que vamos a instalar. Apache2 se presenta en Debian en diferentes versiones dependiendo de cuál sea el Módulo de Multiproceso (Multi-Processing Modules, MPM) de que haga uso. Así tenemos diferentes paquetes como candidatos a la instalación: apache2-mpm-worker apache2-mpm-threadpool apache2-mpm-prefork apache2-mpm-perchild El significado en detalle de cada uno de estos paquetes escapa a este capítulo, dígamos sólo lo esencial. Apache2 basa su arquitectura en módulos multiproceso (Multi-Processing Modules). Con ellos podemos cambiar la forma en que el servidor Web inicia los procesos y atiende las solicitudes. En esencia nos interesan dos de estos módulos: • El módulo worker. Este Módulo de MultiProcesamiento (MPM) implementa un servidor híbrido multiproceso-multihilo. Usando hilos para atender peticiones, el servidor puede servir un mayor número de peticiones con menos recursos de sistema que un servidor basado únicamente en procesos. No obtante, se mantiene casi por completo la estabilidad de un servidor basado en procesos manteniendo la capacidad multiproceso, pudiendo cada proceso tener muchos hilos. Es considerablemente más rápido que el modelo tradicional de multiproceso. Es una buena elección para servidores con mucho tráfico y es el recomendado. • El módulo prefork. Este Módulo de MultiProcesamiento(MPM) implementa un servidor web sin hilos que trata las peticiones de una manera similar a como lo hacía Apache 1.3. Es decir, para cada solicitud al servidor Web se inicia un proceso hijo que la atiende. Este módulo hace al servidor Web más lento pero considerablemente más estable. Por otra parte apenas si requerirá modificar las directivas de configuración. El paquete apache2 es un paquete virtual que instalará por defecto apache compilado con el módulo de multiproceso worker. Así que con la órden: #apt-get install apache2 se instalaría apache worker. Nosotros en cambio vamos a ser un poco mas conservadores y trabajaremos con apache compilado con el módulo de multiprocesamiento prefork. Para ello ejecutamos: #apt-get install apache2-mpm-prefork apache2-doc El único paquete fundamental es el primero. El segundo (apache2-doc) es la documentación que acompaña al programa. En general el servidor web se inciará de forma automática y se crearan las entradas adecuadas en los scripts de arranque. Si esto no ocurre ejecutaremos: #/etc/init.d/apache2 start 171 Capítulo 6. APACHE, PHP y MYSQL para iniciar el servidor2 y #update-rc.d apache2 defaults para añadir las entradas necesarias para que el servidor web se inicie automáticamente cuando arranque la máquina. Una vez instalado puede comprobar que funciona con tan solo escribir en la barra de direcciones del navegador http://localhost3. Verá entonces una página como ésta: Bienvenida de Apache En la página econtrará un enlace con el título Documentación, pulse en él para aprender todo sobre el servidor Apache. Si quiere tener una información completa de las características del servidor recién instalado ejecute: # apache2 -V Server version: Apache/2.0.51 Server built: Sep 18 2004 17:21:03 Server’s Module Magic Number: 20020903:9 Architecture: 32-bit Server compiled with.... -D APACHE_MPM_DIR="server/mpm/prefork" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D HTTPD_ROOT="" -D SUEXEC_BIN="/usr/lib/apache2/suexec2" -D DEFAULT_PIDLOG="/var/run/httpd.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_LOCKFILE="/var/run/accept.lock" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types" -D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf" Como puede ver por la salida del comando su servidor ha sido compilado con el módulo prefork. También puede ver que el fichero de configuración del servidor es /etc/apache2/apache2.conf 172 Capítulo 6. APACHE, PHP y MYSQL 6.4.2. Configuración El archivo de configuración principal es /etc/apache2/apache2.conf En el subdirectorio /etc/apache2 se encuentran además los ficheros magic. lo normal es que no tengamos que modificar este fichero nunca. Contiene los datos del módulo mod_mime_magic que es capaz de determinar el tipo MIME de un fichero. ports.conf contiene las directivas de configuración para los puertos y direcciones IP en que escucha el servidor y los directorios mods-available/ contiene las directivas para cargar y configurar los módulos que usa Apache, mods-enable/ contiene enlaces simbólicos al directorio mods-available.sites-available/ contiene directorios de configuración para hosts virtuales, sites-enabled/ contiene enlaces simbólicos a los lugares sites-available que deseamos activar. Para el propósito que perseguimos apenas si tendremos que modificar estos ficheros de configuración. Apache buscará los contenidos a servir en el directorio /var/www/apache2-default. Es en este directorio donde debemos situar nuestras páginas. Podemos crear aquí también subdirectorios que tendrán que tener permisos de lectura y ejecución para todo el mundo si queremos que sean accesibles. El directorio donde Apache buscará los contenidos está indicado en la directiva DocumentRoot. Salvo que tengamos que crear hosts virtuales no será necesario modificarla. 6.5. PHP PHP es un lenguaje de script que se ejecuta en el servidor web y permite que las páginas sean dinámicas. Nos permite entre otras cosas acceso a base de datos. Este es el soporte de sistemas como los CMS de que hablamos más arriba. Para que nuestro servidor web sea capaz de interpretar y ejecutar las páginas php necesitaremos instalar los módulos necesarios. Para ello ejecute la órden: #apt-get install libapache2-mod-php4 El proceso de instalación reinciará automáticamente el servidor apache para que lea la nueva configuración. En caso de que esto no ocurriera ejecute: #apache2ctl graceful Para comprobar que nuestro servidor es capaz de interpretar el lenguaje PHP crearemos una página y trataremos de verla funcionado. Lo primero es "limpiar" el directorio de las páginas de comprobación que se instalan por defecto. #cd /var/www/apache2-default #rm -f * Ahora crearemos nuestra página php #gedit index.php Ahora en el editor gedit escriba esto: <html> <head><title>PHP Test</title></head> <body> <?php echo "GNU/Linux es chachi<P>"; ?> 173 Capítulo 6. APACHE, PHP y MYSQL <?php phpinfo(); ?> </body> </html> Finalmente escriba en la barra de direcciones de su navegador http://localhost y obtendrá un resultado parecido a éste Comprobar PHP Lo que significa que su servidor está listo para interpretar páginas php. El fichero de configuración de php es /etc/php4/apache2/php.ini Son también pocas las cosas que tenemos que cambiar aquí para nuestros propósitos. 6.6. El sevidor de bases de datos MySQL Para instalar el servidor escriba: #apt-get install mysql-server Como además necesitamos que php pueda interactuar con mysql server instalaremos el módulo adecuado: apt-get install php4-mysql La estructura de mysql es bastante simple y, a la vez, muy potente. En principio un servidor puede servir una o varias bases de datos identificadas por un nombre, cada base de datos consta de una o varias tablas, a su vez cada tabla consta de uno o varios registros. Por otro lado tenemos los usuarios del servidor con sus privilegios: un usuario puede tener permisos en una o varias bases de datos, dentro de cada una de ellas el usuario puede tener permisos de sólo consulta o también de creación/modificación de tablas y registros. Y por encima de todos los usuarios está el administrador (root) del servidor. No debemos confudir el usuario root del servidor mysql con el root de la máquina, se trata de usuarios distintos. Inicialmente cualquiera puede conectarse al servidor MySQL y crear y modificar bases de datos. Así que lo primero que tenemos que hacer es asignar al root (administrador del servidor MySQL) una contraseña de acceso. Podemos conseguirlo de diferentes modos, uno de ellos es: # mysqladmin -u root password 12345 174 Capítulo 6. APACHE, PHP y MYSQL donde 12345 es la contraseña que queremos asignar al root del servidor. Si más adelante queremos cambiar la contraseña del root escribimos # mysqladmin -u root -p password 7890 donde 7890 es la nueva contraseña para el administrador. Se nos pedirá en este caso la antigua contraseña. Existe un modo muy cómodo de administrar un servidor MySQL que consiste en utilizar la aplicación phpmyadmin 6.6.1. PHPMyAdmin Se trata de un conjunto de scripts de php que permiten gestionar bases de datos MySQL usando un navegador web. Lo primero que tenemos que hacer es descargarla de la web http://prdownloads.sourceforge.net/phpmyadmin/phpMyAdmin-2.7.0-pl2.zip?download. Una vez descargada ejecutamos los comandos: # # # # cp /home/usuario/phpMyAdmin-2.7.0-pl2.zip /var/www/ cd /var/www/ unzip phpMyAdmin-2.7.0-pl2.zip mv phpMyAdmin-2.7.0-pl2 phpmyadmin Donde /home/usuario/ es el lugar dónde hemos descargado el paquete. Usaremos unzip si descargamos el fichero .zip; si nos descargamos otro formato comprimido tal como tar.bz2 usaremos el comando apropiado. Por último, es recomendable cambiar el nombre del directorio que contiene PHPMyadmin. A continuación creamos el fichero de configuración copiando el que viene como demostración. # cp config.default.php config.inc.php Y lo editamos con gedit: # gedit phpmyadmin/config.inc.php Cambiamos simplemente la línea $cfg[’Servers’][$i][’auth_type’] = ’config’; // Authentication method (config, http or cookie ba Para que tenga este aspecto: $cfg[’Servers’][$i][’auth_type’] = ’http’; // Authentication method (config, http or cookie base Escriba ahora en la barra de direcciones del navegador http://localhost/phpmyadmin Le aparecerá una ventana de diálogo preguntándole por un nombre de usuario y contraseña. Ponga aquí como nombre de usuario root, y como contraseña la que asignó al administrador del servidor en el paso anterior. 175 Capítulo 6. APACHE, PHP y MYSQL PHP MyAdmin 6.7. Instalación de Joomla Joomla es quizá uno de los CMS más populares. En este apartado veremos cómo instalarlo. Para lo que sigue supondremos la siguiente situación: queremos desarrollar nuestro sitio web enteramente con joomla, del tal modo que al escribir http://localhost en la barra de direcciones del navegador nos aparezca. Al mismo tiempo queremos instalar la plataforma de formación en línea Moodle en un directorio aparte de tal modo que nos aparezca cuando escribamos en el navegador http://localhost/aula Lo primero es descargar la última versión de Joomla 4en la dirección de su sitio web (http://developer.joomla.org/sf/frs/do/viewRelease/projects.joomla/frs.joomla_1_0.1_0_7) y descargaremos el paquete Joomla_1.0.7-Stable-Full_Package.tar.bz2. Antes de nada podemos "limpiar" el DocumentRoot del servidor # rm -f * /var/www/apache2-default/ Ahora copiamos el paquete al lugar adecuado. # cp /home/usuario/Joomla_1.0.7-Stable-Full_Package.tar.bz2 /var/www/apache2-default/ # cd /var/www/apache2-default/ # tar xjvf Joomla_1.0.7-Stable-Full_Package.tar.bz2 Simplemente hemos copiado el paquete desde el lugar donde estuviera descargado y lo hemos descomprimido en el DocumentRoot de apache Ahora tenemos que preparar y configurar Joomla. Lo primero será crear una base de datos. Podemos hacerlo directamente desde una terminal o utilizando el programa phpmyadmin. Esta vez lo haremos de forma sencilla. Abra un navegador cualquiera y escriba en la barra de direcciones http://localhost/phpmyadmin/. Utilice el cuadro de texto Crear una nueva base de datos. Escriba aquí cualquier nombre para su base de datos, por ejemplo joomla5. Pulse el botón Crear. Nuestra base de datos está creada. Ahora debemos crear un usuario con privilegios completos sobre esa base de datos. Pulse ahora el icono en forma de casita que hay en el margen izquierdo de la página. Busque en la parte derecha de la página el enlace Privilegios y púlselo. En la página que aparece pulse el enlace Agregar nuevo usuario 176 Capítulo 6. APACHE, PHP y MYSQL Usuarios en la base de datos Rellene ahora los campos de texto Nuevo usuario En nombre de usuario escriba cualquier nombre, por ejemplo web. En servidor escriba localhost. En contraseña escriba la contraseña, por ejemplo vgu34. Escríbala de nuevo en el campo Debe volver a escribir. No marque ninguna otra casilla y pulse al pie de la página en Continuar. En la página que aparece vaya al título Privilegios específicos para la base de datos. En la lista desplegable Añadir privilegios a esta base de datos seleccione joomla. Aparecerá una nueva página. En el título Privilegios específicos para la base de datos pulse en enlace Marcar todos. Y después el botón Continuar. Privilegios en la base de datos 177 Capítulo 6. APACHE, PHP y MYSQL Bien, ya hemos terminado de configurar la base de datos para Joomla. Recuerde este procedimiento porque será igual para cualquier CMS o LMS que quiera instalar en el sistema. Pasamos entonces a la configuración de Joomla. Escriba en la barra de direcciones de su navegador http://localhost Aparecerá una página como ésta: Inicio de la instalación de Joomla En esta página el instalador comprueba si todo es correcto para el buen funcionamiento de Joomla. Debemos hacer los cambios necesarios para que casi todos los mensajes de estado aparezcan en verde. Allá vamos El primer mensaje de error que nos encontramos es éste: MySQL support Unavailable Esto significa que el servidor apache no soporta la interacción con mysql. Pero... ¡cómo! si acabamos de instalar el módulo de interacción php-mysql. Efectivamente, pero no le hemos dicho al servidor apache que lea la nueva configuración. Ejecutemos # apache2ctl graceful Pulse ahora el botón de Recargar/Actualizar de su navegador y verá como este mensaje de error desaparece. El siguiente mensaje de error es: configuration.php Unwriteable Lo que significa que el fichero de configuración de Joomla (configuration.php) no es escribible. Este no es un error fatal pues podemos continuar con la instalación y al final copiar el código y guardarlo con el nombre configuration.php, y esto es lo que haremos. A continuación nos aparecen varios mensajes de error relacionados con los permisos sobre ciertos directorios. Debemos cambiar los permisos para que todos los mensajes aparezcan en verde. #cd /var/www/apache2-default/ #chmod 777 administrator/backups administrator/components administrator/modules administrator/templates cache components images images/banners images/stories/ language mambots/ mambots/content mambots/content mambots/editors mambots/editors-xtd mambots/search media modules templates Importante: Si quiere ahorrarse la molestia de tener que teclear todo esto, seleccione el texto de más arriba (sin incluir el símbolo #), pulse Ctrl+C, abra una terminal de root y vaya al menú Editar/Pegar y pulse intro. Verá como se cambian los permisos a los directorios. 178 Capítulo 6. APACHE, PHP y MYSQL Pulse ahora el botón Recargar/Actualizar del navegador, o el enlace Check Again en la parte superior derecha de la página y verá como todo (a excepción del mensaje sobre configuration.php) aparece en verde. Podemos continuar con la instalación, para ello pulse el botón Next en la parte superior derecha de la página. Se nos muestra la licencia con que se distribuye Joomla. Pulsamos Next para pasar a la siguiente página. En esta página rellenamos los campos de texto de acuerdo con la base de datos que creamos más arriba. HostName (Hombre del servidor): localhost MySQL User Name (Usuario de la base de datos): web MySQL Password (contraseña para el usuario de la base de datos): vgu34 MySQL Database Name (nombre de la base de datos): joomla Conexión con la base de datos Y dejamos todo lo demás como está. Nos aparecerá entonces una página preguntándonos por el nombre de nuestro sitio Nombre del sitio Escriba aquí un nombre para su sitio, por ejemplo IES Cura Valera (lo que ponga aquí aparecerá en la barra de título del navegador). Pulse ahora Next. En la página que aparece deje todo como está a excepción de Your e-mail: Ponga aquí una dirección de correo. Admin password: escriba aquí la contraseña que utilizará para administrar su sitio web. 179 Capítulo 6. APACHE, PHP y MYSQL Final de la instalación de Joomla Ya hemos instalado Joomla!. Necesitamos hacer un par de cosas para dejarlo completo. La primera es crear el fichero configuration.php Para ello seleccionamos el código que aparece en una ventanita en la página y que comienza con <?php Pulsamos la combinación de teclas Ctrl+C a fin de copiarlo. Abrimos una terminal de root y escribimos: # cd /var/www/apache2-default # gedit configuration.php Pulsamos Ctrl+V a fin de pegar el texto y pulsamos el botón Guardar. Cerramos el editor gedit. Finalmente y por motivos de seguridad borramos el directorio installation # rm -Rf installation/ Volvemos ahora a la página que teníamos abierta en el navegador y pulsamos el botón Administration. Se nos pedirá el nombre de usuario y contraseña del administrador de nuestro sitio web joomla. Como nombre de usuario utilizaremos admin, como contraseña la que pusimos durante la instalación. Podemos crear ahora secciones, categorías, noticias, galerías, etc... en fin todo lo que constituye un moderno sitio web. Para configurar nuestro sitio accederemos siempre con http://localhost/apache2-default/administrator/ 6.8. Moodle 6.8.1. Descargar y copiar los ficheros de Moodle en el lugar apropiado La instalación de Moodle funciona de un modo similar. Lo primero es descargar la última versión stable de Moodle. Para ello vamos a la página oficial (http://download.moodle.org/?lang=en) y descargamos Latest Release 1.5.3 en formato tgz (o zip) Vamos a instalar moodle de tal modo que tengamos acceso a través de http://localhost/aula Para ello abrimos una terminal de root y escribimos # mkdir /var/www/aula Descomprimimos ahora el fichero que contiene moodle, lo hacemos como usuario normal desde el directorio donde lo descargamos. 180 Capítulo 6. APACHE, PHP y MYSQL $ tar xzvf moodle-1.5.3.tgz Esto creará un directorio con el nombre moodle. Ahora como root lo copiamos al lugar adecuado. $ su # cp -R moodle/* /var/www/aula 6.8.2. Configurar el servidor apache Moodle requiere para su buen funcionamiento que se añadan al fichero de configuración de Apache algunas directivas: # gedit /etc/apache2/apache2.conf Añadiremos la línea: AcceptPathInfo on Al principio del fichero justo después de la directiva ServerRoot. Guardamos los cambios y cerramos gedit. Moodle requiere también para funcionar que PHP esté bien configurado. En la mayor parte de los servidores no habrá que hacer modificación alguna. Para comprobarlo edite el fichero /etc/php.ini y compruebe que los siguientes parámetros son correctos: magic_quotes_gpc = On magic_quotes_runtime = Off file_uploads = On session.auto_start = 0 En la instalación por defecto en Guadalinex estos parámetros son correctos y no es necesaria modificación alguna. Una vez haya hecho las modificaciones oportunas ejecute: #apache2ctl graceful 6.8.3. Crear una base de datos Creamos una base de datos y un usuario con privilegios en ella de un modo similar a como hicimos para el caso de Joomla. En aquel momento vimos cómo hacerlo utilizando el gestor PHPMyAdmin. Vamos a hacerlo ahora con el cliente mysql en línea de comandos. #mysql -u root -p Se nos pedirá la contraseña del administrador del servidor Mysql Una vez suministrada la contraseña nos aparecerá un intérprete de comandos vacío indicado por el símbolo > Lo primero es crear una base de datos y asignarle un nombre, por ejemplo moodle >CREATE DATABASE moodle; Una vez escrito esto pulsamos la tecla Intro. La base ya está creada. Seguimos escribiendo: 181 Capítulo 6. APACHE, PHP y MYSQL > GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON moodle.* TO usuario@localhost IDENTIFIED Donde usuario es el nombre del usuario con privilegios en esa base de datos, por ejemplo aula. Y contraseña es la contraseña para ese usuario, por ejemplo, virtual2.Finalmente: >quit para abandonar la base de datos. Después de ésto debemos hacer que el servidor mysql lea la nueva base: # mysqladmin -u root -p reload 6.8.4. Crear un directorio para los datos Moodle necesitará un espacio en el disco duro del servidor para almacenar los ficheros y directorios subidos como parte de la documentación de los cursos. Por razones de seguridad lo mejor es que este directorio no sea accesible directamente por el servidor web. La forma más sencillo de conseguir esto es simplemente situarlo fuera del directorio del servidor web, lo que en nuestro caso significaría situarlo fuera de /var/www. Para ello ejecutaremos: # mkdir /var/moodledata Siendo moodledata el directorio donde moodle colocará los ficheros subidos, por supuesto puede emplear otro nombre para este directorio. También tenemos que asegurarnos que apache tendrá permisos de lectura, escritura y ejecución en este directorio. Esto significa que el propietario del directorio tiene que ser el usuario con cuya identidad se ejecuta el servidor apache. En nuestro caso apache se ejecuta con la identidad del usuario www-data y del grupo www-data. Así que para ajustarnos a la configuración que necesita Moodle ejecutaremos: #chown www-data.www-data /var/moodledata/ A fin de cambiar el propietario y el grupo del directorio.6 6.8.5. Ejecutar el script de instalación de Moodle Para iniciar el proceso de instalación y configuración de Moodle abra un navegador y escriba en la barra de direcciones: http://localhost/aula/install.php A partir de aquí seguiremos las instrucciones. Elección del idioma 182 Capítulo 6. APACHE, PHP y MYSQL Lo primero es elegir el lenguaje. En la lista desplegable seleccionamos Español (España). Pulsamos el botón Next. Nos encontraremos aquí con una pequeña dificultad, y es que no disponemos de la librería GD. Se nos avisa con un mensaje de Precaución. Moodle usa la librería GD para manipular imágenes tales como las fotos que suben los usuario u otras imágenes que queremos colocar en los cursos. Este pequeño escollo se soluciona instalando el paquete php4-gd # apt-get install php4-gd # apache2ctl graceful Para comprobar que todo ha ido bien, regresamos a la página anterior pulsando en el botón Anterior y una vez allí pulsamos Next/Siguiente para que se vuelva a ejecutar la comprobación. Esta vez el mensaje de precaución habrá desaparecido. Comprobando PHP Pulsamos entonces Siguiente. En la siguiente página se nos preguntará por la dirección de nuestro servidor web, por el directorio donde se encuentra moodle, y por el directorio donde se situarán los ficheros subidos como parte de la documentación de los cursos. El proceso de instalació tratará de detectar automáticamente estos parámetros. Habitualmente únicamente tendremos que cambiar el campo Datos para que refleje el directorio adecuado, en nuestro caso /var/moodledata Rutas de Moodle Pulsamos Siguiente. Ahora se nos pedirán los datos necesarios para localizar el servidor MySql y la base de datos creada para alojar nuestro moodle. 183 Capítulo 6. APACHE, PHP y MYSQL Conexión con MySQL Rellenamos los campos del siguiente modo: Tipo:mysql Servidor:localhost Base de datos: moodle usuario: aula # que fue el usuario que creamos anteriormente # para la base de datos moodle contraseña: virtual2 #que fue la contraseña que pusimos al usuario aula Prefigo de tablas: mdl_ Pulsamos Siguiente. Ya hemos realizado la primera parte de la instalación de Moodle que culmina con la creación del fichero config.php En la mayoría de los casos no se habrá podido crear este fichero automáticamente, así que lo más apropiado es descargarlo al disco duro y copiarlo al lugar adecuado. Para ello pulse el botón Descargar y guárdelo en su disco. Ahora como root escriba: #cp /home/usuario/config.php /var/www/aula Donde /home/usuario es el directorio donde descargó el fichero. 6.8.6. Configuración de Moodle Vuelva a su navegador y pulse el botón Continuar. Si lo cerró no se preocupe, simplemente escriba http://localhost/aula. La primera vez que se accede a la página de administración se nos presentará la Licencia GPL, debemos aceptar la licencia para continuar con el proceso de instalación. 184 Capítulo 6. APACHE, PHP y MYSQL Licencia Una vez aceptada la licencia el proceso de instalación tratará de poblar la base de datos creando las tablas y registros apropiados si todo a ido bien verá varios mensajes en verde con el título Exito. Al final de la página encontrará un botón Continuar, púlselo. Se nos informa de la versión de Moodle que estamos instalando (1.5.3+). Pulse Continuar. Se nos preguntará ahora por una serie de variables que determinarán el comportamiento del sitio. Todas las variables están perfectamente explicadas. Puede dejarlas tal cual están, más adelante podrá volver a esta página para modificar lo que necesite. Vaya al pie de la página y pulse el botón Guardar cambios 6.8.7. Instalación de módulos y actualización de la base de datos A continuación comienza la instalación de los módulos. Si todo ha ido bien verá una serie de mensajes en verde con el título Exito. Vaya al pie de la página y pulse Continuar. Finalmente se procede en varias pantallas a la actualización de las bases de datos. Volverá a ver una serie de mensajes con el título Exito Bases de datos 6.8.8. Configuración de la página de inicio En esta página determinaremos el aspecto que va a tener la página principal del Moodle. Más adelante podremos volver a esta página para hacer los cambios que estimemos oportunos. Una vez hemos terminado 185 Capítulo 6. APACHE, PHP y MYSQL la configuración pulsamos Guardar cambios Página de inicio 6.8.9. Creación de la cuenta de administrador En esta página crearemos la cuenta del administrador del sitio. Rellenamos los campos Nombre de usuario y Nueva contraseña poniendo el nombre de usuario y la contraseña que estimemos oportunos. Es importante que no olvidemos estos datos una vez escritos, pues aunque es posible recuperar una contraseña de administrador olvidada es un proceso que implica deshacer gran parte del proceso de instalación. Una vez que hemos terminado pulsamos el botón Actualiza información personal. La instalación y configuración han terminado. Ya tiene su plataforma Moodle lista para usar. Una plataforma como la que soporta estos cursos que usted está siguiendo. Moodle funcionando Notas 1. Más que un CMS en sí es un Framework de .NET pensado para desarrollar CMS entre otras cosas. 2. Puede también utilizar para el mismo propósito el comando: #apache2ctl start 3. Puesto que usted no tendrá seguramente un servidor de nombres de dominio(DNS) funcionando en el sistema, deberá llamar al servidor con el nombre genérico localhost. También puede llamar a su servidor utilizando el nombre de su máquina con tal que éste aparezca recogido en el fichero /etc/hosts. Sin 186 Capítulo 6. APACHE, PHP y MYSQL embargo no podrá llamar al servidor por su nombre en las otras máquina de la red, a no ser que disponga de un servidor DNS 4. Joomla es un proyecto muy activo, hasta el punto que las versiones cambian casi día a día, es posible que la última versión que nos descargemos no esté "completamente fina", y nos aparezca por ejemplo a medio traducir. En todo caso para los propósitos de esta práctica es indiferente qué versión utilicemos, aunque documentaremos la última disponible cuando se redactan estas páginas. 5. Puede escribir lo que quiera con tal de que el nombre no contenga ni espacios ni caracteres extraños. 6. En sentido estricto únicamente necesitamos cambiar el propietario y no el grupo, lo hacemos así por claridad. 187