Introducción 2008 ENTRENAMIENTO LINUX PROFESSIONAL INSTITUTE 101
Introducción Guía de Preparación Temas a tratar: Visión General del sistema operativo. Visión General del GNU. ¿Qué es el Open Source? ¿Quién es Richard Stallman? ¿Quién es Linus Torvalds? Cronología de GNU/Linux GUI. Linux Arquitectura. Línea del Tiempo Distribuciones Linux. Estructura LPIC-1. Kernel Vistazo General
Introducción 2008
Introducción La guía presente es un trabajo bibliográfico, seleccionado de varias fuentes como son: 1. Internet. a. Blogs. b. Wikipedia. c. Web en General. 2. Libros. 3. Revistas. Al final de dicha guía presentan las referencias generales, siéntase a gusto de consultarlas para información más detallada, por tal motivo se agradece a dichos autores dándoles todo el crédito a la información que aquí se presenta.
2
Introducción 2008 Visión General del sistema operativo Introducción ¿Qué es un sistema operativo? Un sistema operativo es un software de sistema, es decir, un conjunto de programas de computadora destinado a permitir una administración eficaz de sus recursos. Comienza a trabajar cuando se enciende el computador, y gestiona el hardware de la máquina desde los niveles más básicos, permitiendo también la interacción con el usuario. Un sistema operativo se puede encontrar normalmente en la mayoría de los aparatos electrónicos que utilicen microprocesadores para funcionar, ya que gracias a éstos podemos entender la máquina y que ésta cumpla con sus funciones (teléfonos móviles, reproductores de DVD, autoradios, computadoras).
Funciones básicas Los sistemas operativos, en su condición de capa software que posibilitan y simplifica el manejo de la computadora, desempeñan una serie de funciones básicas esenciales para la gestión del equipo. Entre las más destacables, cada una ejercida por un componente interno (módulo en núcleos monolíticos y servidor en micronúcleos), podemos reseñar las siguientes: Proporcionar comodidad en el uso de un computador. Gestionar de manera eficiente los recursos del equipo, ejecutando servicios para los procesos (programas) Brindar una interfaz al usuario, ejecutando instrucciones (comandos). Permitir que los cambios debidos al desarrollo del propio SO se puedan realizar sin interferir con los servicios que ya se prestaban (evolutividad). Un sistema operativo desempeña 5 funciones básicas en la operación de un sistema informático: suministro de interfaz al usuario, administración de recursos, administración de archivos, administración de tareas y servicio de soporte y utilidades.
3
Introducción 2008
Interfaces del usuario Es la parte del sistema operativo que permite comunicarse con él, de tal manera que se puedan cargar programas, acceder archivos y realizar otras tareas. Existen tres tipos básicos de interfaces: las que se basan en comandos, las que utilizan menús y las interfaces gráficas de usuario. Administración de recursos Sirven para administrar los recursos de hardware y de redes de un sistema informativo, como el CPU, memoria, dispositivos de almacenamiento secundario y periféricos de entrada y de salida. Administración de archivos Un sistema de información contiene programas de administración de archivos que controlan la creación, borrado y acceso de archivos de datos y de programas. También implica mantener el registro de la ubicación física de los archivos en los discos magnéticos y en otros dispositivos de almacenamiento secundarios. Administración de tareas Los programas de administración de tareas de un sistema operativo administran la realización de las tareas informáticas de los usuarios finales. Los programas controlan que áreas tiene acceso al CPU y por cuánto tiempo. Las funciones de administración de tareas pueden distribuir una parte específica del tiempo del CPU para una tarea en particular, e interrumpir al CPU en cualquier momento para sustituirla con una tarea de mayor prioridad. Servicio de soporte Los servicios de soporte de cada sistema operativo dependerán de la implementación particular de éste con la que estemos trabajando. Entre las más conocidas se pueden destacar las implementaciones de Unix, desarrolladas por diferentes empresas de software, los sistemas operativos de Apple Inc., como Mac OS X para las computadoras de Apple, los sistemas operativos de Microsoft, y las implementaciones de software libre, como Linux o BSD producidas por empresas, universidades, administraciones públicas, organizaciones sin fines de lucro y/o comunidades de desarrollo. Estos servicios de soporte suelen consistir en: Actualización de versiones. Mejoras de seguridad.
4
Introducción 2008 Inclusión de alguna nueva utilidad (un nuevo entorno gráfico, un asistente para administrar alguna determinada función, ...). Controladores para manejar nuevos periféricos (este servicio debe coordinarse a veces con el fabricante del hardware). Corrección de errores de software. Otros.
No todas las utilidades de administración o servicios forman parte del sistema operativo, además de éste, hay otros tipos importantes de software de administración de sistemas, como los sistemas de administración de base de datos o los programas de administración de redes. El soporte de estos productos deberá proporcionarlo el fabricante correspondiente (que no tiene porque ser el mismo que el del sistema operativo). Perspectiva histórica Los primeros sistemas (1945 - 1950) eran grandes máquinas operadas desde la consola maestra por los programadores. Durante la década siguiente (1950 - 1960) se llevaron a cabo avances en el hardware: lectoras de tarjetas, impresoras, cintas magnéticas, etc. Esto a su vez provocó un avance en el software: compiladores, ensambladores, cargadores, manejadores de dispositivos, etc. Problemas de explotación y soluciones iniciales El problema principal de los primeros sistemas era la baja utilización de los mismos, la primera solución fue poner un operador profesional que manejaba el sistema, con lo que se eliminaron las hojas de reserva, se ahorró tiempo y se aumentó la velocidad. Para ello, los trabajos se agrupaban de forma manual en lotes mediante lo que se conoce como procesamiento por lotes (batch) sin automatizar. Monitores residentes
5
Introducción 2008 Fichas en lenguaje de procesamiento por lotes, con programa y datos, para ejecución secuencial Según fue avanzando la complejidad de los programas, fue necesario implementar soluciones que automatizaran la organización de tareas sin necesidad de un operador. Debido a ello se crearon los monitores residentes: programas que residían en memoria y que gestionaban la ejecución de una cola de trabajos. Un monitor residente estaba compuesto por un cargador, un Intérprete de comandos y un Controlador (drivers) para el manejo de entrada/salida. Sistemas con almacenamiento temporal de E/S Se avanza en el hardware, creando el soporte de interrupciones. Luego se lleva a cabo un intento de solución más avanzado: solapar la E/S de un trabajo con sus propios cálculos. Por ello se crea el sistema de buffers con el siguiente funcionamiento: Un programa escribe su salida en un área de memoria (buffer 1). El monitor residente inicia la salida desde el buffer y el programa de aplicación calcula depositando la salida en el buffer 2. La salida desde el buffer 1 termina y el nuevo cálculo también. Se inicia la salida desde el buffer 2 y otro nuevo cálculo dirige su salida al buffer 1. El proceso se puede repetir de nuevo. Los problemas surgen si hay muchas más operaciones de cálculo que de E/S (limitado por la CPU) o si por el contrario hay muchas más operaciones de E/S que cálculo (limitado por la E/S). Spoolers Hace aparición el disco magnético con lo que surgen nuevas soluciones a los problemas de rendimiento. Se eliminan las cintas magnéticas para el volcado previo de los datos de dispositivos lentos y se sustituyen por discos (un disco puede simular varias cintas). Debido al solapamiento del cálculo de un trabajo con la E/S de otro trabajo se crean tablas en el disco para diferentes tareas, lo que se conoce como Spool (Simultaneous Peripherial Operation On-Line). Sistemas Operativos Multiprogramados Surge un nuevo avance en el hardware: el hardware con protección de memoria. Lo que ofrece nuevas soluciones a los problemas de rendimiento: Se solapa el cálculo de unos trabajos con la entrada/salida de otros trabajos. Se pueden mantener en memoria varios programas. Se asigna el uso de la CPU a los diferentes programas en memoria.
6
Introducción 2008 Debido a los cambios anteriores, se producen cambios en el monitor residente, con lo que éste debe abordar nuevas tareas, naciendo lo que se denomina como Sistemas Operativos multiprogramados, los cuales cumplen con las siguientes funciones: Administrar la memoria. Gestionar el uso de la CPU (planificación). Administrar el uso de los dispositivos de E/S. Cuando desempeña esas tareas, el monitor residente se transforma en un sistema operativo multiprogramado. Llamadas al Sistema Operativo Definición breve: llamadas que ejecutan los programas de aplicación para pedir algún servicio al SO. Cada SO implementa un conjunto propio de llamadas al sistema. Ese conjunto de llamadas es el interfaz del SO frente a las aplicaciones. Constituyen el lenguaje que deben usar las aplicaciones para comunicarse con el SO. Por ello si cambiamos de SO, y abrimos un programa diseñado para trabajar sobre el anterior, en general el programa no funcionará, a no ser que el nuevo SO tenga el mismo interfaz. Para ello: Las llamadas correspondientes deben tener el mismo formato. Cada llamada al nuevo SO tiene que dar los mismos resultados que la correspondiente del anterior. Modos de ejecución en un CPU Las aplicaciones no deben poder usar todas las instrucciones de la CPU. No obstante el SO, tiene que poder utilizar todo el juego de instrucciones del CPU. Por ello, una CPU debe tener (al menos) dos modos de operación diferentes: Modo usuario: el CPU podrá ejecutar sólo las instrucciones del juego restringido de las aplicaciones. Modo supervisor: la CPU debe poder ejecutar el juego completo de instrucciones. Llamadas al Sistema Una aplicación, normalmente no sabe dónde está situada la rutina de servicio de la llamada. Por lo que si ésta se codifica como una llamada de función, cualquier cambio en el SO haría que hubiera que reconstruir la aplicación. Pero lo más importante es que una llamada de función no cambia el modo de ejecución de la CPU. Con lo que hay que conseguir llamar a la rutina de servicio, sin tener que conocer su ubicación, y hacer que se fuerce un cambio de modo de operación de la CPU en la llamada (y la recuperación del modo anterior en el retorno).
7
Introducción 2008 Esto se hace utilizando instrucciones máquina diseñadas específicamente para este cometido, distintas de las que se usan para las llamadas de función. Bibliotecas de interfaz de llamadas al sistema Las llamadas al sistema no siempre tienen una expresión sencilla en los lenguajes de alto nivel, por ello se crean las bibliotecas de interfaz, que son bibliotecas de funciones que pueden usarse para efectuar llamadas al sistema. Las hay para distintos lenguajes de programación. La aplicación llama a una función de la biblioteca de interfaz (mediante una llamada normal) y esa función es la que realmente hace la llamada al sistema. Interrupciones y excepciones El SO ocupa una posición intermedia entre los programas de aplicación y el hardware. No se limita a utilizar el hardware a petición de las aplicaciones ya que hay situaciones en las que es el hardware el que necesita que se ejecute código del SO. En tales situaciones el hardware debe poder llamar al sistema, pudiendo deberse estas llamadas a dos condiciones: Algún dispositivo de E/S necesita atención. Se ha producido una situación de error al intentar ejecutar una instrucción del programa (normalmente de la aplicación). En ambos casos, la acción realizada no está ordenada por el programa de aplicación, es decir, no figura en el programa. Según los dos casos anteriores tenemos las interrupciones y la excepciones: Interrupción: señal que envía un dispositivo de E/S a la CPU para indicar que la operación de la que se estaba ocupando, ya ha terminado. Excepción: una situación de error detectada por la CPU mientras ejecutaba una instrucción, que requiere tratamiento por parte del SO. Tratamiento de las interrupciones Una interrupción se trata en todo caso, después de terminar la ejecución de la instrucción en curso. El tratamiento depende de cuál sea el dispositivo de E/S que ha causado la interrupción, ante la cual debe poder identificar el dispositivo que la ha causado.
8
Introducción 2008 Importancia de las interrupciones El mecanismo de tratamiento de las interrupciones permite al SO utilizar la CPU en servicio de una aplicación, mientras otra permanece a la espera de que concluya una operación en un dispositivo de E/S. El hardware se encarga de avisar al SO cuando el dispositivo de E/S ha terminado y el SO puede intervenir entonces, si es conveniente, para hacer que el programa que estaba esperando por el dispositivo, se continúe ejecutando. En ciertos intervalos de tiempo puede convenir no aceptar señales de interrupción. Por ello las interrupciones pueden inhibirse por programa (aunque esto no deben poder hacerlo las mismas). Excepciones Cuando la CPU intenta ejecutar una instrucción incorrectamente construida, la unidad de control lanza una excepción para permitir al SO ejecutar el tratamiento adecuado. Al contrario que en una interrupción, la instrucción en curso es abortada. Las excepciones al igual que las interrupciones deben estar identificadas. Clases de excepciones Las instrucciones de un programa pueden estar mal construidas por diversas razones: El código de operación puede ser incorrecto. Se intenta realizar alguna operación no definida, como dividir por cero. La instrucción puede no estar permitida en el modo de ejecución actual. La dirección de algún operando puede ser incorrecta o se intenta violar alguno de sus permisos de uso. Importancia de las excepciones El mecanismo de tratamiento de las excepciones es esencial para impedir, junto a los modos de ejecución de la CPU y los mecanismos de protección de la memoria, que las aplicaciones realicen operaciones que no les están permitidas. En cualquier caso, el tratamiento específico de una excepción lo realiza el SO. Como en el caso de las interrupciones, el hardware se limita a dejar el control al SO, y éste es el que trata la situación como convenga. Es bastante frecuente que el tratamiento de una excepción no retorne al programa que se estaba ejecutando cuando se produjo la excepción, sino que el SO aborte la ejecución de ese programa. Este factor depende de la pericia del programador para controlar la excepción adecuadamente.
9
Introducción 2008 Componentes de un sistema operativo Gestión de procesos Un proceso es simplemente, un programa en ejecución que necesita recursos para realizar su tarea: tiempo de CPU, memoria, archivos y dispositivos de E/S. El SO es el responsable de: Crear y destruir los procesos. Parar y reanudar los procesos. Ofrecer mecanismos para que se comuniquen y sincronicen. La gestión de procesos podría ser similar al trabajo de oficina. Se puede tener una lista de tareas a realizar y a estas fijarles prioridades alta, media, baja por ejemplo. Debemos comenzar haciendo las tareas de prioridad alta primero y cuando se terminen seguir con las de prioridad media y después las de baja. Una vez realizada la tarea se tacha. Esto puede traer un problema que las tareas de baja prioridad pueden que nunca lleguen a ejecutarse. y permanezcan en la lista para siempre. Para solucionar esto, se puede asignar alta prioridad a las tareas más antiguas. Gestión de la memoria principal La memoria es una gran tabla de palabras o bytes que se referencian cada una mediante una dirección única. Este almacén de datos de rápido accesos es compartido por la CPU y los dispositivos de E/S, es volátil y pierde su contenido en los fallos del sistema. El SO es el responsable de: Conocer qué partes de la memoria están utilizadas y por quién. Decidir qué procesos se cargarán en memoria cuando haya espacio disponible. Asignar y reclamar espacio de memoria cuando sea necesario. Gestión del almacenamiento secundario Un sistema de almacenamiento secundario es necesario, ya que la memoria principal (almacenamiento primario) es volátil y además muy pequeña para almacenar todos los programas y datos. También es necesario mantener los datos que no convenga mantener en la memoria principal. El SO se encarga de: Planificar los discos. Gestionar el espacio libre. Asignar el almacenamiento.
10
Introducción 2008
El sistema de E/S Consiste en un sistema de almacenamiento temporal (caché), una interfaz de manejadores de dispositivos y otra para dispositivos concretos. El sistema operativo debe gestionar el almacenamiento temporal de E/S y servir las interrupciones de los dispositivos de E/S. Sistema de archivos Los archivos son colecciones de información relacionada, definidas por sus creadores. Éstos almacenan programas (en código fuente y objeto) y datos tales como imágenes, textos, información de bases de datos, etc... El SO es responsable de: Construir y eliminar archivos y directorios. Ofrecer funciones para manipular archivos y directorios. Establecer la correspondencia entre archivos y unidades de almacenamiento. Realizar copias de seguridad de archivos. Existen diferentes Sistemas de Archivos, es decir, existen diferentes formas de organizar la información que se almacena en las memorias (normalmente discos) de los ordenadores. Por ejemplo, existen los sistemas de archivos FAT, FAT32, EXT2, NTFS... Desde el punto de vista del usuario estas diferencias pueden parecer insignificantes a primera vista, sin embargo, existen diferencias muy importantes. Por ejemplo, los sistemas de ficheros FAT32 y NTFS , que se utilizan fundamentalmente en sistemas operativos de Microsoft, tienen una gran diferencia para un usuario que utilice una base de datos con bastante información ya que el tamaño máximo de un fichero con un Sistema de Archivos FAT32 está limitado a 4 gigabytes sin embargo en un sistema NTFS el tamaño es considerablemente mayor. Sistemas de protección Mecanismo que controla el acceso de los programas o los usuarios a los recursos del sistema. El SO se encarga de: Distinguir entre uso autorizado y no autorizado. Especificar los controles de seguridad a realizar. Forzar el uso de estos mecanismos de protección.
11
Introducción 2008
Sistema de comunicaciones Para mantener las comunicaciones con otros sistemas es necesario poder controlar el envío y recepción de información a través de las interfaces de red. También hay que crear y mantener puntos de comunicación que sirvan a las aplicaciones para enviar y recibir información, y crear y mantener conexiones virtuales entre aplicaciones que están ejecutándose localmente y otras que lo hacen remotamente. Intérprete de órdenes
Shell de línea de comandos El shell del sistema es el principal componente del SO que utiliza el usuario. Este uso se realiza siempre directa o indirectamente a través del intérprete. Generalmente incorpora un lenguaje de programación para automatizar las tareas. Hay dos tipos de intérpretes de órdenes: Alfanuméricos: las órdenes se expresan mediante un lenguaje específico usando las cadenas de caracteres introducidas por el terminal. Gráficos: normalmente las órdenes se especifican por medio de iconos y otros elementos gráficos. Programas de sistema Son aplicaciones de utilidad que se suministran con el SO pero no forman parte de él. Ofrecen un entorno útil para el desarrollo y ejecución de programas, siendo algunas de las tareas que realizan: Manipulación y modificación de archivos. Información del estado del sistema. Soporte a lenguajes de programación. Comunicaciones.
12
Introducción 2008 Gestor de recursos Como gestor de recursos, el Sistema Operativo administra La CPU (Unidad Central de Proceso, donde está alojado el microprocesador). Los dispositivos de E/S (entrada y salida) La memoria principal (o de acceso directo). Los discos (o memoria secundaria). Los procesos (o programas en ejecución). ... y en general todos los recursos del sistema.
Componentes del Sistema Operativo
13
Introducción 2008 Características Administración de tareas Monotarea: Solamente puede ejecutar un proceso (aparte de los procesos del propio S.O.) en un momento dado. Una vez que empieza a ejecutar un proceso, continuará haciéndolo hasta su finalización y/o interrupción. Multitarea: Es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de S.O. normalmente asigna los recursos disponibles (CPU, memoria, periféricos) de forma alternada a los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez, de forma concurrente. Administración de usuarios Monousuario: Si sólo permite ejecutar los programas de un usuario al mismo tiempo. Multiusuario: Si permite que varios usuarios ejecuten simultáneamente sus programas, accediendo a la vez a los recursos de la computadora. Normalmente estos sistemas operativos utilizan métodos de protección de datos, de manera que un programa no pueda usar o cambiar los datos de otro usuario. Manejo de recursos Centralizado: Si permite utilizar los recursos de una sola computadora. Distribuido: Si permite utilizar los recursos (memoria, CPU, disco, periféricos... ) de más de una computadora al mismo tiempo.
14
Introducción 2008 Visión General del GNU El proyecto GNU ha desarrollado un sistema completo de software libre llamado «GNU» (GNU No es Unix) que es compatible con Unix. El documento inicial de Richard Stallman sobre el proyecto GNU se llama Manifiesto GNU (31k caracteres), y ha sido traducido a otros idiomas. Se escogió como nombre "GNU" porque cumplía algunos requisitos; primero, era un acrónimo recursivo de "GNU No es Unix"; segundo, ya existía esa palabra (N. del T.: en inglés Gnu significa Ñu), y tercero, porque era divertido decirla (o cantarla). También tenemos el Anuncio Inicial del Proyecto GNU, escrito en 1983. La palabra "libre" se refiere a libertad no a precio (N. del T.: en inglés se usa la misma palabra para libre y gratuito). Puedes o no pagar un precio por obtener software GNU. De cualquier manera, una vez que obtienes el software, tienes tres libertades específicas para usarlo. Primera, la libertad de copiar el programa y darlo a tus amigos o compañeros de trabajo; segunda, la libertad de cambiar el programa como desees, por tener acceso completo al código fuente; tercera, la libertad de distribuir una versión mejorada ayudando así a construir la comunidad (si redistribuyes software GNU, puedes cobrar una cuota por el acto físico de efectuar la copia, o bien puedes regalarla). El proyecto GNU fue concebido en 1983 como una forma de devolver el espíritu cooperativo que prevalecía en la comunidad computacional en días pasados---hacer la cooperación posible al eliminar los obstáculos impuestos por los dueños de software privativo. En 1971, cuando Richard Stallman comenzó su carrera en el MIT (Instituto de Tecnología de Massachusetts), trabajó en un grupo que usaba software libre exclusivamente. Incluso compañías informáticas frecuentemente distribuían software libre. Los programadores eran libres de cooperar unos con otros, y frecuentemente lo hacían. En los 80, casi todo el software era privativo (18k caracteres), lo cual significa que tenía dueños que prohibían e impedían la cooperación entre usuarios. Esto hizo necesario el Proyecto GNU. Cada usuario de computadoras necesita un sistema operativo; si no existe un sistema operativo libre, entonces no puedes ni siquiera comenzar a usar una computadora sin recurrir a un software privativo. Así que el primer elemento en la agenda del software libre es un sistema operativo libre. Un sistema operativo no es sólo el núcleo; sino que también incluye compiladores, editores, formateadores de texto, software de correo y muchas otras cosas. Por todo esto, escribir un sistema operativo completo es un trabajo bastante grande. Se necesitaron muchos años.
15
Introducción 2008 Decidimos hacer el sistema operativo compatible con Unix porque el diseño en general ya estaba probado y era portable, y porque la compatibilidad hacía fácil para los usuarios de Unix cambiar de Unix a GNU. En los 90 ya habíamos encontrado o escrito los componentes principales, excepto uno: el núcleo. En 1991 Linus Torvalds programó Linux, un núcleo parecido a Unix, y lo convirtió en software libre en 1992. Combinando Linux con el ya casi completo sistema GNU se consiguió un sistema operativo completo: el sistema GNU/Linux. Se estima que hay decenas de millones de personas que usan sistemas GNU/Linux, normalmente mediante distribuciones, incluyendo Slackware, Debian, Red Hat y otras. (La versión principal de Linux contiene firmware que no es libre. Activistas del software Libre mantienen una versión modificada libre de Linux .) Sin embargo, el proyecto GNU no está limitado a sistemas operativos. Nosotros queremos proporcionar un amplio espectro de software, cualquiera que muchos usuarios quieran tener. Esto incluye software de aplicación. Ya tenemos una hoja de cálculo. Esperamos ampliar GNU Emacs hasta llegar a un sistema de publicación tipo WYSIWYG (lo que ves es lo que obtienes) en los años siguientes. También queremos proporcionar software para usuarios que no son expertos en ordenadores. Por ese motivo creamos un ambiente de escritorio (llamado GNOME) para ayudar a los principiantes a usar un sistema GNU. También queremos ofrecer juegos y otras formas de diversión. Algunos juegos libres ya están disponibles. ¿Hasta dónde puede llegar el software libre? No hay límites, excepto cuando leyes como el sistema de patentes prohíben el software libre completamente. El objetivo final es el de proporcionar software libre para hacer todos los trabajos que los usuarios de computadoras quieran hacer ─y por lo tanto hacer el software privativo obsoleto.
¿Qué es el Open Source? Código Abierto (open source en inglés) es un término que empezó a utilizarse en 1998 por algunos usuarios de la comunidad del software libre, usándolo como reemplazo al ambiguo nombre original, en inglés, del software libre (free software), que no significaba exactamente lo que se pretendía (free significa a la vez "gratis" y "libre"). El significado obvio del término "código abierto" es "se puede mirar el código fuente", lo cual es un significado más exacto que el del software libre. El software de código abierto (OSS por sus siglas en inglés) es software para el que su código fuente está disponible públicamente. Un programa de código abierto puede ser software libre, pero también puede serlo un programa por el que hay que pagar. Los términos de licenciamiento específicos del Código Abierto varían respecto a lo que se puede hacer
16
Introducción 2008 con ese código fuente. O sea, "abierto" no necesariamente es "gratis", aunque en su gran mayoría lo sea. La idea que late detrás del Código Abierto (open source) es bien sencilla: cuando los programadores en internet pueden leer, modificar y redistribuir el código fuente de un programa, éste evoluciona, se desarrolla y mejora. Los usuarios lo adaptan a sus necesidades, corrigen sus errores. Y esto puede ocurrir a tal velocidad que el que está acostumbrado al ritmo de desarrollo de los programas comerciales no lo puede concebir. A diferencia del Código Cerrado, el Código Abierto permite que varios programadores puedan leer, modificar y redistribuir el código fuente de un programa, por lo que ese programa evoluciona constantemente. La gente lo mejora, lo adapta y corrige sus errores a una velocidad impresionantemente mayor a la aplicada en el desarrollo de software convencional o cerrado, dando como resultado la producción de un mejor software. Linux, hijo de este movimiento, es el sistema operativo de Código Abierto de mayor crecimiento en el mundo gracias a sus magníficas cualidades: estable, seguro, confiable, liviano y multiplataforma, entre varias más. Todo el mundo sabe que Internet es una de las más poderosas e importantes herramientas de la actualidad, pero pocos se dan cuenta de que la mayoría de los sitios web que existen, así como los correos electrónicos que a diario son intercambiados en la Red, son servidos por programas de Código Abierto, incluso, el importantísimo sistema de dominios, el cual nos permite referirnos a un servidor de Internet con palabras y no números, está basado completamente en Código Abierto. Así, y sin duda alguna, se puede afirmar que la Internet y su actual repercursión ecómica y social en el mundo existen gracias al Código Abierto. Los orígenes del Código Abierto pueden trazarse hasta hace unos 20 años, en las tierras de la academia, sin embargo este movimiento cobra cada vez más importancia en la actualidad debido a su empleo en empresas de todos los tamaños así como en los gobiernos de varios países, ya que no puede hablarse de soberanía ni de seguridad nacional si un gobierno utiliza Software Cerrado producido por una empresa extranjera.
17
Introducción 2008 ¿Quién es Richard Stallman? Richard Matthew Stallman (a quien se hace referencia comúnmente por sus iniciales RMS) es una figura central en el movimiento del Software Libre, por haber lanzado el proyecto GNU y fundado la Free Software Foundation. Entre sus impresionantes logros como programador se incluyen el editor de texto Emacs, el compilador GCC, y el depurador GDB.
Su influencia ha sido esencial para establecer el marco de referencia moral, político y legal del movimiento del sofware libre, como alternativa al desarrollo y distribución de software privativo. Stallman nació en Manhattan, el 16 de Marzo de 1953. En 1971, siendo estudiante de primer año en la Universidad de Harvard, Stallman se convirtió en un hacker del Laboratorio de Inteligencia Artificial del MIT. En los 80, la cultura hacker que constituía la vida de Stallman empezó a disolverse bajo la presión de la comercialización en la industria de software. En particular, otros hackers del Laboratorio de AI fundaron la compañía Symbolics, la cual intentaba activamente reemplazar el Software Libre del Laboratorio con su propio software privativo. Durante dos años, desde 1983 a 1985, Stallman por sí solo duplicó los esfuerzos de los programadores de Symbolics, en castigo por haber destruido la comunidad que él amaba. Por aquel entonces, sin embargo, él era el último de su generación de hackers en el Laboratorio. Finalmente, se planteó crear una nueva comunidad, en la que la gente pudiera compartir y ayudar a los demás. En 1983, Stallman anunció sus intenciones de crear una alternativa libre al sistema operativo Unix, al que bautizó como GNU (GNU No es Unix), tarea que comenzó en Enero de 1984, tras abandonar el MIT. En 1985 publicó el Manifiesto GNU, que define y explica los objetivos y motivaciones del proyecto. Poco tiempo después fundó la organización sin ánimo de lucro Free Software Foundation para coordinar el esfuerzo. Inventó el concepto de copyleft (izquierdos de autor), que implementó en la Licencia Pública General GNU (conocida generalmente como la "GPL") en 1989. Para entonces, ya se había completado la mayor parte del sistema GNU, a excepción del núcleo (Hurd). En 1991, Linus Torvalds comenzó a escribir el núcleo Linux, que poco después publicó bajo los términos de la GPL. Entonces se invirtió trabajo en adaptar mutuamente el software GNU ya existente y el nuevo núcleo Linux, hasta que se obtuvo un sistema operativo completo y funcional: el sistema GNU/Linux (al que con frecuencia, y de manera incorrecta, se llama simplemente Linux). Se estima que hoy hay más de 20 millones de usuarios de sistemas GNU/Linux.
18
Introducción 2008 Stallman ha recibido numerosos premios y reconocimientos por su trabajo, entre ellos: 1990: membresía en la MacArthur Foundation 1991: Grace Hopper Award de la Association for Computing Machinery, por su trabajo en el editor Emacs original 1996: doctorado honorario del Royal Institute of Technology de Suecia 1998: Pioneer award de la Electronic Frontier Foundation 1999: Yuri Rubinski memorial award 2001: Takeda Techno-Entrepreneurship Award 2002: membresía en la National Academy of Engineering 2003: membresía en la American Academy of Arts and Sciences
Recursos en Línea El nombre correcto es GNU con Linux : R. STALLMAN (VIDEO 1) http://es.youtube.com/watch?v=b2oIsxei05o
Entrevista a Linus Torvalds, creador de Linux
http://es.youtube.com/watch?v=gyWw-Ba1ULM&feature=related
Código Linux Documental [Parte.1] [Code Linux] http://es.youtube.com/watch?v=1RtWkywPJ5I&feature=related
19
Introducción 2008 ¿Quién es Linus Torvalds? Linus Benedict Torvalds nació un frío 28 de diciembre de 1969 en la capital de Finlandia, Helsinki. Hijo de Nils y Anna Torvalds. Sus padres le pusieron su nombre en honor a Linus Pauling, uno de los científicos (físico y químico) más importantes de todos los tiempos. Poco podía esperar la humanidad que de unas tierras tan lejanas y frías llegaría un auténtico revolucionario en informática.
A finales de los 80 se produce su encuentro con máquinas de IBM. En ese mismo período, 1988, Linus es admitido en la Universidad de Helsinki y allí comienza sus estudios de Ingeniería Informática. Ese mismo año Andrew S. Tannenbaum saca a la luz el Sistema Operativo Minix. En 1990 Torvalds empieza a aprender a programar en C en su universidad y fue un año después cuando de forma casual adquiere su primer PC, un 80386, y se da cuenta de que no está nada satisfecho con el sistema operativo integrado, MS-DOS, y se plantea crear su propia versión de un sistema operativo basado en Unix, modificando el núcleo del sistema Minix. Al finalizar el desarrollo del kernel o núcleo, faltaba bautizarlo. En un principio este kernel iba a llamarse Freax (free+freak+x ), pero el gestor del servidor FTP donde iba a colocar el código a disposición del público (un FTP de la Universidad de Helsinki) prefirió que lo llamara Linux, que era el nick de Linus en la universidad. También se comenta que Linus quería usar el nombre de Freax para no resultar egocéntrico bautizando con un nombre tan similar al suyo propio. Sin embargo, todos sabemos como acaba la historia. Así, el 5 de Octubre de 1991, Linus anunció la primera versión "oficial" de Linux, la 0.02. en la lista de comp.os.minix del siguiente modo: "Si suspiras al recordar aquellos días cuando los hombres eran hombres y escribían sus propios drivers. Si te encuentras sin ningún proyecto interesante y te gustaría tener un verdadero sistema operativo que pudieras modificar a tu gusto, si te resulta frustrante tener solo Minix. Entonces este artículo es para ti". Al poco tiempo, en enero de1992, Linus se adscribió al proyecto GNU (GNU is Not Unix) de la Free Software Foundation, convirtiendo Linux en un producto con licencia GPL (Licencia Pública General – General Public License), desarrollada por la FSF ( Free Software Foundation) y que preside Richard Stallmann, según la cual puedes instalar y usar un programa GPL en un ordenador o en varios, sin limitación. Al mismo tiempo puedes modificar el software o utilizar partes de él en nuevos programas de software libre; es decir, que esta licencia ofrece permiso legal para copiar, distribuir y/o modificar el software. Bajo estas premisas Linux comienza a crecer y evolucionar. Linus tuvo pronto un gran número de entusiastas colaboradores de todos los rincones del mundo, que pudiendo acceder al código fuente de Linux, fueron capaces de ayudarle a depurar el software y crear múltiples herramientas. Gracias a la ayuda de miles de desarrolladores anónimos, Linux se convirtió en el llamado sistema más estable y seguro. No era la primera vez que alguien utilizaba el poder del movimiento open source, pero la respuesta ofrecida por el mundo no tiene precedentes. La explicación podemos encontrarla precisamente en su insignia de libertad. De pronto
20
Introducción 2008 aparecía un sistema operativo que podía usar cualquier persona, de forma gratuita, con la posibilidad de mejorarlo, sin monopolios, sin secretos comerciales, sin puertas cerradas ni engaños. Una revolución. Tan cierto es que la aportación de Linus Torvalds al sistema operativo Linux se resume en tan solo un 2%, unas 50.000 líneas de código fuente. El resto, se lo debemos a las millones de mentes volcadas en la mejora de este sistema. Eso sí, Linus se encarga personalmente de revisar y aprobar todo código incluido en linux. Este kernel o núcleo de linux, combinado con software desarrollado por otras personas, se determinó en llamar lo que hoy conocemos como distribución de linux. A esta combinación se le viene en llamar GNU/Linux. Torvalds ha tenido sus momentos de reconocimiento mediático: en 1997 recibe los premios '1997 Nokia Foundation Award' y 'Lifetime Achievement Award at Uniforum Pictures'. Ese mismo año finaliza los estudios superiores (1988-1997) tras toda una década como estudiante e investigador en la Universidad de Helsinki, coordinando el desarrollo del núcleo de Linux desde 1992. En 2001 se produjo el lanzamiento de su primer y único libro. Su autobiografía, titulada Just For Fun: The Story of an Accidental Revolutionary (Sólo por diversión: la historia de un revolucionario accidental) que tuvo una tímida aceptación a nivel internacional. Podemos adquirirlo por 14.95 dólares. En 2003 toma una gran decisión: decide dejar Transmeta, la empresa que desarrolla microprocesadores para portátiles y otros pequeños dispositivos informáticos de muy bajo consumo y con la que Torvalds estuvo bastantes años. El motivo es claro. Linus se sentía un poco culpable del poco trabajo real que había hecho para linux en este tiempo y quería recuperar el tiempo perdido volcándose principalmente en el kernel. La vida de Linus sigue comprometida con la causa Linux. De hecho pertenece a la organización sin ánimo de lucro (con sede en Estados Unidos) Linux International, que se ocupa de difundir por el mundo los beneficios del S.O.Torvalds posee la marca registrada "Linux" y supervisa el uso de esta marca a través de esta organización. Su presidente es John Maddog Hall, que lleva ejerciendo este cargo desde 1995. Respecto a la eterna competencia surgida entre el software propietario y el software de código abierto, Linus se mostraba orgulloso en una entrevista concedida al diario Seattle Times explicando que "the advantage of Linux is that it doesn't have a niche or any special market, but that different individuals and companies end up pushing it in the direction they want" (la ventaja de Linux es que no necesita tener un lugar o un mercado especial, sino que son los individuos y las empresas las que finalmente lo mueven hacia la dirección que desean. Torvalds siempre se ha mostrado ingenioso en sus respuestas sobre su rival, Microsoft. En una de sus últimas declaraciones explicaba que el caso antimonopolio contra Microsoft no ha representado una gran diferencia o una ayuda para Linux, pero lo que sí ha conseguido es que la gente compruebe que Microsoft no representa el sueño americano de la informática; que tiene muchos huecos por cubrir, muchas cosas que mejorar y un grave problema de marketing. Probablemente esto nos ha abierto muchas puertas. Otra de las cualidades a destacar de Torvalds quizá es que sea uno de los pocos miembros del movimiento opensource que se preocupa más por el código que por las leyes.
21
Introducción 2008 Cronología de GNU/Linux 1983: Richard Stallman crea el proyecto de GNU con el objetivo de crear un sistema operativo libre. 1989: Richard Stallman escribe la primera versión del la licencia GNU GPL. 1991: El núcleo Linux es anunciado públicamente, el 25 de agosto por el estudiante finlandés de 21 años Linus Benedict Torvalds. El 17 de septiembre la primera versión pública aparece sobre un servidor de ftp. Algunos desarrolladores están interesados en el proyecto y contribuyen mejoras y extensiones. 1992: El núcleo Linux es licenciado de nuevo bajo el GNU GPL. Las primeras distribuciones Linux son creadas. 1993: Más de 100 desarrolladores trabajan sobre el núcleo Linux. Con su ayuda el núcleo es adaptado al ambiente de GNU, que crea un espectro enorme de tipos de aplicaciones para el nuevo sistema operativo creado de la unión del software del propyecto GNU, variados programas de Software libre y el núcleo Linux. En este año también el proyecto de Wine comienza su desarrollo. También, la distribución más antigua actualmente activa, Slackware, es liberada por primera vez. Más tarde en el mismo año, el Proyecto Debian es establecido. Hoy esta es la comunidad más grande de una distribución. 1994: En marzo de este año, Torvalds considera que todos los componentes del núcleo Linux están totalmente madurados: él libera la versión 1.0 de Linux. Esta versión está, por primera vez, disponible en la red. El proyecto XFree86 contribuye con una interfaz gráfica de usuario (GUI). En este año las empresas Red Hat y SUSE publican la versión 1.0. 1995: En marzo la siguiente rama estable de Linux aparece, la serie 1.2. Más tarde Linux es portado a DEC y a SUN SPARC. Durante los años siguientes es portado a un número cada vez mayor de plataformas. 1996: La versión 2.0 del núcleo Linux es liberada. Éste ahora puede servir varios procesadores al mismo tiempo, y así se hace una alternativa seria para muchas empresas. 1997: Varios programas propietarios son liberados para Linux en el mercado, como la base de datos Adabas D, el navegador Netscape y las suites de oficina Applixware y StarOffice. 1998: Muchas de la principales empresas como la IBM, Compaq y Oracle anuncian soporte para Linux. Además un grupo de programadores comienza a desarrollar el interfaz gráfica de usuario KDE, primera de su clase para Linux, con el objetivo de proveer facilidad de uso al usuario. 1999: Aparece la serie 2.2 del núcleo Linux, en enero, con el código de red y el soporte a SMP mejorados. Al mismo tiempo un grupo de desarrolladores comienza el trabajo sobre el entorno gráfico GNOME, que competirá con KDE por la facilidad de uso y la
22
Introducción 2008 eficiencia para el usuario. Durante el año IBM anuncia un extenso proyecto para el soporte de Linux. 2000: La Suite de oficina StarOffice es ofrecida según los términos de la GNU GPL, abriendo así el camino para una Suite de oficina avanzada, y libre en Linux. 2001: En enero, la 2.4 serie del núcleo Linux es liberada. El núcleo Linux ahora soporta hasta 64 Gb de RAM, sistemas de 64 bits, dispositivos USB y un sistema de archivos journaling. 2002: La comunidad OpenOffice.org libera la versión 1.0 de su Suite de oficina. El navegador web libre Mozilla es también liberado. Y en septiembre el Slapper-worm es el primer gusano informático Linux. 2003: Al final del año la serie 2.6 del núcleo Linux es liberada, después de lo cual Linus Torvalds va a trabajar para el OSDL. Linux se usa más extensamente sobre sistemas integrados (embedded system). 2004: El equipo de XFree86 se desintegra y se forma la fundación X.Org, que provoca un desarrollo considerablemente más rápido del servidor X para Linux. 2005: El proyecto openSUSE es comenzado como una distribución libre de la comunidad de Novell. Además el proyecto OpenOffice.org proyecta la versión de lanzamiento 2.0 que soporta al estándar OASIS OpenDocument en octubre. 2006: El Xgl de Novell y el AIGLX de Red Hat permiten el uso de efectos acelerados por hardware sobre el escritorio Linux. Oracle publica su propia distribución de Red Hat. Novell y Microsoft anuncian una cooperación para la mejor interoperabilidad. 2007: Dell llega a ser el primer fabricante principal de computadoras en vender una computadora personal de escritorio con Ubuntu instalado.
23
Introducción 2008 GUI En el contexto del proceso de interacción persona-computadora, la interfaz gráfica de usuario es el artefacto tecnológico de un sistema interactivo que posibilita, a través del uso y la representación del lenguaje visual, una interacción amigable con un sistema informático. La interfaz gráfica de usuario (en Idioma inglés Graphical User Interface, GUI) es un tipo de interfaz de usuario que utiliza un conjunto de imágenes y objetos gráficos para representar la información y acciones disponibles en la interfaz. Habitualmente las acciones se realizan mediante manipulación directa para facilitar la interacción del usuario con la computadora. Surge como evolución de la línea de comandos de los primeros sistemas operativos y es pieza fundamental en un entorno gráfico. Como ejemplo de interfaz gráfica de usuario podemos citar el escritorio o desktop del sistema operativo Windows y el entorno X-Window de Linux y también Finder de Mac OS X. Es recomendable leer esté articulo en internet “A History of the GUI” por Jeremy Reimer.
Imagen GUI Compiz en Ubuntu.
24
Introducción 2008
Linux Arquitectura
APLICACIONES NÚCLEO Ó KERNEL HARDWARE
Línea del Tiempo Distribuciones Linux Introducción 2008
Introducción 2008
Estructura LPIC-1
27
Introducción 2008
28
Introducción 2008
RECURSOS EN LÍNEA www.distrowatch.com, catálogo informativo de distribuciones. www.linux.org/dist/ Lista de distribuciones Linux (en inglés). The Linux Online (Linux Online, Inc.) (en inglés). http://www.linux.org/
29
Introducción 2008
30
Introducción 2008
31
Introducción 2008 FUENTES BIBLIOGRÁFICAS
http://stallman.enlamadalena.net/biografia_stallman.shtml
http://www.altavoz.net/prontus_altavoz/antialone.html?page=http://www.altavoz.net/pront us_altavoz/site/artic/20060304/pags/20060304151415.html http://www.gnu.org/gnu/gnu-history.es.html http://www.euram.com.ni/pverdes/Verdes_Informatica/Informatica_al_dia/Que_es_un_SO_1 44.htm
O´brien, James A. (2006), Sistemas de Información Gerencial, México DF. Silberschatz, Abraham (2006), Sistemas Operativos, México. ISBN: 968-18-6168-X. http://es.wikipedia.org/wiki/Historia_y_evoluci%C3%B3n_de_los_sistemas_operativos http://arstechnica.com/articles/paedia/gui.ars
101 Hardware y Arquitectura 2008 ENTRENAMIENTO LINUX PROFESSIONAL INSTITUTE 101
101 Hardware y Arquitectura Guía de Preparación Temas a tratar:
Capítulo:
1.101.1 Configuración fundamental del BIOS (weight: 5) 1.101.3 Configurar modem y placa de sonido(weight: 6) 1.101.4 Configurar dispositivos SCI(weight: 5) 1.101.5 Configurar diferentes tarjetas de expansión(weight: 5) 1.101.6 Configurar dispositivos de comunicación(weight: 3) 1.101.7 Configurar dispositivos USB(weight: 3)
1
101 Hardware y Arquitectura 2008
Introducción En esté apartado se tratan temas tales como configuración del BIOS1, Procesador, memoria RAM y ROM, sistema de bus de direcciones, de datos y de control, direcciones de E/S y conflictos de IRQ2. La guía presente es una combinación de material seleccionado de varias fuentes como son: 1. Internet. a. Blogs. b. Wikipedia. c. Web en General. 2. Libros. 3. Revistas. Al final de dicha guía presentan las referencias generales , siéntase a gusto de consultarlas para información más detallada, por tal motivo se agradece a dichos autores dándoles todo el crédito a la información.
BIOS, acrónimo de Basic Input-Output System, es un tipo de Software muy básico que localiza el Sistema Operativo en la memoria RAM, brinda una comunicación de muy bajo nivel y configuración del Hardware residente en la computadora. 2 IRQ (también conocida como interrupción hardware o petición de interrupción) es una señal recibida por el procesador de un ordenador, indicando que debe "interrumpir" el curso de ejecución actual y pasar a ejecutar código específico para tratar esta situación.
Capítulo:
1
2
101 Hardware y Arquitectura 2008
Capítulo:
Vistazo general a la Tarjeta Madre
3
101 Hardware y Arquitectura 2008 Partes que componen a una tarjeta madre
1. Slot del procesador
Capítulo:
En este slot se conecta el procesador, y sobre el procesador se conecta el dispersor y el abanico que se encargan de enfriar el procesador y mantenerlo a una temperatura operacional adecuada. Hay que tener en cuenta que hay diferentes tipos de slots y tu tarjeta madre esta diseñada para soportar ciertos tipos de procesadores, de modo que no cualquier procesador le queda a tu tarjeta madre, el tipo de slot y los procesadores que soporta puedes averiguarlo en el manual de tu tarjeta.
4
101 Hardware y Arquitectura 2008 2. Conectores IDE Es el conector para agregar discos duros y/o unidades ópticas a nuestro equipo, hay dos conectores: uno para el canal primario y otro para el canal secundario, cada canal soporta dos unidades IDE por medio de un cable plano con 3 conectores, uno se conecta en la tarjeta madre y dos para 2 dispositivos IDE, uno es denominado Master (Maestro) que se conecta en el extremo del cable y el otro es denominado Slave (Esclavo), que se conecta en el conector del medio, todos los dispositivos IDE tienen jumpers de configuración, donde se define si la unidad será Master o Slave, de modo que hay que tener en cuenta la posición del jumper del dispositivo así como el lugar del cable en que lo conectaremos.
3. Slots de memoria
Capítulo:
Dependiendo del modelo de nuestra tarjeta madre variara la cantidad de slots para memoria que tendrá, que pueden ser 2 o hasta 4 slots. Hay varios detalles a tener en cuenta al momento de agregar memoria a nuestro equipo, uno es checar que tipo de memoria soporta (DDR, DDR2, etc.) así como la velocidad de la misma (va en relación con la velocidad del bus del procesador), además de la cantidad máxima de memoria que soporta nuestra tarjeta madre (puedes checar todos estos datos en los manuales de las motherboards).
5
101 Hardware y Arquitectura 2008 4. Conector para unidades de almacenamiento flexible
Es parecido al conector IDE, solo que es de menor tamaño, nos sirve para conectar unidades de diskettes, tanto de 3 ½ como de 5 ¼, actualmente este tipo de unidades fueron desplazados totalmente por los CD-ROM y por las unidades de disco portátiles, de modo que posiblemente nunca te toque instalar uno de estos dispositivos. 5. Conector para fuente de poder
Nos sirve para conectar la Fuente de Poder, que es la encargada de alimentar eléctricamente los CD-ROMS, Floppy’s y Discos Duros así como de regular el voltaje para que pueda ser usado por la tarjeta madre y esta alimentar los slots PCI, AGP, USB, Procesador, Abanicos, Memoria, etc. 6. Slots PCI
Capítulo:
Son slots de expansión que nos sirven para agregar funcionalidades nuevas a nuestro equipo, como son: tarjetas de red inalámbricas, más puertos USB, conectores para unidades Serial ATA, entre otras. Solo es necesario abrir nuestro equipo, instalar físicamente la tarjeta, prender nuestro equipo e instalar los drivers y software necesarios para el funcionamiento de la tarjeta.
6
101 Hardware y Arquitectura 2008 7. Slot AGP Es un conector exclusivo para agregar tarjetas de video dedicadas, funciona a mayor velocidad que los conectores PCI, fue creado para evitar los cuellos de botella que ocurrían antes al conectar tarjetas de video a los slots PCI, ya que con el paso del tiempo, las tarjetas graficas comenzaron a aumentar la velocidad a la que trabajaban y el PCI comenzó a ser insuficiente, de modo que se creo este conector dedicado única y exclusivamente para añadir tarjetas de video.
8. Chipset
El chipset es el corazón de la motherboard, controla los canales IDE, el canal PCI, el canal AGP, además controla la coordinación memoria-cpu, en resumen, es el encargado de coordinar todos los componentes de la motherboard.
Si tu tarjeta madre tiene video integrado (es decir que no tiene una tarjeta de video dedicada conectada a un slot PCI, AGP o PCI Express) veras en tu motherboard un dispersor de calor pequeño y en algunos caso un abanico, debajo esta un procesador que se encarga de manejar los gráficos de la computadora, de modo
Capítulo:
9. Procesador grafico (puede o no tenerlo)
7
101 Hardware y Arquitectura 2008 que no es necesario invertir mas dinero para tener salida de video en nuestra PC (ya que las tarjetas de video dedicadas son mucho mas caras), por lo general, el video integrado es de bajo desempeño y la memoria de video es compartida con la memoria RAM del sistema.
10. Conector Serial ATA o SATA (puede o no tenerlo) Es un conector para los discos duros de tipo Serial, los discos duros tradicionales son Paralelos (ya hablamos que se conectan dos dispositivos por canal IDE). Este tipo de discos duros son mucho más rápidos que los PATA, entre muchos otros beneficios.
11. Slot PCI Express (puede o no tenerlo) Es la evolución del slot PCI, aunque actualmente se utiliza solo para tarjetas graficas de gama alta y no para otros dispositivos como el slot PCI.
Capítulo:
Lógicamente, la velocidad de bus de este conector es mayor que la del PCI y que la del AGP. Dependiendo de la velocidad del conector (1x, 4x, 8x, 16x) varía el tamaóo del mismo.
8
101 Hardware y Arquitectura 2008 12. Batería del CMOS
Es una pequeña pila que se encarga de mantener energizada la memoria del CMOS, la cual guarda la configuración de nuestro equipo, fecha y hora.
Conectores externos Todos los conectores y slots mencionados anteriormente se encuentran dentro del gabinete, los conectores que a continuación se encuentran en la parte trasera del gabinete y algunas tarjetas madres podrán tener o no tener algunos de ellos:
1. Conector para Mouse y teclado (PS/2) Nos sirven para conectar el Mouse y el Teclado, los conectores son idénticos de modo que podemos conectar erróneamente nuestros dispositivos, afortunadamente están coloreados, el violeta es para conectar el teclado y el verde es para conectar el ratón. 2. Puerto serial (Puede o no tenerlo) Antes de la existencia de los puertos PS/2, el puerto serial nos servia para conectar ratones y otros dispositivos (lectores de código de barras, scanners, modems, etc.), actualmente, la mayoría de las tarjetas madres nuevas no traen este puerto.
Si tu tarjeta madre trae video integrado traerá este conector, sino, el conector vendrá en la tarjeta de video, pero a fin de cuentas toda computadora lo tiene, y se puede identificar por el color azul. Nos sirve para conectar el monitor a nuestra PC.
Capítulo:
3. Conector para monitor (D-SUB de 15 pines)
9
101 Hardware y Arquitectura 2008 4. Puerto paralelo Principalmente se usa para conectar impresoras a nuestro equipo, aunque hay otros dispositivos que se pueden conectar ahí. En la actualidad la mayoría de las impresoras se conectan por USB, pero impresoras matriciales aun utilizan este conector. Lo podemos identificar por su color rosa. 5. Puertos USB Son conectores para conectar toda clase de dispositivos a nuestra PC como: Discos Duros externos, memorias USB, cámaras web, Mouse, teclados, etc. Sus siglas significan Universal Serial Bus (Bus Serial Universal) y con universal se refiere a que cualquier cosa se puede conectar ahí, además tiene la caracteristica de que lo que conectes es reconocido de inmediato por la computadora (el famoso Plug and Play), aunque en ocasiones requerirás de drivers. 6. Conector Ethernet (RJ-45) Es el conector de red, nos sirve para conectar el MODEM para tener servicio de Internet, o para formar parte de una red casera o de un equipo de trabajo, que a su vez pueden o no darnos servicio de Internet. 7. Conectores de audio Proporcionan salida de audio (para conectar las bocinas), entrada de audio (para poder grabar audio en tu computadora y conector para el micrófono (para hacer karaoke con tus amigos :P). Están identificados por colores siendo el color rosa para la entrada del micrófono, el verde para la salida de audio (bocinas) y azul para la entrada de audio. MODEM telefónico (RJ-11) [Puede o no tenerlo] Antes de la llegada del Internet de Banda Ancha, la conexión a Internet se hacia usando la línea telefónica, de modo que debíamos de tener un MODEM externo, o usar el integrado a nuestra tarjeta madre. El conector nos permite conectar nuestra PC a la línea telefónica y así tener acceso a Internet. Conector IEEE 1394 o Firewire (Puede o no tenerlo)
Capítulo:
Es un conector de alta velocidad, se usa principalmente para conectar cámaras de video y transferir video de alta calidad.
1 0
101 Hardware y Arquitectura 2008
¿Qué es un puerto? Un puerto es una forma genérica de denominar a una interfaz por la cual diferentes tipos de datos pueden ser enviados y recibidos. Dicha interfaz puede ser física, o puede ser a nivel software.
PCI
Capítulo:
Un Peripheral Component Interconnect (PCI, "Interconexión de Componentes Periféricos") consiste en un bus de ordenador estándar para conectar dispositivos periféricos directamente a su placa base. Estos dispositivos pueden ser circuitos integrados ajustados en ésta (los llamados "dispositivos planares" en la especificación PCI) o tarjetas de expansión que se ajustan en conectores. Es común en PCs, donde ha desplazado al ISA como bus estándar, pero también se emplea en otro tipo de ordenadores.
1 1
Capítulo:
101 Hardware y Arquitectura 2008
1 2
Capítulo:
101 Hardware y Arquitectura 2008
1 3
101 Hardware y Arquitectura 2008 ISA
Capítulo:
Es un puerto creado por IBM en 1980 en Boca Raton, Florida para ser empleado en los IBM PCs.La versión original era de 8 bits y funcionaba a 4,77 MHz, la misma velocidad que el procesador Intel 8088 empleado en el IBM PC. Posteriormente, cuando se lanzaron nuevos PCs con el procesador Intel 80286, se creó una extensión de 16 bits y se aumentó su velocidad a 8 MHz. Esta extensión es compatible de forma descendente con el puerto ISA de 8 bits.
1 4
101 Hardware y Arquitectura 2008
Preparación para el examen LPI 101
Tema 101
Capítulo:
Arquitectura y Hardware
1 5
101 Hardware y Arquitectura 2008 Toda la información aquí presentada está liberada bajo la licencia Attribution-NonCommercialShareAlike2.0 de commons creative. El documento aquí presente sufre modificaciones con respecto a su original de acuerdo a los términos establecidos en la licencia de uso, por consiguiente esté documento se distribuye bajo los mismos términos de la licencia Attribution-NonCommercial-ShareAlike2.0 de commons creative, poniendo como segundos créditos a las otras partes correspondientes, así como también se ofrece un documento donde se señalan los cambios sufridos y las actualizaciones de donde se pueden obtener.
Créditos y licencia de uso Coordinación: Manuel Guillán (xLekOx)
[email protected] Oscar Casal (ocs)
[email protected] Traducción: Pere Catalan (arGos)
[email protected] Juan Maria Gil (Smooth)
[email protected] Ivan Servia (katas)
[email protected] Pablo Taboada (java)
[email protected] Kiefer Von Jammo (Kiefer)
[email protected] Maquetación: Manuel Guillán (xLekOx)
[email protected] Kiefer Von Jammo (Kiefer)
[email protected] Javier Pulido (jpulido)
[email protected] Versión 1.1 (20-09-2004 22:46)Distribuido por FreeUOC (www.freeuoc.org) bajo licencia: AttributionNonCommercial-ShareAlike2.0 de commons creative
Versión 1.2 (3-09-2008 22:46)Distribuido por CINNDET (www.cinndet.no-ip.org:8080) bajo licencia:
Capítulo:
Attribution-NonCommercial-ShareAlike2.0 de commons creative
1 6
101 Hardware y Arquitectura 2008 ÍNDICE
Tema 101.6
Índice de contenido
Configurando dispositivos de comunicación Introducción El comando setserial
Tema 101 Arquitectura y Hardware Créditos y licencia de uso ÍNDICE Tema 101.1 Configurando la BIOS Introducción Arquitectura del sistema BIOS
Tema 101.7 Configurando dispositivos USB Introducción Introducción a Linux USB Activando USB UHCI, OHCI, EHCI Los últimos pasos Montando usbdevfs HOTPLUG Bibliografía y enlaces recomendados
Tema 101.3 Configurando la tarjeta de red y las tarjetas de sonido Introducción Usando Adaptadores de Red Tarjetas de sonido Tema 101.4 Dispositivos SCSI Introducción Unidades de disco bajo Linux Requerimientos del controlador del disco duro. Dispositivos SCSI: Introducción Controladoras SCSI Los terminadores Los RAID y los números de unidad lógica Tema 101.5
Capítulo:
Configurando diferentes tarjetas en el PC Introducción Dispositivos PCI Especificando los dispositivos PCI Recursos de los dispositivos PCI Dispositivos ISA
1 7
RISC (reduced instruction set computer) Computadoras con un conjunto de instrucciones reducido. CISC (complex instruction set computer) Computadoras con un conjunto de instrucciones complejo.
Arquitectura Harvard El término Arquitectura Harvard originalmente se refería a las arquitecturas de computadoras que utilizaban dispositivos de almacenamiento físicamente separados para las instrucciones y para los datos (en oposición a la Arquitectura EckertMauchly).
Arquitectura de von Neumann La arquitectura de von Neumann es una familia de arquitecturas de computadoras que utilizan el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos
101 Hardware y Arquitectura 2008
Tema 101.1 Configurando la BIOS Introducción En este capítulo se verá muy por encima el papel de la BIOS en el ordenador, si bien hay mucha información sobre la misma, no es el propósito principal del curso LPI. Este tema tiene un peso (importancia) de 1 de cara al examen final de la certificación LPI 101. El total de la suma de pesos de todos los temas es de 106.
Arquitectura del sistema GNU/Linux existe en multitud de plataformas, cada una mostrando su propia idiosincrasia en configuración y administración de dispositivos. La arquitectura más extendida sobre la que corre GNU/Linux es familia de microprocesadores Intel y compatibles, pero también corre en arquitecturas que van desde Compaq Alpha (también conocida como DEC), en procesadores basados en tecnología y en procesadores Motorola 68k. Con el amplio soporte en procesadores se hace disponible también el soporte a una gran variedad de arquitecturas de bus, entre las que se encuentran: ISA/VLB/EISA y PCI: usadas por la gran mayoría de PC's del mercado, desde los AT hasta los ATX. o PS/2 y MCA: bus usados por los IBM PS/2, tecnología incompatible con la anterior AT Bus o ISA usados por el resto de PC's. o VME: arquitectura de bus basada en los procesadores de la familia Motorola 68k. Ampliamente usado desde entornos comerciales hasta militares, pasando por la industria. o
Capítulo:
Términos importantes
1 8
101 Hardware y Arquitectura 2008 Todas estas arquitecturas pueden no estar disponibles en las distribuciones genéricas de GNU/Linux, o bien necesitar de controladores (drivers) específicos y algo de configuración tanto sobre la arquitectura del procesador como del bus. Quizá se haga necesario echar una visita a la página del fabricante o proveedor en busca de información sobre la arquitectura en concreto si planeas instalar GMU/Linux bajo arquitecturas “El kernel ó núcleo de linux se diferentes de Intel/ISA. Los portátiles añaden una nueva puede definir como el dificultad debido a la especialización de su diseño de corazón de este sistema hardware, convirtiendo en una dura prueba la tarea de operativo.” conseguir que GNU/Linux se ejecute correctamente. Todos estos problemas tienen que ver con el tipo de modelos “El kernel de Linux tiene dos específicos de las tarjetas de sonido, vídeo, red y buses funciones primarias: PCMCIA o CardBus de los portátiles.
BIOS La BIOS (de Basic Input / Output System) proporciona la interface entre el hardware y el sistema operativo. Todas las peticiones para realizar actividades sobre el hardware que pueda hacer el sistema operativo, como acceder a una disquetera, se realizan a través de la BIOS del sistema. Hoy en día la BIOS y su configuración varia mucho de un sistema a otro. Un sistema nuevo que use el bus PCI y AGP o el nuevo PCI-Express tiene configuraciones que no existen en antiguos sistemas poseedores de la tecnología de bus ISA o EISA. Sin ir más lejos, los diferentes fabricantes de chips BIOS (Award, AMI, etc) usan diferentes interfaces de usuario para configurarlas. Saber configurar la BIOS de nuestro sistema es esencial, aunque a menudo implique tener a mano el manual de nuestra placa base.
“...Dentro del directorio /proc/, se puede encontrar una gran cantidad de información con detalles sobre el hardware del sistema y cualquier proceso que se esté ejecutando actualmente. Además, algunos de los archivos dentro del árbol de directorios /proc/ pueden ser manipulados por los usuarios y aplicaciones para comunicar al kernel cambios en la configuración.” Capítulo:
Este capítulo se centra en la arquitectura Intel y compatibles, principalmente porque el examen también lo hace Antes de entrar en materia, debes aprender a usar el sistema de ficheros virtual /proc, ya que puede proporcionar información acerca del hardware instalado en tu sistema. Por ejemplo: /proc/interrupts identifica las líneas de petición de interrupción (IRQ) de tu sistema y su estado. /proc/cpuinfo da información sobre el o los procesadores instalados en el sistema, su velocidad, modelo, etc. /proc/pci devolverá un listado de los dispositivos conectados al bus PCI. Estos y otros ficheros serán de gran ayuda en el momento de instalar y configurar el sistema.
controlar el acceso a los dispositivos físicos de la computadora y establecer cuándo y cómo los procesos interactuarán con estos dispositivos. El directorio /proc/ — también llamado el sistema de archivos proc — contiene una jerarquía de archivos especiales que representan el estado actual del kernel — permitiendo a las aplicaciones y usuarios mirar detenidamente en la vista del kernel del sistema.”
1 9
101 Hardware y Arquitectura 2008 GNU/Linux coge muy poca información de la BIOS. Los parámetros de los discos duros actualmnte no se usan, y la información se toma directamente del disco duro y los controladores. Antiguamente había que habilitar el modo LBA para discos duros con más de 1024 cilindros para que fueran bien reconocidos por el sistema. Puede ser interesante también habilitar/deshabilitar ciertos componentes integrados de la placa base, como puede ser la tarjeta de sonido si disponemos de otra mejor que no esté integrada.
Capítulo:
Cambiar la fecha y la hora de la BIOS si es importante, ya que afecta el reloj de hardware y, por consiguiente, altera la fecha y hora devuelta por nuestro sistema operativo.
2 0
Capítulo:
101 Hardware y Arquitectura 2008
2 1
Capítulo:
101 Hardware y Arquitectura 2008
2 2
Físicamente BIOS
Capítulo:
101 Hardware y Arquitectura 2008
2 3
Capítulo:
101 Hardware y Arquitectura 2008
2 4
Capítulo:
101 Hardware y Arquitectura 2008
2 5
Capítulo:
101 Hardware y Arquitectura 2008
2 6
Capítulo:
101 Hardware y Arquitectura 2008
2 7
Capítulo:
101 Hardware y Arquitectura 2008
2 8
101 Hardware y Arquitectura 2008 Proceso de arranque y el BIOS ¿Qué es el bootstrapping? La palabra inglesa bootstrapping es generalmente un término más extenso para el arranque, o proceso de inicio de cualquier computadora. Una vez el PC arranca, comienza a ejecutarse el código que se encuentra en la dir. F000:FFF0 el cual pertenece al ROM-BIOS y es el encargado de realizar una serie de tests e inicializaciones. Esta rutina se llama POST (Power On Self-Test). Una vez que la BIOS termina con sus tests e inicializaciones carga el primer sector (cilindro 0, cabeza 0, sector 1) en la dir. 0000:7C00 (7C00 lineal), comprueba que contenga código válido (comprueba que esté firmado con 55H, AAH en los bytes 511 y 512) y salta a esa dirección (CS:IP apuntan a esa dirección).
Configuración del BIOS Para accesar al programa de configuración del BIOS, generalmente llamado CMOS Setup, tendremos que hacerlo pulsando un botón durante el inicio del arranque de la computadora. Generalmente suele ser la tecla Supr aunque esto varía según los tipos de placa y en portátiles. Otras teclas empleadas son: F1, Esc, o incluso una combinación, para saberlo con exactitud bastará con una consulta al manual de su placa base o bien prestando atención a la primera pantalla del arranque, ya que suele figurar en la parte inferior un mensaje similar a este: ''Press DEL to enter Setup'' Aunque tengan nombres diferentes, existen algunos apartados comunes a todos los tipos de BIOS. Una clasificación puede ser: 1 Configuración básica de parámetros - Standard CMOS Setup. 2 Opciones de BIOS - BIOS Features, Advanced Setup. 3 Configuración avanzada y chipset - Chipset features. 4 Password, periféricos, discos duros, etc.
Capítulo:
5 Otras utilidades.
2 9
101 Hardware y Arquitectura 2008 Bajo el 1er punto se puede encontrar la configuración de la fecha y hora, los discos duros conectados (IDE) y la memoria detectada, entre otras cosas. En el punto 2º existen muchos parámetros modificables, suelen aparecer: caché, secuencia de arranque (Boot sequence), intercambio de disqueteras, etc. En el punto 3 podemos encontrar parámetros relativos a las características del chipset, memoria RAM, buses y controladores. Bajo el punto 4 hemos reunido una serie de opciones que suelen estar distribuidas, gracias a ellas podemos insertar una contraseña de acceso al programa del BIOS, modificar parámetros relativos a los periféricos integrados, control de la administración de energía, control de la frecuencia y el voltaje, etc. Y finalmente en el punto 5 reunimos las opciones que nos permiten guardar los cambios efectuados, descartarlos, cargar valores por defecto, etc. En la parte inferior de la interfaz del programa podremos ver el inventario de teclas necesarias para navegar entre las opciones y modificarlas, es importante leerlo y tenerlo en cuenta.
Capítulo:
Imagen de la interfaz más común de BIOS (Award y Phoenix).
3 0
101 Hardware y Arquitectura 2008 Modificaciones comunes: ejemplos Existen una serie de parámetros que son susceptibles de ser modificados en algún momento, de hecho en la mayoría de foros de soporte técnico se plantean esas dudas. Vamos a explicar cuáles son y usarlos como ejemplo: 1.- Secuencia de Arranque:
Esto le indica al BIOS a qué unidad ha de ir para buscar el arranque del sistema operativo. La secuencia indica el orden de izq. a der. en que se buscará en las unidades. Antiguamente el orden solía marcar A C SCSI/otros lo cual indicaba que primero que debía mirar en la unidad A (disquetera) y posteriormente en C (disco duro principal), gracias a esto se podía arrancar el ordenador con un disco de arranque antes que el sistema operativo. Hoy en día esto ha cambiado en muchos casos, cuando se necesita arrancar desde un CD (instalación de sistemas operativos (Windows XP, Linux) hay que modificar la secuencia de arranque (a menos que el sistema sea tan nuevo que ya venga de fábrica) para que inicialmente apunte a la unidad lectora de CD. Supongamos que la unidad tiene la letra D, el orden podría ser D A C o D C A, por ejemplo.
Capítulo:
La opción suele encontrarse en BIOS Features >> Boot Sequence para las BIOS Award. En algunos casos en vez de integrarse en una sola opción, esto se realiza en varias, suelen referirse al orden de arranque de dispositivos y se llaman: First Boot Device, Second Boot Device, Third Boot Device y Boot Other Device. Basta especificar en cada una cuál es el dispositivo que arrancará en ese orden (First = primero, Second = segundo, Third = tercero, Other = otro).
3 1
101 Hardware y Arquitectura 2008
Menú Principal del BIOS
Capítulo:
BUSES. PUERTOS, IRQs y DMA
3 2
101 Hardware y Arquitectura 2008
Tema 101.3 Configurando la tarjeta de red y las tarjetas de sonido Introducción En este capítulo se verá como ver la configuración de la tarjeta de red, y si es correcto su funcionamiento así como la configuración de la tarjeta de sonido, el tema da mucho de si, aunque no es el objetivo profundizar en estos conocimientos de cara al examen 101.
Capítulo:
Este tema tiene un peso (importancia) de 1 de cara al examen final de la certificación LPI 101. El total de la suma de pesos de todos los temas es de 106.
3 3
101 Hardware y Arquitectura 2008 Usando Adaptadores de Red Los adaptadores de red Ethernet son muy variados en tipos, precios y soporte. La tarjeta más comúnmente usada, de bajo coste, y que se puede encontrar en muchos ordenadores, es la 3C501. Sin embargo estas tarjetas están en desventaja en comparación con los adaptadores nuevos, que van bajando su precio mes a mes. En consecuencia, es conveniente comprobar la lista de hardware soportado antes de comprar una tarjeta de red (Network Interface Card – NIC).
Los adaptadores de red más comunes, incluidos las tarjetas PCMCIA, son detectados y configurados durante la instalación. Si estas no son detectadas se requiere al usuario para que seleccione la marca y modelo de tarjeta que tiene instalada. En ocasiones, la NIC no se configura por defecto y debe ser activada usando opciones adicionales, incluyendo IRQ, I/O y direcciones de memoria. Con estos valores se informa al kernel como se debe comunicar con la NIC y en consecuencia como activar la red.
Cuando el sistema de red ya está operativo, se puede comprobar el módulo de red cargado por la interface en los mensajes del boot, estos mensajes son accesibles mediante el comando dmesg:
#dmesg | grep eth0
eth0: RealTek RTL8139 at 0xec00, 00:05:1c:03:95:7a, IRQ 11 eth0: Identified 8139 chip type 'RTL-8139C'
Capítulo:
eth0: link up, 10Mbps, half-duplex, lpa 0x0000
3 4
101 Hardware y Arquitectura 2008 Una vez la instalación se ha completado y el sistema es reiniciado, el kernel inicializa la NIC y activa la red. La configuración correcta de la NIC se lleva a cabo con el comando ifconfig, que es usado para comprobar y cambiar los parámetros actuales de la red.
NIC (Network Interface Card, Tarjeta de Interfaz de Red en español)
Si la NIC no funciona bajo Linux, se debe reiniciar el sistema con DOS y usar las herramientas de localización de problemas y diagnóstico proporcionadas por el fabricante para comprobar si la tarjeta funciona bajo DOS y si los parámetros usados por Linux son correctos. Se pueden comprobar las operaciones de la NIC usando el comando ifconfig, que reporta y permite cambiar la configuración de la interface de red. Consideremos el siguiente ejemplo: [root@localhost chare]# ifconfig –a eth0 Link encap:Ethernet HWaddr 00:A0:24:64:6A:49 inet addr:192.168.0.4 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:199481 errors:0 dropped:0 overruns:0 frame:0 TX packets:245591 errors:0 dropped:0 overruns:0 carrier:0 collisions:931 txqueuelen:1000 Interrupt:11 Base address:0xec00 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:1423 errors:0 dropped:0 overruns:0 frame:0 TX packets:1423 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0
Capítulo:
En este ejemplo el sistema tiene una NIC física (eht0) y el adaptador loopback (lo). Los parámetros de eth0 informan sobre su IP y si está funcionando o no:
3 5
101 Hardware y Arquitectura 2008 eth0 Link encap:Ethernet HWaddr 00:A0:24:64:6A:49 inet addr:192.168.0.4 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 La dirección IP para la interface es 192.168.0.4, y está funcionando. Se puede verificar usando más comandos como ping y arp. Usando arp, se determina qué otros adaptadores de red son visibles en la LAN: [root@localhost chare]# arp -a win98-2 (192.168.0.3) at 00:80:C6:F1:FA:C9 [ether] on eth0 win98-1 (192.168.0.2) at 00:60:97:59:53:B8 [ether] on eth0 li-gw (192.168.0.1) at 00:00:81:F3:05:9A [ether] on eth0
Con esta información, se puede saber que la interface eth0 esta recibiendo paquete correctamente. La salida del comando arp muestra el nombre del host (hostname) y sus direcciones IP y MAC. Se puede comprobar también el correcto funcionamiento de la tarjeta usando el comando ping para contactar con otro sistema de la red: [root@localhost chare]# ping 192.168.0.3 PING 192.168.0.3 (192.168.0.3): 56 data bytes. 64 bytes from 192.168.0.3: icmp_seq=0 ttl=128 time=2.8 ms 64 bytes from 192.168.0.3: icmp_seq=1 ttl=128 time=0.9 ms --- 192.168.0.3 ping statistics --2 packets transmitted, 2 received, 0% packet loss round-trip min/avg/max = 0.9/1.8/2.8 ms
Capítulo:
Esto confirma el correcto funcionamiento de nuestra NIC y que está configurada para transmitir y recibir datos en la red.
3 6
101 Hardware y Arquitectura 2008 Tarjetas de sonido Las tarjetas de sonido han sido tradicionalmente difíciles de instalar en Linux; no obstante, con el incremento de número de drivers soportados, esta tarea se ha simplificado. El comando sndconfig se usado para configurar la tarjeta de sonido y verificar su funcionamiento. Para usar sndconfig (herramienta escrita y liberada per Red Hat Software) es necesario ser root. El comando sndconfig intenta encontrar y auto configurar (plug-and-play PnP) los dispositivos instalados en el sistema. Si la tarjeta de sonido no es PCI ni PnP, se deberá seleccionar desde el menú. El listado de tarjetas únicamente se muestra si sndconfig no puede identificar la tarjeta. En este ejemplo, la tarjeta instalada es una ISA, no PnP. Como el sistema no puede determinar la configuración del hardware que se está usando, se le deberá indicar. En este caso es posible seleccionar los valores (port I/O, IRQ y DMA) para la tarjeta de sonido. Estos valores serán almacenados por sndconfig, que iniciará dos pruebas de sonido. Si los valores no so correctos, el driver de sonido no se podrá comunicar con la tarjeta, en consecuencia no se oirá nada. Igual que el comando setserial, sndconfig no configura la tarjeta sino el driver de sonido. Uno de los test de sonido es un archivo wave, y el otro un MIDI. Si se pueden oír ambos, se han configurado correctamente driver y tarjeta. La tarjeta está instalada y el driver de sonido configurado cuando durante el boot se muestran mensajes similares a estos: Soundblaster audio drive Copyright © by Hannu Savolainen 1993-1996 SB 4.12 detected OK (220) YM3812 and OPL-3 driver Copyright © by Hannu Savolainen, Rob Hooft 1993-1996
Capítulo:
Estos detalles identifican la tarjeta de sonido y los drivers cargados para soportarla. Como se ha mencionado, siempre que la tarjeta física tenga la misma configuración que el driver , se podrán oír los test de sonido, indicando ésto que el dispositivo se ha configurado correctamente.
3 7
101 Hardware y Arquitectura 2008
Tema 101.4 Dispositivos SCSI Introducción En este capítulo se verá como trata GNU/Linux las unidades de disco IDE y SCSI.
Capítulo:
Este tema tiene un peso (importancia) de 1 de cara al examen final de la certificación LPI 101. El total de la suma de pesos de todos los temas es de 106.
3 8
101 Hardware y Arquitectura 2008 Unidades de disco bajo Linux GNU/Linux soporta muchos tipos de discos y formatos. Cualquier disco duro SCSI o IDE podrá funcionar bajo Linux, así como disquetera, CD-ROMs, CD-Rs, discos Zip® y Jaz®, y otros tipos de medios removibles. Estos medios pueden contener sistemas de ficheros estándar de Linux ext2, FAT, FAT32, NTFS, así como otros tipos de ficheros. Esta flexibilidad hace que Linux coexista perfectamente con otros sistemas operativos en sistemas con multi-arranque. Los discos duros más comúnmente instalados en los ordenadores personales son IDE (Integrated Device Electronics). Estos discos tienen una interfaz relativamente simple, y la mayoría de los "smarts" del disco están dentro del disco en sí mismo. El estándar IDE permite a los proveedores de discos vender su producto a un precio muy atractivo. También se usan en PCs los discos Small Computer System Interface (SCSI, pronunciado "escasi") SCI es un viejo estándar para conectar periféricos; sin embargo, las versiones modernas SCSI son bastante rápidas y flexibles. En general los discos IDE ofrecen funciones razonables a un precio bajo, lo que es altamente apetecible para los productos al consumidor. Una sencilla interfaz IDE puede albergar dos unidades de disco en un sistema. Uno se llamará maestro y el otro el esclavo (una desafortunada denominación habitual). La mayoría de ordenadores tienen una interfaz IDE primaria y secundaria. Juntas, albergan cuatro dispositivos (maestro primario, esclavo primario, maestro secundario, esclavo secundario). Como mínimo, estos dispositivos serán el disco duro, el CD-ROM, dejando dos posiciones disponibles para el CD-R, Zip, tape o otro dispositivo IDE. Añadiendo controladoras IDE adicionales o subsistemas IDE especializados podemos expandir las capacidades de los PC's. En comparación con IDE, SCSI ofrece funciones excelentes, menor uso de la CPU y un plan de conexión mucho más flexible capaz de manejar hasta 15 dispositivos en un simple bus. Estas utilidades permiten a los sistemas SCSI crecer según se requiera sin tener que reconfigurar hardware. Desafortunadamente, SCSI normalmente implica mayor coste, lo que reduce la demanda de SCSI en el mercado de PC's. Típicamente, se considera IDE apropiado para el uso en oficina. SCSI se usa para servidores, para estaciones de trabajo y en situaciones en las que lo que interesa es la capacidad de expansión.
Capítulo:
Dispositivos de disco duro.
3 9
101 Hardware y Arquitectura 2008 Por defecto, GNU/Linux define un dispositivo de ficheros IDE como sigue:
/dev/hda - Primary master IDE - IDE primario maestro (habitualmente el disco duro) /dev/hdb- Primary slave IDE - IDE primario esclavo /dev/hdc - Secondary master IDE - IDE secundario maestro (frecuentemente el CD-ROM) /dev/hdd - Secondary slave IDE - IDE secundario esclavo
Los dispositivos de ficheros SCSI son similares, excepto que no hay limitación de cuatro dispositivos: /dev/sda - Primer disco SCSI /dev/sdb - Segundo disco SCSI /dev/sdc - Tercer disco SCSI (y así los siguientes)
Bajo GNU/Linux, un ordenador típico con un único disco duro en el inferfaz IDE primario y un único CD-ROM en el IDE secundario tendría disk drive /dev/hda CD-ROM /dev/hdc.
En el examen:
Capítulo:
Se debe estar preparado para identificar dispositivos IDE y SCSI basados en sus definiciones de dispositivos.
4 0
101 Hardware y Arquitectura 2008 Requerimientos del controlador del disco duro. GNU/Linux soporta casi todos los tipos de controladores de disco duro, excepto los nuevos ultra o los controladores propietarios. Casi cualquier controlador estancar IDE, MFM, RLL, o ESDI debería trabajar sin problemas. Si se introduce un nuevo estándar más rápido, se deberá esperar un poco a que salga un driver para el mismo. GNU/Linux también maneja los controladores SCI estupendamente. La mayoría de vendors SCSI como ADaptec, Ultrastor, Future Domain, Western Digital, u otros no deberían plantear problemas. La mayoría de controladoras SCSI tienen una BIOS a la que se puede acceder durante el arranque y usar para configurar el controlador. Antes de instalar un nuevo sistema linux ir a la BIOS y asegurarse detecta los IDs SCSI de todos los periféricos SCSI. El orden de los IDs SCSI determina la denominación en linux de los dispositivos. Se debe prestar especial atención a los IDs SCSI 0 y 1, dado que son normalmente los dispositivos de los cuales se intenta por orden arrancar el sistema. Si se instala un nuevo disco duro en un sistema SCSI se requerirá formatear a bajo nivel el disco antes de su uso. Revisar la documentación de la controladora para ver si ese es el caso. Para formatear el disco a bajo nivel, usar la herramienta suministrada con la BIOS del controlador SCSI. Muchos controladores nuevos SCSI pueden configurarse para arrancar desde cualquier ID SCSI, pero asegurarse cuál de ellos está configurado como de arranque.
Dispositivos SCSI: Introducción Existen dos grandes estándares de dispositivos de almacenamiento: el estándar ATA (comúnmente conocidos como dispositivos IDE) y el estándar SCSI. El estándar SCSI es muy usado en entornos de servidor, viejos modelos Apple o estaciones Unix. El estándar SCSI se usa como interfase para dispositivos de “streaming” y de bloques como son discos duros, cintas de backup, lectores CDROM, etc.
Capítulo:
El estándar SCSI es muy superior frente al estándar ATA. Mientras que el estándar ATA está limitado a un máximo de solo cuatro dispositivos, el estándar SCSI permite conectar tantos dispositivos como permita la tarjeta controladora del bus SCSI. Además, los discos SCSI poseen un rendimiento muy superior a los disco ATA, en velocidad y en ancho de banda.
4 1
101 Hardware y Arquitectura 2008 Controladoras SCSI Algunas de esas controladoras poseen una BIOS propia que se encarga del control de los dispositivos conectados a ella y actúa de interfase entre los dispositivos SCSI y el resto del sistema. Entre otras cosas, la SCSI-BIOS se encarga , durante el arranque, de identificar los dispositivos conectados a ella, asignándoles un identificador tener en cuenta que la tarjeta controladora también reserva un identificador para ella (generalmente el id 7). Si la controladora no posee una SCSI-BIOS, debemos ser nosotros los que asignemos un identificador libre al dispositivo manualmente. Durante el arranque de GNU/Linux se muestra la configuración usada por el controlador SCSI así como los dispositivos detectados, y el identificador que está usando. Evidentemente, podemos volver a ver el log de arranque en cualquier momento usando:
#dmesg | more
Es importante señalar que los PC's no vienen con controladora SCSI integrada sino que debe ser adquirida aparte como una tarjeta PCI o ISA. Uno de los fabricantes más conocidos de controladoras SCSI es Adaptec, que viene soportada de serie en la gran mayoría de distribuciones Linux.
Los terminadores
Los buses SCSI poseen un terminador de bus, este marca su final. Este terminador también actúa como filtro eliminando ruido de las señales del bus. La controladora SCSI también actúa como terminador en uno de los extremos.
Capítulo:
Aunque existen terminadores externos que se acoplan a las terminaciones de los cables del bus SCSI, muchos dispositivos SCSI vienen con un terminador interno que entra en funcionamiento al conectar un dispositivo en algún extremo del cable mientras la controladora termina el otro extremo.
4 2
101 Hardware y Arquitectura 2008 Los RAID y los números de unidad lógica Existe un tipo de dispositivos llamados RAID que permiten usar diversas unidades de forma redundante para formar un sólo volumen lógico y compartiendo un mismo identificador SCSI. Cada una de las unidades posee un número de unidad lógica o lun (de “logical unit number”) que acompaña al identificador SCSI. En concreto los diversos tipos de RAID proporcionan una cierta redundancia de los datos. La redundancia total y la capacidad de regeneración de la información en caso de sustitución de alguna unidad, depende del número de volúmenes y del tipo de RAID instalado.
Capítulo:
Bajo Linux, estos dispositivos se nombran como un dispositivo SCSI corriente (sda, sdb).
4 3
101 Hardware y Arquitectura 2008
Tema 101.5 Configurando diferentes tarjetas en el PC Introducción En este capítulo se verá como configurar diversas tarjetas desde las diferentes bahías de expansión de las placas base.
Este tema tiene un peso (importancia) de 3 de cara al examen final de la certificación LPI 101. El total de la suma de pesos de todos los temas es de 106.
Capítulo:
Nota: El contenido de este capítulo puede estar desfasado en la actualidad.
4 4
101 Hardware y Arquitectura 2008 Dispositivos PCI En esta sección vamos a profundizar en los detalles de los dispositivos PCI bajo GNU/Linux. Activar los dispositivos PCI es bastante directo. Sólo hay que estar seguro de que se tiene activada la opción “PCI Support” en “General Setup” de la configuración del núcleo. También es recomendable la opción “PCI device name database”, lo cual permitirá ver los nombre en inglés de los dispositivos PCI que soporta Linux (a parte del número oficial de ID del dispositivo PCI). Con estar seguro de que las opciones mencionadas están activas, Linux está preparado para trabajar con dispositivos PCI. Sólo queda activar el driver específico para el tipo de tarjeta que se está instalando en el sistema. Por ejemplo, se debería de activar “Creative SBLive!” (en la categoría “Sound”) si se está instalando una tarjeta SoundBlaster Live!, y se deberá activar "3c590/3c900 series (592/595/597) "Vortex/Boomerang" en la categoría/subcategoría "Network device support/Ethernet (10 or 100Mbit)" si se está instalando una tarjeta de red 3Com 3c905c.
Especificando los dispositivos PCI Para ver la información de los dispositivos PCI que tienes instalados, se puede teclear: #cat /proc/pci
para ver la información de los bare-bones o teclear: #lspci -v
para ver algo más entendible y detallado.
Capítulo:
El comando lspci es parte del paquete pciutils, cuyos fuentes están disponibles en http://atrey.karlin.mff.cuni.cz/~mj/pciutils.html. Por norma general es suficiente con la versión de pciutils que viene en cada distribución. Cuando tecleas lspci -v, se pueden ver muchos dispositivos PCI que seguramente no se sepa ni que existían en el PC. A menudo, muchos de esos dispositivos son aquellos que vienen instalados en la placa base. Estos dispositivos pueden desactivarse (o activarse si no están activos) en la BIOS del ordenador pulsando delete o F2 cuando está arrancando el ordenador. El paquete pciutils también contiene un programa llamado setpci, que es para cambiar algunas de las opciones de los dispositivos PCI incluyendo el estado latente del dispositivo. Más información en “man lspci” y “man setpci”.
4 5
101 Hardware y Arquitectura 2008 Recursos de los dispositivos PCI Para poder trabajar, los dispositivos PCI necesitan aprovecharse de otros dispositivos del sistema, como las interrupciones. Muchos dispositivos PCI se aprovechan de las interrupciones para mandar una señal al procesador para indicarle que tienen cierta información que procesar. Para ver que interrupciones están siendo usadas en el sistema, se puede ver el fichero /proc/interrups tecleando: #cat /proc/interrupts.
CPU0 0: 3493317 XT-PIC timer 1: 86405 XTibm.com/developerWorks
La primera columna lista el número de IRQ, la segunda cuantas interrupciones han sido procesadas por el núcleo para esta IRQ y la última columna identifica el “nombre corto” del dispositivo asociado a esa IRQ. Varias dispositivos pueden compartir IRQ si es necesario. En el directorio /proc también encontramos información útil sobre dispositivos tanto PCI como ISA en los siguientes “archivos”: /proc/dma -> Lista de canales ISA DMA (direct memory access) /proc/interrupts -> Es usado para mostrar el listado de interrupciones de cada IRQ /proc/ioports -> Listado de los puertos de entrada-salida actualmente registrados /proc/pci -> Listado de todos los dispositivos encontrados durante la inicialización del kernel y su configuración Más información acerca del sistema /proc en: http://linuxreviews.org/man/proc/
Capítulo:
http://www.linuxforum.com/linux-filesystem/proc.html
4 6
101 Hardware y Arquitectura 2008 Dispositivos ISA Para los dispositivos ISA, se requiere un archivo de configuración creado con la utilidad pnpdump que se encuentra en /etc/isapnp.conf . Este fichero se genera con dicha utilidad, no se encuentra en ningún rpm o paquete, porque solamente se puede aplicar a cada sistema en concreto y la configuración de cada tarjeta. La configuración se hacen dos pasos: #isapnp /etc/isapnp.conf
Con esta orden el sistema trata de configurar las tarjetas ISA #pnpdump > /etc/isapnp.conf
Es el paso de la configuración para que la configuración queda grabada para posteriores sesiones.
Capítulo:
El proceso más detallado: http://www.linux-sxs.org/housekeeping/pnpdump.html
4 7
101 Hardware y Arquitectura 2008
Tema 101.6 Configurando dispositivos de comunicación Introducción Este capítulo es prácticamente el mismo que el 101.5, por lo que se verá muy brevemente el uso de setserial
Capítulo:
Este tema tiene un peso (importancia) de 1 de cara al examen final de la certificación LPI 101. El total de la suma de pesos de todos los temas es de 106.
4 8
101 Hardware y Arquitectura 2008 El comando setserial El comando setserial se emplea para obtener información de los puertos, o bien para configurarlos. Esta información incluye el puerto de entrada/salida que está usando una IRQ en particular o un puerto de serie. Durante el arranque solamente los puertos COM 1-4 son inicializados, usando los puertos I/O y los valores IRQ por defecto. Para cambiar esa configuración por defecto o bien añadir nuevas entradas, se usa el comando setserial. Las configuraciones estándar son: Para los puertos COM: /dev/ttys0 (COM1), port 0x3f8, irq 4 /dev/ttys1 (COM2), port 0x2f8, irq 3 /dev/ttys2 (COM3), port 0x3e8, irq 4 /dev/ttys3 (COM4), port 0x2e8, irq 3
Para los IRQ: IRQ 0 Timer channel 0 IRQ 1 Keyboard IRQ 2 Cascade for controller 2 IRQ 3 Serial port 2 IRQ 4 Serial port 1 IRQ 5 Parallel port 2 (Reserved in PS/2) IRQ 6 Floppy diskette IRQ 7 Parallel port 1 IRQ 8 Real-time clock IRQ 9 Redirected to IRQ2 IRQ 10 Reserved IRQ 11 Reserved IRQ 12 Reserved (Auxillary device in PS/2)IRQ 13 Math coprocessor IRQ 14 Hard disk controller IRQ 15 Reserved
Capítulo:
Se puede encontrar más información en la página del manual “man setserial”
4 9
101 Hardware y Arquitectura 2008
Tema 101.7 Configurando dispositivos USB Introducción Este capítulo trata sobre los dispositivos USB y los comandos que facilitan el uso de los mismos.
Este tema tiene un peso (importancia) de 1 de cara al examen final de la certificación LPI 101. El total de la suma de pesos de todos los temas es de 106.
Capítulo:
Nota: El contenido de este capítulo puede estar desfasado en la actualidad.
5 0
101 Hardware y Arquitectura 2008 Introducción a Linux USB
Cuando se configura el núcleo, se ve una sección llamada “USB support” que contiene opciones USB, conocido como Bus serie universal. USB es relativamente una nueva forma de conectar periféricos al PC. Hoy en día, hay ratones, teclados, controladores de juegos, impresoras, módems y demás como dispositivos USB. Como el soporte para USB de GNU/Linux es realmente temprano, muchos usuarios Linux jamás han utilizado dispositivos USB en sus sistemas o no están muy al día de como los soporta Linux. El siguientes paneles darán una pequeña introducción de como ayuda GNU/Linux a iniciarse.
Activando USB
Para activar el soporte USB Linux, se debe ir a la categoría “USB Support” y activar la opción . Los siguientes pasos de instalación pueden ser confusos. En particular, se tiene que seleccionar el Controlador USB adecuado para cada sistema. Las opciones son “EHCI”, “UHCI, “UHCI (driver alternativo)“ y “OHCI”. Estos nombres pueden provocar la confusión de cual escoger.
UHCI, OHCI, EHCI Para entender que es “EHCI” y sus “amigos”, primero se tiene que saber que todas las placas madres para que soporten USB tiene que tener instalada una controladora USB. Este chipset en particular se encarga de interactuar con el dispositivo USB que se introduce en el equipo y se preocupa de todos los pequeños detalles necesarios para que el dispositivo USB se pueda comunicar con el resto del equipo.
Capítulo:
Los drivers USB de Linux tienen tres opciones de controladores USB diferentes porque hay tres tipos de chips USB en una placa base y una tarjeta PCI. El driver “EHCI” está diseñado para dar soporte a los chips que implementan el nuevo protocolo de alta velocidad USB 2.0. El driver “OHCI” está diseñado para dar soporte USB en máquinas no PC, así como en placas base de PC SIS y Ali. El driver “UHCI” está diseñado para soportar el resto controladoras USB que se pueden encontrar en casi todo el resto de placas base de PC, incluidas Intel y Via. Simplemente tienes que seleccionar el driver “?HCI” que quieres activar. Si quieres puedes activar “ECHI” y “UHCI” (pueden trabajar juntas) y desactivar “OHCI” para estar seguro.
5 1
101 Hardware y Arquitectura 2008 Los últimos pasos Una vez que se ha activado “USB support” y el controlador apropiado hay muy pocas cosas más que hacer para introducir un USB y que funcione. Se tiene que activar “Preliminary USB device file system” y estar seguro de que se activa cualquier driver especifico de dispositivo USB que se vaya a usar con el sistema GNU/Linux. Por ejemplo, para activar un dispositivo de juegos se activa “USB Human interface Device (full HID) support”. Y también se activa “Input core support” y “joystick support” dentro de la sección “Input core support”.
Montando usbdevfs Una vez que se reinicie el nuevo núcleo con soporte USB, se debe de montar el fichero de dispositivo USB en /proc/bus/usb tecleando el siguiente comando: # mount -t usbdevfs none /proc/bus/usb
Si se quiere que el sistema de ficheros de dispositivos USB funcione automáticamente cuando el equipo arranque, se añade la siguiente linea a /etc/fstab antes de la linea de /proc: none /proc/bus/usb usbdevfs defaults 0 0 Este paso es innecesario en muchas distribuciones, ya que detectan automáticamente si usbdevfs está activo en el núcleo y monta automáticamente usbdevs si es posible. Todos los dispositivos USB se montarán en el sistema de archivos /proc/bus/usb y puede usarse con la aplicación adecuada.. Cada dispositivo se “verá” como un fichero, por ejemplo: /proc/bus/usb/001/005 Para asegurarse de que el driver apropiado se cargo para el dispositivo USB se puede usar el comando usbmodules: #usbmodules [opciones]
Por ejemplo:
#usbmodules --device /proc/bus/usb/001/005 –mapfile /etc/hotplug/usb.handman
Capítulo:
#usbmodules --device /proc/bus/usb/001/001
5 2
101 Hardware y Arquitectura 2008 Los módulos por defecto que se cargan están en /lib/modules/
/modules.usbmap. Todos los drivers se guardan en el directorio /lib/modules//kernel/drivers/usb/
HOTPLUG El paquete hotplug ayuda en la administración de dispositivos conectados “en caliente”. Por ejemplo añadiendo un nuevo elemento al sistema (camara digital) o bien quitando hardware ya existente, hotplug se encargará de hacer que ese dispositivo esté disponible para el sistema.El directorio donde se almacenan las configuraciones es /etc/hotplug/etc/hotplug/*.rc -> Detección de elementos en frio, es decir que ya están conectados en el momento del arranque del sistema.
Capítulo:
/etc/hotplug/*.agent -> Estos archivos son los encargados de cargar los módulos del nucleo correspondiente y llamar a los parámetros proporcionados por el usuario en caso de haberlos.
5 3
101 Hardware y Arquitectura 2008 FUENTES BIBLIOGRÁFICAS http://www.alegsa.com.ar/Dic/BIOS.php http://es.wikipedia.org/wiki/Bootstrapping_(inform%C3%A1tica) Compiladores e intérpretes: Un enfoque pragmático LIBRO http://es.wikipedia.org/wiki/Peripheral_Component_Interconnect http://www.monografias.com/trabajos28/arquitectura-von-neumann/arquitectura-vonneumann.shtml http://www.lsiaug.net/lsia/blog/2007/09/12/componentes-de-la-computadora-la-tarjetamadre-motherboard/ http://es.wikipedia.org/wiki/Bootstrapping_%28inform%C3%A1tica%29 http://www.configurarequipos.com/doc282.html http://es.wikipedia.org/wiki/M%C3%B3dem_por_software http://canalhanoi.iespana.es/articulos/cronologia.htm Ampliar y Reparar su PC 4 Edicion Buckel / Brandt / Voss
LPIC 1 Certification Bible (Bible) by Angie Nash, Jason Nash John Wiley & Sons; Bk&CD-Rom edition (July 1, 2001) ISBN: 0764547720 LPI Linux Certification in a Nutshell by Jeffrey Dean O'Reilly & Associates; 1st ed edition (May 15, 2001) ISBN: 1565927486 CramSession's LPI General Linux Part 1 : Certification Study Guide CramSession.com; ISBN: B000079Y0V; (August 17, 2000) Referencias Unix Reviews http://www.unixreview.com/documents/s=7459/uni1038932969999/ Página LPI: www.lpi.org
Manuales GPL: http://www.nongnu.org/lpi-manuals/
Capítulo:
Apuntes IBM: http://www-106.ibm.com/developerworks/edu/l-dw-linux-lpir21-i.html
5 4
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) CINNDET Centro de Investigación, Innovación y Desarrollo Tecnológico
104 Dispositivos, Sistema de Archivos y Prototipo para la organización del sistema de archivos (FHS) Temas a tratar: 1.104.1 Creando particiones y sistemas de archivos (weight: 5) 1.104.2 Manteniendo la integridad de los Sistemas de Archivos (FileSystems) (weight: 6) 1.104.3 Montando y desmontando Sistemas de Archivos(weight: 5) 1.104.4 Administrando cuotas de disco (weight: 5) 1.104.5 Usando permisos para controlar el acceso a los archivos (weight: 3) 1.104.6 Administrando el propietario de los archivos(weight: 3) 1.104.7 Crear y cambiar enlaces a archivos(weight: 3) 1.104.8 Búsqueda de Archivos (weight: 3)
Capítulo: Creando particiones y sistemas de archivos
Guía de Preparación
1
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
104 Dispositivos, Sistema de Archivos y Prototipo para la organización del sistema de archivos (FHS) Términos que usted necesita entender:
Archivos Ocultos. Recursividad. Permisos. Root / Directorio. Prototipo para la organización del sistema de archivos.
Pistas:
2
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Toda la información aquí presentada está liberada bajo la licencia Attribution-NonCommercialShareAlike2.0 de commons creative. El documento aquí presente sufre modificaciones con respecto a su original de acuerdo a los términos establecidos en la licencia de uso, por consiguiente esté documento se distribuye bajo los mismos términos de la licencia Attribution-NonCommercial-ShareAlike2.0 de commons creative, poniendo como segundos créditos a las otras partes correspondientes, así como también se ofrece un documento donde se señalan los cambios sufridos y las actualizaciones de donde se pueden obtener.
Créditos y licencia de uso Coordinación: Manuel Guillán (xLekOx) [email protected] Oscar Casal (ocs) [email protected] Traducción: Pere Catalan (arGos) [email protected] Juan Maria Gil (Smooth) [email protected] Ivan Servia (katas) [email protected] Pablo Taboada (java) [email protected] Kiefer Von Jammo (Kiefer) [email protected] Maquetación: Manuel Guillán (xLekOx) [email protected] Kiefer Von Jammo (Kiefer) [email protected] Javier Pulido (jpulido) [email protected] Versión 1.1 (20-09-2004 22:46)Distribuido por FreeUOC (www.freeuoc.org) bajo licencia: Attribution-NonCommercial-ShareAlike2.0 de commons creative Versión 1.2 (3-09-2008 22:46)Distribuido por CINNDET (www.cinndet.no-ip.org:8080) bajo licencia: Attribution-NonCommercial-ShareAlike2.0 de commons creative
3
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
Preparación para Examen LPI 101
el
Tema 104 Dispositivos, sistemas de archivos y sus estándares
4
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
ÍNDICE Índice de contenido
Tema 104.4
Tema 104
Administrando cuotas de disco Introducción Establecer y Consultar Cuotas de Disco Cuotas de Limitación Comandos de cuotas quota quotaon quotaoff quotacheck edquota repquota Habilitando las cuotas
Dispositivos, sistemas de archivos y sus estándares Créditos y licencia de uso Tema 104.1 Creando particiones y sistemas de archivos Introducción Creando particiones y sistemas de archivos Fdisk mkfs fips Tema 104.2 Creando particiones y sistemas de archivos Introducción Manteniendo la Integridad de los Filesystems (Sistemas de Archivos) Monitorizando el espacio y los inodos libres del disco Monitorizando el Uso del Espacio en Disco Comprobando la Integridad del Filesystem Creando un sistema de archivos Algunas utilidades de los filesystems Tema 104.3 Montando y desmontando filesystems Introducción Controlando el montaje / desmontaje de los Filesystems Administrando la tabla de filesystems Montando filesystems Desmontando filesystems
Tema 104.5 Usando permisos para controlar el acceso a los archivos Introducción Permisos de Archivos y Directorios Permisos estándar Cambiando Valores Permisos especiales SUID SGID Sticky Bit Tema 104.6 Administrando el propietario de los archivos Introducción Permisos de Usuarios y Grupos chown chgrp
5
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Tema 104.7 Crear y cambiar enlaces a archivos Introducción Creando links a archivos
Tema 104.8 Búsqueda de archivos Introducción Buscando Archivos find
locate which whereis FHS PREGUNTAS TEST EJERCICIOS DE LABORATORIO RESPUESTAS TEST RESPUESTAS DE LABORATORIO Bibliografía y enlaces recomendados
6
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
Tema 104.1 Creando particiones y sistemas de archivos Introducción En este tema se verá como crear y formatear particiones con las herramientas que ofrece GNU/Linux. Los comandos que se verán en este tema son: fdisk mkfs En este capítulo no se harán ejercicios, ya que hay suficientes ejemplos para trabajar con el tema y crear o modificar los existentes para hacer pruebas. Este tema tiene un peso (importancia) de 3 de cara al exámen final de la certificación LPI 101. El total de la suma de pesos de todos los temas es de 106.
7
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Creando particiones y sistemas de archivos Hay muchas herramientas para crear particiones y sistemas de archivos en sistemas Linux. La utilidad fdisk se usa para trabajar con particiones en discos duros. La utilidad fips se utiliza para redimensionar particiones, y los sistemas de archivos se crean utilizando la utilidad mkfs. Se pueden utilizar estas herramientas conjuntamente para preparar un disco duro para usar sistema Linux. En el mundo real: muchas distribuciones Linux incluyen herramientas que crean automáticamente las particiones y el sistema de archivos Linux durante la instalación. Mucha gente no necesitará nunca usar utilidades como fdisk o
mkfs. Sin embargo, los usuarios avanzados y los administradores de sistemas deben estar familiarizados con el uso de estas herramientas.
fdisk La herramienta principal usada para crear particiones de disco es fdisk. La utilitdad fdisk divide el disco en particiones y escribe la tabla de particiones en el sector 0 (conocido como superblock). Cuando se utiliza sin parámetros, fdisk presenta un menú de opciones con las que se puede interactuar. Se puede evitar el menú y ejecutar fdisk con las siguientes opciones: -l: lista las tablas de particiones.
8
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) -v: Nos da únicamente la versión de fdisk. Si no se utiliza ninguna de esas opciones, fdisk comprueba si el número de cilindros del dispositivo por defecto (hda1) es mayor de 1024 y avisa de ello si es así. Entonces espera una instrucción. Se puede iniciar fdisk con un dispositivo distinto al de defecto especificándolo en la línea de comandos. Por ejemplo, para arrancar fdisk con el tercer driver IDE, se debe poner:
Herramientas para Particionar en Linux Fdisk.- Incluido en la mayoría de las distribuciones Linux http://es.wikipedia.org/wiki/Fdisk DiskDruid.- Herramienta gráfica de uso exclusivo en la distribución Red Hat. http://www.faqs.org/docs/securing/chap3sec14.html Cfdisk.- Distribución Debian y sus derivados.
$ fdisk /dev/hdc
http://en.wikipedia.org/wiki/Cfdisk Qtparted.- Es un clon de la herramienta Partition Magic está desarrollada en C++ http://qtparted.sourceforge.net/ GParted.- Edición de particiones para el ambiente GNOME desarrollado en C++ y usa gtkmm para la interfaz grafica de usuario (GUI), liberada con la licencia GPL(General Public License). http://gparted.sourceforge.net/index.php
Es importante mencionar que son herramientas alternativas y por lo mismo se recomienda probar cada una de ellas, en el presente documento está enfocado al manejo de la herramienta para particionar fdisk. Puede consultar los videos alojados en YouTube donde se muestran cada una de las herramientas en la siguiente dirección:
9
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
Figura 2 Desplegando la información del disco seleccionado (p)
Capítulo:
Figura 1 Como se ve el fdisk en una consola de Linux.
1 0
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
RECURSO EN LÍNEA Puede visitar esté link donde encontrará un video tutorial donde se muestra el uso de fdisk http://www.youtube.com/wat ch?v=qFBGflNGl74 Usted debe recordar qué “Fdisk es un programa de computadora disponible en varios sistemas operativos, el cual permite dividir en forma lógica un disco duro, siendo denominado este nuevo espacio como partición.”
Figura 3 SysInfo comando en Linux para obtener información del sistema referente al Hardware.
Y también…. “Una partición de disco, en informática, es el nombre de cualquier división de un disco; siendo el disco duro el caso más común para esta técnica. La técnica consiste en dividir un disco en varias partes, las cuales actúan y son tratadas por el sistema como discos independientes; sin embargo, estas divisiones están presentes en un mismo disco físico. Cualquier unidad de almacenamiento completamente formateada es en realidad una partición primaria que ocupa todo el disco; en dicho caso, el término partición es poco usado, siendo en este caso sustituído por otro termino más familiar, como formato del disco.”
11
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
Figura 4 cfdisk herramienta para particionado de disco duro en la distribución Debian y derivados.
12
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
Figura 5 Disk Druid uso exclusivo de la distribución Red Hat.
13
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Una vez la utilidad está iniciada, entrando m se presenta una ayuda en forma de menú, algunas de las cuales se listan en la tabla 1-1. Tabla 1-1 Algunas de las opciones del fdisk Opción
Función
P
Muestra información sobre la partición.
D
Borra una partición.
N
Crea una partición.
Q
Sale de la aplicación sin guardar los cambios.
W
Guarda los cambios y sale de la aplicación.
M
Muestra los comandos disponibles.
V
Verifica la tabla de particiones.
A
Cambia el indicador de estado de arranque de la partición.
Los siguientes ejemplos ilustran que se puede hacer con esta utilidad, empezando por acciones simples y acabando con algunas más complicadas.
14
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) En primer lugar, para ver la tabla de particiones, se debe introducir el comando p. El resultado se debe parecer a: Se muestra tres particiones (de 1 a 3) en un único disco IDE (hda). La primera partición es de arranque (marcada como boot) , la segunda de swap, y la tercera es el resto del disco. Para modificar el sistema de archivos, vamos a cambiar la tercera partición en dos de menor tamaño. Primero entramos el comando d para borrar la partición. El prompt preguntará que partición (1 a 4). Se entra 3, y ya está. Para crear una nueva partición, se entrará el comando n. El prompt que muestra será: e- extendida p- partición primaria (1-4) Si ya se han creado algunas particiones, el prompt puede no aparecer. Por ejemplo, si ya se tiene una partición extendida, no se puede crear otra ya que ésta ya existe. Si se entra p para una primaria, seguidamente se pedirá el número (1-4) para crearla; si se da un número ya usado, el comando falla ya que primero se debería haber borrado la partición antes de volverla a añadir. En este caso, suponiendo que se quiere crear dos particiones iguales en el espacio que antes ocupaba la tercera partición, por lo tanto después de entrar p la secuencia será la siguiente (valores entrados en cursiva) Número de partición (1-4): 3 Primer cilindro (4317-16383, defecto 4317): (aceptar) Usando el valor de defecto 4317 Último cilindro o +size o +sizeM o +sizeK _ (4317-16383, defecto 16383): 10350
15
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Command (m para ayuda): p Disco /dev/had: 16 head, 63 sectors, 16383 cylinders Units = cylinders of 1008 + 512 bytes Device Boot Start End Blocks Id System /dev/hda1 + 1 4063 2047720+ 83 Linux /dev/hda2 4064 4316 127512 82 Linux swap /dev/hda3 4317 10350 3041136 83 Linux Command (m para ayuda): n Command action e extended p primary partition (1-4) p Número de partición (1-4): 4 Primer cilindro (10531-16383, default 10351): (aceptar) Usando el valor de defecto 10351 Último cilindro o +size o +sizeM o +sizeK _ (10351-16383, defecto 16383): (aceptar) Usando el valor de defecto 16383
16
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Command (m para ayuda): p Disco /dev/had: 16 head, 63 sectors, 16383 cylinders Units = cylinders of 1008 + 512 bytes
Device Boot Start End Blocks Id System /dev/hda1 + 1 4063 2047720+ 83 Linux /dev/hda2 4064 4316 127512 82 Linux swap /dev/hda3 4317 10350 3041136 83 Linux /dev/hda4
10351
16383
3040632
83
Linux
Para cambiar la tercera partición a sistema de archivos swap (partición de swap) la secuencia es: Command (m para ayuda): t Número de partición (1-4): 3 Hex code ( L para la lista de códigos): 82 Cambiado tipo de sistema de la partición 3 a 82 (Linux swap) Entonces, para cambiar la partición existente de swap (la 2) a una partición Linux, se debe hacer lo mismo que se ha hecho, pero como código hex el 83. Poniendo L cuando se pida el hex code se mostrarán todos los sistemas de archivos posibles (igual que poniendo I en el menú principal de fdisk). Después de efectuar todos los cambios, se puede salir de fdisk y formatear las particiones que lo necesiten. Si se guardan los cambios, aparecerá una alerta indicando que la tabla de particiones ha sido alterada y el disco será sincronizado. Se deberá reiniciar el sistema para asegurarse de que la tabla está actualizada adecuadamente. Se pueden hacer muchos cambios con fdisk y deshecharlos si se usa la opción q. Si se desea grabar los cambios realizados, se deben salvar con w.
17
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) RESUMEN FDISK PASO A PASO Hay varios conceptos para referirse a zonas del disco:
LISTA DE PASOS PARA CREAR UNA
“hda es el acrónimo de Hard Disk a por consiguiente hdb es Hard Disk b y así sucesivamente.”
PARTICIÓN 1. Ejecutar fdisk en el disco duro. 2. Examinar las particiones existentes. 3. Crear una partición nueva. 4. Seleccionar el tipo de partición (primaria, extendida o lógica). 5. Seleccionar el número de partición. 6. Seleccionar el cilindro de inicio. 7. Seleccione el cilindro final o tamaño. 8. Establecer el identificador de sistema de la partición. 9. Escribir la nueva tabla de particiones. 10. Reiniciar la computadora para actualizar la tabla de particiones. Ubicación del cilindro en el disco duro.
Recurso en Línea Arquitectura y Funcionamiento de un disco duro
Capítulo:
Plato: Cada uno de los discos que hay dentro del disco duro. Cara: Cada uno de los dos lados de un plato Cabeza: Número de cabezales; Pista: Una circunferencia dentro de una cara; la pista 0 está en el borde exterior. Cilindro: Conjunto de varias pistas; son todas las circunferencias que están alineadas verticalmente (una de cada cara). Sector : Cada una de las divisiones de una pista.
1 8
http://www.islabit.com/arquitectura-y-funcionamientode-un-disco-duro/
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) DESPLEGADO DE PASOS FDISK Paso 1 Ejecutar fdisk en el disco duro. #fdisk /dev/hda Command(m for help): m
Paso 2 Examinar las particiones existentes. Command(m for help): p Disk /dev/hda/: 32 heads, 63 sectors, 827 cylinders
19
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Paso 3 Crear una partición nueva. Presione n para crear una nueva partición.
Paso 4 Seleccionar el tipo de partición (primaria, extendida o lógica).
20
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
Paso 5 Seleccione el número de partición que le asignara a la nueva partición.
Paso 6 Escriba el cilindro de inicio donde se ubicara la partición que está creando.
21
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
Paso 7 Seleccione el tamaño en Megabytes, Kilobytes o hasta cierto cilindro en especifico del tamaño de la partición a crear.
Paso 8 Seleccione el tipo de sistema de archivos Que se almacenaran en la partición a crear.
22
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
Paso 8(2) Lista de sistemas de archivos
Nota : En Linux los códigos son, 83 Linux 82 Linux Swap
23
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Paso 8(3)
Paso 9
24
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
25
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
26
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
Figura 7 Gparted en acción.
27
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
Figura 8 QTParted en Acción.
28
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Descripción General de los sistemas de archivos (filesystem) Una vez se ha creado la partición, el sistema de archivos debe ser añadido para que Linux pueda hacer uso de este espacio.
Característica
Límite
Tamaño máximo del sistema de archivos Tamaño máximo de archivo Longitud máxima de nombre de archivo Tamaño mínimo del bloque Reserva de espacio para inodos predeterminada
4 Terabytes 2 Gigabytes 255 caracteres 1,024 bytes 1 por cada 4,096 bytes de espacio de partición.
Capítulo:
Características del sistema de archivos segundo extendido (ext2)
2 9
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) mkfs La utilidad mkfs se usa para crear sistemas de archivos en particiones vacías. La utilidad mkfs se utiliza con muchas opciones distintas, las cuales se pueden ver en la tabla 1-2. En la tabla 1-3 se pueden ver algunas de las utilidades prácticas de mkfs. Tabla 1-2 Opciones usadas con mkfs Opción
Uso
-t fstype
Especifica el tipo de sistema de archivos a crear. Por defecto se usa ext2.
fs -options
Opciones específicas de sistema de archivos para ser pasados al sistema real de archivos que vamos a crear.
-c
Comprueba el dispositivo en busca de bloques defectuosos antes de crear el sistema de archivos.
-l archivo
Lee los bloques defectuosos del archivo.
-v
Produce una salida con más información, incluyendo todas las órdenes específicas del sistema de archivos concreto que se ejecutan. Ésto es realmente sólo útil para comprobaciones.
Las opciones usadas por mkfs están seguidas por un argumento especificando la partición que debe ser formateada. Después de la ejecución del comando, el código de salida de 0 (cero) indicará que se ha llevado a cabo con éxito mientras que el código de salida 1 (uno) indicará fallo. Ejemplo de la sintaxis usada: mkfs -opciones argumentos Cuando se crea un sistema de archivos con mkfs, se pueden utilizar muchos comandos para especificar el tipo de sistema de archivos. Estos comandos son accesibles sólo para el usuario root.
30
104 Dispositivos, Sistema de Archivos y 2008 Exámen: utilidades Prototipo para la organización delLas sistema dea entender para el test, y para el uso en el archivos (FHS)
mundo real, están cubiertas aquí. Cada sistema de archivos se crea usando un comando especifico. Se ha de estar seguro de conocer los comandos usados para crear sistemas de archivos ext2, swap y MS-DOS.
Tabla 1-3 Utilidades para la creación de Sistemas de Archivos Comando
Uso
mkfs.ext2 o mke2fs
Crea un sistema de archivos ext2
mkfs.msdos o mkdosfs
Crea un sistema de archivos MS-DOS
mkswap
Crea un sistema de archivos de Linux swap
mkraid
Inicializa y actualiza cadenas de dispositivos RAID
mkfs.minix
Crea un sistema de archivos Minix
mkfs.bfs
Crea un sistema de archivos SCO BFS
Para obtener más detalles de las opciones al crear cada tipo de sistemas de archivos, se puede hacer uso de las páginas man de Linux. Para crear un sistema de archivos debe ser usada la herramienta correcta especificada en la tabla 1-3. Por ejemplo, un uso apropiado de estas utilidades es crear una partición ext2 usando mkfs.ext2: # mke2fs /dev/hda3
31
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) fips La utilidad fips no es una utilidad Linux. Esta utilidad no es materia de exámen, pero es útil conocerla cuando queremos añadir Linux a un sistema ya existente. Se trata de una utilidad MS-DOS proporcionada con Red-Hat para redimensionar particiones en un disco duro. La utilidad produce dos particiones, la partición original redimensionada y una nueva partición creada a partir del espacio libre. Entonces se necesita borrar la nueva partición creada de modo que el espacio pueda ser utilizado por Linux. Antes de utilizar la utilidad fips es importante hacer copia de seguridad de los datos almacenados en la partición sobre la que se trabajará. La utilidad se encuentra en el CD-ROM de Red-Hat, en el directorio dosutils. La utilidad se ejecuta desde la línea de comandos de MS-DOS, y los cursores se utilizan para redimensionar las particiones. Se debe tener extremo cuidado utilizando esta utilidad. En el mundo real: La utilidad fips es similar al PartitionMagic y otros programas comerciales que se utilizan para crear y redimensionar particiones.
Figura Fdisk Editor de Particiones.
32
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
Figura FreeBSD Editor DiskLabel.
33
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
Tema 104.2 Creando particiones y sistemas de archivos Introducción Este capítulo se verá como verificar la integridad del disco duro, monitorizar el espacio libre y reparar problemas con el sistema de archivos. Los comandos que se verán en este tema son:
du df fsck e2fsck
mke2fs debugfs dumpe2fs tune2fs
Este tema tiene un peso (importancia) de 3 de cara al examen final de la certificación LPI 101. El total de la suma de pesos de todos los temas es de 106.
34
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Manteniendo la Integridad de los Filesystems (Sistemas de Archivos) Con el trascurso del tiempo los filesystems activos pueden terminar presentando problemas como los siguientes: Un filesystem se llena hasta el límite de su capacidad, causando que los programas o, quizás, el sistema entero dejen de funcionar. Un filesystem se corrompe, seguramente por un corte de alimentación o por una caída del sistema. Un filesystem se queda sin inodos libres de tal forma que no se pueden crear nuevos objetos en el mismo. Monitorizar y comprobar cuidadosa y regularmente los filesystems de Linux nos ayudará a prevenir o corregir estos problemas.
Monitorizando el espacio y los inodos libres del disco Un sistema de lectura/escritura no sirve de mucho si crece hasta el punto en que no pueda admitir nuevos archivos. Esto podría ocurrir si el filesystem se llena o si se queda sin inodos libres.
Los inodos son las estructuras de datos dentro del filesystem que describen los archivos en el disco. Cada filesystem contiene un número finito de inodos que se establece en el momento de la creación del filesystem. Esté número es, a su vez, el máximo número de archivos que un filesystem puede acomodar. Como los filesystems se crean con un número de inodos enorme, problemente nunca crearás tantos archivos como para agotar esté número. No obstante, es posible quedarse sin inodos libres en particiones que contengan muchos archivos pequeños.
Es muy importante prevenir la escasez de inodos libres en las particiones del sistema. El comando df proporciona información necesaria tanto sobre la uso del espacio en disco como de los inodos libres. Sintaxis : df [opciones] [directorios]
35
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Descripción Muestra información general sobre el uso del disco en los filesystems montados en directorios. Normalmente, en directorios indicamos archivos de dispositivos de particiones como /dev/hda1, pero si indicamos otro tipo de nombre de archivo o directorio obtendremos información sobre la partición donde está ubicado dicho archivo o directorio. Si omitimos directorios, se mostrará la información relativa a los filesystems montados en los dispositivos incluidos en /etc/fstab.
Inodos
Tabla 2-1 Opciones frecuentemente del comando df
Opción
Uso
-h
Muestra los resultados en un formato legible para las personas, incluyendo sufijos como M(megabytes) y G (gigabytes).
-i
Muestra información sobre los inodos libres en lugar de la información por defecto sobre el espacio libre en disco.
36
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Ejemplo 1 Revisar el uso del espacio en disco en todos los filesystems: # df –h
Filesystem Size Used Avail Use% Mounted on /dev/sda1 387M 56M 311M 15% / /dev/sda5 296M 5.2M 276M 2% /boot /dev/sda9 1.9G 406M 1.4G 22% /home /dev/sda6 53M 12M 39M 23% /root /dev/sda10 99M 104k 93M 0% /tmp /dev/sda8 972M 507M 414M 55% /usr /dev/sda7 296M 9.3M 272M 3% /var En este ejemplo se observa que en ninguno de los siete filesystems montados por defecto, el espacio utilizado excede del 55 por ciento de su capacidad.
37
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Ejemplo 2 Revisar el uso de inodos en los mismos filesystems: # df -i
Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda1 102800 7062 95738 7% / /dev/sda5 78312 29 78283 0% /boot /dev/sda9 514000 934 513066 0% /home /dev/sda6 14056 641 13415 5% /root /dev/sda10 26104 60 26044 0% /tmp /dev/sda8 257040 36700 220340 14% /usr /dev/sda7 78312 269 78043 0% /var Entre estas particiones el mayor consumo de inodos es sólo de un 14 por ciento. Está claro que ninguno de éstos filesystems se está acercando en su consumo al máximo disponible. Observa que la partición /usr (con el 14 por ciento de los inodos utilizados) ha consumido el 55 por ciento del espacio en disco. Con ésta tónica de utilización, lo más probable es que el volumen /usr agote su capacidad en disco antes de agotar los inodos libres.
Figura Uso
38
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Ejemplo 3 Determina rápidamente en que partición está situado el directorio de trabajo actual (puede representarse, simplemente, por un punto):
RECURSOS EN LÍNEA
# df .
/dev/sda1 102800 7062 95738 7% / http://mx.youtube.com/w atch?v=DxE9ht80crk
Cuando un filesystem está próximo a agotar su capacidad podemos, simplemente, eliminar archivos para obtener más espacio libre. Sin embargo en el caso improbable de una escasez de inodos, deberíamos volver a crear el filesystem con un número mayor de inodos a menos que podamos borrar una muy buena cantidad de archivos.
Monitorizando el Uso del Espacio en Disco ¿Te has preguntado alguna vez “A donde va todo el espacio consumido en el disco?”. En algunos sistemas operativos es bastante complicado obtener la respuesta a esta pregunta con las herramientas nativas. En Linux, el comando du nos puede ayudar, mostrándonos directorio por directorio el uso del espacio en disco, a responder a esta pregunta. El comando du examina los directorios recursivamente y muestra información detallada o resumida sobre el espacio en disco consumido.
Sintaxis: du [opciones] [directorios]
Descripción Muestra información sobre el uso del disco en los directorios. Si se omiten los directorios se buscará en el directorio de trabajo actual.
39
http://mx.youtube.com/w atch?v=O8cdJRNgF3s&feat ure=related
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Tabla 2-2 Opciones frecuentemente utilizadas por du Opción
Uso
-a
Muestra todos los archivos, no solo los directorios.
-c
Genera un gran total de todos los elementos listados.
-h
Muestra los resultados en un formato legible para las personas, incluyendo sufijos como M (megabytes) y G (gigabytes).
-s
Visualiza un sumario para cada uno de los directorios especificados, en lugar de los totales encontrados recursivamente en cada subdirectorio.
-S
Excluye los subdirectorios de las sumas y los totales, limitándose a totalizar los directorios.
Ejemplo 1 Examinar el uso del disco en /etc/rc.d: # du /etc/rc.d
882 /etc/rc.d/init.d 1 /etc/rc.d/rc0.d 1 /etc/rc.d/rc1.d 1 /etc/rc.d/rc2.d 1 /etc/rc.d/rc3.d 1 /etc/rc.d/rc4.d 1 /etc/rc.d/rc5.d 1 /etc/rc.d/rc6.d 904 /etc/rc.d
40
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Ejemplo 2 Muestra el espacio en disco utilizado por archivos, incluyendo los subdirectorios interiores, en /etc: # du -s /etc
13002 /etc
Ejemplo 3 Muestra el espacio en disco utilizado por archivos, excluyendo los subdirectorios interiores, en /etc: # du -Ss /etc
1732 /etc
Ejemplo 4 Muestra un sumario de todos los subdirectorios bajo /home, con una salida legible por las personas: # du -csh /home/*
42k /home/bsmith 1.5M /home/httpd 9.5M /home/jdean 42k /home/jdoe 12k /home/lost+found 1.0k /home/samba 11M total Este resultado muestra que se han utilizado 11 MB del espacio total del disco.
41
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Ejemplo 5 Muestra el mismo sumario, pero ordenando los resultados de mayor a menor utilización: # du -cs /home/* | sort -nr
11386 total 9772 jdean 1517 httpd 42 jdoe 42 bsmith 12 lost+found 1 samba Este resultado muestra que el usuario jdean está consumiendo la mayor cantidad de espacio. Ten en cuenta que el formato legible por las personas no ordenaría de esta forma ya que sort no interpreta dicho formato.
42
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Comprobando la Integridad del Filesystem Independientemente de lo estables que sean, los ordenadores terminan fallando, incluso por algo tan simple como un cable de alimentación desconectado por accidente. Desafortunadamente una interrupción de este tipo puede provocar daños en un filesystem. Si se abortase una operación de escritura en disco antes de completarse, los datos implicados se perderían y las partes del disco que se reservaron para ellos quedarían marcadas como en uso. Además, las escrituras en el filesystem no suelen ser directas, sino que suelen pasar previamente por una cache de memoria, un corte de corriente o una caída del sistema impediría al kernel sincronizar ésta cache con el disco. Cualquiera de estos casos provocaría que nos encontrásemos con inconsistencias en el filesystem que deberán ser corregidas para asegurar un funcionamiento fiable del mismo. Los filesystems se comprueban con fsck. Al igual que mkfs, fsck es una utilidad específica al tipo de filesystem instalado – esto incluye fsck.ext2, que es un link al programa e2fsck (mira en las páginas man para más información). Una parte de la información almacenada en el disco para describir un filesystem es la conocida como superbloque que se encuentra en el bloque 1 de la partición. Si éste área se corrompiese el filesystem quedaría inaccesible. Debido a la importancia del superbloque, se realizan copias del mismo en intervalos regulares del filesystem, por defecto cada 8192. La primera copia del superbloque se encuentra en el bloque 8193, la segunda en el bloque 16385, y así sucesivamente. Como verás, fsck puede utilizar la información en las copias del superbloque para restaurar el superbloque principal
Sintaxis fsck [opciones] [-t tipo] [opciones-fs] filesystems
Descripción Comprueba si los filesystems tienen errores y, opcionalmente, los corrige. Por defecto, fsck asume el tipo de filesystem ext2 y funciona de modo interactivo interrumpiendo la ejecución para pedir permiso antes de aplicar las correcciones.
43
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Durante la comprobación del sistema de fsck se hace lo siguiente: 1. Comprobar inodos, bloques y tamaños. 2. Comprobar la estructura de directorios. 3. Comprobar la conectividad de directorios. 4. Comprobar las referencias. 5. Comprobar el total de la información. Tabla 2-3 Opciones frecuentemente utilizadas en fsck Opción
Uso
-A
Ejecuta comprobaciones en todos los filesystems incluidos en /etc/fstab. Esta opción está pensada para utilizarse en tiempo de carga del sistema, antes de montar los filesystems.
-N
No se ejecuta, pero muestra lo que debería hacerse.
-t tipo
Especifica el tipo de filesystem a comprobar; por defecto se asume ext2. El valor de tipo determina que verificador específico para el filesystem es utilizado.
-b superbloque
Utiliza una copia del superbloque alternativa. En el modo interactivo, e2fsck utiliza automáticamente superbloques alternativos. Normalmente, para restaurar un superbloque defectuoso, utilizarás -b 8193 en el modo no interactivo.
-c
Comprobar bloques defectuosos.
-f
Fuerza una comprobación, incluso si el filesystem parece limpio.
-p
Repara automáticamente el filesystem sin hacer preguntas.
-y
Responde automáticamente "yes" a todas las preguntas interactivas permitiendo la utilización no interactiva de e2fsck.
44
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Ejemplo 1 Comprueba el filesystem del tipo ext2 en /dev/hda5 que, en este momento, no está montado: # fsck /dev/hda5
[/sbin/fsck.ext2 -- ] fsck.ext2 /dev/hda5 Parallelizing fsck version 1.14 (9-Jan-1999) e2fsck 1.14, 9-Jan-1999 for EXT2 FS 0.5b, 95/08/09 /dev/hda5: clean, 1011/34136 files, 4360/136521 blocks La partición estaba marcada como limpia, por tanto fsck no llegó a verificarla.
Ejemplo 2 Fuerza una comprobación: # fsck -f /dev/hda5
Parallelizing fsck version 1.14 (9-Jan-1999) e2fsck 1.14, 9-Jan-1999 for EXT2 FS 0.5b, 95/08/09 Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/hda5: 1011/34136 files (0.1% non-contiguous), 4360/136521 blocks
45
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Ejemplo 3 Fuerza otra comprobación, en este caso con salida de mensajes explícita: # fsck -fv /dev/hda5 Parallelizing fsck version 1.14 (9-Jan-1999) e2fsck 1.14, 9-Jan-1999 for EXT2 FS 0.5b, 95/08/09 Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information 1011 inodes used (2%) 1 non-contiguous inodes (0.1%) # of inodes with ind/dind/tind blocks: 0/0/0 4360 blocks used (3%) 0 bad blocks 1000 regular files 2 directorios 0 character device files 0 block device files 0 fifos 0 links 0 symbolic links (0 fast symbolic links) 0 sockets -------1002 files
46
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Ejemplo 4 Permite que fsck realice automáticamente todas las reparaciones en un filesystem dañado especificando la opción -y: [root@smp /mnt]# fsck -y /dev/hda5
Parallelizing fsck version 1.14 (9-Jan-1999) e2fsck 1.14, 9-Jan-1999 for EXT2 FS 0.5b, 95/08/09 Couldn't find ext2 superblock, trying backup blocks... /dev/hda5 was not cleanly unmounted, check forced. Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information Block bitmap differences: +1 +2 +3 +4 Fix? yes Inode bitmap differences: +1 +2 +3 +4 +5 +6 Fix? Yes /dev/hda5: ***** FILE SYSTEM WAS MODIFIED ***** /dev/hda5: 1011/34136 files (0.1% non-contiguous), 4360/136521 blocks
47
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Cuando Linux carga, el kernel realiza una comprobación de todos los filesystems incluidos en /etc/fstab utilizando la opción -A. Se comprobará cualquier filesystem que no hubiese sido desmontado limpiamente (A menos que la entrada en /etc/fstab incluya la opción noauto) Si dicha comprobación encontrase algún error significativo, el sistema se pondría en modo monousuario de tal forma que se pueda ejecutar fsck de forma manual. Algunos de los errores que pueden causar esto son: Bloques solicitados por múltiples archivos. Bloques solicitados fuera del sistema de archivos. Detectados pocos enlaces. Bloques no detectados. Directorios que corresponden a inodos no localizados. Errores de formato. En los casos dónde el directorio padre de un archivo no pueda ser determinado, el archivo será ubicado en /lost+found. Los archivos entonces se renombran con su número de inodo. Es útil examinar el contenido de este directorio después de haber perdido archivos a consecuencia de un error del sistema. La información (códigos) de finalización que nos da la utilidad fsck es útil para determinar el resultado de la operación. Cada código representa un tipo de condición de finalización. El código que nos retorna es la suma de las condiciones de salida. Los códigos de salida se muestran en la línea de comandos cuando el comando finaliza su operación. Estos códigos se muestran en la Tabla 2-4.
48
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Tabla 2-4 Códigos de Finalización de fsck Código
Significado
0
Sin error.
1
Errores del sistema de archivos corregidos.
2
El sistema debería ser reiniciado.
4
Errores del sistema de archivos sin corregir.
8
Error operacional.
16
Errores de sintaxis o uso.
128
Error en la librería compartida.
Desafortunadamente, a menos que tengas un conocimiento muy detallado del funcionamiento interno del filesystem, podrás hacer muy poco aparte de permitir que fsck realice todas las reparaciones. Por todo esto, lo más normal es utilizar la opción -y y confiar en la suerte. En el Exámen Es importante que estés familiarizado con du, df, y fsck. Asegurarse de conocer las diferencias entre éstos comandos y cuando debe ser utilizado cada uno.
49
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Creando un sistema de archivos
Para crear un sistema de archivos debe ser utilizada la herramienta correcta de las especificadas en la tabla 2-5. Un ejemplo de uso correcto de esas utilidades es crear una partición ext2 utilizando mkfs.ext2 tal como podemos ver: # mke2fs /dev/hda3
Tabla 2-5 Utilidades para la creación de filesystems Comando
Tipo de filesystem creado
mkfs.ext2 o mke2fs
ext2
mkfs.msdos o mkdosfs MD-DOS mkswap
swap
mkraid
Raid
mkfs.mimix
mimix
mkfs.bfs
SCO BFS
Algunas utilidades de los filesystems Comando debugfs – Depurador de filesystems (sistemas de archivos) ext2.
Sintaxis: debugfs [ -b tamaño_bloque ] [ -s superbloque ] [ -f archivo_comandos ] [ -R peticion ] [ -V ] [ [ -w ] [ -c ] [ -i ] [ dispositivo ] ]
Descripción El programa debugfs es un depurador interactivo de filesystems. Puede utilizarse para examinar y cambiar el estado de un filesystem del tipo ext2. Dispositivo indica el archivo especial correspondiente al dispositivo que contiene el filesystem ext2 (p.ej. /dev/hdXX).
50
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Comando dumpe2fs – volcado de la información de un filesystem
Sintaxis: dumpe2fs [ -bfhixV ] [ -ob superbloque ] [ -oB tamaño_bloque ] dispositivo
Descripción: dumpe2fs muestra la información de grupo del superbloque y los demás bloques del filesystem existente en dispositivo. Comando tune2fs - ajusta los parámetros configurables en un filesystem ext2.
Sintaxis: tune2fs [ -l ] [ -c contador-max-montajes ] [ -e comportamiento-errores ] [ -f ] [ -i intervalo-entre-comprobaciones ] [ -j ] [ -J opciones-de-diario ] [ -m porcentajebloques-reservados ] [ -o [^]opciones-de-montaje[,...] ] [ -r contador-bloquesreservados ] [ -s sparse-super-flag ] [ -u usuario ] [ -g grupo ] [ -C contador-montajes ] [ -L nombre-volumen ] [ -M directorio-ultimo-montaje ] [ -O [^]caracteristica[,...] ] [ -T hora-ultima-comprobacion ] [ -U UUID ]dispositivo
Descripción: tune2fs ajusta los parámetros configurables en un filesystem ext2.
51
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
Tema 104.3 Montando y desmontando filesystems Introducción En este capítulo se verá como montar y desmontar sistemas de archivos para poder trabajar con ellos de forma normal. Hoy en día existen herramientas que automatizan este proceso y esconden en cierta forma el trabajo del montado/desmontado. También se verá la estructura del archivo /etc/fstab en el que se guardan las particiones del disco duro, su formato, permisos, etc. Los comandos que se verán en este tema son: mount umount Y la estructura y funcionalidad de /etc/fstab Este tema tiene un peso (importancia) de 3 de cara al examen final de la certificación LPI 101. El total de la suma de pesos de todos los temas es de 106.
52
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Controlando el montaje / desmontaje de los Filesystems Como ya se vió anteriormente, la estructura de los sistemas de archivos en GNU/Linux están generalmente divididos en particiones, unidas todas ellas en el punto de montaje raiz (/). Los filesystems de los dispositivos removibles, tales como CD-ROM, diskettes, discos ZIP, etc, se unen a la raíz del sistema de la misma manera, como directorios (o puntos de montaje). En principio estos directorios destinados a los dispositivos están vacíos, a la espera de su montaje, puede darse el caso de que el directorio destinado a este fin contenga subdirectorios o archivos, en cuyo caso quedarán ocultos hasta que el dispositivo se desmonte.
Administrando la tabla de filesystems Para que las diferentes particiones estén disponibles desde un primer momento es necesario montarlas durante el inicio del sistema, los dispositivos removibles también se usan frecuentemente y es aconsejable tenerlos preparados para usar los comandos de montaje. Toda este información se guarda en el archivo /etc/fstab . Los filesystems definidos en este archivo son revisados y montados durante el arranque del sistema. Sus entradas se consultan como fuente de información por defecto cuando los usuarios quieren montar dispositivos removibles. En el siguiente ejemplo de /etc/fstab se puede ver que se trata de un archivo de texto con 6 campos en cada línea: Device Mount point F. type M. Options DF PN /dev/sda1 / ext2 defaults 1 1 /dev/sda5 /boot ext2 defaults 1 2 /dev/sda9 /home ext2 defaults 1 2 /dev/sda10 /tmp ext2 defaults 1 2 /dev/sda11 swap swap defaults 0 0 /dev/fd0 /mnt/floppy ext2 noauto,users 0 0 /dev/hdc /mnt/cdrom iso966 noauto,ro,users 0 0
53
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Device: Este campo especifica la partición del filesystem, por ejemplo /dev/hda1. Este campo no puede contenter el dispositivo entero (/dev/hda) Mount point: Aquí se introduce el directorio donde se quiere que el dispositivo sea montado. Por ejemplo si la partición /dev/hda1 tiene el filesystem root, donde está el sistema se montará en / Filesystem type: En este campo se indica que tipo de partición se trata, ext2, reiserfs, swap, iso9660 (CD-ROMS). Mount options: Se explican más adelante, se separan por comas. Dump frecuency: El programa dump (para hacer backups) consulta la entra del /etc/fstab para ver cada cuanto tiempo debe hacer el backup. Normalmente tiene el valor 1 para filesystems basados en ext2 y 0 para los demás. Pass number para el fsck: Este campo es usado por la utilidad fsck cuando la opción -A se especifica, normalmente en tiempo de arranque. Tiene valores: 0 - No chequear el sistema 1 - Debe ponerse para el filesystem root (/) y ordena al fsck a chequearlo primero 2 - Hace el chequeo de la unidad, después del chequeo de los marcados con un 1 En el ejemplo se tiene un disco duro SCSI (dev/sda) La primera partición /dev/sda1 tiene el directorio root (/), la quinta contiene las imágenes del kernel para el arranque, la 9 para el directorio de los usuarios, la partición 10 es la temporal, la particion 11 para el sistema de swap. Luego se tiene la /dev/fd0 para diskettes y la /dev/hdc para el CD-ROM Se pueden añadir/modificar estas entradas en cada caso y según las necesidades de cada uno. Las opciones de este archivo son importantes de cara al examen.
54
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Montando filesystems Los filesystems son montados con el comando mount. Durante el arranque, los filesystems que no contienen un 0 en el pass number son chequeados y luego montados. Después del arranque se pueden añadir más sistemas de archivos manualmente con el comando mount.
Sintaxis mount [opciones] device mount [opciones] directorio mount [opciones] device directorio
Descripción: Se usa para montar (y así poder usar) filesystems dentro de la estructura del árbol del sistema. La primera y segunda entrada consulta al archivo /etc/fstab para montar los dispositivos y así tomar las opciones que se le especifiquen en el /etc/fstab. La tercera opción es independiente del archivo /etc/fstab y monta el filesystem (device) en el directorio (directorio) El comando mount admite dos tipos de opciones, unos para el comando en si, y otros para especificar opciones del sistema de archivos.
55
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Tabla 3-1 Opciones del comando mount Opción
Función
-a
Monta todos los fileystems especificados en el /etc/fstab menos los que tengan la opción noauto
-h
Ayuda del comando mount
-o
Especifica las opciones del mount en la linea de comandos
-r
Monta filesystems en modo de solo lectura
-t fstype
Especifica un tipo de fileystem
-v
Salida interactiva
-w
Monta fileystems de lectura/escritura
Opciones del mount Estas opciones se especifican en el archivo /etc/fstab o bien en la línea de comandos con la opción -o. Estas opciones modifican el modo de montaje del comando mount, algunas de las opciones son:
Tabla 3-2 Opciones del mount sobre el sistema de archivos Opción
Función
async
Toda la E/S al sistema de archivos debería hacerse asíncronamente.
auto
Puede montarse con la opción -a
defaults
Establece las opciones: rw, suid, dev, exec, auto, nouser y async. Es la opcion por defecto en sistemas ext2
dev
Interpretar dispositivos especiales de caracteres o bloques en el sistema de archivos
exec
Permitir la ejecución de binarios
56
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Opción
Función
noauto
Sólo puede montarse explícitamente (esto es, la opción -a no hará que el sistema de archivos se monte)
noexec
No permitir la ejecución de ningún binario en el sistema de archivos montado. Esta opción puede ser útil para un servidor que tiene sistemas de archivos que contienen binarios para otras arquitecturas distintas de la suya.
nosuid
No permitir el efecto de los bits SUID ni SGID
nouser
Prohibir a un usuario ordinario (esto es, distinto de root) montar el sistema de archivos. Esto es lo predeterminado
ro
Montar el sistema de archivos en modo de sólo lectura.
rw
Montar el sistema de archivos de lectura y escritura
suid
Permitir el efecto de los bits SUID y SGID
sync
Toda la E/S al sistema de archivos debería hacerse síncronamente.
user
Permitir a un usuario ordinario montar el sistema de archivos
users
Permite a cualquier usuario el montaje/desmontaje de el sistema de archivos
Ejemplo 1 Para mostrar los filesystems actualmente montados en el sistema $ mount
57
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Ejemplo 2 Montar un CD-ROM situado en /dev/hdc en el directorio existente /cdrom de sólo lectura:
$ mount -rt iso9660 /dev/hdc /cdrom
Si se monta sin la opción -r, se mostrará un aviso de que el CD-ROM está protegido contra escritura y se montará como sólo lectura, sería el caso del comando:
$ mount -t iso9660 /dev/hdc /cdrom
Ejemplo 3 Montar un diskette (/dev/fd0) con sistema MS-DOS en el directorio /floppy $ mount -t msdos /dev/fd0 /floppy
Ejemplo 4 Si da el caso de que la partición /home y /swap fueron desactivadas por algún motivo se podrían volver a montar con la opción -a $ mount -av
De este modo montamos los filesystems que no lo estén y nos muestra la acción del comando conforme se va ejecutando (opción -v)
58
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Desmontando filesystems Los filesystems pueden ser desmontados usando el comando umount. Cuando un filesystem es desmontado, los contenidos del árbol principal se actualizan, no pudiendose usar (el umount) si el sistema de archivos que se quiere desmontar está en uso. Si el sistema de archivos está en uso el comando umount dará un error. Esto puede ocurrir por ejemplo cuando tenemos abierto un archivo de un CD-ROM o un proceso está haciendo uso del mismo. Otros errores pueden surgir si quitamos dispositivos removibles sin antes desmontarlos: perdida de datos, corrupción de los mismos.
Sintaxis: umount [opciones] device umount [opciones] directorios
Descripción Desmonta un filesystem de un dispositivo o un directorio. Tabla 3-3 Opciones del comando umount Opción
Uso
-a
Desmonta todos los filesystems descritos en /etc/mtab. Este archivo está mantenido por los comando mount y umount en tiempo real, se usa normalmente cuando se apaga/reinicia el PC.
-t fstype
Desmonta sólo los filesystems del tipo especificado
59
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Ejemplo 1 Desmontar el cdrom (/dev/hdc) montado en /cdrom $ umount /cdrom
o bien $ umount /dev/hdc
Ejemplo 2 Desmontar todos los sistemas de archivos NFS: $ umount -at nfs
60
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
61
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
Tema 104.4 Administrando cuotas de disco Introducción En este capítulo se verá como administrar las cuotas en el disco para los usuarios. Entre los objetivos está el establecimiento, editado, comprobación y generación de informes Los comandos que se verán en este tema son: quota edquota repquota
quotaon quotaoff quotacheck
Este tema tiene un peso (importancia) de 3 de cara al examen final de la certificación LPI 101. El total de la suma de pesos de todos los temas es de 106.
62
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Establecer y Consultar Cuotas de Disco La administración del espacio en disco puede ser una tarea problemática. El espacio disponible es un recurso limitado que muy a menudo se consume a un ritmo alarmante provocando que un filesystem bien proporcionado se vuelva insuficiente al cabo del tiempo. En los sistemas multiusuario – no importa lo grande que sea el filesystem – los usuarios siempre terminarán llenándolo. Y a nadie le interesa que un filesystem se llene demasiado pronto. Una forma de prevenir que ésto ocurra es el establecimiento de cuotas de disco, de esta forma podrán establecerse límites a la cantidad de espacio en disco consumido por usuarios independientes o por grupos de éstos. Típicamente un tamaño de cuota es mucho menor que el espacio libre del filesystem donde se configura, de esta forma se puede evitar que un usuario o un grupo consuman demasiado espacio. Pueden configurarse cuotas para cada filesystem incluido en /etc/fstab, aunque normalmente solo se aplican en aquellos filesystems donde los usuarios finales guardan sus archivos (p.e., /home/nombreusuario). No es necesario establecer una cuota en /usr, por ejemplo, ya que los usuarios finales no pueden guardar archivos allí. Pueden configurarse cuotas para los usuarios individuales incluidos en /etc/passwd y para los grupos en /etc/group.
Cuotas de Limitación Pueden establecerse hasta cinco tipos de cuotas de limitación por cada filesystem. Estas limitaciones se especifican en bloques de disco, normalmente de 1024 bytes cada uno: Límite “hard” por usuario: El límite hard es la máxima cantidad de espacio en disco que un usuario puede disponer en el sistema. Una vez que el usuario alcanza este límite ya no se le permitirá realizar nuevas escrituras en el disco. Límite “soft” por usuario: Cada usuario puede almacenar datos libremente en el filesystem hasta que alcance el límite soft. Éste límite actúa como una especie de zona de aviso, advirtiendo al usuario que debe ir limpiando sus directorios pero, a diferencia del límite hard se le permite seguir trabajando. Cuando el espacio consumido por un usuario supera el límite soft pero no el límite hard se envían mensajes de aviso al terminal del usuario advirtiéndole que está excediendo su cuota pero las operaciones de escritura terminarán correctamente.
63
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Límite “hard” por grupo: Se trata del límite final asignado a un grupo por el sistema de cuotas. Una vez que se alcanza este límite, ninguno de los miembros de dicho grupo podrá realizar escrituras en el disco, incluso aunque no hayan excedido sus límites individuales. Límite “soft” por grupo: Este límite se comporta de la misma forma que el de usuario pero se controla en base al espacio consumido por el grupo en lugar de por el usuario individual. Periodo de gracia: Una vez que se alcanza el límite soft comienza el periodo de gracia para el usuario o el grupo. Cuando expira éste periodo de gracia, el límite soft se convierte en límite hard hasta que se hayan eliminado los archivos suficientes para que se resuelva el exceso de cuota. El periodo de gracia puede ajustarse para cualquier número de meses, semanas, días, horas, minutos o segundos. Un valor típico es el de siete días. Todos estos límites pueden establecerse utilizando el comando edquota, que se detallará a continuación. Cuando una escritura en disco excede un límite hard o un límite soft con el periodo de gracia expirado, solo se completará una parte de la operación de escritura dejando un archivo truncado y, probablemente, inservible. Puede que el usuario no haya podido ver los mensajes de fin de cuota porque la aplicación haya ocultado la shell y los mensajes de dicha aplicación lo lleven a confusión al indicarle que el disco está lleno o protegido de escritura.
Comandos de cuotas Linux proporciona una serie de comandos para gestión y consulta de las cuotas en los filesystems. Parte de la configuración requerida para establecer las cuotas inicialmente ha de hacerse a mano y sin ninguno de los comandos específicos de cuotas. Este proceso se explicará en la siguiente sección: Habilitando las Cuotas.
quota
64
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Muestra las limitaciones de cuota en usuario o en grupo. La opción -u está activada por defecto. Solo el superusuario puede utilizar la opción -u y usuario para ver las limitaciones de otros usuarios. El resto de los usuarios usuarios podrán usar la opción g y grupo para ver solamente las limitaciones de los grupos de los que sean miembros, siempre y cuando tengan permiso de lectura en los archivos quota.group. Sintaxis: quota [-u] [opciones] usuario quota -g [opciones] grupo
Tabla 4-1 Opciones de uso frecuente del comando quota Opción
Función
-q
Establece el modo “silencioso” que solo muestra las situaciones de exceso de cuota.
-v
Establece el modo explícito que muestra las cuotas incluso cuando no se ha consumido ningún espacio en disco o no se hayan definido.
65
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Ejemplo 1 Siendo root, examina todas las cuotas del usuario fulanito : # quota -uv fulanito
Disk quotas for user fulanito (uid 500): Filesystem blks quota limit grace files quota limit grace /dev/sda9 9456 10000 10200 32 0 0 /dev/hda1 23 0 0 17 0 0 Este ejemplo muestra que fulanito está cerca de consumir su límite soft de 10,000 bloques, con un límite hard de 10,200 bloques en /dev/sda9, y que no tiene cuota establecida en /dev/hda1. La línea correspondiente /dev/hda1 se muestra debido a la utilización de la opción -v. No se muestran los valores correspondientes al periodo de gracia porque aun no se ha excedido el límite soft. Ejemplo 2 Siendo el usuario fulanito, examina las cuotas para el grupo finanzas, del que dicho usuario es miembro: $ quota -gv finanzas
Disk quotas for group finanzas (gid 501): Filesystem blks quota limit grace files quota limit grace /dev/sda9 1000* 990 1000 6days 34 3980 4000 /dev/hda1 0 0 0 0 0 0 En este caso, el grupo finanzas ha excedido el escaso límite soft de 990 bloques y ha alcanzado su límite hard de 1000 bloques. (Probablemente no se pudo completar la operación de escritura que escribió el bloque número 1000.) El periodo de gracia original en este ejemplo se estableció en siete días de los cuales quedan seis días restantes, lo que quiere decir que ha pasado un día desde que se excedió el límite soft.
66
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) quotaon
Activa las cuotas configuradas previamente en uno o más filesystems.
Sintaxis: quotaon [opciones] [filesystems] quotaon [opciones] -a
67
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Tabla 4-2 Opciones de uso frecuente del comando quotaon Opción
Función
-a
Activa las cuotas en todos los filesystems incluidos en /etc/fstab y que estén marcados como de lectura-escritura y con cuotas. Normalmente se utiliza en el proceso de arranque para activar las cuotas.
-g
Activa las cuotas de grupo. Esta opción no es necesaria si se utiliza -a ya que ésta otra activa tanto las cuotas de usuario como las de grupo.
-u
Activa las cuotas de usuario; esta es la opción por defecto.
-v
Establece el modo explícito de tal forma que se muestra un mensaje por cada filesystem en el que se han activado las cuotas.
Ejemplo 1 Activar todas las cuotas definidas en /etc/fstab : # quotaon -av
Ejemplo 2 Activar las cuotas de usuario sólo en el filesystem /home: # quotaon -uv /home
quotaoff Desactiva las cuotas de disco en uno o más filesystems. Sintaxis: quotaoff [opciones] [filesystems] quotaoff [opciones] -a
68
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Tabla 4-3 Opciones de uso frecuente del comando quotaoff Opción
Función
-a
Desactiva las cuotas en todos los filesystems en /etc/fstab.
-g
Desactiva las cuotas de grupo. Esta opción no es necesaria si se utiliza la -a ya que ésta última incluye tanto las cuotas de usuario como las de grupo.
-u
Desactiva las cuotas de usuario; esta es la opción por defecto.
-v
Establece el modo explícito que mostrará un mensaje para cada filesystem en el que se desactiven las cuotas.
Ejemplo Desactivar todas las cuotas mostrando todos los mensajes: # quotaoff -av
quotacheck Examina los filesystems y compila las bases de datos de cuotas. Esta comando no está incluido específicamente en los objetivos del examen LPI 101, pero es un componente importante en el sistema de cuotas de Linux. El comando quotacheck -a debería ser ejecutado de forma regular (posiblemente semanalmente) por medio de cron.
Sintaxis: quotacheck [opciones] filesystems quotacheck [opciones] -a
69
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Tabla 4-4 Opciones de uso frecuente del comando quotacheck Opción
Función
-a
Comprueba todas las cuotas de los filesystems incluidos en /etc/fstab. Se comprobarán tanto las cuotas de usuario como las de grupo según se indique en las opciones usrquota y grpquota.
-g grupo
Compila solamente la información de grupo.
-u usuario
Compila solamente la información de usuario; ésta es la opción por defecto. No obstante, si se especificase la opción -g, entonces habría que incluir esta si se desea que se procesen también las cuotas de usuario.
-v
Establece el modo explícito que mostrará toda la información de lo que el programa está haciendo. Esta opción indica que el programa está activo mediante un símbolo giratorio en el terminal. Ésto queda muy bonito pero podría ser un problema si estamos conectados mediante un módem lento.
Ejemplo 1 Inicializa todos los archivos de cuotas:
# quotaoff -a
# quotacheck -aguv
# quotaon -a
Para actualizar los archivos de bases de datos de cuotas debemos desactivar primero las mismas.
70
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
Ejemplo 2 Con las cuotas activas, actualizar las cuotas de usuario en memoria para el filesystem /home :
# quotacheck -v /home
edquota
Modifica las cuotas de usuario o grupo. Este es un comando interactivo que utiliza un editor de texto para configurar los parámetros de cuotas para usuarios o grupos. Por defecto se utiliza el editor vi a menos que las variables de entorno EDITOR o VISUAL apunten a otro editor como Emacs. Cuando se envía el comando, se ejecuta un editor con un archivo temporal que contiene las opciones de cuotas. Al guardar el archivo temporal, el editor finaliza y los cambios se guardan en las bases de datos de cuotas. En la primera forma del comando, se modifica una lista de usuarios o grupos separados por espacios en blanco especificados en el apartado nombres. Si se incluye la opción -p y proto-usuario, las cuotas de ese usuario o grupo se utilizarán para los nombres y no se lanzará ningún editor. En la segunda forma del comando, con la opción -t, se editarán interactivamente los límites soft para cada filesystem.
Sintaxis: edquota [-p proto-usuario] [opciones] nombres edquota [opciones] -t Tabla 4-5 Opciones de uso frecuente del comando edquota Opción
Función
-g
Modifica las cuotas de grupo. Si se especifica -g, se asumirá que todos los nombres son grupos y no usuarios, incluso si se especificase
71
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Opción
Función también -u.
-p proto-usuario
Duplica las cuotas del usuario prototipo para cada grupo o usuario especificado. Este es el mecanismo mas habitualmente utilizado para inicializar al mismo tiempo las cuotas de varios usuarios o grupos.
-t
Modifica los límites soft. Este comando interpreta unidades de sec(segundos), min(minutos), hour (horas), day (días), week (semanas), y month (meses).
-u
Modifica las cuotas de usuario. Es la opción por defecto, pero se ignorará si se especificase la opción -g
Los siguientes ejemplos muestran la salida de los comandos utilizando el editor vi.
Ejemplo 1 Modifica las cuotas de usuario para fulanito :
# edquota -u fulanito
Quotas for user fulanito: /dev/sda9: blocks in use: 87, limits (soft = 99900, hard = 100000) inodes in use: 84, limits (soft = 0, hard = 0) /dev/hda1: blocks in use: 0, limits (soft = 0, hard = 0) inodes in use: 0, limits (soft = 0, hard = 0)
72
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) "/tmp/EdP.auHTZJ0" 5 lines, 241 characters
En este ejemplo, a fulanito se le ha definido en /dev/sda9 un límite soft de 99.900 bloques, un límite hard de 100.000 bloques, y ningún límite de archivos. No tiene ninguna limitación en /dev/hda1.
Ejemplo 2 Modificar los límites soft para usuarios en todos los filesystems:
# edquota -tu
Time units may be: days, hours, minutes, or seconds Grace period before enforcing soft limits for users: /dev/sda9: block grace period: 7 days, file grace period: 3 days /dev/hda1: block grace period: 7 days, file grace period: 3 days "/tmp/EdP.aiTShJB" 5 lines, 249 characters
En este caso se han establecido unos periodos de gracia de siete días para bloques (espacio en disco) y de tres días para archivos (inodos).
73
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) repquota
Se utiliza para obtener un informe de la situación de las cuotas. En la primera forma del comando, repquota mostrará un informe por usuario o por grupo de las cuotas de los filesystems indicados. En la segunda forma, la opción -a hará que se muestre un sumario de todos los filesystems con cuotas. Este comando solo podrá ejecutarlo el usuario root, a menos que los archivos de bases de datos de las cuotas tengan permisos de lectura universales. Para cada usuario se imprime el número de archivos y el espacio en disco utilizados en ese momento junto con las cuotas creadas con edquota.
Sintaxis: repquota [opciones] filesystems repquota -a [opciones]
Tabla 4-6 Opciones de uso frecuente del comando repquota Opción
Función
-a
Hace informes de todas las cuotas de todos los filesystems de lecturaescritura incluidos en /etc/fstab. Se mostrarán tanto las cuotas de usuario como las de grupo según se indique en las opciones usrquota y grpquota.
-g
Muestra las cuotas de grupos.
-u
Muestra las cuotas de usuarios; es la opción por defecto.
-v
Activa el modo explícito, el cual añade una cabecera descriptiva a la salida del comando.
Ejemplo
74
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Informe de las cuotas de usuario para el filesystem /home:
# repquota -v /home
Habilitando las cuotas
Para poder utilizar las cuotas, en primer lugar hay que habilitarlas (El kernel debe estar compilado con soporte para cuotas. En el caso improbable de que no fuese así, habría que recompilarlo con esta opción.). No es un proceso dificultoso pero, desgraciadamente, tampoco es simple. Para aclarar un poco este proceso, en esta sección se incluirá un breve tutorial explicando como habilitar las cuotas de usuario y de grupo en el filesystem /dev/sda9 montado bajo /home. Hay que tener en cuenta que pueden habilitarse cuotas solo de usuario, de grupo o ambas según sea necesario.
1. Definir las opciones en /etc/fstab. En la línea que contiene el filesystem /home, añadir las opciones usrquota y grpquota a la opción default, como en este ejemplo:
/dev/sda9 /home ext2 defaults,usrquota,grpquota 1 2
Estas opciones indican a las utilidades de configuración de cuotas que particiones deben ser tratadas por dichas utilidades cuando éstas busquen en /etc/fstab.
2.Crear los archivos quota.user y quota.group en la raíz del filesystem /home y dar permisos sólo para root:
# touch /home/quota.user /home/quota.group # chmod 600 /home/quota.user /home/quota.group
75
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
Estos dos archivos son las bases de datos de las cuotas de usuarios y grupos. Cada filesystem con cuotas utilizará sus propias bases de datos. Al habilitar las cuotas, estos archivos contendrán datos binarios (no son archivos de texto). Si se quisiera que los usuarios puedan examinar las cuotas de los grupos a los que pertenecen, el archivo quota.group necesitará un permiso de 644 en lugar de 600.
3.Ejecutar quotacheck para inicializar las bases de datos:
# quotacheck -avug
Scanning /dev/sda9 [/home] done Checked 236 directories and 695 files Using quotafile /home/quota.user Using quotafile /home/quota.group
4.Ahora, verificar que los archivos de bases de datos se han inicializado realmente, para ello nos aseguramos que su tamaño no sea cero (en este ejemplo cada uno ocupa 16.192):
# ls -al /home/quota.*
-rw------- 1 root root 16192 Dec 27 19:53 /home/quota.group -rw------- 1 root root 16192 Dec 27 19:53 /home/quota.user
5.Ejecutar quotaon para activar el sistema de cuotas:
# quotaon -a
76
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
6.Verificar que el script de inicialización del sistema ( /etc/rc.d/rc.sysinit o similar) activará las cuotas cada vez que el sistema cargue. Puede ser algo similar al ejemplo siguiente aunque puede variar de sistema a sistema:
if [ -x /sbin/quotacheck ] then echo "Checking quotas." /sbin/quotacheck -avug echo " Done." fi if [ -x /sbin/quotaon ] then echo "Turning on quotas." /sbin/quotaon -avug fi
7.Añadir un script al directorio crontab del sistema (por ejemplo /etc/crontab.weekly) para que se ejecute quotacheck rutinariamente. El script del ejemplo puede ser válido:
#!/bin/bash /sbin/quotacheck -avug
77
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Alternativamente, podría ponerse /sbin/quotacheck en el archivo crontab de root (utilizando el comando crontab -e) para su ejecución semanal, como en este ejemplo:
# ejecutar quotacheck semanalmente 0 3 * * 0 /sbin/quotacheck -avug
En este momento, el filesystem /home está listo para aceptar cuotas de usuario o de grupo, controlarlas y emitir informes sobre ellas.
78
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
Tema 104.5 Usando permisos para controlar el acceso a los archivos Introducción En este capítulo se verá como controlar los accesos a los archivos y directorios por medio de los permisos. También se hablará de bits especiales como el suid, sgid y sticky bit y usar persmisos para grupos.
Los comandos que se verán en este tema son: chmod umask
79
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
Este tema tiene un peso (importancia) de 5 de cara al examen final de la certificación LPI 101. El total de la suma de pesos de todos los temas es de 106.
Permisos de Archivos y Directorios Los permisos determinan quién puede acceder a los archivos y directorios dependiendo del tipo de acceso que tengan. Los primeros 10 caracteres de un listado ls -l de cualquier entidad se parecen a lo siguiente:
-rwxrwxrwx
El primer carácter se identifica con el tipo de entidad: - para un archivo estándar, d para un directorio, b para un grupo de recursos (tales como una unidad de cinta), c para un carácter del recurso, l para un link, o p para una tubería (pipe). El resto de los nueve caracteres se dividen en 3 grupos, como se indica en la Figura 8.1.
Cuando un usuario intenta acceder a un archivo, el primer control confirma si el es el propietario del archivo. Si lo es, se le aplica el primer tipo de permisos. Si no lo es, el segundo control confirma si es un miembro del grupo propietario del archivo. Si es un miembro del grupo, se le aplica el tipo intermedio de permisos. Si no es propietario del archivo, y no es miembro del grupo propietario, se le aplica el tercer tipo de permisos.
Figura 8.1 Permisos Propietario Grupo Otros
80
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
Permisos estándar
Los permisos que se pueden aplicar a una entidad -propietario, grupo u otro- son: r- Permite la lectura de un archivo. Éste es el único permiso necesario para copiar un archivo. Cuando se aplica a un directorio, se pueden leer (ver) sus archivos. w- Permite escribir en un archivo. Con él se pueden cambiar, modificar o sobreescribir los contenidos del archivo. Cuando se aplica en un directorio, este permite borrar y mover archivos (incluso si no se tiene el permiso de escritura específico sobre el archivo individual). x- Permiso de ejecución: permite ejecutar el archivo si contiene los scripts necesarios o puede ser ejecutado por el sistema. Aplicado a un directorio, este permite el acceso al mismo. Cuando se aplica a un conjunto con permisos de lectura dentro de un escritorio, este permite buscar dentro de dicho directorio. - (guión)- Indica la ausencia de permiso. Por ejemplo, r-x indica que ese usuario puede leer y ejecutar, pero no escribir.
Por tanto, los 10 campos de permisos se resumen en:
Tipo de entidad (archivo, directorio, otro) El propietario puede leer El propietario puede escribir El propietario puede ejecutar El grupo puede leer El grupo puede escribir El grupo puede ejecutar Usuario (no pertenece al grupo y al propietario) puede leer Usuario puede escribir Usuario puede ejecutar
Estos permisos tienen valores numéricos como se muestran en la Tabla 5-1.
81
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Tabla 5-1 Simbología de permisos y sus valores Permiso
Valor numérico
r
4
w
2
x
1
-
0
Los valores numéricos hacen posible añadir permisos a la vez y expresarlo de un modo sencillo. Por ejemplo, si un archivo permite al usuario rwx, el valor numérico sería 4(r)+2(w)+1(x)=7. El formato del conjunto de los permisos de un archivo se muestra en la Figura 8.2.
Figura 8.2 Valores numéricos para los permisos de archivo.
4+2+1 4+0+1 4+0+0
754
82
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) La tabla 5-2 muestra la conversión numérica de un conjunto de distintos permisos:
Tabla 5-2 Conversión numérica Valor numérico
Permisos
1
--------x
2
-------w-
3
-------wx
4
------r--
5
------r-x
6
------rw-
7
------rwx
10
-----x---
11
-----x--x
22
-----w--w-
33
----wx-wx
55
---r-xr-x
77
---rwxrwx
100
--x------
101
--x-----x
111
--x--x--x
222
-w--w--w-
311
-wx--x--x
83
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Valor numérico
Permisos
322
-wx-w--w-
400
r--------
444
r--r--r--
511
r-x---x--x
544
r-xr--r--
644
rw-r--r--
666
rw-rw-rw
755
rwxr-xr-x
777
rwxrwxrwx
Los permisos por defecto para todos los nuevos archivos creados son 666 (rw-rw-rw-) y para los directorios son 777(rwxrwxrwx). Este número puede ser modificado mediante la variable umask. La variable umask indica la cantidad sustraída al permiso por defecto hasta llegar a los permisos que se le aplicarán al usuario.
Para ver el valor de umask, lo tecleamos en la línea de comandos:
$ umask
022
Con un umask de 022, los permisos asignados a los nuevos archivos serán 644 (rw-r—r-) y a los directorios 755 (rwxr-xr-x), como se muestra en la Figura 5.3:
84
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Tabla 5-3 Cálculo de los valores de las nuevas entidades después de sustraer el valor de umask. Archivos
Directorios
666 -rw-rw-rw-
777 dwxrwxrwx
- 022 ----w--w-
- 022 ----w--w-
644 -rw-r--r--
755 dwxr-xr-x
Se pueden cambiar los valores de umask especificando un valor diferente en la línea de comandos (umask 15, por ejemplo), y este valor es el usado para la sesión. La variable se define en la información de inicio de sesión y se recupera (toma el valor inicial) al comienzo de la misma.
Cambiando Valores
Para cambiar los permisos de un archivo o directorio, se puede usar la utilidad chmod. Los argumentos pueden ser números o letras. Por ejemplo, para modificar los permisos de un archivo que permita a todos leer y escribir en él, se deberá entrar lo siguiente:
$ ls -l turbo
-rw-r—r— 1 root root 14 Sep 6 22:42 turbo $ chmod 666 turbo $ ls -l turbo
-rw-rw-rw- 1 root root 14 Sep 6 22:42 turbo
85
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) En formato simbólico, u significa usuario, g grupo y o es otro. Se puede elegir y añadir según los permisos existentes:
$ ls -l turbo
-rw-r—r— 1 root root 14 Sep 6 22:42 turbo $ chmod go+w turbo $ ls -l turbo
-rw-rw-rw- 1 root root 14 Sep 6 22:42 turbo
o especificar los permisos directamente:
$ ls -l turbo
-rw-r—r— 1 root root 14 Sep 6 22:42 turbo $ chmod ugo=rw turbo $ ls -l turbo
-rw-rw-rw- 1 root root 14 Sep 6 22:42 turbo
Se puede utilizar el signo + para añadir a los permisos existentes y el - para borrarlos. El signo = ignora la existencia de permisos y fija el valor indicado. La opción -c indica a chmod que devuelva los nombres de los archivos que han cambiando, y la -f elimina la visualización por pantalla de los mensajes de error.
Permisos especiales
86
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
Pueden ser utilizados 3 tipos de permisos en determinadas circunstancias. Aparte de los simpre aplicables de lectura, escritura y ejecución, algunas veces es necesario algo más para un archivo o directorio. Estos permisos especiales son los 3 siguientes:
Asignar ID de usuario (set user ID) (SUID) Asignar ID de grupo (set group ID) (SGID) Sticky bit
SUID
La asignación de ID de usuario se aplica cuando se desea que un determinado usuario ejecute un programa que de otro modo no podría.
Por ejemplo, sólo el usuario root sería capaz de ejecutar la función funcion xyz (comenzar backups, restaurar el sistema, entrar en otros recursos, etc) a causa de las ramificaciones de seguridad, pero se necesita que los usuarios ejecuten un shell script para realizar esta acción, porque no se dispone del tiempo necesario para hacerlo personalmente.
Se puede crear este shell script como root y asignar el permiso SUID de modo que el usuario que ejecute el script sea root sólo dentro de ese script. Antes y después del manuscrito, es únicamente un usuario, pero durante la ejecucion del script es como si fuera root. El permiso numerico de SUID, 4000, es sumado al valor de otros permisos. Una vez aplicado este, cambia la x en el campo del ejecutable para el propietario de los permisos a una s:
$ ls -l turbo2
87
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
$ chmod 4777 turbo2 $ ls -l turbo2
Recordar: El objetivo de la utilización de este permiso es que el proceso sea ejecutado por la persona que lo creó (root en este caso) y no por la persona que lo ejecuta. Sintaxis:
chmod u+s turbo2
SGID
Similar en la naturaleza a SUID, el permiso de la identificación de grupo del sistema se aplica cuando es necesario que la persona que ejecuta el archivo sea un miembro del grupo que posee el archivo (y no el propietario). Esto cambia el x en el permiso del grupo a un s, y el valor numérico es 2000:
$ ls -l turbo2
$ chmod 2777 turbo2 $ ls -l turbo2
La sintaxis del comando es:
88
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) chmod g+s turbo2
Sticky Bit Este permiso no trabaja como los otros permisos especiales. Con un valor numérico de 1000, sus operaciones difieren cuando están aplicadas a un directorio o a un archivo. Cuando está aplicado a un directorio, evita que los usuarios supriman archivos de las carpetas que les conceden el permiso de escritura, a menos que sean el propietario del archivo. Por defecto, cualquier usuario que tenga permiso de escritura en un directorio puede suprimir archivos dentro de ese directorio, incluso si no tiene el permiso de escritura de ese archivo. Cuando se aplica sobre un archivo, el archivo se convierte en “sticky” (bloqueado). La primera vez que se accede o se ejecuta el archivo y se carga en memoria, permanece cargado en memoria física (RAM) o espacio swap de modo que pueda funcionar más rápidamente que si se lee desde el disco. Si el archivo no es ejecutable, el último bit de permiso ( para otra categoria) se convierte en T. Si el archivo es un archivo ejecutable, o el permiso se aplica a un directorio, el bit pasado se convierte en una t. Cuando se aplica el permiso chmod y las letras, aparece t de todos modos (sea archivo o directorio).
89
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
90
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
Tema 104.6 Administrando el propietario de los archivos Introducción En este capítulo se verá como cambiar el propietario de los archivos y directorios. Los comandos que se verán en este tema son: chown chgrp Este tema tiene un peso (importancia) de 1 de cara al examen final de la certificación LPI 101. El total de la suma de pesos de todos los temas es de 106.
Permisos de Usuarios y Grupos Los archivos y directorios usan 3 tipos de permisos, todos ellos se vieron en temas anteriores (propietario, grupo y otros). Esto permite restringir el acceso a los archivos dependiendo del usuario y grupo que los use. Los sistemas GNU/Linux disponen de varias herramientas que permiten cambiar los permisos de acceso al archivo.
chown
91
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) El comando chown se usa para cambiar el propietario de los archivos o directorios, se usa con la siguiente sintaxis: chown [opciones] usuario[:grupo] archivo chown cambia el propietario de cada archivo, usuario o grupo, si sólo se da un nombre de usuario (o UID numérico), entonces ese usuario se convierte en el propietario de cada archivo dado, y el grupo al que pertenece el archivo no cambia. Si al nombre de usuario sigue un signo de dos puntos y un nombre de grupo (o GID numérico), sin espacios entre ellos, entonces también se cambia el grupo al que pertenece cada archivo.
Algunas de las opciones del comando chown se ven en la tabla 6-1 Tabla 6-1 Opciones del comando chown Opción
Uso
-c
Muestra un mensaje donde menciona solamente aquellos archivos cuyo propietario cambia realmente.
-f
No muestra mensajes de error sobre archivos cuyo propietario no puede cambiarse.
-R
Cambia recursivamente el propietario de directorios y sus contenidos.
-v
Describe la acción efectuada (o no) para cada archivo de forma interactiva.
A continuación algunos ejemplos del uso del comando: Para cambiar el propietario de un archivo, la secuencia es:
92
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) $ ls -l turbo
-rw-rw-rw- 1 root root 14 Sep 6 22:42 turbo $ chown edulaney turbo $ ls -l turbo
-rw-rw-rw- 1 edulaney root 14 Sep 6 22:42 turbo Ejemplo1: Asignar al usuario Angie el directorio stuff recursivamente: $chown -R Angie stuff
Ejemplo 2: Asginar el usuario Angie todos los archivos que comienzan por t_ y mostrar la salida interactiva, (todos los archivos que empiezan por t_ ya pertenecen actualmente al usuario Angie) $chown -v Angie t_*
El propietario de «t_manhunt_pc_gp2.wmv» permanece como Angie El propietario de «t_manhunt_pc_gp.wmv» permanece como Angie Es necesario recordar el hecho de que cambiar el propietario de un archivo, no cambia los permisos de los otros valores, sino que sólo cambia los permisos que no cambian para el propietario.
chgrp El comando chgrp se usa para cambiar el grupo propietario de un archivo o directorio. El comando busca en el archivo /etc/group para confirmar la existencia del grupo especificado antes de cambiar los permisos. Las opciones más comunes se pueden ver en la tabla 6-2. El comando se usa con la siguiente sintaxis: chgrp [opciones] grupo archivo Tabla 6-2 Opciones del comando chgrp Opción
Uso
-c
Muestra un mensaje donde menciona solamente aquellos archivos cuyo propietario cambia realmente.
93
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Opción
Uso
-h
Actúa sobre enlaces simbólicos propiamente en vez de sobre lo que apunten. Disponible solamente si el sistema proporciona la primitiva lchown.
-f
No muestra mensajes de error sobre archivos cuyo grupo no pueda cambiarse.
-R
Cambia recursivamente el grupo al que pertenecen directorios y sus contenidos. (Y continúa incluso si se encuentran errores.)
-v
Describe la acción efectuada (o no) para cada archivo de forma interactiva.
El usuario root puede efectuar los cambios al grupo que desee; para que un usuario pueda hacerlo, debe ser el propietario del archivo y pertenecer al grupo donde está efectuando el cambio. Si el usuario root cambia el propietario y el grupo al mismo tiempo, se puede utilizar chown y separar los dos valores por : (dos puntos): $ ls -l turbo
-rw-rw-rw- 1 edulaney root 14 Sep 6 22:42 turbo
$ chown kristen:business turbo $ ls -l turbo
-rw-rw-rw- 1 kristen business 14 Sep 6 22:42 turbo El comando falla si el propietario o el grupo no existen. Se puede utilizar chown para cambiar el grupo usando sólo la segunda parte de los argumentos: $ ls -l turbo
-rw-rw-rw- 1 kristen business 14 Sep 6 22:42 turbo $ chown :users turbo $ ls -l turbo
-rw-rw-rw- 1 kristen users 14 Sep 6 22:42 turbo
94
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
95
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
Tema 104.7 Crear y cambiar enlaces a archivos Introducción En este capítulo se verá como crear y administrar enlaces fuertes y simbólicos a archivos. Se verá como crearlos, identificarlos, copiar archivos a través de enlaces y usar enlaces a archivos para tareas administrativas
Los comandos que se verán en este tema son: ln
Este tema tiene un peso (importancia) de 1 de cara al examen final de la certificación LPI 101. El total de la suma de pesos de todos los temas es de 106.
Creando links a archivos A veces es útil o necesario tener un mismo archivo en varias localizaciones del sistema de archivos, por ejemplo, para acceder con diferentes permisos sobre un archivo
96
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) dependiendo de su localización. En Linux existe una solución para eso: los enlaces o links. Estos son de dos tipos: 1. Los Duros o Hard Links, y 2. Los Suaves, Symbolic Links o Symlinks. Los Hard Links Estos enlaces comparten el inodo del archivo original. De hecho, un hard link es indistinguible del original y por eso los cambios en el link afectan al archivo original, excepto en el borrado. Borrar el link no elimina al original ni a la inversa. Este tipo de enlace conserva los permisos del original y marcas de tiempo. Por contra, no se pueden usar para hacer enlaces a directorios ni pueden extenderse a otros sistemas de archivos. Su sintaxis es como sigue: ln /ruta/completa/archivo nombre_enlace Los Symlinks Estos enlaces si que pueden extenderse a otros sistemas de archivos. También pueden hacer referencia a directorios, de hecho, pueden referenciar hasta archivos inexistentes. La lectura y escritura, así como la copia del enlace, afectan al archivo objetivo, mientras que el borrado afecta al propio enlace. Borrar el archivo objetivo tampoco elimina el enlace automáticamente. Su sintaxis es como sigue:
ln -s /ruta/completa/archivo nombre_enlace
97
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
Tema 104.8 Búsqueda de archivos Introducción En este capítulo se verá como encontrar archivos en los filesystems de GNU/Linux, tener actualizada la base de datos, saber en que paquete está cada comando, etc. Los comandos que se verán en este tema son: find locate slocate
updatedb whereis which
Este tema tiene un peso (importancia) de 5 de cara al examen final de la certificación LPI 101. El total de la suma de pesos de todos los temas es de 106.
Buscando Archivos Otra de las capacidades necesarias en un sistema Linux es la localización de archivos. Afortunadamente, Linux dispone de una gran variedad de métodos para buscar archivos. Los comandos find, locate, which y where son muy útiles para estas tareas.
find
98
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) La utilidad find se utiliza para buscar archivos. Esta herramienta comienza buscando por un directorio especificado y continúa por todos los subdirectorios que están bajo el mismo, en busca de nombres de archivos que coincidan con el patrón especificado. Cuando no se especifica ningún directorio, la utilidad find, comienza por el directorio actual (pwd) y continúa por todos los subdirectorios dentro de éste. La sintaxis correcta del comando es la siguiente: find /directorio expresión Las búsquedas por medio de la utilidad find pueden ser lentas y utilizar muchos recursos del sistema, dependiendo de la búsqueda requerida. La tabla 8-1 muestra algunas de las opciones que se pueden utilizar al usar el comando find. Algunos ejemplos serían: # find /home/angie -name archivo # find /home/angie -user root
Tabla 8-1 Opciones del comando find Opción
Uso
-atime
Búsqueda basada en el número de días desde el último acceso.
-ctime
Búsqueda basada en el número de días desde el último cambio en la entrada del directorio.
-group
Búsqueda de archivos pertenecientes al grupo especificado.
-newer
Búsqueda de archivos más recientes que el archivo especificado.
-name
Búsqueda de archivos cuyo nombre coincida con la cadena especificada.
-user
Búsqueda de archivos pertenecientes al usuario especificado.
locate El comando locate proporciona un método seguro para indexar y buscar rápidamente archivos en el sistema. Utiliza codificación incremental para comprimir su base de datos y hacer las búsquedas más veloces, pero también almacena los permisos y propietario del archivo, de modo que los usuarios que no puedan ver esos archivos, no podrán acceder a ellos. El comando locate utiliza por defecto la base de datos slocate
99
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) para encontrar los archivos. Es posible especificar otra base de datos para ser usada. La sintaxis del comando es la siguiente: locate -opciones argumentos La base de datos se actualiza por medio del comando updatedb, sin argumentos. Sólo el usuario root está autorizado a utilizar este comando en el sistema. El comando locate utiliza las opciones que se muestran en la tabla 8-2: Tabla 8-2 Opciones del comando locate Opción
Uso
-u
Comienza por el directorio raíz / cuando se crea la base de datos slocate.
-U /PATH Comienza por el directorio especificado cuando se crea la base de datos slocate. -e DIR
Excluye los directorios especificados cuando se crea la base de datos slocate.
-c
Analiza el archivo /etc/updatedb.conf cuando se crea la base de datos slocate.
-i
Busca sin tener en cuenta mayúsculas y minúsculas.
-o FILE
Especifica el archivo de salida a crear.
-d PATH
Especifica la ruta a las bases de datos a buscar.
which El comando which toma uno o más argumentos. Para cada uno de sus argumentos, muestra por la salida estándar (stdout) la ruta completa a los ejecutables que se pueden ejecutar cuando dicho argumento se escribe en la línea de comandos. Ésto lo hace buscando archivos ejecutables o scripts en los directorios especificados en la variable de entorno PATH, utilizando el mismo algoritmo que bash. Esta utilidad nos permite ver la ruta completa a un comando antes de ejecutarlo. Puede ser útil para comprobar que estamos haciendo uso del comando que queremos ejecutar. La utilidad utiliza la siguiente sintaxis: which -opciones nombre_de_programa
whereis
100
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) El comando whereis busca un archivo específico dentro de archivos fuente, binarios y páginas del manual. Los nombres especificados, antes de ser buscados, se separan de la definición de la ruta y de las extensiones del tipo .ext (por ejemplo .c). Finalmente, la utilidad whereis trata de encontrar los programas deseados dentro de las localizaciones de código. La tabla 8-3 resume las opciones utilizadas con whereis: Tabla 8-3 Opciones del comando whereis Opción
Uso
-b
Búsqueda de binarios.
-m
Búsqueda de entradas manuales.
-s
Búsqueda de fuentes.
-u
Búsqueda de entradas inusuales que no tienen una entrada por cada tipo.
El siguiente es un ejemplo del uso de whereis para localizar información sobre el comando ls: # whereis ls
ls: /bin/ls /usr/man/man1/ls.l.gz
PREGUNTAS TEST
1. ¿Que opción, utilizada con e2fsck, especifica un superbloque alternativo cuando se usa para comprobar un filesystem?
101
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) A. -A B. -b C. -C D. -l 2. El comando _________ muestra el espacio en disco utilizado por los filesystems montados. 3. ¿Cuantos pasos realiza la utilidad fsck para la comprobación de un filesystem? A. Tres B. Cuatro C. Cinco D. Seis 4. ¿Que comando se utiliza para consultar el espacio en disco utilizado dentro de un directorio? A. df B. du C. mkfs D.fsck 5. Antes de poder examinar un filesystem con fsck, primero ha de estar ____________. 6. ¿Cuál de los siguientes permisos se representa por el valor numérico 44? A. - - - - - - - r w B. - - - - r w - - - C. - - - - r - - r - D. - r - - r - - - - 7. ¿Cuales serán los permisos del archivo ejecutable “portable” cuando se utilice chmod con el valor numérico 1777? A. - r w s r w x r w x B. - r w x r w s r w x C. - r w x r w x r w t D. - r w x r w x t w T 8. ¿Que tipo de link puede apuntar a distintos sistemas de archivos? 9. El comando ln, por defecto, creará _______________. 10. ¿Cual de los resultados siguientes ocurre cuando se copia un soft link? A. Se crea una nueva copia del soft link. B. Se crea un hard link hacia el archivo original. C. Se crea un hard link hacia el soft link. D. Se crea una nueva copia del archivo original.
102
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) EJERCICIOS DE LABORATORIO 1. Crea un filesystem del tipo ext2 en la partición /dev/hda2. 2. Comprueba el filesystem utilizando fsck. 3. Consulta la información sobre el espacio libre y los inodos utilizando la utilidad df.
RESPUESTAS TEST
1. B. La opción –b se utiliza para especificar un superbloque alternativo con fsck. Para más información mira la sección “fsck”. 2. df. El comando df se usa para mostrar el espacio en disco utilizado por los filesystems. Para más información mira la sección “df”. 3. C. La utilidad fsck necesita cinco pasos para verificar el filesystem. Para más información mira la sección “fsck”. 4. A. El comando du se usa para ver la utilización del espacio en disco de los directorios. Para más información mira la sección “du”. 5. desmontado. Antes de poder inspeccionar un filesystem con fsck, éste ha de estar desmontado. Para más información mira la sección “fsck”. 6. La respuesta correcta a esta pregunta es la c. Cuando el valor numérico es inferior a cuatro dígitos, se asume que el resto son 0, por lo tanto 44 pasa a ser 0044 y los permisos son ----r--r--. La respuesta a sería 6, la b 60 y la d sería equivalente a 440; por lo tanto, son incorrectas. 7. La respuesta correcta en este caso es la c. Debido a que el archivo es ejecutable, el último bit se convierte en t. La respuesta a es un valor igual a 4777, la b es 2777, y la d tiene como último bit T, lo que indica que no es ejecutable, es decir, también es incorrecta. 8. Los soft links pueden apuntar a diferentes sistemas de archivos. 9. Hard link. Por defecto, el comando ln crea un hard link al archivo especificado. Para más información mira la sección “Hard links”. 10. D. Cuando se copia un soft link, se crea una nueva copia del archivo original en el destino especificado. Para más información mira la sección “Enlaces simbólicos”.
RESPUESTAS DE LABORATORIO
103
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
1. Para crear un filesystem ext2 se utiliza el comando mke2fs junto con el nombre de dispositivo de la partición que lo contendrá. #mke2fs /dev/hda2 2. Los filesystems de tipo ext2 se comprueban con el comando fsck.ext2. La opción -v hace que la información sobre la ejecución sea más explícita y se muestran diferentes mensajes a medida que se va ejecutando la comprobación. Este comando requiere de un nombre de dispositivo, en este caso /dev/hda2. # fsck.ext2 -v /dev/hda2
e2fsck 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09 Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information 9692 inodes used (0%) 157 non-contiguous inodes (1.6%) # of inodes with ind/dind/tind blocks: 1194/205/0 1754206 blocks used (70%) 0 bad blocks 8884 regular files 776 directories 0 character device files 0 block device files 1 fifo
104
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) 0 links 22 symbolic links (22 fast symbolic links) 0 sockets -------9683 files 2. # df
Filesystem 1k-blocks Used Available Use% Mounted on /dev/hda8 4096380 1469176 2627204 36% / /dev/hda5 15522 3710 11011 25% /boot /dev/hda2 9740592 0 2384384 0% /fun # df -h
Filesystem Size Used Avail Use% Mounted on /dev/hda8 3.9G 1.4G 2.5G 36% / /dev/hda5 15M 3.6M 11M 25% /boot /dev/hda2 9.3G 0G 9.3G 0% /fun
# df -i
Filesystem Inodes Iused Ifree Iuse% Mounted on /dev/hda8 4294967295 0 4294967295 0% / /dev/hda5 4016 27 3989 1% /boot /dev/hda2 1237888 9692 1228196 1% /fun
105
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
La utilidad df se usa aquí en primer lugar sin opciones, mostrando la información sobre el uso del disco en bloques. En segundo lugar se utiliza la opción -h para mostrar los datos en formato legible por las personas. Por último utilizamos el comando -i para obtener información sobre los inodos.
106
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS)
TRADUCCIÓN REALIZADA POR REYNALDO H. VERDEJO PINOCHET FHS
107
104 Dispositivos, Sistema de Archivos y 2008 Prototipo para la organización del sistema de archivos (FHS) Bibliografia y enlaces recomendados LPIC 1 Certification Bible (Bible) by Angie Nash, Jason Nash John Wiley & Sons; Bk&CD-Rom edition (July 1, 2001) ISBN: 0764547720
LPI Linux Certification in a Nutshell by Jeffrey Dean O'Reilly & Associates; 1st ed edition (May 15, 2001) ISBN: 1565927486
CramSession's LPI General Linux Part 1 : Certification CramSession.com; ISBN: B000079Y0V; (August 17, 2000)
Study
Guide
Referencias Unix Reviews http://www.unixreview.com/documents/s=7459/uni1038932969999/
Página LPI: www.lpi.org
Apuntes IBM: http://www-106.ibm.com/developerworks/edu/l-dw-linux-lpir21-i.html
Manuales GPL: http://www.nongnu.org/lpi-manuals/
http://users.servicios.retecal.es/jesus-sanz/html/hardware/montarhd/hd-part.htm http://www.ibiblio.org/pub/linux/docs/LuCaS/Manuales-LuCAS/RHAT/rhl-ig6.0es/node148.html
108