Está en la página 1de 194

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
Introducción 2008 Linux
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:

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)

Capítulo:

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.

1
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.
Capítulo:

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.

2
101 Hardware y Arquitectura 2008

Vistazo general a la Tarjeta Madre

Capítulo:

3
101 Hardware y Arquitectura 2008

Partes que componen a una tarjeta madre

1. Slot del procesador

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.
Capítulo:

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

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

Capítulo:

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

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.
Capítulo:

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.

9. Procesador grafico (puede o no tenerlo)

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
Capítulo:

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

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.

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.

Capítulo:

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.

3. Conector para monitor (D-SUB de 15 pines)

Si tu tarjeta madre trae video integrado traerá este conector, sino, el conector vendrá
Capítulo:

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.

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)

Es un conector de alta velocidad, se usa principalmente para conectar cámaras de


video y transferir video de alta calidad.
Capítulo:

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

Capítulo:

1
1
101 Hardware y Arquitectura 2008

Capítulo:

1
2
101 Hardware y Arquitectura 2008

Capítulo:

1
3
101 Hardware y Arquitectura 2008

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

Capítulo:

1
4
101 Hardware y Arquitectura 2008

Preparación para el
examen LPI 101

Tema 101

Arquitectura y
Hardware Capítulo:

1
5
101 Hardware y Arquitectura 2008
Toda la información aquí presentada está liberada bajo la licencia Attribution-NonCommercial-
ShareAlike2.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) lpi@xlekox.org
Oscar Casal (ocs) oscar@glug.es
Traducción:
Pere Catalan (arGos) sageta77@hotmail.com
Juan Maria Gil (Smooth) yo@juanmaria.com
Ivan Servia (katas) ivanservia@hotmail.com
Pablo Taboada (java) ptaboada@wanadoo.es
Kiefer Von Jammo (Kiefer) kiefer@khrooon.net
Maquetación:
Manuel Guillán (xLekOx) lpi@xlekox.org
Kiefer Von Jammo (Kiefer) kiefer@khrooon.net
Javier Pulido (jpulido) javier.pulido@wanadoo.es
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

Capítulo:

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
Tema 101.7
Arquitectura y Hardware
Créditos y licencia de uso
Configurando dispositivos USB
ÍNDICE
Introducción
Introducción a Linux USB
Tema 101.1
Activando USB
UHCI, OHCI, EHCI
Configurando la BIOS
Los últimos pasos
Introducción
Montando usbdevfs
Arquitectura del sistema
HOTPLUG
BIOS
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

Configurando diferentes tarjetas en el PC


Introducción
Dispositivos PCI
Especificando los dispositivos PCI
Recursos de los dispositivos PCI
Dispositivos ISA
Capítulo:

1
7
101 Hardware y Arquitectura 2008
Términos
importantes
RISC (reduced
instruction set
computer)
Tema 101.1
Computadoras con un
conjunto de
instrucciones reducido.
Configurando la
BIOS
CISC (complex
instruction set
computer)
Computadoras con un
conjunto de Introducción
instrucciones complejo.
En este capítulo se verá muy por encima el papel de la BIOS en el
Arquitectura Harvard
ordenador, si bien hay mucha información sobre la misma, no es
El término Arquitectura el propósito principal del curso LPI.
Harvard originalmente
se refería a las Este tema tiene un peso (importancia) de 1 de cara al examen
arquitecturas de final de la certificación LPI 101. El total de la suma de pesos de
computadoras que todos los temas es de 106.
utilizaban dispositivos
de almacenamiento
Arquitectura del sistema
físicamente separados
GNU/Linux existe en multitud de plataformas, cada una
para las instrucciones y
mostrando su propia idiosincrasia en configuración y
para los datos (en
administración de dispositivos. La arquitectura más extendida
oposición a la
sobre la que corre GNU/Linux es familia de microprocesadores
Arquitectura Eckert- Intel y compatibles, pero también corre en arquitecturas que van
Mauchly). desde Compaq Alpha (también conocida como DEC), en
Arquitectura de von procesadores basados en tecnología y en procesadores Motorola
68k.
Neumann
La arquitectura de von Con el amplio soporte en procesadores se hace disponible
Neumann es una también el soporte a una gran variedad de arquitecturas de bus,
familia de arquitecturas entre las que se encuentran:
de computadoras que
o ISA/VLB/EISA y PCI: usadas por la gran mayoría de
utilizan el mismo
PC's del mercado, desde los AT hasta los ATX.
dispositivo de
o PS/2 y MCA: bus usados por los IBM PS/2,
almacenamiento tanto
tecnología incompatible con la anterior AT Bus o ISA usados por el
para las instrucciones resto de PC's.
como para los datos
Capítulo:

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.
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
específicos de las tarjetas de sonido, vídeo, red y buses “El kernel de Linux tiene dos
PCMCIA o CardBus de los portátiles. funciones primarias:
controlar el acceso a los
Este capítulo se centra en la arquitectura Intel y compatibles, dispositivos físicos de la
computadora y establecer
principalmente porque el examen también lo hace Antes de
cuándo y cómo los procesos
entrar en materia, debes aprender a usar el sistema de
interactuarán con estos
ficheros virtual /proc, ya que puede proporcionar información dispositivos. El
acerca del hardware instalado en tu sistema. Por ejemplo: directorio /proc/ — también
/proc/interrupts identifica las líneas de petición de llamado el sistema de
interrupción (IRQ) de tu sistema y su estado. /proc/cpuinfo da archivos proc — contiene una
información sobre el o los procesadores instalados en el jerarquía de archivos
sistema, su velocidad, modelo, etc. especiales que representan el
/proc/pci devolverá un listado de los dispositivos conectados estado actual del kernel —
al bus PCI. Estos y otros ficheros serán de gran ayuda en el permitiendo a las
momento de instalar y configurar el sistema. aplicaciones y usuarios mirar
detenidamente en la vista del
kernel del sistema.”
BIOS

