Guia Del Profesor Software De Comunicaciones Unidad 1 2

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Guia Del Profesor Software De Comunicaciones Unidad 1 2 as PDF for free.

More details

  • Words: 31,350
  • Pages: 129
SOFTWARE DE COMUNICACIONES

GUÍA DEL PROFESOR SECRETARÍA DE EDUCACIÓN PÚBLICA SUBSECRETARÍA DE EDUCACIÓN SUPERIOR E INVESTIGACIÓN CIENTÍFICA SUBSISTEMA DE UNIVERSIDADES TECNOLÓGICAS COORDINACIÓN GENERAL DE UNIVERSIDADES TECNOLÓGICAS ELABORÓ:

Lic. Hipólito López Miranda Ing. Eligio Cachón Menéndez

APROBÓ:

Revisión no. 0.

Fecha de revisión:

REVISÓ:

Lic. María Reyna Guillermo Guillermo

FECHA DE ENTRADA EN VIGOR:

MAYO 2003

Página 1 de 1291

F-CADI-SA-MA-40-GA-A

2

I. DIRECTORIO DR. REYES TAMEZ GUERRA SECRETARIO DE EDUCACIÓN PÚBLICA DR. JULIO RUBIO OCA SUBSECRETARIO DE EDUCACIÓN SUPERIOR E INVESTIGACIÓN CIENTÍFICA DR. ARTURO NAVA JAIMES COORDINADOR GENERAL DE UNIVERSIDADES TECNOLÓGICAS RECONOCIMIENTOS LIC. HIPOLITO LOPEZ MIRANDA ING. ELIGIO CACHON MENENDEZ

UNIVERSIDAD TECNOLÓGICA DE TABASCO UNIVERSIDAD TECNOLÓGICA DE TABASCO

TELEMÁTICA R.  2004 ESTA OBRA, SUS CARACTERÍSTICAS Y DERECHOS SON PROPIEDAD DE LA: COORDINACIÓN GENERAL DE UNIVERSIDADES TECNOLÓGICAS (CGUT) FRANCISCO PETRARCA No. 321, COL. CHAPULTEPEC MORALES, MÉXICO D.F. LOS DERECHOS DE PUBLICACIÓN PERTENECEN A LA CGUT. QUEDA PROHIBIDA SU REPRODUCCIÓN PARCIAL O TOTAL POR CUALQUIER MEDIO, SIN AUTORIZACIÓN PREVIA Y POR ESCRITO DEL TITULAR DE LOS DERECHOS. ISBN (EN TRÁMITE) IMPRESO EN MÉXICO.

3

II. ÍNDICE

# I. II. III. IV V VI

CONTENIDO DIRECTORIO Y RECONOCIMIENTOS ÍNDICE INTRODUCCIÓN DE LA ASIGNATURA IV.I INTRODUCCIÓN A LA ADMINISTRACIÓN DEL SISTEMA OPERATIVO LINUX. IV.II ADMINISTRACION DE SISTEMAS DE LINUX IV.III ADMINISTRACIÓN DE REDES LINUX IV.XI ADMINISTRACIÓN DE SERVIDOR LINUX REFERENCIAS GLOSARIO (*) Inicio de los cuatro primeros capítulos del semestre uno de CISCO

PAGINA 2 3 4 35 40 57 72 119 119

4

III. INTRODUCCIÓN DE LA ASIGNATURA. El software y las computadoras han pasado a ser parte de nuestra vida cotidiana, hablar de ellos es normal entre las personas. El software propietario ha sido la puerta de desarrollo de muchas industrias y países. Pero también ha significado el rezago de otros tantos, hoy en día un tema que adquiere mayor importancia es el software libre. El software libre ha tomado importancia debido a la carestía del software propietario lo cual lo hace en ocasiones difícil de adquirir, por lo cual la alternativa para usar software, es el software libre, el cual no tiene costo alguno y ofrece la oportunidad de que cualquier persona que lo utilice corrija cualquier defecto en este y lo libere entre los usuarios de este. Otra ventaja que ofrece el software libre radica en que nos ofrece la oportunidad de agregarle más funcionalidad a dicho software. Entre el software libre destaca el sistema operativo Linux, el cual es elegido por gran parte de los desarrolladores de software libre para ser la plataforma de funcionamiento por excelencia de sus productos. En la actualidad existen más de 4000 aplicaciones gratuitas para este sistema operativo, lo cual ha hecho que hoy en día sea muy importante. Siendo que las empresas y personas que utilizan por lo menos una computadora migren sus roles de trabajos a este revolucionario sistema operativo. En este documento se presentan los temas y elementos necesarios para trabajar con el sistema operativo Linux, divididos en 4 unidades las cuales se describen a continuación: Unidad I, en esta se tratan los temas básicos de funcionamiento de los sistemas operativos y fundamentos básicos del sistema operativo Linux. Unidad II, se enfoca al manejo del sistema de archivos, montaje de dispositivos, creación y manejo de cuentas de usuarios en el sistema operativo Linux. Unidad III, se enfoca al manejo de los conceptos y servicios básicos de redes en el sistema operativo Linux. Unidad IV, hace énfasis en el manejo e instalación de los servicios más importantes en el sistema operativo Linux.

5

IV .U N ID A D E S U N ID A DI I INTRODUCCIÓN A LA ADMINISTRACIÓN DEL SISTEMA OPERATIVO LINUX.

IN T R O D U C C IÓ N El propósito de esta primera unidad es conocer los fundamentos de un sistema de operativo, conocer la historia del sistema operativo Linux e identificar la importancia que ha adquirido para las empresas y personas. Identificando la estructura, la instalación y comandos básicos del sistema operativo Linux.

OBJETIVO Y CRITERIOS DE APRENDIZAJE

Página

Conocimiento de la historia del sistema operativo Linux, identificar la estructura del sistema de archivos de Linux. • Definir las principales funciones de todo sistema operativo. • Identificar las diferentes estructuras de sistemas operativos. • Conocer la función de cada directorio de la estructura de Linux. • Conocer los diferentes tipos de instalación de Linux. • Conocer el uso de los comandos básicos del sistema operativo Linux.

DEMOSTRACIÓN DE HABILIDADES PARCIALES (RESULTADO DE APRENDIZAJE)

• • • • • •

Definirá el concepto de sistema operativo Definirá e Identificará las diferentes estructuras de los sistemas operativos. Identificará los diferentes tipos de administración de sistemas operativos. Identificará la importancia y uso de Linux en las empresas. Instalará el sistema operativo Linux en una computadora Usará los comandos básicos de Linux en un entorno Linux.

6

Sin su software, una computadora es básicamente un montón de fierros sin utilidad. Con su software, una computadora puede almacenar, procesar y recuperar información, hallar errores de ortografía en manuscritos, realizar juegos de video y llevar a cavo muchas otras actividades importantes para justificar la inversión. El software, de la computadora puede dividirse de modo general en dos clases: los programas del sistema, que manejan la operación de computadoras misma, y los programas de aplicación, que resuelven problemas de sus usuarios. Lo más fundamental de todos los programas del sistema es el sistema operativo. Que controla todos los cursos de la computadora ofrece la base sobre la cual puede escribirse los programas de aplicación.

1.1 Sistema operativo Muchos usuarios de computadoras han tenido algunas experiencias con un sistema operativo, pero es difícil aclarar con exactitud lo que es un sistema operativo. Parte del problema es que los sistemas operativos realizan dos

básicamente no relacionadas,

según quien de la plática, se escucha mas cerca de una función o de la otra. Ahora analizaremos ambas funciones.

1.1.1 Funciones del sistema operativo 1.1.1.1 El sistema operativo como una máquina ampliada Como se menciona antes, la arquitectura (conjunto de instrucciones, organización de la memoria, E / S y estructura del bus) de muchas computadoras en el nivel del lenguaje de maquina es primitiva y difícil de programar, especialmente con la entrada el programa que oculta la verdad del hardware al programador y representa una vista simple y agradable de los archivos nominados que pueden leerse y escribirse, es desde luego, el sistema operativo. A si como el sistema operativo resguarda al programador del hardware del disco y presenta una interfaz simple orientada al archivo, también disimula mucho del trabajo displicente concerniente a interrupciones, relojes o cronómetros, manejo de la memoria y otras características de bajo nivel. En cada caso, la abstracción que se presenta al usuario del sistema operativo es más simple y sencilla de utilizar que lo que el hardware implica. En esta visión, la función del sistema operativo es la de presentar al usuario con el equivalente de una maquina ampliada o maquina virtual que sea mas fácil de programar 7

que el hardware implícito. Como el sistema operativo logra esta meta es una larga historia, la cual se estudiara con detalle en todo el libro. 1.1.1.2 El sistema operativo como manejador de recursos El concepto del sistema operativo que afirma que principalmente ofrece a sus usuarios una interfaz adecuada es una visión descendente (o de arriba hacia abajo). Una alternativa , la visión ascendente ( o de abajo hacia arriba ), sostiene que el sistema operativo se encuentre ahí para controlar toda las piezas de un sistema complejo o las computadoras modernas que constan de procesadores, memorias, relojes, discos, terminales, unidades de cintas magnética , interfases en red, impresoras de rayos láser y una amplia variedad de dispositivos adicionales. En la visión alternativa, el trabajo del sistema operativo consiste en ofrecer una distribución ordenada de los procesadores, memorias y dispositivos de E/ S entre los diversos programas que compiten por ellos. Imagínese lo que sucedería si tres programas que se ejecutan en alguna computadora tratarán de imprimir su salida en forma simultánea en la misma impresora. Las primeras líneas de la impresión podía ser del programa 1, las siguientes del programa 2, después algunas del programa 3, etc. El resultado seria el caos. El sistema operativo puede poner orden al caos potencial separando toda la salida destinada a la impresora en disco. Cuando un programa termina su ejecución, el sistema operativo puede copiar entonces salida del disco donde se haya almacenado para la impresora. Mientras que al mismo tiempo el otro programa puede proseguir produciendo mas salida, sin pensar en el hecho de que la salida en realidad no se dirige (todavía) a la impresora. Cuando una computadora tiene múltiples usuarios, la necesidad de manejar y proteger la memoria, dispositivos de E /S y otros recursos es mas evidente. Esta necesidad se presenta por que frecuentemente se necesita que los usuarios compartan recursos costosos como la unidad de cinta y maquinas fototipográficas. Además de los aspectos económicos, a menudo también en necesario que los usuarios que trabajan en conjuntos compartan información. En resumen esta visión del sistema operativo sostiene que su tarea principal consiste en llevar el control de quien utiliza cual recurso, conceder requisiciones de recursos, explica el uso e intercede en requisiciones conflictivas de diferentes programas y usuarios.

8

1.1.2 Estructuras de sistemas operativos 1.1.2.1 Sistemas monolíticos Siendo esta la organización mas común, este método podría bien subtitularse “el gran lío”, ya que no exhibe una estructura. El sistema operativo se escribe como un conjunto de procedimientos, cada uno de los cuales puede llamar a cualquiera de los otros siempre que lo necesite. Cuando se emplea esta técnica, cada procedimiento del sistema tiene una interfaz bien definida en términos de parámetros y resultados, y cada una tiene la libertad de llamar a cualquiera otra, si la ultima ofrece algún cálculo útil que la primera necesite. Para construir el programa objeto real del sistema operativo cuando se usa este método, se cumplían todos los procedimientos individuales o archivos que contienen los procedimientos y después se combinan todo en un solo archivos objeto con el enlazador. En términos de ocultamiento de información, esencialmente no existe ninguno; todo procedimiento es visible para todos (al contrario de una estructura que contiene módulos o paquetes, en los cuales mucha de la información es local a un modulo y solo se puede llamar puntos de registros designados oficialmente del exterior del modulo). Sin embargo, aun en sistema monolíticos es posible tener cuando menos una pequeña estructura. Los servicios ( llamadas al sistema) proporcionados por el sistema operativo se solicitan al colocar los parámetros en sitios bien definidos, como en registro o en la pila y después ejecutar una instrucción de trampa especial conocida como llamada de kernel o llamada supervisora. Esta instrucción cambia la maquina del modulo de usuario al modo kernel (también conocido como modo supervisor) y transfiere el control al sistema operativo, que se muestra como el evento (1) El sistema operativo examina después los parámetros de la llamada para determinar que llamada al sistema se efectuara, después, el sistema operativo indiza en una tabla que contiene el canal k. Un apuntador al procedimiento que realiza la llamada al sistema k.

9

Esta operación, que se muestra como el evento (3), identifica al procedimiento de servicios, que después es llamado. Por ultimo, se termina la llamada al sistema y el control se devuelve al programa del usuario. Esta organización sugiere una estructura básica del sistema operativo: •

Un programa central que invoque el procedimiento de servicio solicitado.



Un conjunto de procedimiento de servicios que realice las llamadas al sistema.



Un conjunto de procedimientos de uso general que ayude a los procedimientos de servicios.

1.1.2.2 Sistema en estratos Una generalización del método consiste en organizar el sistema operativo como una jerarquía de estratos, cada uno construido arriba del que esta debajo de el. El primer sistema construido en esta forma fue el sistema THE que se fabrico en technische hogeschool Eindhoven de Holanda por E. W dijkstra (1968) y sus alumnos. El sistema THE era un sistema de lote simple para una computadora alemana, electro lógica X8, que tenia 32K de palabras de 27 bits (los bits costosos en aquellos días). El sistema tenía 6 estratos, como se muestra en la tabla 1.1 el estrato o trabajaba con la distribución del procesador, cambiando entre procesos cundo ocurrían interrupciones a los relojes expiraban. Sobre el estrato o, el sistema costaba de procesos secuénciales, cada uno de los cuales podía programarse sin tener que preocuparse por el hecho de que múltiples procesos estuvieran corriendo en un solo procesador. En otras palabras, el estrato o ofrecía la multiprogramación básica de la CPU. Tabla 1.1 sistema operativo en estratos

5 4 3 2 1 0

Operador de THE programa del usuario Administración de entrada / salida Comunicación entre el operador y el proceso Administración de la memoria y el tambor Distribución del procesador y multiprogramación. El estrato 1 realizaba el manejo de la memoria. Este distribuía espacio para

procesos en la memoria central y un tambor de 512k palabra que usaba para contener parte del proceso (paginas) para las cuales no habían espacio en la memoria central. Sobre el estrato 1, los procesos no tenían que preocuparse de si estaban en la memoria o 10

el tambor; el software del estrato uno se hacia cargo de asegurar que las paginas se trajeran a la memoria siempre que se necesitaran. El estrato 2 manejaba la comunicación entre cada proceso y la consola del operador. Sobre este estrato cada proceso tenía en forma efectiva su consola de operador. El estrato 3 se hacia cargo de manejar los dispositivos de E / S y de preparar la información en flujo que entraba y salía de ellos. Sobre el estrato 3 cada proceso podía trabajar con dispositivos de E / S abstractos con propiedades agradables, en vez de dispositivos reales con muchas peculiaridades. El estrato 4 era donde se encontraba los programas de los usuarios. No tenían que preocuparse por los manejos de los procesos, memorias, consola o E / S. El proceso operador del sistema se lo realizaba en el estrato 5. Una generalización adicional del concepto de estrato estaba presente en el sistema MULTICS. En lugar de estrato, MULTICS se organizaba como una serie de anillos concéntricos, donde los internos eran más privilegiados que los externos. Cuando un procedimientos situado en un anillo externo. Deseaba llamar un procedimiento de un anillo externo, este tenia que hacer equivalente de una llamada al sistema, o sea, una instrucción TRAP cuyos parámetros se verificaban cuidadosamente respeto a su validez 1.1.2.3 Máquinas virtuales Las emisiones iniciales os / 360 eran estrictamente sistemas de grupo. No obstante, muchos usuarios del sistema 360 deseaban tener tempo compartido, de modo que diversos grupos, tanto como dentro como fuera de IBM decidieron escribir sistemas como de tiempo compartido para el. El sistema de tiempo compartido oficial de IBM, TSS / 360, se creo tarde y cuando finalmente llego era tan grande y lento que muy pocos sitios hicieron la conversación a el. Por ultimo se abandono después de que su creación había consumido más de 50 millones de dólares (Graham, 1970). Pero un grupo de personas del IBM S scientific center en cambridge, MA produjo un sistema radicalmente diferente que IBM acepto por ultimo como producto y que ahora se utiliza ampliamente. Este sistema, original mente llamado CP / CMS y ahora llamado VM / 370 (meyer y se wrigth, 1970; wrigth y mackinnon, 1970), se basaba en una situación astuta: un sistema de tiempo compartido ofrece (1) multiprogramación y (2) una maquina extendida con una

11

interfaz mas adecuada que el hardware simple. La esencia de VM/370

consiste en

separar completamente estas dos funciones. El corazón del sistema, conocido como monitor de la maquina virtual, corre en el hardware y realiza la multiprogramación, ofreciendo no una, sino varias maquinas virtuales para el siguiente estrato hacia arriba, como se muestra en la figura 1- 21. NO obstante, a diferencia de todo los otros sistemas operativos, esta maquina virtuales no son maquinas extendidas, con archivos y otras características atractivas. En su lugar, son copias exactas del hardware siempre, incluyendo el método de kernel / usuario, E / S, interrupciones y todo lo demás que tiene la maquina real. Puesto que cada maquina virtual es identifica al hardware real, cada una puede correr cualquier sistema operativo que correrá directamente en el hardware. De hecho, diferente maquinas virtuales pueden, y por lo general lo hacen, ejecutar diferentes sistemas operativo. Algunas corren algunos de los descendientes de os /360 en procesamiento de grupo, mientras que otros corren un simple sistema interactivo de un solo usuario llamado CMS (sistema con monitor convencional) para usuario de tiempo compartido. Diferentes maquinas virtuales pueden, y por lo general lo hacen, ejecutar diferentes sistemas operativos. Algunas corren de los descendientes de os/ 360 en procesamiento de grupo, mientras que otros corren un simple sistema interactivo de un solo usuario llamado CMS (sistema con monitor convencional) para usuario del tiempo compartido. 1.1.2.4 Modelo cliente / servidor Una tendencia en los sistemas operativos modernos consiste en tomar la idea desplazar códigos o estratos superiores, pero en mayor proporción, y eliminar lo mas que sea del sistema operativo, dejando un kernel mismo. El método general consiste en implementar la mayoría de las funciones del sistema operativo en procesos del usuario. Para solicitar un servicio, como la lectura de un bloque de un archivo, un proceso del usuario (ahora conocido como proceso del cliente) envía la solicitud de un proceso servidor, que después realiza el trabajo y después resuelve las respuestas. En este modelo, todo lo que el kernel hace es manejar la comunicación entre cliente y servidores. Al dividir el sistema operativo en partes, cada uno de los cuales se encarga 12

del manejo de una faceta del sistema, como el servicio del archivo, el servicio del proceso, servicio de la terminal o el servicio de la memoria, cada parte se vuelve pequeña y difícil de manejar, como todo los servidores corren como proceso en modo de usuario, y no en modo de kernel, no tienen acceso directo al hardware. Como consecuencia, si se activa un error oculto en el servidor del archivo, el servicio al archivo puede fracasar, pero esto por lo general no hará fallar a toda la maquina. Otra ventaja del modelo del cliente / servidor es su adaptabilidad para utilizarse en sistemas distribuidos. Si un cliente se comunica con un servidor mediante la emisión del mensaje, el cliente no necesita saber si el mensaje se maneja en forma local o en su maquina, o bien si se envió a través de una red o de un servidor en una maquina remota. Hasta donde consiste al cliente, sucede lo mismo en ambos casos: se envió una solicitud y se devolvió una contestación. La imagen que se pinto arriba de un kernel que maneja solo el trasporte de un mensaje de clientes a servidores y de regreso no es completamente real. Algunas funciones del sistema operativo (como la carga de comandos en los registros del dispositivo físico de E / S) son compiladas, si no es que imposibles, de ejecutar a partir de programas en el espacio del usuario. Existen dos maneras de manejar este programa. Una de ellas consiste en hacer unos procesos importantes (por ejemplo los manejadores del dispositivo de E / S) corran en realidad en modo de kernel, con accesos completo a todo el hardware, pero que se siga comunicando con otros procesos mediante el uso del mecanismo de mensajes normal.

13

1.2 Historia del sistema operativo Linux Hoy en día el sistema operativo Linux ha revolucionado el mundo de la informática y de las empresas que tienen sus giros de negocios apoyados en las computadoras. Linux es familia del sistema operativo Unix. En los inicios de los 90´s el celebre informático Andrew Tanenbaum escribió su libro diseño e implementación de sistemas operativos e incluyó en su publicación el sistema operativo Minix de su propia invención. Minix es una implementación del sistema operativo Unix para computadoras personales y cada persona que compra el libro de Andrew Tanenbaum puede compilar y utilizar este sistema operativo. El problema de Minix es que es una versión muy limitada de Unix y el señor Tanenbaum no autorizaba al dueño de cada libro vendido su modificación, razón por la cual muchas personas apasionadas en el tema de los sistemas operativos quedaron descontentos. En 1991 un joven finlandés de nombre Linus Benedict Torvalds, estudiante de la Universidad de Helsinki, en aquel entonces de 23 años inició un proyecto personal para hacer del sistema operativo Minix una replica exacta de Unix, naciendo de este proyecto lo que hoy conocemos como Linux, En su afán de desarrollo perfeccionó tanto este software que llegó a superar en funcionalidad a Minix. Linus Torvals puso este sistema operativo a disposición de todos los programadores del mundo, solicitando que en cada actualización, corrección de errores y/o mejoras que ellos hicieran en su funcionamiento dejaran el software en algún sitio desde el cual se pudiese evaluar las mejoras hechas a este, para posteriormente ser liberado a los usuarios de Linux. Este proyecto ha revolucionado al mundo informático puesto que programadores de todo el mundo han seguido respondiendo a los llamados de Linus Torvals alcanzando dimensiones inesperadas y llevando al sistema operativo Linux a ocupar un lugar de honor entre los sistemas operativos por excelencia. Linux se convirtió en un sistema mucho más fácil de instalar y configurar, y empezó a coger fama en todo el mundo. Al tener en muy poco tiempo miles de usuarios, las nuevas versiones de Linux salían casi semanalmente. En el presente hay millones de usuarios y gracias a ellos y a sus aportaciones, Linux crece sin respiro alguno. La última versión del kernel es la 2.4.0 test 4.

14

Como todos los sistemas operativos, Linux también dispone de un logotipo. Torvalds decidió que la imagen que representaría a Linux sería la de un pingüino. En casi todas las páginas Web relacionadas con Linux se puede se puede hallar el logotipo y ya ha sido aceptado como representante de este sistema. No se sabe con certeza cuándo diseñó el logotipo de su sistema, pero se dice que fue al principio del proyecto Linux. Linux había nacido para ser un sistema operativo del tipo Posix (variante de Unix), totalmente gratuito para el usuario y con libre acceso al código fuente. Estas tres ideas fueron las que lo han convertido en el sistema con mejor rendimiento, más fiable, veloz y con más desarrolladores del mundo. Pronto se ha colocado cerca de los grandes los grandes sistemas operativos como Unix en el ámbito de servidores de comunicaciones, especialmente utilizado en empresas proveedoras de acceso a Internet. Las versiones más recientes de Linux ofrecen la posibilidad de convertir nuestro ordenador personal en una potente estación de trabajo. Puede funcionar como estación de trabajo personal dándonos la posibilidad de acceder a las prestaciones que ofrece Unix y cualquier otro sistema operativo. Además, puede configurarse para funcionar como estación de desarrollo, proveedores de acceso a Internet, y muchas otras opciones. También es interesante convertir un ordenador personal en una estación de desarrollo. Linux dispone de los siguientes lenguajes de programación gratuitos: GNU C, GNU C++, GNU Fortran 77, ADA, Pascal, Perl, Modula2 and 3, TCL/Tk, Scheme and Small-Talk/X. Todos ellos vienen con extensas librerías de código fuente. Muchos proveedores de acceso a Internet emplean Linux como sistema operativo para ofrecer soporte a sus usuarios. Al instalar Linux, también se instalan los siguientes paquetes, World Wide Web, usenet news, email, ftp, etc... Éstos pueden ser configurados para dar ofrecer a los usuarios los servicios disponibles en Internet. Linux como sistema operativo gratuito posee unas características que le hacen único. Algunas de las más importantes son: multitarea, memoria virtual, los drivers TCP/IP más rápidos del mundo, librerías compartidas, multiusuario (cientos de usuarios pueden utilizar un ordenador a la vez, que ya estén en una red, Internet, terminales, etc.). Linux trabaja en modo de protección (al contrario de Microsoft Windows) y soporta multitarea a 32 y 64 bits.