La BIOS (de Basic Input / Output System) proporciona la “...Dentro del


interface entre el hardware y el sistema operativo. Todas las directorio /proc/, se puede
peticiones para realizar actividades sobre el hardware que encontrar una gran cantidad
pueda hacer el sistema operativo, como acceder a una de información con detalles
disquetera, se realizan a través de la BIOS del sistema. sobre el hardware del
sistema y cualquier proceso
Hoy en día la BIOS y su configuración varia mucho de un que se esté ejecutando
sistema a otro. Un sistema nuevo que use el bus PCI y AGP o actualmente. Además,
el nuevo PCI-Express tiene configuraciones que no existen en algunos de los archivos
dentro del árbol de
antiguos sistemas poseedores de la tecnología de bus ISA o
directorios /proc/ pueden ser
EISA. Sin ir más lejos, los diferentes fabricantes de chips BIOS
manipulados por los usuarios
(Award, AMI, etc) usan diferentes interfaces de usuario para y aplicaciones para
configurarlas. Saber configurar la BIOS de nuestro sistema es comunicar al kernel cambios
esencial, aunque a menudo implique tener a mano el manual en la configuración.”
Capítulo:

de nuestra placa base.

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.

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.

Capítulo:

2
0
101 Hardware y Arquitectura 2008

Capítulo:
2
1
101 Hardware y Arquitectura 2008

Capítulo:
2
2
101 Hardware y Arquitectura 2008

Físicamente BIOS

Capítulo:
2
3
101 Hardware y Arquitectura 2008

Capítulo:
2
4
101 Hardware y Arquitectura 2008

Capítulo:
2
5
101 Hardware y Arquitectura 2008

Capítulo:
2
6
101 Hardware y Arquitectura 2008

Capítulo:
2
7
101 Hardware y Arquitectura 2008

Capítulo:
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.

5 Otras utilidades.
Capítulo:

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.

Imagen de la interfaz más común de BIOS (Award y Phoenix).


Capítulo:

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.

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

Capítulo:

3
1
101 Hardware y Arquitectura 2008

Menú Principal del BIOS

BUSES. PUERTOS, IRQs y DMA

Capítulo:

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.

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:

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'

eth0: link up, 10Mbps, half-duplex, lpa 0x0000


Capítulo:

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

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:
Capítulo:

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

Esto confirma el correcto funcionamiento de nuestra NIC y que está configurada para
transmitir y recibir datos en la red.
Capítulo:

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

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.
Capítulo:

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.

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:

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.

Dispositivos de disco duro.


Capítulo:

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:
Se debe estar preparado para identificar dispositivos IDE y SCSI
basados en sus definiciones de dispositivos.
Capítulo:

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.

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.
Capítulo:

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.

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.
Capítulo:

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.

Bajo Linux, estos dispositivos se nombran como un dispositivo SCSI corriente (sda,
sdb).

Capítulo:

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.

Nota: El contenido de este capítulo puede estar desfasado en la actualidad.


Capítulo:

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.

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”.
Capítulo:

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/

http://www.linuxforum.com/linux-filesystem/proc.html
Capítulo:

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.

El proceso más detallado: http://www.linux-sxs.org/housekeeping/pnpdump.html

Capítulo:

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

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:

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

Se puede encontrar más información en la página del manual “man setserial”


Capítulo:

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.

Nota: El contenido de este capítulo puede estar desfasado en la actualidad.

Capítulo:

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.

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.
Capítulo:

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/001

#usbmodules --device /proc/bus/usb/001/005 –mapfile /etc/hotplug/usb.handman


Capítulo:

5
2
101 Hardware y Arquitectura 2008
Los módulos por defecto que se cargan están en /lib/modules/<kernel-
version>/modules.usbmap. Todos los drivers se guardan en el directorio
/lib/modules/<kernel-version>/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.

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

Capítulo:

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-von-
neumann.shtml

http://www.lsiaug.net/lsia/blog/2007/09/12/componentes-de-la-computadora-la-tarjeta-
madre-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

Apuntes IBM: http://www-106.ibm.com/developerworks/edu/l-dw-linux-lpir21-i.html

Manuales GPL: http://www.nongnu.org/lpi-manuals/


Capítulo:

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)
Guía de Preparación
Temas a tratar:
1.104.1 Creando particiones y sistemas de archivos (weight: 5)
Capítulo: Creando particiones y sistemas de archivos
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)

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-NonCommercial-
ShareAlike2.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) lpi@xlekox.org
Oscar Casal (ocs) oscar@glug.es
Traducción:
Pere Catalan (arGos) sageta77@hotmail.com
Juan Maria Gil (Smooth) yo@juanmaria.com
Ivan Servia (katas) ivanservia@hotmail.com
Pablo Taboada (java) ptaboada@wanadoo.es
Kiefer Von Jammo (Kiefer) kiefer@khrooon.net
Maquetación:
Manuel Guillán (xLekOx) lpi@xlekox.org
Kiefer Von Jammo (Kiefer) kiefer@khrooon.net
Javier Pulido (jpulido) javier.pulido@wanadoo.es
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 el
Examen LPI 101

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
Dispositivos, sistemas de archivos y sus Establecer y Consultar Cuotas de Disco
estándares Cuotas de Limitación
Créditos y licencia de uso Comandos de cuotas
quota
Tema 104.1 quotaon
quotaoff
Creando particiones y sistemas de archivos quotacheck
Introducción edquota
Creando particiones y sistemas de archivos repquota
Fdisk Habilitando las cuotas
mkfs
fips Tema 104.5

Tema 104.2 Usando permisos para controlar el acceso a


los archivos
Creando particiones y sistemas de archivos Introducción
Introducción Permisos de Archivos y Directorios
Manteniendo la Integridad de los Permisos estándar
Filesystems (Sistemas de Archivos) Cambiando Valores
Monitorizando el espacio y los inodos Permisos especiales
libres del disco SUID
Monitorizando el Uso del Espacio en Disco SGID
Comprobando la Integridad del Filesystem Sticky Bit
Creando un sistema de archivos
Algunas utilidades de los filesystems Tema 104.6

Tema 104.3 Administrando el propietario de los


archivos
Montando y desmontando filesystems Introducción
Introducción Permisos de Usuarios y Grupos
Controlando el montaje / desmontaje de chown
los Filesystems chgrp
Administrando la tabla de filesystems
Montando filesystems
Desmontando filesystems

5
104 Dispositivos, Sistema de Archivos y 2008
Prototipo para la organización del sistema de
archivos (FHS)
Tema 104.7 locate
which
Crear y cambiar enlaces a archivos whereis
Introducción
Creando links a archivos FHS

PREGUNTAS TEST
Tema 104.8 EJERCICIOS DE LABORATORIO
RESPUESTAS TEST
Búsqueda de archivos RESPUESTAS DE LABORATORIO
Introducción Bibliografía y enlaces recomendados
Buscando Archivos
find

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