15

Como puede observarse Linux surge como producto, gracias al esfuerzo y entusiasmo de muchos programadores y expertos informáticos de todas las partes del mundo y que gracias a los recursos de internet pueden comunicarse. En la actualidad la fama de Linux lo ha llevado a ser la competencia de los sistemas operativos de Microsoft, puesto que es muy barato su precio, aunque inicialmente fue software libre hoy; algunas empresas comercian distribuciones de Linux como son las siguientes: •

Mandrake



Redhat



Suse



Corel



Slackware



Calderas



Turbo Linux. El costo de cada una de estas distribuciones es económico comparándolo con el

costo de sistemas operativos del tipo de Novell y Microsoft, razón por la cual a pesar de ser comerciales estas distribuciones son accesibles para las empresas inclusive para los estudiantes. Existe una distribución gratuita de Linux y esta se llama Linux Debian, la cual no le pide nada a las distribuciones comerciales, puesto que esta todavía es apoyada por la mayoría de los desarrolladores del mundo y por lo mismo esta en constantes mejoras.

1.3 Arquitectura de Linux El sistema operativo Linux tiene dos componentes esenciales: •

El shell



El kernel o Gestor de procesos. o Gestor de memoria. 16

o Sistemas de archivos virtual. o Servicios abstractos de red. o Administración de los derechos de accesos. Linux desde una vista externa aparenta ser un sistema operativo monolítico, pero para minimizar su naturaleza Linux soporta la carga dinámica de módulos del kernel los cuales representan alguna funcionalidad del kernel, que puede ser cagada después de iniciado el sistema. En la figura 1.1 se ilustra como esta compuesto el kernel del sistema operativo Linux, en la cual podemos observar como las aplicaciones reciben soporte de cada uno de los subsistemas que conforman al kernel (núcleo). Aplicaciones

Subsistema E/S

Sub sistema E/S

Sistema Archivos

Seguridad

Subsistema archivos

Sistema de procesos

Comunicación inter-procesos

Subsistema de procesos

Subsistema IPC

caché

Controlador

Controlador periférico Parte física periférico

Periférico

Material Figura 1.1 Kernel de Linux.

1.3.1 Subsistema de archivos •

Garantiza una administración correcta de los archivos y de los derechos de acceso.



La administración varía mucho según el tipo de sistema de archivos.



Linux adopto el concepto de VFS (Virtual File System).

1.3.1.1 Acceso estándar de archivo en Virtual File System

17



Principio: todos los módulos de un sistema de archivos, vistos del exterior, presentan las mismas rutinas.



Es responsabilidad del núcleo de convertir las llamadas de sistemas estándares en las específicas a los archivos.



Programador no debe preocuparse del tipo de sistema archivos con el que trabaja. En la figura 1.2 se muestra el esquema de funcionamiento del acceso al sistema

de archivos virtuales de Linux, el cual nos enseña que Linux puede permitirnos trabajar con diversos sistemas de archivos, por ejemplo Linux puede trabajar con el sistema de archivos Fat 32, con el que trabajan muchas versiones de Windows. Aplicaciones

Sistema de Archivos Virtual (VFS)

Subsistema ext2

Subsistema sys V

Subsistema ms-dos

Subsistema proc

Cache

Controlador de periféricos

Material Figura 1.2 Sistema de archivos virtual.

1.3.1.2 Entrada-salida en sistemas de archivos •

Rutinas sistemas archivos transmiten los accesos a los controladores de periféricos.



Por cada acceso los bloques de datos necesarios son cargados del disco duro.



Acceso a disco duro se hace a través de controladores con buffers.



almacenan en memoria principal datos accedidos.



esto evita un acceso disco en la próxima Lect/Esch. 18



datos en RAM por lo que se gana en rapidez.



Controladores sin buffer realizan acceso directamente en el disco.



Controladores sin buffer realizan acceso directamente en el disco. En la figura 1.3 se enseña el funcionamiento del proceso de entrada-salida en el

sistema de archivos de Linux. Como se puede observar este proceso se limita a 8 pasos los cuales son necesarios para un acceso ya sea de entrada o de salida. Aplicaciones 8. Datos leídos

1. Lectura Archivo

Sistema de Archivos Virtual (VFS) 2. Lectura bloques datos del archivo

7. Liberación del contenido de la caché

3. Bloques datos en la caché Caché 6. Escritura de los bloques de datos en el caché

4. Lectura de los bloques de datos en la caché Control de periféricos 5. Lectura de los bloques de datos

Figura 1.3 Sistema de archivos y la entrada-salida.

1.3.1.3 Sub-sistema de procesos •

Asigna zonas aisladas de memoria a cada uno de los programas y controla las demandas de memoria que se realicen.



Linux no administra la memoria en el sentido estricto (físico).



Aprovecha que, desde el 80386, los procesadores Intel saben tratar la memoria virtual.



También administra el acceso al microprocesador (calendarizador).



Cada proceso esta registrado en una tabla central de procesos, por lo que es posible verificar que procesos están ejecutándose. 19



Para evitar que se apropien del procesador a cada proceso se le asigna un tiempo: quantum.



Una vez que el tiempo termine se le interrumpe y se le pone a un lado.



Al proceso siguiente le es asignado el procesador.



Implementación del sistema de intercomunicación entre procesos: o Las colas de mensajes (message queues). o Las zonas de memoria común (memoria compartida o shared memory). o Los semáforos. Casi todas las versiones de Linux tienen una estructura de archivos, pero por lo

regular dependiendo del fabricante de la distribución estos directorios varían y es la que se presenta a continuación: 1.3.1.4 Directorio Raíz bin

Binarios de comandos esenciales

boot

Archivos estáticos de cargador de arranque(boot-loader)

dev

Archivos de dispositivos

etc

Configuración del sistema local-máquina

home

Directorios home de los usuarios

lib

Librerías compartidas

mnt

Punto de montaje de particiones temporales

root

Directorio hogar del usuario root

sbin

Binarios del sistema esenciales

tmp

Archivos temporales

usr

Segunda jerarquía mayor

var

Información variable

1.3.1.4.1 Directorio bin (binarios ejecutables esenciales de usuario) El directorio bin contiene comandos que pueden ser utilizados por ambos los usuarios y /el administrador del sistema, pero que son requeridos en el modo /monousuario (single-user mode) puede también contener comandos que son /utilizados indirectamente por algunos scripts. 20

Todos los binarios utilizables sólo por root, tales como daemons,init,getty, update, etc. Estarían localizados en /sbin ó /usr/sbin dependiendo si son o no esenciales. Para una mayor discusión de la definición de que es esencial en el sistema de archivos /, lea por favor la sección 6, "Razonamientos adicionales y asuntos sin resolver". No habrá subdirectorios dentro de /bin. Los binarios de los comandos que no son suficientemente esenciales para estar en /bin estarán localizados en /usr/bin, los elementos que son utilizados por usuarios solamente (pero no por root) (mail,chsh, etc) no son suficientemente esenciales para estar dentro de la partición /. 1.3.1.4.2 Directorio boot (archivos estáticos del cargador de arranque) Este directorio contiene todo para arrancar excepto los archivos de configuración y el instalador de mapas. En su sentido más sencillo /boot es para cualquier cosa que se utiliza antes de que el kernel ejecute /sbin/init. Ésto incluye sectores maestros de arranque (master boot sectors) guardados, archivos de mapeo de sectores y cualquier otra cosa que no es editada directamente a mano.Los programas necesarios para arreglar que el cargador de arranque sea capaz de arrancar un archivo (tal como el instalador de mapas [lilo] ) estarán localizados en /sbin. Los archivos de configuración para cargadores de arranque podrían estar localizados en /etc. Como se expuso arriba, el kernel de Linux puede estar localizado en / ó en /boot, si se localiza en /boot, recomendamos que se le dé un nombre más descriptivo. 1.3.1.4.3 Directorio dev (archivos de dispositivos) Este es el directorio de los dispositivos. Contendría un archivo por cada dispositivo que el kernel de Linux puede soportar. dev también contiene un script llamado MAKEDEV el cual puede crear /dispositivos cuando se necesiten. Puede contener un MAKEDEV local para /dispositivos sólo-local. MAKEDEV debe hacer previsión para crear cualquier archivo de dispositivo especial listado en la lista de números mayores/menores, no sólo aquellos de una distribución particular. Los enlaces simbólicos no se deben distribuir en sistemas Linux, sino sólo como se preveé en la lista de dispositivos de Linux. Ésto es porque las instalaciones locales seguro 21

diferirán de aquellas de la máquina del desarrollador. Además si un script de instalación configura enlaces simbólicos en la instalación, estos enlaces seguramente no se actualizarán si se hacen cambios locales en el hardware. Cuando se usan responsablemente, como sea, son de buen uso. Este documento incorpora como referencia la lista de dispositivos de Linux, mantenida por: [email protected]: El encargado de los dispositivos Linux.Todos los archivos especiales de dispositivo seguirán el estándar en ese documento, que está disponible en ftp.yggdrasil.com en /pub/device-list. 1.3.1.4.4 Directorio etc (configuración del sistema local a la máquina) Él directorio etc contiene archivos y directorios que son locales al sistema actual. Ningún binario debe ir directamente dentro de /etc. Los binarios que en el pasado se encontraban en /etc, irán en /sbin ó /usr/sbin. Ésto incluye archivos tales como init, getty y update. Los binarios tales como hostname que son utilizados por usuarios ordinarios y por root no irían en /sbin sino en /bin. /etc --- Configuracion de sistemas locales de máquina. X11

Archivos deconfiguracion para el x11

skel

Esqueletos de configuracion de usuarios

etc/skel es la localidad para los llamados archivos esqueletos de /usuarios, que le son dados por defecto cuando un nuevo usuario recibe una /cuenta, este directorio puede contener subdirectorios para diferentes /grupos de usuarios (i.e./etc/skell/apoyo, /etc/skell/usuarios). etc/X11 es el lugar recomendado para todos los archivos de configuración /de X11 locales a la máquina. Este directorio es necesario para permitir el /control local si /usr se monta sólo-lectura. Los archivos que deben ir en /este directorio incluyen Xconfig (y/o XF86Config) y Xmodmap. Los subdirectorios de /etc/X11 pueden incluir aquellos para xdm y para cualesquier otros programas (como algunos manejadores de ventanas por ejemplo) que lo necesiten. Recomendamos que los manejadores de ventanas con un solo archivo de configuración que es un archivo .*wmrc por defecto, que lo llamen system.*wmrc (a menos que exista una alternativa ampliamente aceptada) y que no utilize un subdirectorio. Cualquier 22