mkfs. Sin embargo, los usuarios
Hay muchas herramientas para crear avanzados y los administradores de
particiones y sistemas de archivos en sistemas deben estar familiarizados con
sistemas Linux. La utilidad fdisk se usa el uso de estas herramientas.
para trabajar con particiones en discos
duros. La utilidad fips se utiliza para fdisk
redimensionar particiones, y los
sistemas de archivos se crean utilizando La herramienta principal usada para
la utilidad mkfs. Se pueden utilizar crear particiones de disco es fdisk. La
estas herramientas conjuntamente utilitdad fdisk divide el disco en
para preparar un disco duro para usar particiones y escribe la tabla de
sistema Linux. particiones en el sector 0 (conocido
como superblock). Cuando se utiliza sin
En el mundo real: muchas parámetros, fdisk presenta un menú de
distribuciones Linux incluyen opciones con las que se puede
herramientas que crean interactuar. Se puede evitar el menú y
automáticamente las particiones y el ejecutar fdisk con las siguientes
sistema de archivos Linux durante la opciones:
instalación. Mucha gente no necesitará
nunca usar utilidades como fdisk o -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.
Herramientas para Particionar en
Si no se utiliza ninguna de esas Linux
opciones, fdisk comprueba si el número
de cilindros del dispositivo por defecto
(hda1) es mayor de 1024 y avisa de ello Fdisk.- Incluido en la mayoría de las distribuciones
si es así. Entonces espera una Linux
instrucción. Se puede iniciar fdisk con
http://es.wikipedia.org/wiki/Fdisk
un dispositivo distinto al de defecto
especificándolo en la línea de DiskDruid.- Herramienta gráfica de uso exclusivo en la
comandos. Por ejemplo, para arrancar distribución Red Hat.
fdisk con el tercer driver IDE, se debe
http://www.faqs.org/docs/securing/chap3sec14.html
poner:
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 1 Como se ve el fdisk en una consola de Linux.

Figura 2 Desplegando la información del disco seleccionado (p)


Capítulo:

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 Y también….


sistema referente al Hardware.
“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)

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 “hda es el acrónimo de Hard Disk a por consiguiente hdb
Hay varios conceptos para es Hard Disk b y así sucesivamente.”
referirse a zonas del disco: LISTA DE PASOS PARA CREAR UNA

PARTICIÓN
Plato: Cada uno de
los discos que hay 1. Ejecutar fdisk en el disco duro.
dentro del disco 2. Examinar las particiones existentes.
duro. 3. Crear una partición nueva.
Cara: Cada uno de 4. Seleccionar el tipo de partición (primaria, extendida o lógica).
los dos lados de un 5. Seleccionar el número de partición.
plato 6. Seleccionar el cilindro de inicio.
Cabeza: Número de 7. Seleccione el cilindro final o tamaño.
cabezales;
8. Establecer el identificador de sistema de la partición.
Pista: Una
9. Escribir la nueva tabla de particiones.
circunferencia
dentro de una cara; 10. Reiniciar la computadora para actualizar la tabla de particiones.
la pista 0 está en el Ubicación del cilindro en
borde exterior. el disco duro.
Cilindro: Conjunto
de varias pistas; son
todas las
circunferencias que Recurso en Línea
están alineadas
verticalmente (una

Capítulo:
de cada cara).
Sector : Cada una de Arquitectura y Funcionamiento de un disco duro
las divisiones de una
pista.
1
http://www.islabit.com/arquitectura-y-funcionamiento-
de-un-disco-duro/ 8
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ísticas del sistema de archivos segundo extendido (ext2)

Característica Límite

Tamaño máximo del sistema de archivos 4 Terabytes


Tamaño máximo de archivo 2 Gigabytes
Longitud máxima de nombre de archivo 255 caracteres
Tamaño mínimo del bloque 1,024 bytes
Reserva de espacio para inodos 1 por cada 4,096 bytes de espacio de
predeterminada partición.

Capítulo:

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:
Prototipo para la organización delLas utilidades
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  mke2fs
 df  debugfs
 fsck  dumpe2fs
 e2fsck  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.
Los inodos son las estructuras de datos
Monitorizar y comprobar cuidadosa y dentro del filesystem que describen los
regularmente los filesystems de Linux nos archivos en el disco. Cada filesystem
ayudará a prevenir o corregir estos contiene un número finito de inodos que se
problemas. establece en el momento de la creación del
filesystem. Esté número es, a su vez, el
Monitorizando el espacio y los máximo número de archivos que un
inodos libres del disco filesystem puede acomodar. Como los
filesystems se crean con un número de
Un sistema de lectura/escritura no sirve inodos enorme, problemente nunca crearás
de mucho si crece hasta el punto en que tantos archivos como para agotar esté
no pueda admitir nuevos archivos. Esto número. No obstante, es posible quedarse
podría ocurrir si el filesystem se llena o si sin inodos libres en particiones que
se queda sin inodos libres.
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
# df .
LÍNEA
/dev/sda1 102800 7062 95738 7% /
http://mx.youtube.com/w
atch?v=DxE9ht80crk

http://mx.youtube.com/w
atch?v=O8cdJRNgF3s&feat
Cuando un filesystem está próximo a agotar su capacidad podemos, ure=related
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
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 porcentaje-
bloques-reservados ] [ -o [^]opciones-de-montaje[,...] ] [ -r contador-bloques-
reservados ] [ -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 quotaon
edquota quotaoff
repquota 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 lectura-


escritura 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 updatedb
locate whereis
slocate 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 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

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-ig-
6.0es/node148.html

108