subdirectorio de un manejador de ventanas se llamaría idéntico al binario del manejador de ventanas. etc/X11/xdm retiene los archivos de configuración de xdm. Ésto es la /mayoría de los archivos normalmente hallados en /usr/lib/X11/xdm; Vea la /seccion 5,/var/lib/xdm, para mayor información. La siguiente sección intenta parcialmente examinar la descripción del contenido de /etc con algunos ejemplos: Definitivamente ésta no es una lista exhaustiva. Archivos requeridos en /etc: Archivos generales: Estos archivos son necesarios en la mayoría de los sistemas Linux.: adjtime, csh.login, disktab, fdprm, fstab, gettydefs, group, inittab, issue, ld.so.conf, lilo.conf, magic, motd, mtab, mtools, passwd, profile, psdatabase, securetty, shells, syslog.conf, tercamp, ttytype. Archivos de Red: Estos archivos estarían instalados en la mayoría de los sistemas Linux.: exports, ftpusers, gateways, hosts, host.conf, host.equiv, host.lpd, inetd.conf, networks, printcap, protocols, resolv.conf.rpc, services. Hay dos modelos para la instalación de los scripts de comandos "rc" los cuales son invocados por init(8) al momento de arrancar, el modelo /etc/rc.d/* estilo SystemV. Cualquiera puede ser utilizado o una mezcla de los dos. Los sistemas con la suite de passwords sombreadas (shadow password) tendrán archivos de configuración adicionales, en /etc (/etc/shadow y otros) y /usr/bin (useradd, usermod, y otros). 1.3.1.4.5 Directorio home (directorios hogar de los usuarios) El directorio home es un concepto algo estándar, pero es claramente un sistema de /archivos específico de un site. El arreglo diferirá de máquina a máquina. /Esta sección describe una localización sugerida para los directorios hogar /de los usuarios, aun así, recomendamos que todas las distribuciones /Linux usen este lugar como la localización por defecto de los /directorios hogar. 23

En sistemas pequeños, cada directorio de usuario es uno de los subdirectorios debajo de /home, p.ej. /home/smith, /home/torvalds, /home/operador, etc. En sistemas grandes (especialmente cuando los directorios /home son compartidos entre varias máquinas usando NFS) es útil subdividir los directorios hogar. La subdivisión puede

ser

llevada

a

cabo

utilizando

subdirectorios

tales

como

/home/apoyo,

/home/huéspedes, /home/estudiantes, etc. Muchas personas prefieren poner las cuentas de los usuarios en una variedad de lugares. Por tanto, ningún programa deberá confiar en esta localización. Si usted desea encontrar el directorio hogar de cualquier usuario, debería usar la función de librería getpwent(3) en vez de contar con /etc/passwd, por que la información puede estar almacenada remotamente usando usando sistemas como NIS. 1.3.1.4.6 Directorio lib (librerías del compartidas del kernel y esenciales) El directorio /lib contiene aquellas imágenes de las librerías compartidas que se necesitan para arrancar el sistema y ejecutar los comandos en el sistema de archivos raíz. lib---librerías compartidas y módulos de kernel esenciales. modules Módulos de kernel cargables. Esto incluye /lib/libc.so.*, /lib/libm.so.*, el enlazador dinámico compartido /lib/ld.so.*, y otras librerías compartidas requeridas por binarios en /bin y /sbin. Las librerías que son necesitadas sólo por los binarios en /usr (como cualquier binario de X Window) no pertenecen a /lib. Sólo las librerías compartidas requeridas para ejecutar los binarios dentro de /bin y /sbin deben estar aquí. La librería libm.so.* podría estar localizada en /usr/lib si no es requerida por nada en /bin ó /sbin. Por razones de compatibilidad, /lib/cpp necesita existir como una referencia al preprocesador C instalado en el sistema. La localización usual del binario es /usr/lib/gcclib///cpp. Puede existir un enlace/lib/cpp apuntando a este binario o a cualquier otra referencia a este binario que exista en el sistema de archivos. (Por ejemplo, /usr/bin/cpp se usa frecuentemente). La especificación para /lib/modules está aún por aparecer.

24

1.3.1.4.7 Directorio mnt (punto de montaje para sistemas de archivos de montaje temporales) Este directorio se ha provisto para que el administrador pueda montar temporalmente sistemas de archivos cuando lo necesite. El contenido de este directorio es un asunto local y no debe afectar la manera en la cual se ejecuta ningún programa. Recomendamos la no utilización de este directorio por programas de instalación, y sugerimos utilizar un directorio temporal adecuado que no este en uso por el sistema. 1.3.1.4.8 Directorio proc (sistema de archivos virtual de información de procesos y de kernel) El sistema de archivos proc se está convirtiendo en el estándar de facto para el manejo de información de procesos y de sistema en vez de /dev/kmem y otros métodos similares. Recomendamos fuertemente esto para el almacenamiento y obtención de información de procesos así como otra información del kernel y de memoria 1.3.1.4.9 Directorio root El directorio / es tradicionalmente el directorio hogar del usuario root en los sistemas UNIX. /root se usa en muchos sistemas Linux y en algunos sistemas UNIX. El directorio hogar de la cuenta de el usuario root puede ser determinada por el desarrollador o por preferencias locales. Las posibilidades obvias incluyen /, /root, y /home/root. Si el directorio hogar de root no está almacenado en la partición raíz, será necesario asegurarse que tome / por defecto si no puede ser localizado. NOTA: Se recomienda contra el uso de la cuenta root para cosa mundanas tales como leer el correo y ver las noticias (mail & news) sino que se use solamente para la administración del sistema. Por esta razón recomendamos que no aparezcan subdirectorios como Mail y News en el directorio hogar de la cuenta del usuario root. Recomendamos que el Mail para root y postmaster sean redirigidos a un usuario más adecuado.

25

1.3.1.4.10 Directorio sbin (binarios del sistema) Los útiles usados por la administración del sistema ( y otros comandos que sólo root utiliza ) están almacenados en /sbin, /usr/sbin, y /usr/local/sbin. /sbin típicamente contiene binarios esenciales para arrancar el sistema además de los binarios en /bin. Cualquier cosa que se ejecuta después de que se sabe que /usr se ha montado (cuando no hay problemas) debería estar en /usr/sbin. Los binarios de administración de sistema sólo-locales deben estar localizados en /usr/local/sbin. Decidir que cosa va en los directorios de /sbin es sencillo: Si un usuario necesitará ejecutarlo, debe de ir en otro lado. Si sólo será ejecutado por el administrador del sistema o por root como scripts de administración, entonces debe ir en /sbin (o en /usr/sbin o en /usr/local/sbin, si el archivo no es vital para la operación del sistema). Archivos como chfn que los usuarios usan sólo ocasionalmente deben aun estar en /usr/bin. ping aunque es absolutamente necesario para el root (recuperación de la red y diagnóstico) es también frecuentemente usado por los usuarios y por esa razón debe ir en /bin. Los usuarios ordinarios no tendrán que poner ninguno de los directorios sbin en su búsqueda (path). Recomendamos que los usuarios tengan permisos de lectura y ejecución en todo lo que se encuentra en /sbin excepto tal vez ciertos programas; setuid y setgid. La división entre /sbin y /bin no fue creada por motivos de seguridad o para evitar que los usuarios vieran el sistema operativo, sino para proveer una buena partición entre binarios que todos usan y los que se usan, principalmente las tareas de administración. No hay ganancia inherente en seguridad en hacer que /sbin este fuera del alcance de los usuarios. 1.3.1.4.11 Directorio tmp (archivos temporales de linux) El directorio tmp se utiliza para archivos temporales, preferentemente en un /dispositivo rápido (un sistema de archivos basado en memoria por ejemplo) La "persistencia" de la información que es almacenada en /tmp es diferente de aquella que sea almacenada en /var/tmp. /tmp puede ser limpiada en cada arranque o a 26

intervalos relativamente frecuentes. Por tanto, no se debe esperar que la información almacenada en /tmp permanezca por algún periodo largo de tiempo. Los programas deben utilizar /tmp ó /var/tmp (que era originalmente /usr/tmp) de acuerdo a los requerimientos esperados de la información, pero no deben confiar en alguna persistencia temporal particular en cualquier directorio de almacenamiento temporal. Los administradores de sistemas pueden elegir enlazar /tmp a algún otro directorio, tal como /var/tmp; esto es útil, por ejemplo, para conservar espacio en la partición raíz. Si esto se lleva a cabo, entonces la persistencia de archivos en /var/tmp debe ser al menos tan larga como la de /tmp. tmp puede estar e un disco RAM. /var/tmp no debe nunca localizarse en /algún dispositivo RAM. 1.3.1.4.12 Directorio usr El directorio usr es la segunda mayor sección del sistema de archivos. /usr es /información compartible, de sólo-lectura, esto significa que /usr, debe ser /compartible entre varias máquinas que corren Linux y no se debe /escribir. Cualquier información que es local a una máquina o varía con el /tiempo, se almacena en otro lugar. Ningún paquete grande (como TeX o GNU Emacs) debe utilizar un subdirectorio directo bajo /usr, en vez, debe haber un subdirectorio dentro de /usr/lib (o /usr/local/lib si fué instalado completamente local) para ese propósito, con el sistema X Window se hace una excepción debido a un considerable precedente y a la práctica ampliamente aceptada. /usr --- Segundo mayor punto de montaje (permanente) X11R6

Sistema X Window Version 11 release 6

X386

Sistema X Windows Versión 11 release 5 en plataformas X 86

bin

La mayoría de los comandos de usuario

dict

Listas de palabras

doc

Documentación miscelánea

etc

Configuración del Sistema (todo el site)

games

Juegos y binarios educacionales

include

Archivos header incluidos por programas C

info

Directorio primario del sistema GNU Info 27

lib

Librerías

local

Jerarquía local (vacía justo después de la instalación principal)

man

Manuales en línea

sbir

Binarios de Administración del Sistema No-Vitales

share

Información independiente de la arquitectura

src

Código fuente Los siguientes enlaces simbólicos a directorios pueden estar presentes. Esta

posibilidad se basa en la necesidad de preservar la compatibilidad con sistemas anteriores hasta que en todas las implementaciones se pueda asumir el uso de la jerarquía /var. /usr/adm ------------------> /var/adm /usr/preserve -------------> /var/preserve /usr/spool ----------------> /var/spool /usr/tmp ------------------> /var/tmp /var/spool/locks ----------> /var/lock Una vez que el sistema ya no requiera más alguno de los anteriores enlaces simbólicos, el enlace se puede remover, si se desea. Notablemente, sólo se necesita poco esfuerzo para remover completamente /usr/preserve, dado que sólo ex y vi lo utilizan. 1.3.1.4.13 /usr/X11R6: El sistema X Window, Versión 11 release 6 Esta jerarquía está reservada para el sistema X Window, Versión 11 release 6 y archivos relacionados. /usr/X11R6 --- X Window System (Version 11, release 6) bin doc include lib man Para simplificar los problemas y hacer XFree86 más compatible con el sistema X Window en otros sistemas, los siguientes enlaces simbólicos deben estar presentes. /usr/bin/X11 ------------> /usr/X11R6/bin /usr/lib/X11 ------------> /usr/X11R6/lib/X11 /usr/include/X11 --------> /usr/X11R6/include/X11 28

En general, el software no se debe instalar o manejar vía los anteriores enlaces simbólicos. Sólo están para la utilización por usuarios. La dificultad está relacionada con la versión y el release del sistema X Window; en períodos transaccionales es imposible saber que release de X11 está utilizándose. Por la misma razón no debe existir un enlace desde /usr/X11 apuntando a la jerarquía del sistema X Window actual. /usr/X386: El sistema X Window, Versión 11 release 5 en plataformas X 86 Esta jerarquía es generalmente idéntica a /usr/X11R6, excepto que los enlaces simbólicos de /usr deben estar ausentes si está instalado /usr/X11R6 /usr/bin: La mayoría de los comandos del usuario. Éste es el directorio principal de comandos ejecutables en el sistema. mh

comandos para el sistema de manejo de correo M H

X11

Enlace simbólico hacia /usr/X11R6/bin Debido a que los interpretadores de scripts de los shell (invocados con #! en

la primera linea del script de shell) no pueden depender de una ruta, es ventajoso el estandarizar la localización de ellos. La shell Bourne y C estan fijos en /bin, pero Perl, Python, Tlc se encuentran en muchos lugares diferentes /usr/bin/perl, /usr/bin/python y /usr/bin/tcl deben referenciar a los intérpretes de shell perl, python y tcl respectivamente. Éstos pueden ser enlaces simbólicos a la localización física de los intérpretes de shell. /usr/dict: Listas de palabras Archivos recomendados en /usr/dict words Tradicionalmente este directorio contiene sólo el archivo words de palabras inglesas, el cual es utilizado por look(1) y varios programas de ortografía, words puede utilizar ortografía americana o británica. Los sites que requieran ambos, pueden enlazar words a /usr/dict/american-english ó /usr/dict/british-english. Las listas de palabras para otros lenguajes se pueden añadir usando el nombre en inglés para ese lenguaje, por ejemplo, /usr/dict/french, /usr/dict/danish, etc. Éstos deben, si es posible, utilizar un juegos de caracteres ISO 8859 que sea apropiado para el lenguaje

29

en cuestión, si es posible el juego de caracteres ISO 8859-1 (Latin1) debe ser utilizado (esto es a veces imposible) Cualquier otra lista de palabras, tal como el directorio web2, debe ser incluido aquí, si está presente. Las razones tras tener sólo las listas de palabras aquí es que ellas son los únicos archivos comunes a todos los verificadores de ortografía. /usr/etc: Configuración del sistema (todo el site) Almacenar la configuración en /usr/etc del software que se encuentra en /usr/bin y /usr/sbin es un problema. Hace que el montar /usr sólo lectura de un CDROM o a través de NFS sea difícil en el mejor de los casos. Una posible solución que se consideró fue eliminar completamente /usr/etc y especificar que todas las configuraciones se almacenen en /etc. Un problema con esta aproximación es que no anticipa propiamente la posibilidad de que muchos sites pueden querer tener algunos archivos de configuración que no sean locales de máquina. Eventualmente se decidió que /etc deberá ser el único directorio que sea referenciado por los programas (esto es, todos deben buscar configuraciones en /etc y no en /usr/etc). Cualquier archivo de configuración que necesite ser para todo el site y que no es necesario antes de montar /usr (o en una situación de emergencia debe entonces estar localizado en /usr/etc. Entonces archivos específicos (en /etc), en máquinas específicas pueden ser o no ser enlaces simbólicos a los archivos de configuración localizados en /usr/etc. Ésto también significa que /usr/etc es técnicamente un directorio opcional en el sentido estricto, pero aún así recomendamos que todos los sistemas Linux lo incorporen. No se recomienda que /usr/etc contenga enlaces simbólicos que apunten a archivos en /etc. Esto es innecesario e interfiere con el control local en máquinas que comparten un directorio /usr. /usr/include: Directorio para archivos include estándar. Aquí es donde todos los archivos include de uso general del sistema para programación en lenguajes C y C++ deben ser localizados. /usr/include X11

Archivos include Enlace simbólico hacia /usr/X11R6/include/X11 30

arpa

Definiciones del protocolo definido por ARPNET.

asm

Enlace simbólico hacia /usr/scr/linux/include/asm-<arch>.

bsd

Archivos include de compatibilidad con BSD.

g++

Archivos include de GNU C++.

gnu

Archivos include GNU.

linux

Enlace simbolico a /usr/src/linux/include/linux.

net

Definiciones genéricas relacionadas con redes.

netax25

Definiciones específicas a +AX25 ( ARRL AX25).

netinet

Definiciones específicas a TCP/IP.

netipx

Definiciones específicas a +IPX (Novel IPX/SPX).

protocols

Definiciones de protocolos ( Mayormente basadas en INET)

readline

La librería readline GNU.

rpc

Definiciones RPC de Sun Microsystems.

rpcsvc

Definiciones de servicios RPC de Sun Microsystems.

sys

Archivos include de generación de sistemas. El subdirectorio arpa contiene definiciones de cabecera de protocolos para los

protocolos ARPANET, TCP/IP, definiciones para ftp, prototipos telnet y material similar. El subdirectorio net contiene definiciones genéricas relacionadas con redes, define la interface sistema-kernel, detalles de la familia de protocolo, etc. El subdirectorio netinet contiene definiciones especificas de INET (DARPA Internet, que también es conocida como TCP/IP ) ARRL AX.25 es mejor conocido como packet radio. Los protocolos novell IPX/SPX son parte de los servicios de archivos Novell Netware. /usr/lib: Librerías para programas y paquetes. usr/lib incluye librerías objeto, binarios del programa compilador e /información estática de varias clases, ambos, códigos ejecutable ( por /ejemplo los binarios internos de gcc están localizados bajo //usr/lib/gcc-lib ) y otros tipos de información. /usr/lib/ - librerías para programación y paquetes: X11

Enlace simbólico a /usr/X11R6/lib/X11

emacs

Archivos de soporte estáticos para el editor GNUEmacs. 31

games

Archivos de datos estáticos para /usr/games.

groff

Librerías / Directorios para GNU groff

gcc-lib

Archivos/ Directorios específicos del sistema para gcc.

kbd

Tablas de traducción de teclado e información relacionada.

Mh

Librerías para el sistema de manejo de correo MH:

news

Cnews/INN.

smail

Smail.

terminfo

Directorios para la base de datos terminfo.

texmf

TeX/MF ( y LaTeX ) librerías de información.

uucp

Comandos de UUCP.

zoneinfo

Configuración e información de la zona horaria.

Históricamente, /usr/lib ha incluido además algunos comandos ejecutables tales como sendmail y makewhatis. Dado que makewhatis no es referenciado por otros programas, no hay problemas al moverlo a un directorio binario. Dado que los usuarios tienen buena razón para usar makewhatis, /usr/lib es donde pertenece. El binario catman que remplaza al script makewhatis en muchos sistemas Linux, debe también estar en usr/bin El binario sendmail es referenciado por muchos programas con su nombre histórico /usr/lib/sendmail. Éste debe ser un enlace simbólico a la localización estándar para los agentes de transferencia de correo con una interfaz de línea de comando compatible con sendmail, /usr/bin/sendmail. En sistemas que utilizan smail deben localizar smail en /usr/sbin/smail y /usr/bin/sendmail debe ser un enlace simbólico a smail. Este arreglo también se conforma a la nueva locación estándar sendmail definida en Sendmail 8.6.x y BSD 4.4 Note que esta localización demanda que /usr/sbin y /usr/sbin/sendmail deben ser ejecutables para usuarios normales. Cualquier paquete o programa que contenga o requiera información que no necesite ser modificada debe almacenar tal información en /usr/lib ( ó /usr/local/lib, si está instalado localmente ). Se recomienda la utilización de un subdirectorio en /usr/lib para este propósito. La información de juegos almacenada en /usr/lib/games debe ser solamente información estática. Cualquier archivo modificable. Tal como archivos de marcadores, 32

registros de juego y similares, deben ser localizados en var/lib. Si es necesario para compatibilidad de juegos con el viejo estilo BSD, se puede usar un enlace simbólico desde /usr/games/lib hacia /usr/lib/games. Nota: ninguna información específica de host para el sistema X Window debe almacenarse en /usr/lib/X11 ( que es realmente /usr/X11R6/lib/X11) . Los archivos de configuración específicos de host tales como Xconfig ó XF86Config deben almacenarse en /etc/X11. Éste debe incluir información de configuración como system.twmrc aún si es sólo un enlace simbólico a un archivo de configuración más global ( tal vez en /usr/etc/X11 ó /usr/X11R6/lib/X11). /usr/local: Jerarquía local La jerarquía /usr/local está para ser utilizada por el administrador del sistema cuando se instale el software localmente. Necesita estar a salvo de ser sobreescrito cuando el software del sistema se actualiza. Puede ser usado por programas y por información que son compartibles entre un grupo de máquinas, pero no se encuentran en /usr. /usr/local

Jerarquía local.

bin

Binarios sólo-locales

doc

Documentación local

etc

Binarios de configuración sólo-local

games

Juegos instalados localmente

lib

Librerías para /usr/local

info

Páginas de info local

man

Jerarquías de páginas de manual para /usr/local

sbin

Administración del sistema sólo-local

scr

Código fuente local. Este directorio debe estar vacío al terminar de instalar Linux por primera vez. No

debe haber excepciones a la regla, excepto quizá los subdirectorios vacíos listados. El software instalado localmente debe estar localizado dentro de /usr/local, en vez de /usr a menos que este siendo instalado para reemplazar o actualizar el software en /usr.

33

Note que el software localizado en / o en /usr puede ser sobreescrito por actualizaciones

del

sistema

(aunque recomendamos que

las

distribuciones no

sobrescriban información en /etc bajo estas circunstancias). Por esta razón, el software local no se debe localizar fuera de /usr/local sin una buena causa. /usr/man : Páginas del manual. Esta sección detalla la organización de las páginas del manual a través del sistema. Incluyendo /usr/man. Las páginas del manual están almacenadas <mandir>//man [1-9]. Más delante se dá una explicación de <mandir> y . <mandir>/ --- Una jerarquía de páginas de manuales. man1

Programas para usuarios.

man2

Llamadas al sistema.

man3

Subrutinas y funciones de librería

man4

Dispositivos.

man5

Formato de archivos

man6

Juegos.

man7

Misceláneas.

man8

Administración del Sistema.

man9

Funciones y variables internas del kernel. El <mandir> primario del sistema es /usr/man contiene información del manual para

comandos e información bajo los sistemas de archivos / y /usr. Obviamente no hay páginas de manual en / por que no se necesitan para arrancar ni en emergencias. Se debe hacer provisión en la estructura de /usr/man para el soporte de páginas del manual que estén escritas en diferentes (o múltiples idiomas ). Estas provisiones deben tomar en cuenta el almacenamiento y referencia de estas páginas del manual. Los factores relevantes incluyen el idioma ( incluyendo diferencias basadas en la geografía ) y el código del conjunto de caracteres. Esta nomenclatura de los subdirectorios de idiomas de /usr/man está basada en el apéndice E del estándar POSIX 1003.1 que describe la cadena de identificación locale ---El método más aceptado para describir un ambiente cultural. La cadena es: [<_territorio>][.][,] 34

El campo se tomará del ISO639 (un código para la representación de los nombres de los idiomas). Será de dos caracteres de ancho y especificado con minúsculas solamente. El campo <_territorio> será el código de dos letras de ISO3116 (una especificación de la representación de los nombres de los países), si es posible. (mucha gente está familiarizada con el código de 2 letras empleado en el código de país en las direcciones de e-mail. El campo debe representar el estándar que describe el código de caracteres. Si el campo es sólo una especificación numérica, el número representa el número del estándar internacional que describe a ese conjunto de caracteres. Se recomienda que este sea una representación numérica siempre que sea posible (especialmente, estándares ISO), que no incluya símbolos de puntuación y que todas las letras sean minúsculas. Un parámetro que especifique del perfil puede ser colocada después del campo , delimitado con una coma. Esto puede utilizarse para discriminar entre diferentes necesidades culturales, por ejemplo un orden de diccionario en vez de un orden de acomodo más orientado hacia el sistema. Este estándar recomienda no usar el campo a menos que sea necesario. En sistemas que usen sólo un idioma y un código de conjunto de caracteres para todas las páginas del manual, pueden omitir la subcadena y almacenar todas las páginas del manual en <mandir>. Por ejemplo en sistemas que sólo tienen páginas del manual en inglés codificados en ASCII, pueden almacenar las páginas del manual (los directorios man[1-9]) directamente en /usr/man (éstas son las circunstancias y el arreglo tradicional, de hecho). En países para los cuales existe un código de conjunto de caracteres estándar, puede omitir el campo , pero recomendamos fuertemente que se incluya, especialmente para países con varios estándares en competencia. Varios ejemplos: Idioma

Territorio

Conjunto de caracteres Directorio

Inglés

ASCII

/usr/man/en

Inglés

Reino Unido

ASCII

/usr/man/en_GB 35

Inglés

Estados Unidos

ASCII

/usr/man/en_US

Francés

Canadá

ISO8859-1

/usr/man/fr_CA

Francés

Francia

ISO8859-1

/usr/man/fr_FR

Alemán

Alemania

ISO646-DE

/usr/man/de_DE646de

Alemán

Alemania

ISO6937

/usr/man/de_DE6937

Alemán

Alemania

ISO8859-1

/usr/man/de_DE.88591

Alemán

Suiza

ISO646-CH

/usr/man/de_CH.646ch

Japonés

Japón

JIS

/usr/man/ja_JP.jis

Japonés

Japón

SJCS

/usr/man/ja_JP.sjis

Japonés

Japón

UJ (o EUC-J)

/usr/man/ja_JP.ujis

Las páginas del manual para los comandos e información que se encuentra bajo /usr/local están almacenadas en /usr/local/man. Las páginas del manual para el sistema X Window están almacenadas en /usr/X11R6/man. Luego todas las jerarquías de páginas del manual en el sistema deben tener la misma estructura que /usr/man. Los directorios vacíos pueden ser omitidos de la jerarquía de páginas del manual. Por ejemplo si, /usr/local/man no tiene páginas del manual en la sección 4 (dispositivos) entonces se puede omitir /usr/local/man/man4.Las secciones de páginas cat (cat[1-9]) que contiene páginas del manual formateadas, también se encuentran dentro de los subdirectorios /<mandir>/, pero no son requeridas ni deben ser distribuidas en el lugar de las fuentes nroff de las páginas del manual. Las páginas del Manual del sistema de manejo de correo mh deben tener el prefijo mh en todos los nombres de archivos de las páginas. Las páginas del sistema X Window deben tener el prefijo x en todos los nombres de los archivos de las páginas. La práctica de colocar las páginas del manual de diferentes idiomas, en los subdirectorios apropiados de /usr/man también se aplica a las otras jerarquías de páginas del manual, tales como /usr/local/man, y /usr/X11R6/man. (Esta porción de este estándar tambien se aplica más delante en la estructura opcional de /var/catman). A continuación una descripción de cada sección. man1: Programas de usuario. Las páginas del manual que describen los comandos accesibles públicamente se encuentran en esta sección. La mayoría de la documentación de los programas que un usuario necesitará se encuentra aquí. 36

man2: Llamadas al sistema. Esta sección describe todas las llamadas al sistema (requisiciones hacia el kernel de Linux para realizar ciertas operaciones). man3: Subrutinas y funciones de librería. La sección 3 describe programas rutinas de librería que no son llamdas directas al servicios del kernel. Esta sección y la 2 son de interés casi solamente para programadores. man4: Archivos especiales. Esta sección describe los archivos especiales, funciones relacionadas con los manejadores y el soporte para la red que estén disponibles en el sistema. Típicamente, esto incluye los archivos de dispositivo que se encuentran en /dev y la interfaz del kernel para el soporte de protocolos de red. man5: Formatos de archivos. Aquí se encuentran los formatos para muchos de los archivos cuyo formato no sea intuitivo. Esto incluye varios archivos include, archivos de salida de programas, y archivos de sistema. man6: Juegos.(Binarios Educativos) Esta sección documenta los juegos, demos y programas triviales. Muchas personas tienen una opinión muy diferente de que tan esencial es esta sección. man7: Misceláneos Las páginas del manual que son difíciles de clasificar se designan como pertenecientes a la sección 7. Las de troff y otros macro paquetes de procesamiento de texto se encuentran aquí. man8: Administración del Sistema Aquí se documentan los programas utilizados por los administradores de sistemas para la operación y mantenimiento. Algunos de estos programas son ocasionalmente útiles para usuarios normales. 37

man9: Funciones y variables internas del kernel Éste es utilizado para documentar el código fuente del kernel en los Sistemas Linux. /usr/sbin: Binarios de sistema estándar no-esenciales. Este directorio contiene cualesquier binario no-esencial utilizando exclusivamente por el administrador del sistema. Los programas de administración del sistema que sean requeridos para la reparación del sistema, recuperación del sistema, montaje de /usr u otras funciones esenciales deben localizarse en /sbin en vez de aquí. Típicamente /usr/sbin contiene los deamons de red, cualquier herramienta de administración no-esencial y binarios para programas servidores no-críticos. Esto incluye los deamons de internet que son llamados por inted (llamados in.*) tales como in.telnetd y in.fingerd y los deamons basados en rpc manejados por portmap (llamados rcp.*) tales como rcp.infsd y rcp.mountd. Estos programas servidores son utilizados cuando se entra en un estado que el System V conoce como "run level 2" (estado multi-usuario) y el "run level 3" (estado en-red) o el estado que el BSD conoce como "modo multi-usuario". En este punto se hacen disponibles los servicios para los usuarios (p. ej. soporte de impresión) y hacia otras máquinas (p. ej. exportar NFS). Los programas administrativos instalados localmente deben estar localizados en : /usr/local/sbin. /usr/share : Información Independiente de Arquitectura. Cualquier especificación para /usr/share se incluirá en un documento suplementario al FSSTND. Note que es la opinión en consenso del FSSTND que /usr/share no es necesario en la mayoría de los sistemas Linux. En este momento, si nos confinamos a proporcionar una definición extensiva de este directorio, sería una mala idea. Por favor refiérase a la sección 6 para una discusión más de /usr/share. /usr/src : Código fuente. /usr/src --- Código fuente (linux

Código fuente para el kernel de Linux).

Cualquier código fuente no-local debe localizarse en este directorio. El único código fuente que siempre debe localizarse en un lugar específico es el código del kernel (cuando exista o esté enlazado como parte de una estructura en /usr/include). Se pueden usar 38

subdirectorios si se desea. El código fuente para el kernel debe siempre estar en su lugar o al menos los archivos include del código del kernel. Esos archivos están localizados en estos directorios. /usr/src/linux/include/asm-<arch> /usr/src/linux/include/linux El directorio usr/include debe contener enlaces a estos directorios, llamados asm y /Linux, dados que son necesitados por el compilador de C, al menos /estos archivos include deben siempre ser distribuidos en las instalaciones /que incluye un compilador C. Deben ser distribuidos en el directorio //usr/src/linux de forma que no existan problemas cuando los administradores /del sistema actualicen su versión del kernel por primera vez. /usr/src/linux puede también ser un enlace simbólico a un árbol de código /fuente del kernel. 1.3.1.4.14 La Jerarquía /var /var

Información variable adm

Info administrativa del sistema (obsoleto). Enlace simbólico hacia /var/log

catman

Páginas del manual formateadas localmente

lib

Información del estado de aplicaciones

local

Información variable del software de /usr/local

lock

Archivos de bloqueo

log

Archivos de bitácora

named

Archivos DNS, sólo red

nis

Archivos base de datos NIS

preserve

Archivos almacenados después de una falla de ex ó vi

run

Archivos relevantes a procesos ejecutándose

spool

Directorios de trabajos en fila para realizarse después

tmp

Archivos temporales, utilizado para mantener /tmp pequeño

El directorio var contiene archivos con información variable. Esto incluye archivos y /directorios en fila de ejecución, información de bitácora administrativa y /archivos temporales y transitorios. Algunas porciones de /var son no-compartibles entre diferentes sistemas. Por ejemplo, /var/log, /var/lock y /var/run. Otras porciones son compartibles, notablemente /var/spool/mail y /var/spool/news. 39

El directorio var se especifica aquí para hacer posible el montar /usr sólo-lectura. /Todo aquello que alguna vez fue en /usr que es escrito durante la operación /normal del sistema (pero no durante la instalación y el mantenimiento del /software) debe ir en /var. Si /var no puede ser una participación separada, es preferible mover /var fuera de la participación raíz pero dentro de la partición /usr (esto se hace algunas veces para reducir el tamaño de la partición raíz o cuando hay poco espacio en la partición raíz). Como sea, /var no debe ser enlazada a /usr, porque hace que la separación entre /usr y /var sea más difícil y seguramente creará un conflicto de nombres, En vez enlace /var a / usr/var. /var/adm : Bitácora del sistema y archivos contables (obsoleto) Este directorio ha sido remplazado por /var/log y otros directorios. Debe ser un enlace simbólico a /var/log hasta que todos los programas ya no se refieran más a algún archivo en /var/adm. utmp se ha movido a /var/run. Todos los archivos bitácoras se han movido a /var/log incluyen en el archivo wtmp. El

soporte

de

empaquetado

de

distribuciones

se

debe

almacenar

en

/var/lib/<nombre> . Nota: El enlace simbólico /var/adm no debe ser necesario en la mayoría de los sistemas Linux-i386ELF dado que el cambio fué introducido antes que ELF fuera liberado al público. /var/catman : Páginas del Manual Formateadas localmente (opcional) Este directorio proporcionara una localización estándar para los sites que proporcionan una partición /usr sólo-lectura, pero que desean permitir el almacenamiento temporal de páginas del manual formateados localmente. Los sites que montan /usr como escribible (p. pj. instalaciones mono-usuarios) pueden escoger no usar /var/catman y escribir las páginas del manual formateadas dentro de los directorios cat[1-9] dentro de /usr directamente. Recomendamos que la mayoría de los sites utilicen una de las siguientes opciones en su lugar. Preformateé todas las páginas del manual dentro de /usr con el programa (catman). : No se permita el almacenamiento temporal de las páginas formateadas del manual y

40

requiera que se ejecute nroff cada vez que se necesite una página. Se permita el almacenamiento temporal local de las páginas del manual en /var/catman. La estructura de /var/catman necesita reflejar ambos, el hecho de la existencia de múltiples jerarquías de página del manual y la posibilidad del uso de múltiples idiomas. Dada una página del manual sin formatear que normalmente aparece en /usr//man/man[1-9], la versión formateada almacenada temporal debe ir en /var/catman//cat[1-9], donde es . Los componentes y están ausentes en el caso de /usr/man y /var/catman. Por

ejemplo,

/usr/man/man1/ls.1

se

formatea

/usr/X11R6/man//man3/XtClass.3x

lo

en

/var/catman/cat1/ls.1 hace

y en

var/catman/X11R6//cat3/XtClass.3x. Las páginas del manual escritas en /var/catman/cat[1-9] pueden eventualmente, transferirse a /usr//cat[1-9] ó expirarse. De igual forma las páginas del manual formateadas dentro de /usr//cat[1-9] pueden expirarse si no son accesadas en un periodo de tiempo. Si vienen páginas del manual preformateadas con un sistema Linux en un medio sólo lectura. (p. ej. un COROM), deben estar instaladas en /usr//cat[1-9]. /var/catman está reservado como un lugar de almacenamiento temporal para páginas de manual formateados. /var/lib : Información de Estado de Aplicaciones. /var/lib.- Información de Estado de Aplicaciones emacs

Directorio del estado de Emacs

games

Información variable de juegos(archivos de marcadores)

news

Archivos variables de Cnews/INN

texmf

Información variable asociada con TeX

xdm

Archivos de autenticación y bitácoras de error del manejador de

despliegues X var/lib/<nombre> es el lugar apropiado para el soporte de /empaquetamiento de todas las distribuciones. Diferentes distribuciones de /Linux pueden utilizar diferentes nombres por supuesto. 41

/var/lib/emacs El directorio del estado GNU Emacs, el lugar donde los archivos de información independiente de la arquitectura, que Emacs modifica cuando se ejecuta, debe ser /var/lib. En el presente, Emacs sólo localiza su directorio de archivos de bloqueo bajo el directorio de estado (en /emacs/lock), pero puede hacer uso más extenso del mismo en el futuro. Notablemente, sólo se requiere la adición de una opción sencilla en el programa configure de Emacs para hacer este cambio (antes de compilar). /var/lib/games Así como los subdirectorios antes citados, cualquier información variable relacionada con los juegos que se encuentran en /usr/games, deben estar aquí. /var/lib/games debe incluir la información variable que previamente se encontraba en /usr/lib/games; La información estática, tal como textos de ayuda, descripciones del nivel y demás, debe permanecer en /usr/lib/games. /var/lib/news var/lib/news se debe usar parea almacenar toda la información variable /asociada con los servidores de news tales como Cnews y INN, inclusive el /archivo histórico, el archivo activo y demás. /var/lib/texmf var/lib/texmf se debe usar para almacenar la información variable /asociada con TeX. Particularmente, en /var/lib/texmf/fonts se /almacenarán todas las fuentes tipográficas que son generadas /automáticamente por MakeTeXPK. Debe haber un enlace desde /usr/lib/texmf/fonts/tmp hacia /usr/lib/texmf/fonts. Este enlace permite a los usuarios hacer uso de una sola ruta /usr/lib/texmf/fonts/tfm cuando le hacen cambios a su variable de entorno TEXFONTS (ésta es la ruta por defecto en las herramientas TeX de Karl Berry distribuidas desde ftp.cs.umb.edu:pub/tex [La razón de mencionarlos aquí es que son el estándar de facto en las instalaciones UNIX, estas herramientas son ampliamente usadas entre la comunidad Linux]. Si se utiliza otra distribución de TeX, se debe hacer un enlace desde el directorio de fuentes apropiado hacia /usr/lib/texmf/fonts). 42

El MakeTeXPK que se distribuye con dvipsk colocará los archivos .pk en fonts/pk//<nombre_de_la_fuente>, (p.ej. fonts/pk/Canon_CX/cmr10.300pk). Los archivos .pk se pueden purgar periódicamente del árbol /var/lib/texmf o se puede mover dentro del árbol /usr/lib/texmf. Si se usan generadores automáticos de .mf ó .tfm, éstos deben poner su información en los subdirectorios mf ó tfm de /var/lib/texmf/fonts. /var/lib/xdm /var/lib/xdm contiene la información variable de xdm que consiste en los /archivos xdm-errors y cualquier archivo de autoridad xdm. Los binarios de /xdm tales como chooser deben aún estar localizados en la localidad /histórica en /usr/X11R6/lib/X11/xdm. El archivo xdm-pid debe estar en //var/lib/xdm a pesar de existir /var/run. Los archivos restantes deben /estar en /etc/X11/xdm. /var/local : Información variable del software que está en /usr/local Este directorio contiene toda la información variable que esté relacionada con el software que se encuentra en /usr/local. Naturalmente la implementación de este subdirectorio se deja a el administrador del sistema . Como sea la información que se puede categotizar en otro lugar del directorio /var, no se debe colocar en /var/local. Por ejemplo, todos los archivos de bloqueo aún irán en /var/lock. /var/lock : Archivos de Bloqueo Los archivos de bloqueo deben almacenarse dentro de una estructura del directorio de /var/lock. Para preservar la habilidad de montar /usr sólo-lectura, no se deberá colocar los archivos de bloqueo en la partición /usr. Los archivos de bloqueo de dispositivo, tales como los archivos de bloqueo de dispositivos serie que antes se encontraban en /usr/spool/lock ó en /usr/spool/uucp deben ahora almacenarse en /var/lock. La convención para la nomenclatura que debe utilizarse es LCK... seguido del nombre base del dispositivo. Por ejemplo, para bloquear /dev/cua0 se deberá crear el archivo LCK... cua0. El formato usado para los archivos de bloqueo de dispositivo en Linux deberá ser el formato de archivos de bloqueo HDB UUCP. El formato HDB es almacenar el PID 43

(Identificador del proceso) como un número decimal en ASCII de 10 bytes, con un carácter de línea nueva. Por ejemplo, si el proceso 1230 retiene un archivo de bloqueo, contendrá los siguientes once (11) caracteres: espacio, espacio, espacio, espacio, espacio, espacio, uno, dos, tres, cero y nueva línea. Entonces cualquier cosa que desee usar /dev/cua0, puede leer el archivo de bloqueo y actuar de acuerdo (Todos los archivos de bloqueo en /var/lock deben ser leíbles por todos). /var/log : Archivos bitácora y directorios Este directorio contiene archivos bitácora misceláneos. la mayoría de los archivos bitácora se deben escribir en este directorio o subdirectorios apropiados. lastlog messages wtmp

Registro del último acceso de cada usuario Mensajes del sistema desde syslogd Registro de todos los accesos y salidas

Se puede requerir de un enlace simbólico desde /var/log/utmp hacia /var/run/utmp hasta que ningún programa se refiera a /var/adm/utmp (/var/adm es en sí mismo un enlace simbólico transicional hacia /var/log). /var/named : Archivos DNS Este directorio contiene todos los archivos de trabajo del servidor de nombres Internet, named. Recomendamos que /etc/named.boot sea un enlace simbólico hacia /var/named/named.boot, dado que /etc/named.boot es el archivo de arranque por defecto, si no se dan argumentos a named. /var/nis : Archivos de bases de datos del servicio de información dered (NIS) El sistema de información de red (NIS) era anteriormente conocido como las Páginas Amarillas Sun (YP). La funcionalidad y localización de directorios de ambos es el mismo pero el nombre (Yellow Pages) es una marca registrada en el Reino Unido, pertenece a Bristish Telecommunications PLC. Y no puede ser usada sin permiso. /var/preserve: Archivos guardados después de una colisión o una terminación inesperada de ex ó vi 44

Este directorio contiene los archivos que son almacenados ante cualquier terminación no-esperada de ex, vi, ó de alguno de sus clones. /var/run : Archivos variables de tiempo de ejecución Este directorio contiene archivos con información del sistema que lo describen desde que arrancó. Generalmente los archivos en este directorio se deben limpiar (remover o truncar, según corresponda) al comenzar el proceso de arranque. Los archivos identificados de proceso (PID), que estaban originalmente /etc, se deben colocar en /var/run. La convención de nomenclatura de archivos PID es <nombreprograma>.pid, por ejemplo el archivo PID de crond se llama /var/run/crond.pid. El formato interno de los archivos PID permanecen sin cambio. El archivo debe de consistir del indicador del proceso en decimales codificado como ASCII, seguido por un carácter nueva línea Por ejemplo, si crond fue el proceso número 25, /var/run/cond.pid contendrá 3 caracteres, dos cinco y nueva línea. Los programas que lean archivos PID deben ser flexibles en lo que aceptan, p. ej. deben ignorar los espacios extras, ceros a la izquierda, ausencia del carácter nueva línea o líneas adicionales en el archivo PID. Los programas que crean archivos PID deben utilizar la sencilla especificación dada en el anterior párrafo. El archivo utmp, que almacena información acerca de quién está actualmente utilizando el sistema, se localiza en este subdirectorio. Los programas que mantengan sockets transitorios de dominio UNIX, deben colocarlos en este directorio. /var/spool : Directorios de fila de trabajos para procesamiento posterior El directorio var/spool es tradicionalmente utilizado para la información local de /máquina que es enviada para procesarse después, hacia o desde subsistemas /UNIX. Por ejemplo, trabajos de impresión que son almacenados aquí para /entrega posterior al daemon de la impresora, el correo que sale es /almacenado aquí para entrega a sistemas remotos y los archivos UUCP son /almacenados aquí para transmisión a los sistemas UUCP vecinos. El correo /que entra y las noticias son almacenados aquí para entregarse a los /usuarios y los trabajos de at y cron son almacenados aquí para ejecución /retardada por el daemon cron. 45

/var/spool at

Trabajos de at

cron

Trabajos de cron

lpd

Directorio de impresora *

mail

Archivos caja-postal(buzón) de los usuarios

mqueue

Fila del correo saliente

news

Directorio de noticias *

rwhod

Archivos rwhod

smail

Directorio de smail *

uucp

Directorio de UUCP

Nota: * Significa fila de trabajos para proceso posterior. Los archivos de bloqueo UUCP deben localizarse en /var/lock. Véa la sección acerca de /var/lock. /var/spool/lpd /var/spool/lpd --- Directorio de fila de trabajos para proceso posterior o impresión

Directorio que tiene la fila específica de esta impresora

El archivo de bloqueo para lpd, lpd.lock debe estar localizado en /var/spool/lpd. El archivo de bloqueo de cada impresora debe localizarse en el directorio de la impresora especifica y se debe llamar lock. /var/tmp : Archivos temporales, utilizando para mantener /tmp pequeño. Los archivos que están en /var/tmp están almacenados por una duración no específica. (Recuerde que los directorios temporales del sistema no garantizan mantener la información por ningún periodo particular). La información almacenada en /var/tmp típicamente se limpia en una "forma definida localmente" pero usualmente menos frecuentemente que /tmp. Se puede encontrar información sobre directorios temporales en la selección dedicada a /tmp (arriba). Debe existir un enlace simbólico desde /usr/tmp hacia var/tmp por razones de compatibilidad.

46

1.4 Instalación de Linux En la actualidad instalar cualquier distribución de Linux es sencillo, anteriormente era toda una faena puesto que la mayoría del hardware no era compatible con Linux, afortunadamente hoy en día ya no se presentan este tipo de problemas en Linux. Hoy instalar Linux puede compararse a instalar un sistema operativo de Microsoft lo que lo hace más accesible a las personas que desean utilizar Linux. En la instalación de Linux nos basaremos sobre la distribución de Linux Red Hat 9.0, siendo que hoy en día el modo de instalación de las demás distribuciones son muy parecidas.

1.4.1 Previo a la Instalación Aunque este manual pretenda dar la información más actual posible, se recomienda leer las Notas de Última hora de Red Hat Linux para obtener información que no esté disponible en esta documentación. Las Notas

de

Última hora se pueden consultar en el CD #1 de Red Hat Linux y en línea: http://www.redhat.com/docs/manuals/linux/

1.4.2 Es compatible su Hardware? La compatibilidad del hardware es particularmente importante para aquellos usuarios que tienen sistemas antiguos o sistemas que han construido ellos mismos. Red Hat Linux 9 debería ser compatible con la mayoría del hardware de los sistemas que han sido fabricados en los últimos dos años. De cualquier modo, como las características del hardware cambian y mejoran diariamente, es difícil garantizar que su hardware sea compatible al 100%. Encontrará la lista más reciente del hardware soportado en: http://hardware.redhat.com/hcl/

47

1.4.3 Espacio en el Disco Duro Casi todos los sistemas operativos modernos utilizan particiones de discos, y Red Hat Linux no es una excepción. Cuando instale Red Hat Linux, tendrá que trabajar con particiones de disco. Si no ha trabajado con particiones de disco no se preocupe no necesita conocimientos avanzados lea la información que se encuentra en la siguiente dirección:

http://www.linux-cd.com.ar/manuales/rh9.0/rhl-ig-x86-es-9/ch-partitions.html

,

para conocer sobre particiones, particionar significa dividir el disco duro en varias partes por ahora lo importante son las partición para linux. Como recomendación para evitar problemas con diferentes tipos de particiones es recomendable instalar Linux en un disco duro nuevo ó formateado al que se le pueda borrar e instalar nuevas particiones.

1.4.4 Requisitos de espacio en disco para la instalación Nota: Estas recomendaciones están basadas en una instalación que sólo instala un idioma (como por ejemplo Español). Si desea instalar varios idiomas para usarlos en su sistema,

debería

aumentar

los

requerimientos

de

espacio

en

disco.

Estas

recomendaciones tampoco toman en cuenta el espacio adicional para los datos del usuario. Debe contar con espacio adicional disponible si planea guardar cualquier dato de usuario (o archivos personales) en su sistema. Escritorio personal Una instalación de tipo escritorio personal, habiendo elegido instalar GNOME o KDE, requiere al menos 1.7GB de espacio libre. Si selecciona ambos entornos de escritorio, necesitará al menos 1.8GB de espacio libre en disco. Estación de trabajo Una instalación de tipo estación de trabajo, incluye un entorno de escritorio gráfico y herramientas de desarrollo de software, requiere al menos 2.1 GB de espacio libre. Si escoge los dos entornos de escritorio GNOME y KDE necesitará al menos 2.2 GB de espacio libre.

48

Servidor Una instalación de tipo servidor requiere 850 MB en una instalación mínima sin X (el entorno gráfico), al menos 1.5 GB de espacio libre en disco si todos los componentes que no sean X (grupos de paquetes) están instalados y, al menos, 5.0 GB para instalar todos los paquetes incluidos los entornos GNOME y KDE. Personalizada Una instalación de tipo personalizada requiere 475MB para una instalación mínima y al menos 5.0GB de espacio libre si se selecciona cada paquete.

1.4.5 Procedimientos para la Instalación Existen varios métodos que pueden usarse para instalar Red Hat Linux. Si su sistema soporta el arrancar desde el CD-ROM, es fácil empezar una instalación solo basta con introducir el disco de instalación booteable y seguir los pasos de este manual. La mayoría de las computadoras nuevas permiten arrancar desde el CDROM. Su BIOS puede que necesite ser cambiada para permitir el arranque desde la unidad de CD-ROM. Para obtener información adicional sobre las modificaciones de su BIOS, consulte el manual de su computadora.

1.4.6 Método de arranque alternativo Sino puede arrancar desde su CDROM Existe otra alternativa que podrá utilizar: Disco de arranque Si necesita un disco de arranque[1], tiene que crearlo. Se necesitará un disco de arranque si no puede iniciar desde el CD-ROM. Puede usarlo para arrancar desde la red, bloque o dispositivo PCMCIA (también necesitará el disquete de controladores correspondiente a su escenario de arranque). El archivo de imagen del disco, bootdisk.img, está localizado en el directorio images en su CD-ROM de Red Hat Linux. 49

1.4.6.1 Creación de un disco de arranque de la instalación El objetivo es escribir la imagen images/bootdisk.img a un disquete. puede que necesite usar una imagen de disco actualizada desde la página de errata de Red Hat Linux http://www.redhat.com/apps/support/errata/. Un archivo de imagen contiene una copia exacta (o imagen) del contenido de un disquete. Como el disquete contiene información del sistema de archivos, además de los datos contenidos en los archivos, la imagen no podrá ser usada hasta que no haya sido escrita en un disco. Para comenzar, necesita un disquete de 3.5-pulgadas en blanco, formateado y de alta densidad (1.44MB). Necesita acceso a una máquina con una unidad de disquete de 3.5-pulgadas. Este equipo debe ser capaz de correr bien sea un programa MS-DOS o la utilidad dd encontrada en la mayoría de los sistemas operativos parecidos a Linux. El directorio images/ en su CD-ROM de Red Hat Linux contiene las imágenes de arranque. Una vez que haya seleccionado la imagen adecuada (bootdisk.img), transfiera el archivo imagen al disquete usando alguno de los métodos siguientes.

1.4.6.2 Uso de la utilidad rawrite Para crear un disquete bajo MS-DOS, utilice la utilidad rawrite incluida en el CDROM de Red Hat Linux en el directorio dos utils. Primero, etiquete convenientemente un disquete en blanco y formateado de 3.5-pulgadas (como "Disco de arranque" o "Disco de actualización"). A continuación, utilice los siguientes comandos (asumiendo que su CDROM es la unidad D:): C:\> d: D:\> cd \dosutils D:\dosutils> rawrite Enter disk image origen file name:..\images\bootdisk.img Enter target diskette drive: a: Please insert a formatted diskette into drive A: and 50

press --ENTER-- :[Enter] D:\dosutils> Primero, rawrite le pide el nombre del archivo de una imagen de disco; teclee el directorio

y

el

nombre

de

la

imagen

que

quiere

escribir

(por

ejemplo,

..\images\bootdisk.img). Luego rawrite le pedirá que introduzca la unidad de disquete a la cual escribir; escriba a:. Para terminar, rawrite le pedirá confirmación de que un disco formateado se encuentra en la unidad que usted ha seleccionado. Tras pulsar [Intro] para confirmarlo, rawrite copiará el archivo con la imagen en el disco. Si necesita hacer otro disco, etiquete el nuevo disco y ejecute de nuevo rawrite, especificando el nombre de la nueva imagen que quiere crear. Nota: La utilidad rawrite tan sólo acepta los nombres del archivo del tipo 8.3, como por ejemplo filename.img[2]. Si ha descargado una imagen actualizada desde http://www.redhat.com/ con un nombre similar a update-anaconda-03292002.img, deberá renombrarla a updates.img antes de ejecutar rawrite.

1.4.6.3 Usar el comando dd Para crear un disquete bajo Linux (o cualquier otro sistema operativo estilo Linux), deberá tener los permisos necesarios para escribir en el dispositivo que representa la unidad de discos de 3.5 pulgadas (conocida como /dev/fd0 bajo Linux). Primero, etiquete convenientemente un disco en blanco formateado (como "Disco de arranque" o "Disco de actualización"). Inserte el disco en la unidad (pero no ejecute el comando mount[3] para montar el disquete). Tras montar el CD de Red Hat Linux, cámbiese al directorio que contiene la imagen deseada y use el siguiente comando (cambiando el nombre del archivo de imagen y del dispositivo como sea conveniente): dd if=bootdisk.img of=/dev/fd0 bs=1440k Para crear otro disquete, etiquete el nuevo disco, y ejecute el comando dd de nuevo, especificando el nombre del nuevo archivo de imagen.

51

Notas[1] Un disco de arranque puede ser un disquete que usted ha creado para arrancar (o iniciar) el programa de instalación, o puede ser un disquete que ha creado durante el proceso de instalación y que se puede usar a posteriori para arrancar el sistema operativo. Normalmente, su ordenador arranca desde un disco duro, pero si el disco duro está dañado, podrá arrancar el ordenador desde un disquete de arranque. [2] El nombre de tipo de archivo 8.3 viene de la convención de nombres de ocho caracteres, un punto, y tres caracteres para la extensión. Esta convención soporta los nombres de archivos entre 1 y 8 caracteres, los cuales no pueden tener espacios y no pueden contener caracteres ? o _ al principio del nombre. [3] Al montar un disquete o CD-ROM, usted coloca los contenidos de ese dispositivo disponibles para usted.

1.4.6.4 Unidad de disco USB También puede arrancar su programa de instalación usando un disco de arranque en una unidad de disco USB (si su sistema soporta el arranque desde una unidad de discos USB). Como se puede observar es imposible documentar todos los sucesos que se puedan presentar al instalar Linux, es por ello que la recomendación de consultar otros manuales en caso de ser necesario.

1.4.7 Tipo de instalaciones Normalmente, Red Hat Linux se suele instalar en su propia partición o conjunto de particiones, o sobre otra instalación de Linux.

Aviso

Instalar Red Hat Linux sobre otra instalación de Linux (incluyendo Red Hat Linux) no conserva la información (ni archivos ni datos) de la instalación anterior. ¡Asegúrese de que guarda todos los archivos importantes! Para guardar los datos de su sistema, debería 52

copiarlos y/o realizar una actualización

Como se mencionó anteriormente están disponibles los siguientes tipos de instalación los cuales le facilitan el proceso de instalación (con el inconveniente de una pérdida potencial de flexibilidad), o, si lo desea, puede mantener la flexibilidad en una instalación mucho más compleja. A continuación, veremos con más detalle cada uno de los diferentes tipos de instalación para que pueda elegir cuál es el que se adapta mejor a su situación.

1.4.8 Instalación del tipo escritorio personal Más adecuada para los usuarios nuevos, la instalación de tipo escritorio personal instalará el entorno de escritorio que usted quiera, el Sistema X Window, así como crea un sistema ideal para trabajar desde la casa o el escritorio. A continuación mostramos una lista de los requisitos de espacio mínimo recomendado en disco para una instalación de tipo escritorio personal donde se instalará tan sólo un idioma (como por ejemplo Español). •

Escritorio personal: 1.7 GB



Escritorio personal escogiendo GNOME y KDE: 1.8 GB Si planea seleccionar todos los grupos de paquetes (por ejemplo, Office/Productivity

es un grupo de paquetes), así como también seleccionar paquetes individuales, puede que necesite unos 5 GB o más de espacio libre en disco adicional.

1.4.8.1 Instalación de tipo escritorio personal Si elige particionamiento automático, una instalación de tipo escritorio personal creará las siguientes particiones: •

El tamaño de la partición swap viene determinado por la cantidad de memoria RAM en su sistema y la cantidad de espacio disponible en su disco duro. Por ejemplo, si tiene 128 MB de RAM la partición swap creada puede ser 128 MB - 256 MB (dos veces su RAM), dependiendo de cuanto espacio de disco haya disponible.



Una partición de 100 MB (montada como /boot) en la que se ubican el kernel de Linux y los archivos relacionados. 53



Una partición raíz montada como / en la que están almacenados todos los archivos (el tamaño exacto de su partición depende del espacio de disco disponible).

1.4.8.2 Instalaciones de tipo estación de trabajo En este tipo de instalación, se instalan un entorno gráfico y el sistema X Window así como herramientas de desarrollo. A continuación le mostramos la lista de los requisitos del espacio libre del disco para una instalación de tipo estación de trabajo que se realizará con un sólo idioma (como por ejemplo en Inglés). •

Estación de trabajo: 2.1 GB



Estación de trabajo seleccionando GNOME y KDE: 2.2 GB Si desea elegir todos los grupos de paquetes (por ejemplo, GNOME es un grupo de

paquetes), así como seleccionar los paquetes individualmente, puede que necesite unos 5.0 GB o más de espacio en disco. Si proporciona esta cantidad adicional de espacio, tendrá lugar para datos adicionales, si lo requiere.

1.4.8.3 ¿Qué hará una instalación de tipo estación de trabajo? Si elige particionamiento automático, una instalación de tipo estación de trabajo creará las siguientes particiones: •

El tamaño de la partición swap viene determinado por la cantidad de memoria RAM en su sistema y la cantidad de espacio disponible en su disco duro. Por ejemplo, si tiene 128 MB de RAM la partición swap creada puede ser 128 MB - 256 MB (dos veces su RAM), dependiendo de cuanto espacio de disco haya disponible.



Una partición de 100 MB (montada como /boot) en la que se ubican el kernel de Linux y los archivos relacionados.



Una partición raíz montada como / en la que están almacenados todos los archivos (el tamaño exacto de su partición depende del espacio de disco disponible). 54

1.4.8.4 Instalación de tipo servidor Una instalación de tipo servidor es más apropiada si quiere que su sistema funcione como un servidor de tipo Linux y no desea personalizar mucho su sistema. A continuación tiene los requisitos mínimos de espacio en el disco para una instalación de tipo servidor en la que tan sólo se instalará un idioma (por ejemplo Español). •

Servidor (mínimo, sin interfaz gráfica): 850 MB



Servidor (seleccionando todo, sin interfaz gráfica): 1.5 GB



Servidor (seleccionando todo, incluyendo una interfaz gráfica): 5.0 GB Si quiere elegir todos los grupos de paquetes, así como seleccionar paquetes

individuales adicionales, deberá preveer espacio adicional de unos 5.0 GB o más. Durante una instalación de tipo servidor, el sistema X Window no se configurará y no se cargará ningún entorno gráfico de usuario cuando se inicie el sistema, a no ser que elija instalar los paquetes apropiados durante la selección de paquetes.

1.4.8.5 Instalación de tipo servidor •

El tamaño de la partición swap viene determinado por la cantidad de memoria RAM en su sistema y la cantidad de espacio disponible en su disco duro. Por ejemplo, si tiene 128 MB de RAM la partición swap creada puede ser 128 MB - 256 MB (dos veces su RAM), dependiendo de cuanto espacio de disco haya disponible.



Una partición de 100 MB montada como /boot en el kernel de Linux y archivos relacionados.



Una partición raíz montada como / en la que están almacenados todos los archivos (el tamaño exacto de su partición depende del espacio de disco disponible).

Este esquema de particionamiento se convierte en un sistema de archivos flexible para la mayoría de tareas del servidor.

55

1.4.8.6 Instalación personalizada Una instalación personalizada le permite la mayor flexibilidad durante la instalación. Las instalaciones de tipo estación de trabajo y servidor automáticamente pasan a través del proceso de instalación por usted y pueden omitir determinados pasos. Durante una instalación personalizada, tiene un control completo sobre los paquetes que serán instalados en su sistema. Los

requisitos

de

espacio recomendado

en

disco

para

una

instalación

personalizada son los siguientes: •

Personalizada (mínimo): 475 MB



Personalizada (escogiendo todo): 5.0 GB

1.4.8.7 Instalación de tipo personalizada Como se puede deducir del nombre, una instalación personalizada hace énfasis en la flexibilidad. Tiene control completo sobre los paquetes que serán instalados en su sistema. Si escoge particionar automáticamente, una instalación personalizada creará las siguientes particiones: •

El tamaño de la partición swap viene determinado por la cantidad de memoria RAM en su sistema y la cantidad de espacio disponible en su disco duro. Por ejemplo, si tiene 128 MB de RAM la partición swap creada puede ser 128 MB - 256 MB (dos veces su RAM), dependiendo de cuanto espacio de disco haya disponible.



Una partición de 100 MB (montada como /boot) en la que residen el kernel de Linux y los archivos relacionados.



Una partición raíz montada como / en la que están almacenados todos los archivos (el tamaño exacto de su partición depende del espacio de disco disponible).

1.4.8.8 Actualización de su sistema 56

Al actualizar Red Hat Linux 6.2 (o superior) no borrará los datos existentes. El programa de instalación actualiza el kernel modular y los paquetes que ya tenga instalados.

1.4.5 Información sobre el Hardware Una de las principales preocupaciones en Linux es la compatibilidad con el Hardware, la cual ya se ha alcanzado en más de un 80% debido a las constantes actualizaciones que sufre Linux. Los fabricantes también se han unido a esta causa pues en la mayoría está entregando en controlador de un dispositivo en versión para Linux. Sin embargo en los elementos mínimos necesarios para instalar Linux en una PC.

1.4.5.1 Hardware Mínimo Como todo Sistema Operativo Linux también tiene una lista de requisitos mínimos a considerar en el Hardware empezando por el procesador 80386 con 2 Mb de memoria RAM y 40 Mb de espacio libre en disco rígido y puede correr tranquilamente sobre esta configuración. Para utilizar el modo grafico (vale la pena, Sistema X Windows ;) necesita al menos 8 Mb de RAM y 100 Mb de espacio en disco. Linux puede trabajar con los buses ISA, VLB (Vesa Local Bus), EISA y PCI. Además puede trabajar en sistemas con arquitectura PS/2 MCA (Micro Channel Architecture). Linux puede correr, además, en la familia de PC's portables, desde las 80386 en adelante, inclusive con su sistema grafico.

1.5 Empezando la Instalación de RED HAT Linux 9 Para empezar la instalación, tiene que iniciar el programa de instalación. Asegúrese de disponer de todos los medios (CDs o similar) necesarios para la instalación.

1.5.1 Arranque del programa de instalación Puede arrancar el programa de instalación usando cualquiera de los siguientes medios (en función del medio compatible con su sistema): 57

CD-ROM de arranque — Su ordenador soporta una unidad de CD-ROM de arranque y quiere realizar una instalación de red o disco duro. Disquete de arranque — Utilice esta opción si su ordenador no soporta CD ROM para el arranque y quiere efectuar una instalación desde un CD-ROM, red o disco duro. Introduzca el disquete de arranque en la primera unidad de disco y vuelva a arrancar (o arranque usando el CD-ROM, si su ordenador admite arrancar desde la unidad de CD-ROM). La configuración de su BIOS puede que se tenga que cambiar para que sea posible arrancar desde un disco o un CD-ROM.

Sugerencia

Para modificar la BIOS, tenga en cuenta las instrucciones que puede ver cuando arranca el sistema por primera vez. Verá una línea de texto que le pide pulsar el botón [Supr] o [F1] para acceder a los parámetros de la BIOS. Después, localice la sección donde puede alterar la secuencia de arranque. Por defecto, ésta suele ser C, A o A, C (dependiendo de si arranca desde su disco duro, unidad [C], o si lo hace desde una unidad de disco flexible o disquetera, unidad [A]). Cambie esta secuencia para que el CD-ROM sea el primero en el orden de inicio y C o A (cualquiera de las dos, suele ser la unidad de arranque, por defecto) en segundo lugar. Esto hará que su ordenador utilice como unidad de arranque la unidad de CD-ROM; si no encuentra nada allí, mirará en el disco duro o en la disquetera. Guarde sus cambios antes de salir de la BIOS. Para más información, consulte la documentación que se suministra con el sistema.

Después de una breve pausa aparecerá una pantalla con el indicador de comandos boot:. Esta pantalla contiene información sobre algunas opciones de arranque. Cada una de estas opciones está asociada a una pantalla de ayuda. Para acceder a ella, pulse la tecla de función correspondiente que se encuentra en la lista de la parte inferior de la pantalla. Al arrancar el programa de instalación, debería tener en cuenta dos cuestiones: •

Una vez que vea el indicador de comandos boot:, la pantalla inicial lanzará automáticamente el programa de instalación si no hace nada durante un minuto. Para inhabilitar esta característica, pulse una de las teclas de función de la pantalla de ayuda. 58



Si pulsa una tecla de función de una pantalla de ayuda, tendrá que esperar unos segundos para la lectura desde el medio elegido para el arranque. Normalmente, tendrá que pulsar simplemente [Intro] para empezar. Observe los mensajes de arranque para ver si el kernel de Linux detecta su hardware. Si nota que el hardware no ha sido detectado de forma correcta, tendrá que reiniciar en modo experto. Si su hardware se detecta adecuadamente, puede continuar con la siguiente sección. En caso de que necesite alguna opción de arranque adicional que no se trate en este manual puede consultar la siguiente dirección

http://www.linux-cd.com.ar/manuales/rh9.0/rhl-ig-

x86-es-9/s1-x86-starting.html

1.5.2 Instalación desde un CD-ROM Para instalar Red Hat Linux desde un CD-ROM, escoja CD-ROM y seleccione OK. Cuando el programa se lo indique, inserte el CD de Red Hat Linux en el lector de disco (si no arrancó desde una unidad de CD). Una vez que el CD esté en la unidad de CD-ROM, seleccione OK, y presione [Intro].

El programa de instalación probará su sistema e intentará identificar su lector de CD-ROM. En primer lugar, buscará un lector de CD-ROM IDE (también conocido como ATAPI). Si lo encuentra, continuará con el siguiente paso del proceso de instalación.

Nota

Si quiere interrumpir la instalación en este momento, tan sólo tendrá que reiniciar la máquina y extraer el disquete de arranque o el CD-ROM. Puede anular la instalación en cualquier momento antes de la pantalla Comenzar la instalación.

Si no se ha reconocido ninguna unidad de CD-ROM, y es del tipo SCSI, puede seleccionarlo manualmente en el momento en el que se le pida seleccionar el tipo de CDROM. Seleccione SCSI si su CD-ROM está conectado con un controlador SCSI; el programa de instalación le pedirá elegir un controlador SCSI. Elija el que más se parezca a su controlador. Puede además especificar opciones para el controlador si es necesario, 59

sin embargo, la mayoría de los controladores detectarán su adaptador SCSI automáticamente.

Sugerencia

Encontrará una lista parcial de parámetros opcionales para unidades de CD-ROMs en el Manual de referencia de Red Hat Linux, en el apéndice Parámetros y módulos generales.

1.5.2.1 que hacer si no detecta el CD-ROM IDE Si tiene un CD-ROM IDE (ATAPI), pero el programa de instalación no lo detecta, le preguntará qué tipo de CD-ROM tiene. En este caso reinicie el programa de instalación y en el intérprete de comandos boot: escriba linux hdX=cdrom. Reemplace la X con una de las siguientes letras, dependiendo de la interfaz a la que está conectada la unidad y de si está configurado como maestro o esclavo (también conocido como primario y secundario): •

a — Primer controlador IDE, maestro.



b — Primer controlador IDE, esclavo.



c — Segundo controlador IDE, maestro.



d — Segundo controlador IDE, esclavo. Si tiene un tercer o un cuarto controlador, continúe simplemente asignando las

letras en orden alfabético, pasando de controlador a controlador, de maestro a esclavo).

1.5.3 Bienvenido a Red Hat Linux La pantalla de Bienvenida no le pedirá ninguna información. Por favor lea el texto de ayuda en el panel de la izquierda para instrucciones adicionales e información sobre el registro de su producto Red Hat Linux. Observe que el botón Esconder ayuda se encuentra en la parte inferior izquierda de la pantalla. La pantalla de ayuda aparece abierta por defecto. Si no quiere visualizar la información, haga click en Esconder ayuda para minimizar esta parte de la pantalla. Haga click en Siguiente para continuar.

1.5.4 Selección del idioma 60

Utilizando su ratón, elija el idioma que quiere usar por defecto para la instalación y para el sistema. La selección del idioma apropiado le ayudará también a seguir los pasos correctos para configurar la zona horaria (huso horario), más tarde. El programa de instalación intentará definir el huso horario adecuado basándose en su configuración.

Una vez que haya seleccionado el idioma, haga click en Siguiente para continuar.

1.5.5 Configuración del ratón Elija el ratón adecuado a su sistema. Si no encuentra el tipo exacto, elija el que crea que será compatible con el suyo.

61

Para determinar la interfaz del ratón, mire el conector de su ratón y siga los siguientes diagramas. Si está instalando Red Hat Linux en un ordenador portátil, en la mayoría de los casos el dispositivo en cuestión será compatible con PS/2.

Si su ratón es serial, el puerto será parecido a

.

Si su ratón es un ratón PS/2, el puerto será parecido a

.

Si su ratón es un ratón USB, el puerto será parecido a

.

Si su ratón es un ratón AT, el puerto será parecido a

.

Si no encuentra un ratón del que esté seguro que es compatible con su sistema, seleccione una de las entradas Generic, basadas en el número de botones de su ratón y de su interfaz.

Sugerencia

Si tiene un ratón de scroll, seleccione la entrada Generic - Wheel Mouse (con el puerto del ratón correcto) como un tipo de ratón compatible. Si tiene un ratón PS/2, USB, o Bus, no necesita seleccionar un puerto y dispositivo. Si tiene un ratón serial, seleccione el puerto correcto y dispositivo en el que su ratón está conectado. La casilla de verificación Emular 3 Botones le permite simular el funcionamiento de un ratón de tres botones si tiene uno de dos. Si selecciona esta casilla de verificación, podrá emular un tercer botón, el que se encontraría en el "medio", presionando simultáneamente ambos botones disponibles en su ratón de dos botones. 62

1.5.6 Seleccionar Actualizar o Instalar La pantalla Examinar la actualización aparece automáticamente si el programa de instalación detecta una versión previa de Red Hat Linux en su sistema. Si desea llevar a cabo una actualización, seleccione Actualizar una instalación existente y refiérase al Apéndice A para más instrucciones.

Asegúrese de seleccionar Personalizar los paquetes a actualizar si desea tener mayor control sobre cuáles paquetes serán actualizados en su sistema.

63

Para realizar una nueva instalación de Red Hat Linux en su sistema, seleccione Realizar una nueva instalación de Red Hat Linux y haga click en Siguiente.

1.5.7 Configuración del particionamiento del disco El particionamiento le permite dividir el disco duro en secciones aisladas, donde cada sección se comporta como su propio disco duro. El particionamiento es especialmente útil si ejecuta más de un sistema operativo. En esta pantalla, puede elegir entre realizar un particionamiento automático o un particionamiento manual con Disk Druid.

64

El particionamiento automático le permite realizar una instalación sin tener que particionar los discos usted mismo. Si no se siente seguro durante la partición manual de su disco, se aconseja elegir la partición automática, a fin de que el proceso de instalación decida por vd. qué tipo de partición adoptar.

1.5.8 Particionamiento automático El particionamiento automático le permite tener control de los datos que se han eliminado en su sistema. Tiene las siguientes opciones: Eliminar todas las particiones Linux del sistema — seleccione esta opción para eliminar tan sólo las particiones Linux (particiones creadas en una instalación Linux

65

previa). No borrará el resto de particiones que tenga en el disco(s) duro(s) (tal como VFAT o particiones FAT32).

Eliminar todas las particiones del sistema — seleccione esta opción para eliminar todas las particiones de su disco duro (esto incluye las particiones creadas por otros sistemas operativos tales como Windows 95/98/NT/2000). Mantener todas las particiones y usar el espacio libre existente — seleccione esta opción para conservar los datos y las particiones actuales, presumiendo que tiene suficiente espacio disponible en los discos duros.

Mediante el uso del ratón, escoja los discos duros en los que quiere instalar Red Hat Linux. Si tiene dos o más discos duros, puede escoger qué disco duro debería contener esta instalación. Esto no repercutirá a los discos duros no seleccionados ni a ninguno de sus datos. 66

Nota

Siempre es una buena idea respaldar los datos que tenga en sus sistemas. Por ejemplo, si está actualizando o creando un sistema de arranque dual, debería respaldar los datos que desea conservar en su(s) disco(s) duro(s). Los errores sí ocurren y pueden resultar en la pérdida de todos sus datos. Para revisar y realizar los cambios necesarios en las particiones creadas con el particionamiento automático, seleccione la opción Revisar. Después de seleccionar Revisar y hacer click en Siguiente para continuar, verá las particiones creadas en la aplicación Disk Druid. También podrá modificar estas particiones si no cumplen sus necesidades.

Haga click en Siguiente una vez que haya hecho sus selecciones para continuar.

1.5.9 Configuración del gestor de arranque Para poder arrancar su sistema Red Hat Linux sin el disquete de arranque, necesitará instalar un gestor de arranque. El gestor de arranque es el primer software que se ejecuta cuando se arranca el ordenador. Es responsable de la carga y de la transferencia del control al software del sistema operativo del kernel. El kernel, por otro lado, inicializa el resto del sistema operativo.

El programa de instalación le ofrece dos gestores de arranque, GRUB y LILO.

GRUB (GRand Unified Bootloader), que se instala por defecto, es un gestor de arranque muy potente ya que puede cargar una gran variedad de sistemas operativos gratuítos así como sistemas operativos de propietarios con el sistema de cargado en cadena (el mecanismo para cargar sistemas operativos no soportados mediante la carga de otro gestor de arranque, tal como DOS o Windows).

67

LILO (LInux LOader) es un gestor de arranque versátil para Linux. No depende de un determinado sistema de ficheros y puede arrancar las imágenes del kernel de Linux de los disquetes y de los discos duros e incluso arrancar otros sistemas operativos.

Si no desea instalar GRUB como su gestor de arranque, haga click en Cambiar el gestor de arranque. Puede escoger entre instalar LILO o no instalar ninguno.

Si ya tiene otro gestor de arranque que arranque Linux y no desea sobreescribir el gestor de arranque actual o si desea arrancar el sistema con disquetes, elija No instalar gestor de arranque haciendo click en el botón Cambiar el gestor de arranque.

68

Todas las particiones que se pueden arrancar aparecen en una lista, incluso las particiones que usan otros sistemas operativos. La partición que contiene el sistema de ficheros root del sistema tiene la Etiqueta de Red Hat Linux (para GRUB) o linux (para LILO). Las otras particiones puede que también tengan etiquetas de arranque. Si desea añadir o cambiar la etiqueta de arranque de las otras particiones que el programa de instalación ya ha detectado, haga click en una de ellas para seleccionarla. Una vez seleccionada puede realizar los cambios de la etiqueta de arranque haciendo click en el botón Modificar.

Seleccione Por defecto junto con la partición root preferida para escoger el sistema operativo que se desee arrancar por defecto. No podrá avanzar en la instalación mientras no escoja la imagen de arranque por defecto.

Nota

La columna de las Etiquetas muestra lo que debe introducir en el prompt de arranque, en gestores de arranque no gráficos, para poder arrancar el sistema operativo deseado. Una vez cargada la pantalla de arranque de GRUB, use las teclas de las flechas para escoger la etiqueta de arranque o escriba [e] para modificar. Aparacerá una lista con el contenido del fichero de configuración para la etiqueta de arranque que haya seleccionado. En la pantalla gráfica de LILO, pulse [Ctrl]-[x] para ir al indicador de comandos boot:. Si se ha olvidado de las etiquetas de arranque definidas para el sistema, puede pulsar

[Tab] en el intérprete de comandos para mostrar la lista de las etiquetas de arranque definidas. Las contraseñas del gestor de arranque ofrecen un mecanismo de seguridad en un ambiente en el que se tenga acceso físico al servidor.

Si está instalando un gestor de arranque, debe crear una contraseña para proteger el sistema. Sin dicha contraseña, los usuarios con acceso a su sistema pueden pasar opciones al kernel que pueden poner en compromiso la seguridad de su sistema. Con la contraseña, se tiene que introducir para poder seleccionar cualquier opción de arranque que no sea estándar. 69

Si selecciona colocar una contraseña para aumentar la seguridad del sistema, asegúrese de seleccionar la casilla Usar la contraseña del gestor de arranque.

Una vez seleccionada, introduzca la contraseña y confírmela.

Para configurar otras opciones más avanzadas de gestores de arranque, como cambiar el orden de las unidades o pasar opciones al kernel, seleccione la opción Configurar opciones avanzadas del gestor de arranque y haga click en Siguiente.

1.5.10 Configuración avanzada del gestor de arranque Ahora que ha decidido cúal gestor de arranque instalar, tiene que decidir dónde quiere instalarlo. Puede instalar el gestor de arranque en uno de los dos sitios siguiente: El master boot record (MBR) Este es el sitio recomendado para instalar un gestor de arranque, a no ser que el MBR esté ocupado por el gestor de arranque de otro sistema operativo, como System Commander. El MBR es un área especial del disco duro que la BIOS de su ordenador carga automáticamente y el punto más próximo en el que el gestor de arranque puede tomar el control de la secuencia de arranque. Si lo instala en el MBR, al arrancar su máquina, GRUB (o LILO) presentará un indicador de comandos de arranque. Podrá entonces iniciar Red Hat Linux o cualquier otro sistema operativo que le haya indicado al gestor de arranque.

El primer sector de la partición raíz Se recomienda si está utilizando otro gestor de arranque en su sistema. En este caso, el otro gestor de arranque tendrá el control en un primer momento. Podrá configurar ese gestor de arranque para que inicie GRUB (o LILO), que iniciará a su vez Red Hat Linux.

70

Si el sistema sólo utilizará Red Hat Linux, debería seleccionar el MBR. Para sistemas con Windows 95/98, también debería instalar el gestor de arranque en el MBR para que se puedan iniciar los dos sistemas operativos.

Haga click en Cambiar el orden de la unidad si desea cambiar el orden de la unidad o si su BIOS no devuelve el orden correcto. Será útil si tiene más de un adaptador SCSI o si tiene ambos tipos de adaptadores SCSI e IDE y desea arrancarlos con el dispositivo SCSI.

La opción Forzar el uso de LBA32 (no requerida normalmente) le permite exceder el límite de cilindro 1024 para la partición /boot. Si posee un sistema que es compatible con la extensión LBA32 para arrancar los sistemas operativos por encima del 71

límite de cilindro 1024 y desea ubicar la partición /boot más allá de este límite, debería seleccionar esta opción.

Sugerencia

Cuando esté particionando su disco duro, recuerde que la BIOS en algunos sistemas viejos no pueden acceder más allá de los primeros 1024 cilindros del disco duro. En este caso, deje suficiente espacio para la partición Linux /boot en los primeros 1024 cilindros del disco para arrancar Linux. Las otras particiones Linux pueden estar después del cilindro 1024. En parted, 1024 cilindros equivalen a 528MB. Refiérase a http://www.pcguide.com/ref/hdd/bios/sizeMB504-c.html para más información. Si desea añadir opciones predeterminadas al comando boot, ingréselas en el campo Parámetros generales del Kernel. Cualquier opción que ingrese se pasarán al kernel del Linux cada vez que arranque.

1.5.11 Modo rescate Si necesita utilizar el modo rescate, dispone de varias opciones.

Usando el CD-ROM de arranque, escriba linux rescue en el indicador de comandos boot:.

Arrancando el sistema desde un disquete de arranque de instalación creado desde la imagen boot.img. Este método requiere que se inserte el CD-ROM #1 de Red Hat Linux como la imagen de rescate o que la imagen de rescate esté en el disco duro como una imagen ISO. Una vez arrancado el sistema usando este disquete, escriba linux rescue en el intérprete de comandos boot:.

Usando el disquete de arranque en red creado a partir de bootnet.img o del disquete de arranque PCMCIA de pcmcia.img. Una vez arrancada utilizando este disquete, escriba linux rescue en el indicador de comandos boot:. Sólo puede hacer esto si la

72

conexión en red está funcionando. Deberá identificar el host de la red y el tipo de transferencia.

1.5.12 Gestores de arranque alternativos Como se ha explicado con anterioridad, si no desea usar un gestor de arranque, tiene varias alternativas: Disquete de arranque: Puede utilizar el disquete de arranque creado desde el programa de instalación (si ha elegido crearlo).

LOADLIN: Puede cargar Linux desde MS-DOS. Desafortunadamente, esto requiere una copia del kernel de Linux (y un disco RAM inicial si dispone de un dispositivo SCSI) disponible en la partición MS-DOS. La única forma de realizar esto es arrancando el sistema Red Hat Linux con otro método (por ejemplo, desde un disquete de arranque) y después copiar el kernel a una partición MS-DOS. LOADLIN está disponible en ftp://metalab.unc.edu/pub/Linux/system/boot/dualboot/

y en los sitios réplicas asociados.

SYSLINUX: SYSLINUX

es un programa de MS-DOS muy similar a LOADLIN.

También está disponible desde ftp://metalab.unc.edu/pub/Linux/system/boot/loaders/

y en los sitios espejo asociados. Gestores de arranque comerciales: Puede cargar Linux usando gestores de arranque comerciales. Por ejemplo, System Commander o Partition Magic pueden arrancar Linux (pero todavía necesitan que GRUB o LILO estén instalados en la partición raíz de Linux).

Nota

73

Los gestores de arranque tales como LOADLIN y System Commander son considerados gestores de terceros y no son soportados por Red Hat.

1.5.13 Tarjetas madre SMP, GRUB, y LILO Esta sección es específica de las tarjetas madre SMP. SMP, acrónimo de Symmetric Multiprocessing (Multiprocesamiento simétrico), es una arquitectura de computadores que proporciona un rápido rendimiento al poner varias CPUs disponibles para realizar simultáneamente procesos individuales (multiprocesamiento). Si el programa de instalación detecta una tarjeta madre SMP en su sistema, automáticamente creará dos entradas para el gestor de arranque.

Nota

Los sistemas Intel® Pentium® 4 con hipertramado tendrán un kernel SMP instalado por defecto. Las dos entradas de GRUB serán Red Hat Linux (kernel version) y Red Hat Linux (kernel version-smp). La Red Hat Linux (kernel version-smp) arrancará por defecto. Sin embargo, si tiene problemas con el kernel SMP, puede elegir arrancar la entrada Red Hat Linux (kernel version). Mantendrá toda la funcionalidad, pero tan sólo estará operando con un procesador.

Las dos entradas LILO serán linux y linux-up. La entrada linux arrancará por defecto. Sin embargo, si tiene problemas con el kernel SMP, puede elegir si quiere arrancar linux-up en su lugar. Mantendrá toda la funcionalidad que tenía antes, pero tan sólo utilizará un procesador.

1.5.14 Configuración de red Si no tiene tarjeta de red, no debería ver esta pantalla. Vaya directamente al siguiente en el índice. Si tiene un dispositivo de red y no ha configurado todavía su red, tiene la oportunidad de hacerlo (como se muestra en la siguiente Figura.

74

El programa de instalación automáticamente detecta los dispositivos de red que tiene y los muestra en la lista Dispositivos de red.

Una vez que haya seleccionado el dispositivo de red, haga click en Modificar. En la pantalla desplegable Modificar interfaz puede elegir la dirección IP o la máscara de red del dispositivo con el DHCP (o manualmente si no ha seleccionado DHCP ) y puede también activar el dispositivo en el intervalo de arranque. Si selecciona Activar en arranque, el dispositivo de red arrancará cuando arranque el sistema. Si no tiene el acceso al cliente DHCP o no está seguro contacte con el administrador de red.

Modificación del dispositivo de red Nota

75

No use los números que se han usado en el ejemplo. Estos valores no funcionarán para su propia configuración de red. Si no está seguro de qué valores desea introducir, contacte con su administrador de red para recibir soporte. Si tiene un nombre de dominio para el dispositivo de red, introdúzcalo en el campo Nombre del host o puede elegir tener el DHCP automáticamente. Para finalizar, introduzca la Puerta de enlace y el DNS primario (si los conoce, también el DNS secundario y DNS terciario).

Sugerencia

Aunque su ordenador no forme parte de la red, puede introducir el nombre del host en su sistema. Si no aprovecha esta oportunidad de introducir un nombre, su sistema será conocido como localhost.

Sugerencia

Para cambiar la configuración de red después de la instalación, use la Herramienta de administración de redes. Escriba el comando redhat-config-network en una línea de comandos de la shell para lanzar la Herramienta de administración de redes. Si no es root, se le pedirá la contraseña root para continuar.

1.5.15 Configuración del cortafuego

76

Red Hat Linux también le ofrece protección vía cortafuegos (firewall) para una seguridad mejorada del sistema. Un cortafuegos se dispone entre su ordenador y la red y determina qué recursos de su equipo están accesibles para los usuarios remotos de la red. Un cortafuegos bien configurado puede aumentar significativamente la seguridad de su sistema.

Seleccione el nivel de seguridad apropiado del sistema. Alto Si elige Alto, su sistema no aceptará más que las conexiones (además de las definidas por defecto) que hayan sido explícitamente definidas por usted. Por defecto, sólo se aceptan las siguientes conexiones:

Respuestas de DNS DHCP — para que cualquier interfaz de red que use DHCP puedan ser configuradas correctamente Si elige Alto, su cortafuegos no permitirá: 77

FTP en modo activo (el modo pasivo de FTP, usado por defecto en la mayoría de los clientes debería funcionar) Transferencias de archivos IRC DCC RealAudio™ Clientes del Sistema X Window remotos

Si conecta su sistema a Internet, pero no piensa utilizarlo como servidor, ésta es la opción más segura. Si necesita servicios adicionales, puede elegir Personalizar para permitir servicios específicos a través del cortafuego.

Medio Si elige Medio, su cortafuegos no permitirá a las máquinas remotas acceder a ciertos recursos de su sistema. Por defecto, los accesos a los recursos siguientes no están permitidos: Puertos menores del 1023 — los puertos reservados estándar, usados por la mayoría de los servicios, como FTP, SSH, telnet, HTTP, y NIS.

Puerto del servidor NFS (2049) — NFS está desactivado para los servidores remotos y los clientes locales.

La pantalla local del Sistema X Window para clientes X remotos. Puerto del servidor de fuentes de X (por defecto, xfs no escucha a la red, ya que está deshabilitado en el servidor de fuentes). Si quiere, puede permitir recursos, como por ejemplo, RealAudio™, mientras que bloquee los recursos normales (elija Medio). Puede seleccionar Personalizar para permitir a servicios específicos pasar a través del cortafuego.

Ningún cortafuego 78

La configuración "ningún cortafuegos" proporciona un acceso completo al sistema y no realiza ningún tipo de verificación de seguridad. La comprobación de seguridad es la desactivación del acceso a determinados servicios. Tan sólo se recomienda esta opción si está usando una red certificada y segura (no Internet), o si planea realizar una configuración detallada del cortafuego más adelante. Elija Personalizar para añadir dispositivos autenticados o para permitir nuevos servicios.

Dispositivos autenticados Al seleccionar Dispositivos autenticados permitirá el acceso a su sistema a todo el tráfico del dispositivo; se excluirá de las reglas del cortafuego (firewall). Por ejemplo, si está ejecutando una red local, pero está conectado a Internet vía PPP, puede seleccionar eth0 y todo el tráfico que llegue de su red local será permitido. Al seleccionar eth0 como autentificado significa que aceptaremos todo el tráfico Ethernet, pero la interfaz ppp0 seguirá bajo el cortafuego. Si quiere restringir todo el tráfico de una interfaz, déjelo sin seleccionar.

No es recomendable que haga de un dispositivo conectado a redes públicas tal como la Internet, un Dispositivo autenticado.

Permitir la entrada Al activar esta opción, permitirá que algunos servicios específicos puedan pasar a través del cortafuegos. Tenga en cuenta que, durante una instalación del tipo estación de trabajo, la mayoría de estos servicios no están instalados en el sistema.

DHCP Si permite la entrada y salida de peticiones DHCP, permitirá el acceso a cualquier interfaz de red que esté utilizando DHCP para determinar su propia dirección IP. DHCP suele estar activado. Si DHCP no está activado, su ordenador no podrá obtener una dirección IP. 79

SSH Secure SHell (SSH) es un paquete de utilidades para poder conectarse y ejecutar programas en una máquina remota. Si prevee utilizar las utilidades SSH para que pasen a través de un cortafuegos, deberá activar esta opción. Necesitará tener el paquete openssh-server instalado para acceder a la máquina remotamente utilizando herramientas SSH.

Telnet Telnet es un protocolo para conectarse a máquinas remotas. Las comunicaciones Telnet no son encriptadas y no proporcionan seguridad de red. No se recomienda permitir Telnet remoto. Si quiere permitir el servicio Telnet entrante, deberá instalar el paquete telnet-server.

WWW (HTTP) El protocolo HTTP es utilizado por Apache (y otros servidores web) para ofrecer el servicio de páginas web. Si quiere crear un servidor web disponible públicamente, habilite esta opción. Esta opción no es necesaria para la publicación de páginas web en local. Necesitará instalar el paquete httpd si quiere servir páginas web.

La habilitación de WWW (HTTP) no abrirá un puerto para HTTPS. Para habilitar HTTPS, especifíquelo en el campo Otros puertos.

Mail (SMTP) Si desea permitir la entrega de correo a través de su cortafuegos, de tal forma que los hosts remotos se puedan conectar directamente a su máquina para repartir el correo, habilite esta opción. No necesita esta opción para obtener su correo desde su servidor ISP usando POP3 o IMAP, o si utiliza una herramienta como fetchmail. Observe que un servidor configurado inadecuadamente puede permitir que máquinas remotas usen su servidor para enviar correo basura.

FTP 80

El protocolo FTP se utiliza para transferir archivos entre máquinas en una red. Si planea colocar un servidor FTP disponible públicamente, habilite esta opción. Necesitará instalar el paquete wu-ftpd para que esta opción sea útil.

Otros puertos Puede permitir el acceso a puertos que no han sido listados aquí, listándolo en el campo Otros puertos. Use el formato siguiente: port:protocol. Por ejemplo, si quiere permitir IMAP diría imap:tcp. También puede especificar explícitamente puertos numéricos; para permitir paquetes UDP en el puerto 1234 a través del cortafuegos, escriba 1234:udp. Para especificar varios puertos, sepárelos por comas.

Sugerencia

Para cambiar la configuración del nivel de seguridad después de haber finalizado la instalación, use la Herramienta de configuración de nivel de seguridad. Escriba el comando redhat-config-securitylevel en la shell de la línea de comandos para lanzar la Herramienta de configuración de nivel de seguridad. Si no es root, se le pedirá la contraseña root para continuar.

1.5.16 Selección del soporte del idioma Puede instalar y soportar múltiples idiomas para usar en su sistema.

Debe instalar un idioma para usarlo como idioma por defecto. El idioma por defecto será usado por el sistema una vez que la instalación se haya completado. Si escoge instalar otros idiomas, puede cambiar su idioma por defecto tras la instalación.

Si tan sólo va a utilizar un idioma en su sistema, podrá ganar bastante espacio en disco.

81

Utilice el botón Reiniciar para cancelar sus selecciones. Al reiniciar se volverá a la opción predeteminada, tan sólo el idioma que ha seleccionado para el uso durante la instalación será instalado.

Sugerencia

Para cambiar la configuración del idioma una vez finalizada la instalación, use la Herramienta de configuración del idioma. Escriba el comando redhat-config-language en una línea de comandos de la shell para lanzar la Herramienta de configuración del idioma. Si no es root, se le pedirá la contraseña root para continuar.

1.5.17 Configuración del horario

82

Puede elegir su huso horario o bien seleccionando la localización física de su ordenador o bien especificando su huso horario en función del Universal Time Coordinated (UTC).

En el mapa interactivo, puede hacer click en una ciudad específica, que están marcadas con un punto amarillo; una X roja aparecerá indicando su selección. Puede también desplazarse en la lista y seleccionar un huso horario.

La segunda pestaña le permite especificar un desplazamiento UTC. Esta pestaña muestra una lista de desplazamientos para elegir, así como las opciones para el cambio del horario de invierno/verano.

1.5.18 Configuración de la contraseña de root La configuración de la cuenta y la contraseña root es uno de los pasos más importantes durante la instalación. Su cuenta root es similar a la cuenta del administrador usada en las máquinas Windows NT. La cuenta root es usada para instalar paquetes, 83

actualizar RPMs y realizar la mayoría de las tareas de mantenimiento del sistema. Conectándose como root le dá control completo sobre el sistema. Utilice la cuenta de root tan sólo para la administración de su sistema. Cree una cuenta que no sea root para uso general y ejecute su - para actuar como root cuando necesite configurar algo de forma rápida. Estas normas básicas minimizarán las posibilidades de que un comando incorrecto o de un error de tipografía puedan dañar su sistema.

Sugerencia

Para convertirse en root, teclee su - en el intérprete de comandos de la shell en una ventana de terminal y, a continuación, pulse [Intro]. Luego, introduzca la contraseña de root y pulse [Intro].

1.5.19 Configuración de la autenticación Si está realizando una instalación del tipo escritorio personal, estación de trabajo o servidor, vaya al siguiente punto según índice.

Puede saltarse esta sección si no va a a configurar contraseñas de red. Si no sabe por qué debería hacer esto, contacte con su administrador de sistemas.

A no ser que esté utilizando autenticación NIS, verá que sólo las contraseñas tipo MD5 y shadow están seleccionadas. Le recomendamos que utilice ambos tipos de contraseñas para que su máquina sea lo más segura posible.

Para configurar la opción NIS, deberá estar conectado a una red NIS. Si no está seguro de si está conectado a una red NIS, contacte con su administrador de sistemas.

Habilitar contraseñas MD5 — le permite usar una contraseña larga (de hasta 256 caracteres), en vez de las ocho letras o menos estándar. 84

Habilitar contraseñas shadow — proporciona un método seguro para conservar contraseñas. Las contraseñas se almacenan en /etc/shadow, al que tan sólo se puede acceder como root.

Habilitar NIS — le permite ejecutar un grupo de ordenadores en el mismo dominio Network Information Service con una contraseña común y un fichero de grupo. Puede escoger desde las siguientes opciones: Dominio NIS — le permitirá especificar el dominio o grupo de ordenadores al que pertenece su sistema.

Usar broadcast para encontrar el servidor NIS — le permitirá hacer un broadcast en su red local para encontrar el servidor NIS.

Servidor NIS — hace que su ordenador utilice un servidor NIS específico, en vez de enviar un broadcast a toda la

red

para

encontrar

el

servidor NIS disponible.

Activar LDAP — le dice a su ordenador que utilice LDAP para algunas o todas las autenticaciones. LDAP consolida ciertos tipos de información en el seno de su organización. Por ejemplo, todas las diferentes listas de usuarios que puede haber en la organización se pueden unir en un sólo directorio LDAP. Podrá elegir entre las siguientes opciones: Servidor LDAP — le permite acceder a un servidor específico (mediante su dirección IP) que esté ejecutando el protocolo LDAP. 85

LDAP Base DN — le permite buscar información acerca de los usuarios mediante su Distinguished Name (DN). Usar TLS (Transport Layer Security) lookups — esta opción permite a LDAP enviar información encriptada de nombres de usuario y contraseñas al servidor LDAP antes de la autenticación.

Activar Kerberos — Kerberos es un sistema de seguridad que proporciona servicios de autentificación en red. Puede elegir entre tres opciones: Reino — esta opción le permite acceder a una red que utiliza Kerberos, compuesta por uno o varios servidores (también conocidos como KDCs) y un número potencialmente alto de usuarios.

KDC — Esta opción le permite acceder al Centro de Distribución de Claves (Key Distribution Center, KDC), una máquina que emite tickets de Kerberos (a veces se llama también Ticket Granting Server o TGS).

Servidor de Administración — Esta opción le permite acceder a un servidor que ejecute kadmind.

Activar la autenticación SMB — Configura PAM para usar un servidor SMB para la autenticación de usuarios. Deberá proporcionar dos tipos de información: Servidor SMB — Indica qué servidor SMB contactará su estación de trabajo para la autenticación.

Grupo de trabajo SMB — Indica en qué grupo de trabajo están los servidores SMB.

Sugerencia

86

Para cambiar la configuración de autenticación después de finalizar la instalación, use el comando authconfig. Escriba el comando authconfig en la línea de comandos. Si no es usuario root, se le pedirá la contraseña root para continuar.

1.5.20 Selección de grupos de paquetes Tras haber seleccionado sus particiones y haberlas configurado para su formateo, ya está preparado para la instalación de los paquetes.

A no ser que elija una instalación de tipo personalizado, el programa de instalación eligirá la mayoría de los paquetes por usted.

Por ejemplo, si está realizando una instalación de tipo Escritorio Personal, verá una pantalla similar a la siguiente figura:

87

Para seleccionar paquetes individualmente, compruebe la casilla de verificación Personalizar el conjunto de paquetes a instalar. Puede seleccionar grupos de paquetes, los cuales agrupan componentes de acuerdo a una función (por ejemplo, Sistema X Window y Editores), paquetes individuales, o una combinación de los dos.

Para seleccionar un componente, haga click en la casilla de verificación.

Seleccione los componentes que desea instalar. Al seleccionar Todo (al final de la lista de componentes) en una instalación tipo personalizado se instalarán todos los paquetes incluídos con Red Hat Linux.

88

Una vez seleccionado el grupo de paquetes, haga click en Detalles para visualizar los paquetes que se instalarán por defecto y los paquetes que desee eliminar o añadir a ese grupo.

Para seleccionar los paquetes individualmente, seleccione la opción Selección individual de paquetes en la parte inferior de la pantalla.

1.5.21Preparación para la instalación Debería ver una pantalla de preparación para su instalación de Red Hat Linux.

Si necesita documentación consúltela en /root/install.log una vez que haya rearrancado su sistema. Aviso: Si, por algún motivo, no quiere continuar con el proceso de instalación, ésta es su última oportunidad para cancelar de forma segura el proceso y rearrancar su máquina. Una vez que haya pulsado el botón Siguiente, se escribirán las particiones y se instalarán los paquetes. Si desea abortar la instalación, debería volver a arrancarla antes de que su disco duro sea reescrito.

Para cancelar este proceso de instalación, pulse el botón Reset de su ordenador o use la combinación de teclas [Control]-[Alt]-[Suprimir] para reiniciar su máquina.

89

1.5.22 Instalación de paquetes En este momento, no podrá hacer nada hasta que todos los paquetes hayan sido instalados (vea la siguiente Figura). La rapidez de este proceso dependerá del número de paquetes que haya seleccionado y de la velocidad de su ordenador.

1.5.23 Creación de un disquete de arranque 90

Para crear un disco de arranque, introduzca un disco en blanco, formateado en su unidad de disco (vea la siguiente Figura ) y haga click en Siguiente. Se le recomienda que cree un disquete de arranque. Si, por alguna razón, su sistema no fuera capaz de arrancar adecuadamente usando GRUB, LILO, u otro cargador externo, un disco de arranque le permitirá arrancar de forma adecuada su sistema Red Hat Linux.

Tras un pequeño tiempo de espera, su disquete de arranque estará creado; sáquelo de la disquetera y etiquételo adecuadamente. Si necesita crear otro disco de inicio una vez terminada la instalación podrá hacerlo más tarde. Para más información, mire la página de manual de mkbootdisk, escribiendo man mkbootdisk en la línea de comandos.

91

Si no desea crear un disco de arranque, asegúrese de que selecciona la opción adecuada antes de pulsar Siguiente. Si arranca el sistema con el disquete de arranque (en vez de GRUB o LILO) , asegúrese de crear un nuevo disco de arranque siempre que haga cambios en el kernel (incluyendo la instalación de un nuevo kernel).

1.5.24 Configuración de la tarjeta de vídeo El programa de instalación a continuación le proporcionará una lista de tarjetas de vídeo entre las que escoger. Si su tarjeta de vídeo no aparece en la lista, X puede que no la soporte. No obstante, si posee conocimiento técnico sobre su tarjeta, puede escoger Tarjeta no listada e intentar configurarla al hacer corresponder su chipset de tarjeta de vídeo con uno de los servidores X disponibles.

1.5.24.1 Configuración del monitor

92

El programa de instalación le presentará una lista de monitores de la que seleccionar. Desde esta lista, puede usar el monitor que se detecte de forma automática o escoger otro monitor. Si su monitor no aparece en la lista, seleccione el modelo Genérico más apropiado dentro de los modelos disponibles. Si selecciona un monitor Genérico, el programa de instalación le sugerirá valores de sincronización horizontales y verticales. Estos valores suelen encontrarse en la documentación que acompaña al monitor o los puede obtener a través del vendedor o fabricante del monitor; compruebe la documentación para asegurarse de que estos valores son correctos.

1.5.25 Fin de la instalación Felicitaciones! Ha finalizado la instalación de Red Hat Linux 9. 93

El programa de instalación le pedirá que prepare su sistema para reiniciarse. No se olvide de sacar cualquier disco de las disqueteras y CD de la unidad de CD-ROM.) Si no tiene un gestor de arranque instalado y configurado, necesitará usar el disco de arranque que ha creado durante la instalación.

Después de que la secuencia de encendido se haya terminado, debería visualizar el intérprete de comandos del gestor de arranque gráfico en el que puede hacer cualquiera de las siguientes cosas: Pulse [Intro] — se reiniciará la entrada de inicio por defecto.

Seleccionar una etiqueta de arranque seguida de [Intro] — provocará que el gestor de arranque inicie el sistema operativo correspondiente a la etiqueta de arranque. (Pulse [?] o [Tab] en el intérprete de comandos del cargador de arranque en modo texto para una lista de etiquetas de arranque válidas.)

No hacer nada — tras un período de espera, LILO, (por defecto, cinco segundos) incializará la primera partición automáticamente.

Haga lo que sea necesario para arrancar Red Hat Linux. Debería ver una o más ventanas de mensajes en las que hacer el scroll. También debería ver un intérprete de comandos login: o una pantalla gráfica de login (si ha instalado el sistema X Window y ha escogido arrancarlo en modo gráfico por defecto).

La primera vez que arranque su máquina con Red Hat Linux, se le presentará el Agente de configuración, la cual lo guiará a través de la configuración de Red Hat Linux. Usando esta herramienta, puede configurar la fecha y hora, instalar software, registrar su máquina con Red Hat Network, y mucho más. El Agente de configuración le permite configurar su entorno al comienzo, para que pueda comenzar a utilizar su sistema Red Hat Linux rápidamente.

1.5.26 Configuración de la impresora 94

La mayoría de los computadores necesitan su propia impresora en casa o en la oficina. Las impresoras se han convertido en un periférico muy popular debido al incremento de su calidad y la reducción de sus precios. Los fabricantes de hardware distribuyen CD-ROMs o disquetes con sus impresoras, ya que la mayoría de los sistemas operativos requieren de estos CD-ROMs pues ellos contienen los controladores o drivers de la impresora — software que se comunica con la impresora y el sistema operativo. Red Hat Linux proporciona los controladores o drivers para la mayoría de los modelos de impresoras, y en estos casos los controladores y el software en los CD-ROM y disquetes para la impresora no son necesarios. Con algunas pocas excepciones, todo lo que necesita es conectar la impresora a su sistema Red Hat Linux, encenderla y configurarla con las herramientas provistas por Red Hat Linux.

1.5.26.1 La Herramienta de configuración de impresoras Red Hat Linux incluye una utilidad gráfica para la configuración de impresoras locales y remotas sin la necesidad de instalar controladores y aplicaciones adicionales. La Herramienta de configuración de impresoras usa un proceso paso a paso que le puede ayudar a configurar su impresora más rápido que editando manualmente los archivos de configuración.

1.5.26.2 Añadir una impresora local 95

Para añadir una impresora local, tal como una conectada al puerto paralelo o USB en su computador, haga click en Nuevo en la ventana principal de la Herramienta de configuración de impresoras, haga click en Siguiente para proceder.

En la ventana mostrada introduzca un nombre único para la impresora en el campo de texto Nombre. El nombre de la impresora no puede contener espacios y debe comenzar con una letra. El nombre de la impresora puede contener letras, números, guiones (-), y rayas (_). Opcionalmente, introduzca una descripción corta para la impresora, la cual puede contener espacios.

Después de hacer click en Siguiente, aparecerá la siguiente figura. Seleccione Conectado localmente desde el menú Seleccionar el tipo de cola y seleccione el dispositivo. El dispositivo es usualmente /dev/lp0 para una impresora paralela o /dev/usb/lp0 para una impresora USB. Si no aparece ningún dispositivo en la lista, haga click en Volver a escanear dispositivos para revisar nuevamente la máquina o haga click en Dispositivo personalizado para especificarlo manualmente. Haga click en Siguiente para continuar. El próximo paso es seleccionar el tipo de impresora.

96

Después de seleccionar el tipo de cola de impresión, el próximo paso es seleccionar el modelo de la impresora. Verá una ventana similar a la siguiente. Si no fue detectado automáticamente, seleccione el modelo de la lista. Las impresoras son divididas por fabricantes. Seleccione el nombre del fabricante desde el menú. Los modelos de impresoras son actualizados cada vez que un nuevo fabricante es seleccionado. Seleccione el modelo de impresora de la lista.

97

El controlador de la impresora recomendado es escogido basado en el modelo de impresora seleccionado. El controlador de la impresora procesa los datos que desea imprimir en un formato que la impresora pueda entender. Puesto que hay una impresora local conectada a su computador, necesita un controlador de impresora para procesar los datos que son enviados a la misma.

Si está configurando una impresora remota (IPP, LPD, SMB, or NCP), el servidor de impresión remoto usualmente tiene su propio controlador de impresión. Si selecciona un controlador de impresión adicional en su computador local, los datos son filtrados múltiples veces y convertido a un formato que la impresora no puede entender.

1.6 Mercado de Linux Linux es un sistema operativo multiprocesador y multiprogramado, que ofrece por sus características muchos beneficios en el área de las redes e internet, puesto que su naturaleza es orientada hacia las redes. Es por ello que su uso en el área de las telecomunicaciones es más constante. Debido a que muchos programadores intervienen en el desarrollo de las nuevas versiones de Linux, este ha sido orientado hacia nuevas áreas en el mundo computacional siendo que las empresas que se dedican al desarrollo de aplicaciones y sitios web, han ido migrando sus actividades de desarrollo a Linux. Linux es un sistema operativo que funciona en un ambiente de procesamiento de grandes volúmenes de datos y que es muy estable razón por la cual gran parte de los servidores de páginas web en el mundo utilizan Linux. Debido a que es gratuito y por su estabilidad los servidores de aplicaciones web en internet y en intranet hacen uso del sistema operativo Linux. Es normal en la actualidad encontrarse empresas que tiene como sistema operativo de sus servidores a Linux y los clientes con alguna versión de Windows. En algunas 98

dependencias de gobierno a nivel nacional han adquirido a Linux como servidor de documentos, servicios de internet, aplicaciones etc. El mercado computacional del mundo de hoy cada vez hace mayor uso de Linux, por lo cual es necesario contar con personal que sea capaz de explotar las características de Linux.

1.7 Sistema de archivos El sistema de archivos es el conjunto de las especificaciones de cómo se almacenan y se estructuran los archivos físicamente en alguna porción o todo el disco duro. Algunos sistemas de archivos le ofrecen al sistema operativo estructuras del control de la seguridad y otras características explotables sobre los archivos almacenados en la porción del disco duro en la que se encuentre el sistema de archivos. El sistema de archivos con el cual trabaja Linux por excelencia siempre había sido ext2 el cual le ofrece un acceso veloz a la información almacenada, además de que le permite hacer uso de las listas de acceso de archivos y características de seguridad muy potentes, tanto que han sido copiadas por algunas versiones de servidores de Windows. Hoy en día Linux cuenta con un nuevo sistema de archivos llamado ext3, el cual es una versión mejorada del sistema de archivos ext2.

99

/dev/hda1

/dev/hda2

1er trozo

2do trozo

0 1

0 1

2 3

Bloque

2 3

Bloque

Pista Bloque

Sector

Disco duro

Figura 15 Direccionamiento de bloques de datos en el disco duro.

Sistemas de archivos reconocidos por Linux •

afbs: Amiga Fast File System.



ext fs: Extended Fyle System.



ext2 fs: Extended Fyle System extendido.



hpfs: High Performance File System.



isofs: sistema ISO 9660 (usado en CD-ROMs).



minix fs: MINIX File System.



ncpfs: sistema archivos para clientes Novell.



nfs: NetworkFile System.



proc: pseudo sistema de archivos .



smb fs: Samba File Systems.



sysv fs: Sistema archivos del sistema V Unix.



ufs fs: Sistema archivos FreeBSD y Solares.



umsdos: extensión sistema archivos MS-DOS.



vfat: sistema dotado tabla asignación virtual. 100



xiafs: sistema desarrollado por Qi Frank Xia

para reemplazar al Extended File

System. • En Linux todo se maneja en base a archivos la mayoría de estos archivos son de texto en los cuales se maneja la configuración del sistema, la base de datos de los usuarios y grupos de Linux, configuración de aplicaciones, etc. Existen cuatro tipos de archivos los cuales son los siguientes: Archivos normales.-Son aquellos que los que trabajamos más continuamente y son mayoría en todo disco duro, sirven para almacenar información, ya sea en forma de texto o binaria, pueden ser también archivos comprimidos. Archivos de directorios.-Son los únicos archivos en todo sistema de archivos que almacenan información de otros archivos, realmente solo guardan una referencia del lugar en el que se ubican físicamente los archivos que le pertenecen. Más no guardan a los archivos físicamente. Archivos de enlaces.- Son archivos que permiten acceder o ubicar de manera inmediata a otros archivos, guardan un puntero que apunta hacia la ubicación física de otro archivo, son el principio del funcionamiento sobre el cual se basan los archivos de accesos directos en las diferentes versiones de Windows 9x/me. Archivos de dispositivos especiales.-Estos archivos sirven para permitir a los usuarios de Linux a acceder a los dispositivos periféricos y especiales en Linux como son las unidades de disco flexibles, cdrom, sistemas de archivos no nativos de Linux, etc. En otros sistemas de archivos como Windows estos dispositivos se identifican como unidades lógicas. Elementos del sistema de archivos •

Bloque de booteo.



Superbloque.



Tabla de nodos-i.



Bloques de datos.

101

Grupo bloques 1 Bloque de booteo

Superbloque

Grupo bloques 2

...

Tabla de nodos-i

Bloque de datos

Superbloque

...

Figura 12. Estructura del sistema ext2.

Bloque de booteo •

Se ubica en el bloque cero de todos los sistemas de archivos



Contiene programa para lanzar e inicializar todo el sistema



Ningún programa usuario tiene acceso

Grupo de bloques •

El superbloque



La lista de descripción de los grupos de bloques



La imagen de los bloques



La imagen de los nodos-i



La tabla de los nodos-i



Los bloques de datos



Tamaño total del sistema de archivos, en bloques o nodos-i



Número de bloques libres del sistema



Número de bloques reservados a nodos-I



Número de nodos-I libres



Dirección del primer bloque de datos



Tamaño de un bloque de datos



Tamaño de un bloque parcial de datos



Hora de la última modificación sistema archivos



Hora integración (montaje) del sistema



número de versión del sistema



hora de la última verificación del sistema



intervalo máximo entre dos personas

La tabla de inodos-i •

Compuesto por un conjunto de nodos-i, del mimos tamaño 102



Un nodo-i puede presentarse de dos formas: o como nodo-I en el disco duro o cargada en memoria para el tratamiento



Nodo-i describe todos las características de un archivo



Existe uno por cada archivo físico

Algunos datos de los inodos-i •

Modo archivo



Número usuario propietario



Tamaño, en bytes, del archivo



Acceso o hora del último acceso o hora de la última modificación o hora de la creación de nodo-i o hora de la última supresión del nodo-i



Número de grupo del archivo



Número de ligas



Semáforos del nodo-I



tabla de direcciones del bloque



derechos de acceso



tipo de archivo:



archivo clásico



directorio



archivo periférico



archivo FIFO



referencia (ejemplo liga simbólica)

103

in dir ec ta

3. 2. 1. Di Di Di re re re cci cci cci ón ón ón

dir ec ta

Di re cci ón

Tabla de las direcciones de los bloques de datos

in dir ec ta

….

in dir ec ta

Ta m añ o ar ch iv o

Pr op iet ari o

Ti po ar ch iv o

Propiedades del archivo

….

….

Informaciones diversas

1.8 Comandos básicos de Linux Linux es un sistema operativo que hace diferencia de las letras mayúsculas y de las letras minúsculas, además que a diferencia de otros sistemas operativos no envía mensaje alguno al cumplirse exitosamente la ejecución de algún comando, solo emite mensajes en caso de ocurrir algún error al momento de la ejecución del comando. Antes de conocer y hacer uso de los comandos básicos de Linux, es necesario hacer énfasis de que Linux es un sistema operativo serio por lo cual los efectos generados después de la ejecución de los comandos de Linux en su mayoría son permanentes o sea son irreversibles. Por lo cual si se desea eliminar un archivo, tenga muy en cuenta que ya no lo podrá recuperar como ocurre en otros sistemas operativos. Otra recomendación antes de hacer cualquier práctica de comandos de Linux es crear un directorio de prácticas y en el cual se podrán ejecutar los comandos que en esta sección se conocerán sin temor a afectar al sistema. Como última recomendación si todavía es principiante en el sistema operativo Linux, sea muy cuidadoso y no utilice la cuenta raíz (root) por que podría afectar al sistema.

A continuación se presenta un listado de los comandos básicos de Linux y su descripción a un lado de esta: 104

pwd.- Este comando es muy importante en Linux por que nos dice la ubicación exacta en donde nos encontramos en el árbol del sistema de archivos. Ejemplo: pwd , esta orden nos devolverá una línea similar a esta “/usr/local”, si nos encontrasemos en el directorio local del directorio usr. ls.-nos muestra los archivos y subdirectorios del directorio actual, y se puede utilizar con los siguientes modificadores: ls –F Muestra los archivos del directorio actual, con marcas especiales que anteceden a cada archivo, si es un directorio su marca es una diagonal(/), si es un archivo ejecutable tendrá como marca un asterisco (*), si es un archivo de enlace su marca será una arroba(@) y si es un archivo normal no tendrá marca alguna. ls –a Muestra todos los archivos ocultos del sistema. Para hacer que un archivo sea oculto en linux solo basta agregarle un punto antes de su nombre y listo. ls –l Lista todos los archivos en formato largo, proporcionando: la modalidad, número de enlaces, propietario, tamaño en bytes y momento de la última modificación para cada archivo. ls –x Lista todos los archivos del directorio actual ordenados en columnas, con laqs entradas distribuidas. cd.- Este comando permite a los usuarios navegar entre directorios, y se utiliza de la siguiente manera: cd .. hace que el usuario se desplace al directorio superior inmediato. cd /usr/home hace que el usuario se desplace al directorio home que se ubica dentro de usr cd hace que el usuario regrese al directorio donde lo ubica el sistema operativo cuando inicia sesión en el sistema. mkdir.- crea un directorio en la ruta indicada, ejemplo. mkdir /home/roberto/tarea hace el directorio tarea dentro del directorio roberto en home. rmdir.- elimina un directorio de una ruta específica. Ejemplo: rmdir /home/roberto/tarea elimina el directorio tarea que se ubica dentro del directorio roberto en home.

105

mv.- permite mover de ubicación un archivo, además de que también permite cambiarle el nombre a un archivo. Ejemplo: mv tarea.zip tarea.new cambia el nombre del archivo tarea.zip a tarea.new. mv tarea.txt /home/roberto/tareas mueve el archivo tarea.txt al directorio tareas de roberto en home. cp.- este comando permite realizar la copia de uno o más archivos, o hacer respaldos dentro del mismo directorio. Ejemplo: cp file1 file2 file3 /etc copia los archivos file1,file2,file3 al directorio etc en raíz. cp file1 respaldo copia el archivo con otro nombre dentro del mismo directorio. rm.- elimina uno o más archivos dentro de una ruta específica, también permite eliminar un directorio a un que este no se encuentre vacío. Ejemplo: rm file1 file2 file3 elimina los archivos file1, file2 y file3. rm –rf /home/roberto elimina el directorio roberto ubicado dentro de home, el modificador r es el que hace la eliminación del directorio, el modificador f hace que el sistema operativo no pregunte si se desea eliminar cada archivo. cal.- Muestra el calendario del sistema, ya sea un mes, mes y año y por año. Ejemplo: cal muestra el mes actual del año en curso. cal 06 muestra el mes de junio del año en curso. cal 2000 muestra el calendario del año 2000. cal 2000 07 muestra el mes de julio del año 2000. more.- Este comando permite visualizar el contenido de un archivo de texto hoja por hoja y solo hacia adelante. Ejemplo: more /etc/hostname.conf visualiza el archivo hostname.conf del directorio etc. cat.- Visualiza el contenido de un archivo de texto rápidamente Ejemplo: cat /etc/hostname.conf visualiza el archivo hostname.conf del directorio etc. less.- Visualiza el contenido de un archivo de texto, permitiendo hojearlo hacia atrás hacia delante. Ejemplo: less /etc/hostname.conf visualiza el archivo hostname.conf en el directorio etc. 106

bc.- Activa la calculadora de sistema. Ejemplo: bc y para terminar la ejecución al que presionar la tecla q. find.- Permite buscar uno o más archivos dentro del árbol del sistema. Ejemplo: find . –name “*.doc” –print

busca los archivos con extensión doc dentro del

mismo directorio. find . / -name “*.doc” -print busca todos los archivos con extensión doc en todo el árbol de archivos. dir.- Este comando visualiza el contenido del directorio actual. clear.- Limpia la pantalla del sistema. history.- Permite visualiza los comandos que han sido introducidos por el usuario y con un ampersand y el numero de orden y se repite la orden. Ejemplo: history visualiza los comandos ejecutados por el usuario. &12 ejecuta el comando introducido en el número 12. wc.- Este comando permite identificar cuantos caracteres, líneas y palabras tiene un documento de texto. Sus modificadores son los siguientes: -l nos muestra el número de líneas de texto con las que cuenta el archivo. -w nos muestra el número de palabras que contiene el archivo. -c nos indica el número de caracteres que estan escritos en el documento. Estos modificadores se pueden usar solos o juntos. Ejemplo wc –lwc profile diff.- Este comando nos permite visualizar de forma clara la diferencia que existe entre 2 archivos. Ejemplo: diff archivo1 archivo2

107

df.- proporciona información sobre la utilización del espacio del disco duro en los diferentes sistemas

de archivos montados en el sistema. Sus modificadores son los

siguientes: -h Imprime información de forma muy clara -i Informa de la utilización de nodos-i, los nodos-i son estructura de archivos internas del sistema de archivos, cuando este se queda sin nodos-i, por mas espacio que el disco duro tenga , no se podrán crear nuevos archivos hasta que los nodos-i se liberen, generalmente esto no pasa a menos que se generen muchos archivos pequeños. -k Muestra bloques de 1024 bytes -m Muestra los tamaños de bloques en megas. Ejemplo df <sistema de archivos> du.-Este comando informa de la cantidad de espacio de disco usada por los ficheros especificados, y por cada directorio de jerarquías cuyas raíces estén en los ficheros especificados. Sus modificadores son los siguientes: -a Muestra números para todos los ficheros, no solo directorios. -b Muestra los tamaños en bytes. -k Muestra los tamaños en kilobytes. -h un poco más amigable. Ejemplo: du archivo o ruta. echo.- su finalidad es mostrar mensajes en pantalla. Ejemplo: echo $DISPLAY. free.- Nos proporciona información de la cantidad de memoria RAM usada y libre con la que cuenta el sistema. grep.- busca una cadena dentro de un archivo. -c numero de líneas capturadas. -w busca expresiones como una palabra. -i visualiza solo los ficheros que tienen líneas capturadas Ejemplo: grep PATH profile Si queremos saber cuantas veces esta logueado sergio en una computadora con linux harremos: who | grep sergio | wc -l 108

top.- Este comando nos permite una visión en tiempo real de lo que esta ocurriendo con los procesos en ejecución, diciendo la cpu que están usando, así como la memoria y otros datos interesantes. Para hacer uso de cada comando y salir de cada aplicación tecleé la letra q ó en su defecto tecleé la combinación de teclas “CTRL + Z” ó “CTRL + C”.

109

U N ID A DII II ADMINISTRACION DE LINUX.

IN T R O D U C C IÓ N En esta unidad el estudiante conocerá el uso del sistema de archivos de Linux y los comandos de administración de Linux como es la administración de usuarios, procesos y dispositivos. El respaldo de información y la compresión de archivos son temas que se incluirán en esta unidad.

OBJETIVO Y CRITERIOS DE APRENDIZAJE

Página

Conocimiento de comportamiento de las señales. • Conocer y manejar el sistema de archivos Linux. • Montar dispositivos externos. • Gestión de cuentas de usuarios.

DEMOSTRACIÓN DE HABILIDADES PARCIALES (RESULTADO DE APRENDIZAJE) • • • • •

Creará y eliminará cuentas de usuario. Listará y eliminará procesos. Visualizará las sesiones de usuarios. Montará y desmontará dispositivos. Respaldará información usando el comando tar.

110

2.1 Administración de cuentas de usuarios El administrador del sistema tiene la responsabilidad de administrar a los usuarios. Esta tarea incluye darles de alta para que puedan entrar al sistema, crear y asignar directorios, asignar usuarios a grupo y darles de baja cuando sea preciso. Cada usuario en el sistema deberá tener un nombre único. Con ello se le podrá identificar

y evitará que otro usuario borre archivos de otro.

En el directorio etc se

encuentra el archivo passwd en el cual se encuentran todos los usuarios del sistema Linux. Adduser.- Permite crear una cuenta de usuario en el sistema. Ejemplo: adduser roberto crea al usuario roberto. Se puede utilizar los modificadores con adduser: -d directorio Indica el directorio donde va a ser creado el profile del usuario. -e YYYYMMDD Indica la fecha en que la cuenta será desactivada. -f número Indica el número de días que tardará en desactivarse la contraseña. -g grupo Indica el grupo inicial del usuario. -G grupos Indica los grupos adicionales a los que pertenecerá el usuario. -s shell Indica el shell con el cual trabajará el usuario. -u uid Indica el número de identificación del usuario. Ejemplo: adduser telemática –d /p –G root –g sys

crea al usuario telematica en el

directorio p con el grupo inicial sys y el grupo adicional root. Userdel.- Elimina una cuenta de usuario del sistema. Ejemplo userdel roberto elimina la cuenta de usuario roberto. Definición de contraseñas Las contraseñas de usuario son definidas con la orden passwd y son definidas por el administrador del sistema, el cual debe definir una para cada usuario y estos pueden cambiar la contraseña cuando inicien sesión. El comando passwd se aplica a continuación.

111

Passwd.- Asigna o cambia la contraseña de un usuario. Ejemplo: passwd roberto asigna la contraseña a la cuenta de usuario roberto. Se puede utilizar los mismos modificadores con passwd: -n días Indica el número de días mínimos que será válida la contraseña. -x días Indica el máximo de días que el usuario tendrá la contraseña antes de verse obligado a cambiarla. -i días Indica el número de días que la contraseña estará desactivada. Trabajo con grupos Cada usuario pertenece a un grupo y es precisamente que por medio de los grupos que se pueden administrar mejor a los usuarios. Es por eso que es muy importante la gestión de grupos en el sistema. Groupadd.- Agrega una cuenta de grupo al sistema. Ejemplo: groupadd telemática crea la cuenta de grupo telemática en el sistema. Groupdel.- Elimina del sistema una cuenta de grupo. Ejemplo: groupdel telemática elimina del sistema la cuenta de grupo telemática.

2.2 Administración de procesos Linux es un sistema operativo multiusuario y multitarea. El término del multiusuario significa que varias personas pueden usar simultáneamente la misma computadora. El término del multitarea significa que Linux puede trabajar con más de una tarea de forma concurrente. Información sobre el estado de los procesos La orden ps permite al usuario saber el estado de los procesos que se están ejecutando en ese instante. Permite también comprobar si un proceso ha terminado de ejecutarse o si esta en plena ejecución. El uso común de la orden ps es la supervisión de tareas en segundo plano y otros procesos. El listado muestra cuatro cabeceras básicas las que se describen a continuación: PID.- Es el número de identificación del proceso. 112

TTY.- Es la terminal en donde se esta ejecutando el proceso. TIME.- Es el tiempo de ejecución acumulado del proceso, expresado en minutos y segundos. COMMAND.- El nombre de la orden que se esta ejecutando. ps.- Lista los procesos que se están ejecutando en el sistema. Ejemplo: ps muestra los procesos que se están ejecutando. ps se puede utilizar con los siguientes modificadores: -a Muestra los procesos de otros usuarios. -f Muestra un árbol de familia (procesos y subprocesos). -l Formato largo. -m Muestra información de la memoria. -r solo procesos que están en ejecución. -S Añade el tiempo del CPU. -u Proporciona el nombre del usuario y la hora en la que inicio sesión. -x Muestra los procesos sin terminal de control. ps –ax muestra todos los procesos que estan en ejecución. Planificación de procesos con la orden at Para planificar una o más ordenes para un momento determinado, utilice la orden at. Con ella puede determinar la hora y la fecha o ambas a la vez. La orden espera dos o más argumentos. Como mínimo indique la hora en la que desee ejecutar las ordenes. El siguiente ejemplo ejecuta su tarea a las 1:23 AM, desde luego la orden tiene que ser programada antes de la hora de ejecución. at 1:23 lp /usr/sales/reports/reporte1 esta tarea imprime a la 1.23 AM el archivo reporte1 ubicado en el directorio /usr/sales/reports. Los trabajos programados con at se colocan en una cola que el sistema operativo comprueba periódicamente. Ejemplo para verfificar los trabajos programados

con at

teclee la siguiente línea at –l. Si deseas cancelar un trabajo solo tecela at –d id_trabajo y eliminará la tarea prtogramada que coincida con el id_trabajo proporcionado en la orden.

113

Eliminando procesos en Linux Para eliminar procesos en Linux solo basta con teclear el comando Hill y el PID del proceso que se desea eliminar. A continuación se presenta un ejemplo: Hill -9 1234 esta orden elimina el proceso con PID equivalente a 1234. Ejecutando procesos en Linux en segundo plano Para ejecutar un proceso en segundo plano solo basta con introducir la orden nohup, con esta orden el proceso durará ejecutándose en segundo plano hasta que el sistema sea desconectado o el proceso termine de realizar su operación. Al usar nohup los mensajes y salidas que normalmente salen en pantalla se redireccionan a un archivo llamado hohup.out. Ejemplo: nohup sort datos.txt &

esta orden ejecuta en segundo plano el proceso de

ordenamiento del archivo datos.txt. Supervisión multitarea Como sabemos Linux es un sistema operativo multitarea y multiusuario, para saber que usuarios han iniciado sesión en el sistema se introduce la orden who la cual devuelve la lista de los usuarios que están conectados al sistema. Ejemplo: who esta orden devuelve los nombres de los usuarios que estan conectados como se muestra a continuación: root

tty1

Dic.

13

08:00

paco

tty2

Dic.

13

10:00

rene

tty3

Dic.

13

09:00

La orden who puede mostrar los encabezados de la cada columna si introduce el modificador –H, las columnas son las siguientes: LINE .- Lista el nombre de conexión del usuario. TIME.- Lista la línea o terminal que esta utilizando el usuario. IDLE.- Lista la hora a la que se conecto el usuario. PID.- Lista las horas y minutos desde la última actividad del usuario. COMMMENTS.- Lista los comentarios en caso de que se hallan incluido.

114

2.3 Respaldo de información La información es el recurso más importante para cada empresa puesta que mediante esta las empresas tienen la oportunidad de tomar decisiones importantes en base a esta. Que pasaría si una empresa de ventas de artículos extraviara su lista de clientes y su lista de pedidos quedaría paralizada hasta obtener nuevamente esa información. Razón por la cual en Linux es importante conocer los comando para respaldar y comprimir la información. Orden tar La orden tar es originaria de los unix , fue diseñada para crear respaldos en cintas, es fácil de utilizar y hace uso de los siguiente modificadores: c x

Crea un contenedor Extrae o restaura un archivo desde el contenedor donde se encuentra en el

f name

dispositivo predeterminado o especificado en la opción f. Crea un contenedor o lee el contenedor desde name, que corresponde a un

Z z m t

nombre de archivo o a un dispositivo especificado por ejemplo: /dev/rm0. Comprime o descomprime el contenedor tar. Comprime o descomprime el contenedor tar con gzip. Crea una copia de seguridad tar de volumen múltiple. Crea un archivo con índice de todos los archivos almacenados en un

v

contenedor y listas en stdout. Modalidad detallada.

Ejemplo: tar –cf /dev/fd0 home crea una copia de seguridad de home en la unidad de diskette(fd0), creándose en la unidad de disco flexible el archivo home.tar. tar -cvfzM /dev/fd0 home crea la copia de seguridad del directorio home en la unidad de disktte(fd0) y ordena que el respaldo este comprimido (modifcador z) y que cree una copia de seguridad de volúmenes múltiples (modificador M) creándose en la unidad de disco flexible el archivo home.tar.z. tar xvfz home.tar.z restaura el archivo home.tar.z

2.4 Administración del sistema de archivos 115

El sistema de archivos es la base de datos de todo sistema operativo, en nuestro caso de Linux. Todas las configuraciones del sistema, archivos de biblioteca y archivos de usuarios se encuentran contenidos dentro del sistema de archivos. Razón fundamental por la cual la es necesario que la administración del sistema de archivos se haga correctamente. En la primera unidad se explico que es un sistema de archivos y cual es la estructura del árbol de archivos de Linux y en la sección de comandos básicos de linux de la primera unidad se explicaron los comandos: ls, mkdir, rmdir, cd, more, cat, less, find, mv, cp, rm y dir, los cuales son fundamentales para las gestión de archivos del sistema. En esta sección vamos a aprender como se debe administrar el sistema de archivos de Linux. Montar y desmontar dispositivos y sistemas de archivos En Linux para hacer uso de sistemas de archivos y dispositivos especiales como son las unidades de cdrom y el floppy, es necesario avisarle primero a Linux que se va a hacer uso de alguno de ellos. Para avisarle a Linux que se va a hacer uso de alguno de estos dispositivos solo basta con utilizar la orden mount, la cual significa montar. En Linux para hacer uso del cdrom no es como en los sistemas operativos de Microsoft en los cuales se introduce el disco compacto en la unidad de cdrom y después se accede a la unidad para hacer uso de la información que contiene el disco compacto. En el caso de Linux lo primero que se hace es montar la unidad de cdrom para posteriormente hacer uso de esta. Para montar un dispositivo o sistema de archivos es necesario primero contar con una ubicación física en el disco para posteriormente desde esta ubicación utilizar el dispositivo o sistema de archivos. En Linux existe el directorio mnt en raíz el cual sirve de soporte para el montaje tanto de la unidad de cdrom como la unidad de disco flexible. El directorio cdrom dentro de mnt se utiliza para montar en el la unidad de cdrom y el directorio floppy dentro de mnt se utiliza para montar la unidad de disco flexible. 116

Orden mount Para montar en el directorio /mn/crdom se introduce la siguiente orden: mount /dev/cdrom /mnt/cdrom donde /dev/cdrom es la ubicación física del cdrom y /mnt/cdrom es la ubicación del disco desde la cual haremos uso de la unidad de cdrom. Para montar un sistema de archivos como fat32, se crearía primero un directorio por ejemplo: mkdir /windows y después se introducirá la orden mount –t vfat /dev/hda1 /windows donde /dev/hda1 es el sistema de archivos de fat32 y /windows el directorio desde el cual accederemos a este sistema de archivos. Para montar otros dispositivos y otros sistemas de archivos solo se necesita saber la ubicación de estos y el lugar en donde se desea montarlos. Los modificadores más usuales del comando mount son los siguientes: Modificador -r -w -t tipo

Descripción Monta el sistema de archivos con permisos de solo lectura. Monta el sistema de archivos con permisos de lectura y escritura. Monta el sistema de archivos, especificando el sistema de archivos que se ha montado, los cuales pueden ser vfat para fat32, ext, ext2, minux, hpfs, msdos, xiafs, unmsdos, sysv e iso9660.

Orden umount Para desmontar un dispositivo o sistema de archivos solo introduzca la orden umount y la ubicación donde se encuentra montado el dispositivo y se liberará el espacio ocupado. Ejemplo: umount /mnt/cdrom y se libera el directorio /mnt/cdrom. Cuando Linux se inicia automáticamente se cargan sistemas de archivo por default y cuando este se cierra antes de cerrarse se desmontas los sistemas de archivos, es por esta razón que cuando apagamos un computador que contenga Linux como sistema operativo, que los sistemas de archivos se dañan por que no fueron desmontados correctamente. En el archivo /etc/fstab es donde Linux encuentra todos los sistemas de archivos que debe montar antes de permitir el acceso a los usuarios. Es en este archivo que debemos colocar todos los sistemas de archivos que queremos que Linux monte al iniciarse. 117

Para saber que sistemas de archivos y/o dispositivos están montados en Linux solo introduzca la orden mount. Asignación de permisos en directorios y archivos En Linux los permisos de archivos implican algo más que conocer los permisos que tiene los directorios o archivos. Aunque los permisos son los que deciden quien debe ejecutar, leer o escribir en un archivo, también deciden el tipo y la forma de ejecución del archivo. Introduzca la orden ls –l y se mostrará algo similar a lo siguiente: rxw-r------

2 sglines doc

512 jan

1 13:34 maild

drwx-r---r-- 5 sglines doc 1024 jan 17

08:00 news

-rw-r------

22 :00 books

1 sglines doc 512 Dec 30

Este listado muestra prácticamente todo lo que se debe de conocer acerca de un archivo. La primera columna muestra los permisos del archivo, la segunda muestra los enlaces a un archivo (bloques extra en el directorio) y la tercera muestra el propietario del archivo. En Linux el concepto de propiedad tiene tres posibilidades: el propietario, el grupo al cual pertenece el propietario y todos los demás usuarios del sistema. La cuarta columna muestra el grupo al cual pertenece el archivo. La quinta muestra el número de bytes en el archivo, la sexta la fecha y hora de creación y la séptima muestra el nombre del archivo. La columna de permisos (la primera) se divide en cuatro subcampos: - rwx rwx rwx El primer subcampo define el tipo de archivo. Un archivo normal tiene un guión (-) como espacio de reserva; los directorios se marcan con una d. La tabla x muestra los valores válidos para el subcampo tipo de archivo. Tabla x

Carácter b c d

Descripción Archivo normal Archivo especial por bloques Archivo especial por caracteres Directorio 118

l

Enlace simbólico Los tres siguientes subcampos son los permisos que se pueden aplicar sobre los

archivos. El segundo subcampo rwx significa que el propietario tiene los derechos de ejecución (x), lectura (r) y escritura (w). El tercero muestra los mismos derechos para el grupo y el cuarto los mismos derechos para los demás usuarios del sistema. Para modificar estos valores en los archivos se introduce la orden chmod acompañada de los derechos del propietario, grupo y otros, y el nombre del archivo al cual se le asignarán los nuevos derechos. Por ejemplo: supongamos que estamos en el directorio raíz usr y que deseamos modificar los derechos del directorio local y deseamos que el propietario tenga todos los derechos, el grupo al que pertenece el dueño solo pueda leerlo y los demás usuarios no puedan ni siquiera leerlo se introducirá la siguiente orden:

chmod 740 local si

introducimos la orden ls –l nos mostraría en la parte de los derechos esto: d rwxr----- 2 root root

13 dec 12:00 AM local.

En un principio se ve complicado el proceso de asignar derechos en los archivos, pero realmente es una tarea sencilla y para comprender mejor esto necesitamos saber que el valor del derecho de lectura es 4, el derecho de escritura es 2 y el derecho de ejecución es 1. Entonces para asignar derechos a cada archivo hay que hacer una suma del valor de cada derecho que se desea asignar para la sección de derechos del propietario, así como del grupo del propietario y otros usuarios del sistema. En la tabla x1 se muestra las combinaciones de atributos que se pueden aplicar a cada columna de derechos del archivo. Tabla x1 combinación de valores para asignar derechos en los archivos

Derechos 7

Descripción Todos los derechos puesto que es la suma de la ejecución = 1, la escritura =

6

2 y la lectura = 4. en conjunto suman 7. Lectura y escritura sobre algún archivo puesto que es la suma de la lectura =

5

4 y la escritura = 2, la cual es 6. Lectura y ejecución, por que la lectura es 4 y la ejecución es 1, por lo cual 119

4 3

suman 5. Lectura, puesto que el valor de la lectura es 4. Escritura y ejecución, la escritura vale 2 y la ejecución 1, por lo cual suman

2 1 0

3. Escritura, puesto que la escritura vale 2. Ejecución, puesto que la ejecución vale 1 Sin derechos. Con chmod también podemos asignar permisos individuales ya sea al propietario,

grupo u otros usuario, en caso de que se necesite modificar los derechos a alguno de ellos. Para estos es necesario conocer los equivalentes expresados en la tabla x2. Tabla x2. Permisos relativos de chmod.

Valor Quien a g o u Permiso r w x Operador + =

Descripción Todos (propietario, grupo y otros). Grupo al que pertenece el propietario. Todos los demás usuarios del sistema. Propietario del archivo. Derecho de lectura. Derecho de escritura. Derecho de ejecución. Agrega derechos Resta derechos Establece los derechos

Para aplicar esta forma de asignar permisos necesitamos introducir la orden chmod, seguida de la(s) letra(s) de la(s) columna(s) que necesitamos actualizar, operador y la letra que corresponde al(os) derecho(s) que se desean asignar y desde luego el nombre del archivo. Ejemplos: Necesitamos asignar derechos de lectura para todos en el archivo tarea.doc, necesitaríamos introducir esta orden chmod a + r tarea.doc. En el caso que necesitáramos asignar derechos al grupo de lectura y escritura, en el archivo tarea.doc, introduciríamos esta línea chmod g=rw tarea.doc. 120

Comprimiendo y descomprimiendo archivos. La compresión de archivos es una práctica común en la administración de archivos, puesto que permite a los usuarios almacenar más información y también permite la portabilidad a la información por lo cual esta secreción se enfoca a la compresión y descompresión de archivos. Orden gzip La orden gzip permite comprimir y descomprimir archivos en Linux, la orden gzip va acompañada de los modificadores presentados en la tabla x2 (los más usuales): Tabla x2 Modificadores de gzip.

Modificador -d -f -1 -9

Descripción Descomprime un archivo. Fuerza a la sobreescritura del archivo de salida. Comprime más aprisa. Comprime mejor.

Ejemplo: gzip -9 group comprime el archivo group con el mejor modo de compresión y tiene como salida genera el archivo group.gz,. gzip –d etc.gz descomprime el archivo etc.gz. Nota: Es importante observar que al comprimir un archivo con gzip, el archivo original se transforma en otro archivo, el cual conserva el mismo nombre pero comprimido y con la extensión gz. Por lo que debemos tener cuidado de no borrar este archivo comprimido puesto que es el archivo original y no hay otra copia. En el caso del winzip de windows al comprimirse un archivo nos crea un archivo más a parte del archivo original y ahí si podemos borrar el comprimido puesto que sabemos que existe el original, cuidado en Linux siempre que se comprima un archivo se trabajará sobre el mismo pero con otra extensión y otras características físicas (no lo borre). Orden gunzip La orden gunzip permite descomprimir archivos en Linux, que fueron generados por la orden gzip, los modificadores más comunes que se pueden usar con gunzip son los que se presentan en la tabla x3: 121

Tabla x.3 Modificadores de gunzip.

Modificador -d -f -1 -9

Descripción Descomprime un archivo. Fuerza a la sobreescritura del archivo de salida. Descomprime más aprisa. Descomprime mejor.

Ejemplo: gunzip -9 group.gz descomprime el archivo group.gz con el mejor modo de descompresión y tiene como salida el archivo group gunzip –d group.gz descomprime el archivo group.gz. Nota: El archivo con extensión gz regresa a su estado original y el número de archivos que se maneja sigue siendo uno, por que el gz se transforma con la orden gunzip para restaurar el original, por lo cual tenga cuidado al borrar el archivo. Entubado de comandos En Linux es común utilizar la salida de un programa u orden para usarlo como entrada de otro. En lugar de introducir cada orden de manera independiente y guardar los resultados en archivos intermedios, puede conectar una secuencia de ordenes utilizando un conector (|) el símbolo pibe. Por ejemplo, para ordenar el archivo ventas y después imprimirlo, deberá escribir sort ventas | lp. Para visualizar el contenido total de un directorio con un número de archivos tan extenso que no sea posible visualizarlos todos en el monitor en una sola vez, introduzca la orden, ls | more. Redireccionamiento de entradas y salidas de archivos En ocasiones hay resultados de algunos procesos que deseamos recordar o anotar después de ejecutarlos, Linux ofrece la posibilidad de que la salida de un proceso sea enviada (redireccionada) a un archivo. Para esto Linux asocia todas las entradas a un archivo llamado stdin y asocia todas las salidas a terminal a un archivo llamado stdout. 122

Se utiliza el símbolo “<” (menor que) para redirigir entradas a una orden o programa de modo que proceda de una entrada a una terminal. Suponga que desea enviar el archivo info por correo a alguien cuya dirección de correo es martha. En lugar de volver a escribir el contenido del archivo en la orden mail, introduzca la orden siguiente para utilizar el archivo info como entrada (stdin) en la orden mail: mail martha < info. Se utiliza el símbolo “>” (mayor que) para redirigir la salida de un programa a un archivo. La salida se sitúa entonces en un archivo en lugar de ir a la pantalla terminal. Si se desea almacenar la hora y la fecha en un archivo llamado now, escriba: date > now Si lo que desea es agregar información a un archivo existente utilice el símbolo >>. Para añadir la fecha actual aun archivo llamado report, escriba: date >> report.

2.5 Uso de RPM Instalación de paquetes Los paquetes RPM normalmente tienen nombres de fichero como foo-1.0-1.i386.rpm. El nombre de fichero incluye el nombre de paquete (foo), versión (1.0), lanzamiento (1) y arquitectura (i386). La instalación de un paquete es tan simple como teclear el siguiente comando en el indicador de comandos de shell: # rpm -ivh foo-1.0-1.i386.rpm foo #################################### # Como podrá ver, RPM imprime el nombre del paquete y luego imprime una serie de almohadillas (#) mientras se instala el paquete como una especie de medidor de progreso. Nota

A pesar de que un comando como rpm -ivh foo-1.0-1.i386.rpm se use comúnmente para instalar un paquete RPM, tal vez desee tomar en consideración el uso de rpm -Uvh foo-1.0-1.i386.rpm en su lugar. -U se usa normalmente para actualizar un paquete, pero también instala paquetes nuevos. Consulte la sección de nombre La actualización para obtener más información sobre el uso de la opción -U de RPM. La instalación de paquetes está ideada para ser sencilla, pero de vez en cuando podría haber errores: Paquete ya instalado Si ya está instalado un paquete de la misma versión, verá: 123

# rpm -ivh foo-1.0-1.i386.rpm foo package foo-1.0-1 is already installed # Si desea instalar el paquete de todos modos y la versión que está intentando instalar ya está instalada, podrá usar la opción --replacepkgs, la cual le dirá a RPM que ignore el error: # rpm -ivh --replacepkgs foo-1.0-1.i386.rpm foo #################################### # Esta opción es útil si algunos ficheros instalados desde RPM fueron borrados o si desea que se instalen los ficheros de configuración originales desde RPM. Ficheros en conflicto Si intenta instalar un paquete que contiene un fichero que ya ha sido instalado por otro paquete o una versión más antigua del mismo paquete, verá lo siguiente: # rpm -ivh foo-1.0-1.i386.rpm foo /usr/bin/foo conflicts with file from bar-1.0-1 # Para hacer que RPM ignore este error, use la opción --replacefiles: # rpm -ivh --replacefiles foo-1.0-1.i386.rpm foo #################################### # Dependencia no resuelta Los paquetes RPM pueden "depender" de otros paquetes, lo cual significa que requieren de la instalación de otros paquetes para poder ejecutarse adecuadamente. Si intenta instalar un paquete que tiene una dependencia no resuelta, verá lo siguiente: # rpm -ivh foo-1.0-1.i386.rpm failed dependencies: bar is needed by foo-1.0-1 # Para resolver este error deberá instalar los paquetes indicados. Si de todos modos desea forzar la instalación (no es una idea muy buena ya que el paquete probablemente no se ejecutará adecuadamente), use la opción --nodeps. La desinstalación Desinstalar un paquete es tan simple como instalarlo. Teclee el siguiente comando en el indicador de comandos shell: # rpm -e foo # Nota

Note que hemos usado el nombre foo del paquete, no el nombre de fichero foo-1.0124

del paquete original. Para desinstalar un paquete necesitará sustituir foo con el verdadero nombre de paquete del paquete original. 1.i386.rpm

Podría encontrarse con un error de dependencia cuando esté desinstalando un paquete si otro paquete instalado depende del que está tratando de eliminar. Por ejemplo: # rpm -e foo removing these packages would break dependencies: foo is needed by bar-1.0-1 # Para hacer que RPM ignore este error y desinstale el paquete de todos modos (que tampoco es buena idea ya que al hacerlo, el paquete que depende de él probablemente dejará de funcionar correctamente), use la opción --nodeps. La actualización Actualizar un paquete es parecido a instalarlo. Teclee el siguiente comando en un indicador de comandos shell: # rpm -Uvh foo-2.0-1.i386.rpm foo #################################### # Lo que no se ve arriba es que RPM ha desinstalado automáticamente cualquier versión antigua del paquete foo. De hecho, tal vez desee usar -U siempre para instalar paquetes, ya que funcionará aunque no haya versiones precedentes del paquete instaladas. Ya que RPM lleva a cabo la actualización inteligente de paquetes con ficheros de configuración, tal vez vea un mensaje como el siguiente: saving /etc/foo.conf as /etc/foo.conf.rpmsave Este mensaje significa que los cambios hechos al fichero de configuración podrían no ser "compatibles a reenvío" con el fichero de configuración nuevo en el paquete, así que RPM ha almacenado su fichero original y ha instalado uno nuevo. Debería averiguar cuáles son las diferencias entre los dos ficheros de configuración y resuelva el problema tan pronto como le sea posible para asegurarse que su sistema continúe funcionando correctamente. La actualización es en realidad una combinación de las actividades de desinstalación e instalación, así que durante una actualización RPM, podrá encontrar errores de desinstalación e instalación, además de cualquier otro tipo de error. Si RPM cree que usted está tratando de actualizar a un número de versión de paquete más antiguo, aparecerá lo siguiente: # rpm -Uvh foo-1.0-1.i386.rpm 125

foo #

package foo-2.0-1 (which is newer) is already installed Para hacer que RPM "actualice" de todos modos, use la opción --oldpackage:

# rpm -Uvh --oldpackage foo-1.0-1.i386.rpm foo #################################### # El refrescamiento Refrescar un paquete es parecido a actualizarlo. Teclee el siguiente comando en un indicador de comandos shell: # rpm -Fvh foo-1.2-1.i386.rpm foo #################################### # La opción de refrescamiento RPM compara las versiones de los paquetes especificados en la línea de comandos con las versiones de los paquetes que ya han sido instalados en su sistema. Cuando la opción de refrescamiento de RPM elabora una versión más reciente de un paquete ya instalado, éste será actualizado a la versión más reciente. Sin embargo, la opción de refrescamiento de RPM no instalará un paquete si no existe un paquete previamente instalado del mismo nombre. Esto no es igual a la opción de actualización de RPM, ya que una actualización sí instalará paquetes, no importa si ya esté instalada una versión más antigua de un paquete. La opción de refrescamiento de RPM funciona ya sea para paquetes individuales que para un grupo de paquetes. Si usted acaba de descargar una gran cantidad de paquetes diferentes y sólo desea actualizar los paquetes que ya estaban instalados en su sistema, la solución es el refrescamiento. Si utiliza la opción de refrescamiento, antes de usar RPM no tendrá que eliminar ningún paquete indeseado del grupo que ha descargado. En este caso, puede simplemente lanzar el siguiente comando: # rpm -Fvh *.rpm RPM actualizará automáticamente sólo los paquetes que ya estén instalados. La consulta Use el comando rpm -q para hacer consultas a la base de datos de los paquetes instalados. El comando rpm -q foo imprimirá el nombre de paquete, versión y número de lanzamiento del paquete foo instalado: # rpm -q foo foo-2.0-1 # Nota

Note que hemos utilizado el nombre foo del paquete. Al hacer una consulta sobre un 126

paquete, necesitará sustituir foo con el verdadero nombre del paquete. En vez de especificar el nombre del paquete, se pueden usar las siguientes opciones con -q para especificar lo(s) paquete(s) que desea consultar. Se llaman Opciones de especificación de paquetes. •

-a consulta todos los paquetes actualmente instalados.



-f consultará el paquete que posea . Cuando especifique un fichero, deberá especificar la ruta completa del fichero (/usr/bin/ls, por ejemplo).



-p <packagefile> consulta el paquete <packagefile>. Hay varias maneras de especificar qué información mostrar sobre los paquetes

consultados. Las siguientes opciones sirven para seleccionar el tipo de información que usted está buscando. Se llaman Opciones de selección de información. •

-i muestra información del paquete como el nombre, la descripción, la versión, el tamaño, la fecha de construcción, la fecha de instalación, el distribuidor, y otra información miscelánea.



-l muestra la lista de ficheros contenidos en el paquete.



-s muestra el estado de todos los fichero en el paquete.



-d muestra una lista de ficheros marcados como documentación (páginas de manual, páginas de información, ficheros LÉAME, etc.).



-c muestra una lista de ficheros marcados como ficheros de configuración. Estos son los ficheros que usted cambia después de la instalación para adaptar el paquete a su sistema (como sendmail.cf, passwd, inittab, etc.). Para acceder a opciones que muestran listas de ficheros, puede añadir -v al

comando para que muestre las listas en un formato ls -l conocido. La verificación La verificación de un paquete tiene que ver con comparar la información sobre ficheros instalados de un paquete con la misma información del paquete original. Entre otras cosas, la verificación compara el tamaño, la suma MD5 los permisos, el tipo, el dueño y el grupo de cada fichero. El comando rpm -V verifica un paquete. Usted puede utilizar cualquiera de las Opciones de selección de paquete de la lista para pedir que se especifiquen los paquetes que desea verificar. Un modo sencillo de verificar es rpm -V foo, que verifica si todos los ficheros en el paquete foo se encuentran en el mismo estado en que estaban cuando originalmente fueron instalados. Por ejemplo: 127



Para verificar un paquete que contiene un determinado fichero: rpm -Vf /bin/vi



Para verificar TODOS los paquetes instalados: rpm –Va



Para verificar un paquete instalado contra un fichero de paquete RPM: rpm -Vp foo-1.0-1.i386.rpm



Este comando puede ser útil si sospecha que sus bases de datos de RPM están dañadas. Si todo fue verificado correctamente, no habrá salida. Si se encuentran

discrepancias, serán mostradas. El formato de la salida es una cadena de ocho caracteres (una c identifica un fichero de configuración) seguido por el nombre del fichero. Cada uno de los ocho caracteres señala el resultado de una comparación entre un atributo del fichero al valor de ese atributo escrito en la base de datos de RPM. Un solo . (punto) significa que ha pasado la prueba. Los siguientes caracteres señalan que ciertas pruebas no han sido pasadas: •

5

— MD5 checksum



S

— file size



L

— symbolic link



T

— file modification time



D

— device



U

— user



G

— group



M

— mode (incluye los permisos y tipos de ficheros)



?

— unreadable file

2.6 Apagado del sistema Debe tener cuidado al momento de apagar el sistema de Linux. No basta con apagar la máquina. Linux mantiene la información de entrada/salida del sistema de archivos en la memoria intermedia de la computadora, y si se apaga el sistema puede dañar el sistema de archivos.

128

La forma más segura de apagar el sistema de archivos se hace con la orden shutdown, que tiene la sintaxis: shutdown [flags] tiempo [mensajes de advertencia]. El mensaje de advertencia es un mensaje que se envía a todos los usuarios que estan conectados y tiempo es la hora en la que se va a pagar el sistema. El argumento tiempo tiene muchos formatos distintos como son: •

Puede especificarse hh:mm, donde hh es la hora y mm los minutos en que se va apagar el sistema, tanto los minutos como la hora deben especificarse en dos dígitos.



El valor de tiempo, también puede tener el formato de +m, donde m es el número de minutos que van a suceder antes de que se apague el sistema. Puede sustituir la palabra now por +0. Las opciones de la orden shutdown se listan en la tabla x.2

Tabla x.2 relaciona todas las opciones del comando shutdown.

Opción -t sec

Descripción Espera segundos entre el momento de enviar el aviso y la señal de eliminación de todos los procesos. Este intervalo proporciona el tiempo para

-k -r -h -n

que los procesos hagan cualquier tarea necesaria de apagado. No apaga el sistema solo envía el aviso. Vuele a iniciar el sistema después de apagarlo. Se detiene después de apagar. No sincroniza los discos antes de detenerse o volver a arrancar. Utilicela con

-f

precaución. Realiza un rearranque rápido. Esto crea un archivo /etc/fastboot. La secuencia

-c

de arranque rc buscará este archivo y no lo hará un fsck si no lo encuentra. Cancela un apagado ya en ejecución. Con esta opción no se puede especificar el argumento time. La orden shutdown evita que cualquier usuario entre en el sistema, notifica a todos

los usuarios que el sistema va a apagarse, espera el tiempo especificado y envía la señal SIGTERM a todos los procesos para que puedan salir sin problemas. Después, shutdown ejecuta la orden de apagado o rearranque del sistema, según cual halla sido los argumentos seleccionados. 129

Related Documents