1. SISTEMA DE ARCHIVOS
KARLA EDITH RODRIGUEZ MENDIETA
GRUPO: 502
ING. RENE DOMINGUEZ ESCALONA
CECYTEM PLANTEL TECAMAC
TECNICO EN PROGRAMACION
2. ¿Qué son los sistemas de archivos?
• Un sistema de archivos son los métodos y
estructuras de datos que un sistema operativo utiliza
para seguir la pista de los archivos de un disco o
partición; es decir, es la manera en la que se
organizan los archivos en el disco. El término
también es utilizado para referirse a una partición o
disco que se está utilizando para almacenamiento, o
el tipo del sistema de archivos que utiliza. Así uno
puede decir “tengo dos sistemas de archivo”
refiriéndose a que tiene dos particiones en las que
almacenar archivos, o que uno utiliza el sistema de
“archivos extendido”, refiriéndose al tipo del sistema
de archivos.
3. • La diferencia entre un disco o partición y el
sistema de archivos que contiene es importante.
Unos pocos programas (incluyendo,
razonablemente, aquellos que crean sistemas de
archivos) trabajan directamente en los sectores
crudos del disco o partición; si hay un archivo de
sistema existente allí será destruido o
corrompido severamente. La mayoría de
programas trabajan sobre un sistema de
archivos, y por lo tanto no utilizarán una
partición que no contenga uno (o que contenga
uno del tipo equivocado).
4. Sistemas de archivos soportados por
Linux
Linux soporta una gran cantidad de tipos diferentes de sistemas de archivos. Para
nuestros propósitos los más importantes son:
minix El más antiguo y supuestamente el más fiable, pero muy
limitado en características (algunas marcas de tiempo se
pierden, 30 caracteres de longitud máxima para los
nombres de los archivos) y restringido en capacidad (como
mucho 64 MB de tamaño por sistema de archivos).
xia Una versión modificada del sistema de archivos minix que eleva los
límites de nombres de archivos y tamaño del sistema de archivos,
pero por otro lado no introduce características nuevas. No es muy
popular, pero se ha verificado que funciona muy bien.
5. ext3
ext2 El más sistema de archivos nativo Linux que posee la mayor
cantidad de características. Está diseñado para ser compatible
con diseños futuros, así que las nuevas versiones del código del
sistema de archivos no necesitará rehacer los sistemas de
archivos existentes.
El sistema de archivos ext3 posee todas las propiedades del
sistema de archivos ext2. La diferencia es que se ha añadido
una bitácora (journaling). Esto mejora el rendimiento y el
tiempo de recuperación en el caso de una caída del sistema. Se
ha vuelto más popular que el ext2.
ext Una versión antigua de ext2 que no es compatible en el
futuro. Casi nunca se utiliza en instalaciones nuevas, y la
mayoría de la gente que lo utilizaba han migrado sus
sistemas de archivos al tipo ext2.
6. reiserfs
msdos
Un sistema de archivos más robusto. Se utiliza una
bitácora que provoca que la pérdida de datos sea menos
frecuente. La bitácora es un mecanismo que lleva un
registro por cada transacción que se va a realizar, o que
ha sido realizada. Esto permite al sistema de archivos
reconstruirse por sí sólo fácilmente tras un daño
ocasionado, por ejemplo, por cierres del sistema
inadecuados.
Adicionalmente, existe soporte para sistemas de archivos
adicionales ajenos, para facilitar el intercambio de
archivos con otros sistemas operativos. Estos sistemas de
archivos ajenos funcionan exactamente como los
propios, excepto que pueden carecer de características
usuales UNIX , o tienen curiosas limitaciones, u otros
inconvenientes.
Compatibilidad con el sistema de archivos FAT de MS-DOS
(y OS/2 y Windows NT).
7. umsdos Extiende el dispositivo de sistema de archivos msdos en
Linux para obtener nombres de archivo largos,
propietarios, permisos, enlaces, y archivos de
dispositivo. Esto permite que un sistema de archivos
msdos normal pueda utilizarse como si fuera de Linux,
eliminando por tanto la necesidad de una partición
independiente para Linux.
vfat Esta es una extensión del sistema de archivos FAT conocida
como FAT32. Soporta tamaños de discos mayores que FAT.
La mayoría de discos con MS Windows son vfat.
iso9660 El sistema de archivos estándar del CD-ROM; la
extensión popular Rock Ridge del estándar del CD-
ROM que permite nombres de archivo más largos se
soporta de forma automática.
8. nfs
smbfs
hpfs
Un sistema de archivos de red que permite compartir un sistema
de archivos entre varios ordenadores para permitir fácil acceso a
los archivos de todos ellos.
Un sistema de archivos que permite compartir un sistema de
archivos con un ordenador MS Windows. Es compatible con
los protocolos para compartir archivos de Windows.
El sistema de archivos de OS/2.
9. sysv
EL sistema de archivos de Xenix, Coherent y SystemV/386..
La elección del sistema de archivos a utilizar depende de la situación. Si la
compatibilidad o alguna otra razón hace necesario uno de los sistemas de archivos no
nativos, entonces hay que utilizar ése. Si se puede elegir libremente, entonces lo más
inteligente sería utilizar ext3, puesto que tiene todas las características de ext2, y es
un sistema de archivos con bitácora.
Existe también el sistema de archivos proc, generalmente accesible desde el
directorio /proc, que en realidad no es un sistema de archivos, aún cuando lo parece.
El sistema de archivos proc facilita acceder a ciertas estructura de datos del núcleo,
como la lista de procesos (de ahí el nombre). Hace que estas estructuras de datos
parezcan un sistema de archivos, y que el sistema de archivos pueda ser manipulado
con las herramientas de archivos habituales. Por ejemplo, para obtener una lista de
todos los procesos se puede utilizar el comando
10. (Puede haber no obstante algunos archivos adicionales que no correspondan con
ningún proceso. El ejemplo anterior se ha recortado.)
Tenga en cuenta que aunque se llame sistema de archivos, ninguna parte del
sistema de archivos proc toca el disco. Existe tan sólo en la imaginación del
núcleo. Cuando alguien intenta echar un vistazo a alguna parte del sistema de
archivos proc, el núcleo hace que parezca como si esa parte existiera en alguna
parte, aunque no lo haga. Así, aunque exista un archivo /proc/kcore de muchos
megabytes, no quita espacio del disco.
11. ¿Qué sistemas de archivos deben
utilizarse?
Existe generalmente poca ventaja en utilizar muchos sistemas de archivos distintos.
Actualmente, el más popular sistema de archivos es ext3, debido a que es un sistema
de archivos con bitácora. Hoy en día es la opción más inteligente. Reiserfs es otra
elección popular porque también posee bitácora. Dependiendo de la sobrecarga del
listado de estructuras, velocidad, fiabilidad (percibirle), compatibilidad, y otras
varias razones, puede ser aconsejable utilizar otro sistema de archivos. Estas
necesidades deben decidirse en base a cada caso.
Un sistema de archivos que utiliza bitácora se denomina sistema de archivos con
bitácora. Un sistema de archivos con bitácora mantiene un diario, la bitácora, de lo
que ha ocurrido en el sistema de archivos. Cuando sobreviene una caída del sistema,
o su hijo de dos años pulsa el botón de apagado como el mío adora hacer, un sistema
de archivos con bitácora se diseña para utilizar los diarios del sistema de archivos
para recuperar datos perdidos o no guardados. Esto reduce la pérdida de datos y se
convertirá en una característica estándar en los sistemas de archivos de Linux. De
cualquier modo, no extraiga una falsa sensación de seguridad de esto. Como todo en
esta vida, puede haber errores. Procure siempre guardar sus datos para prevenir
emergencias.
12. Crear un sistema de archivos
Un sistema de archivos se crea, esto es, se inicia, con el comando mkfs. Existen
en realidad programas separados para cada tipo de sistemas de
archivos. mkfs es únicamente una careta que ejecuta el programa apropiado
dependiendo del tipo de sistemas de archivos deseado. El tipo se selecciona con
la opción -t fstype.
Los programas a los que -t fstype llama tienen líneas de comando ligeramente
diferentes. Las opciones más comunes e importantes se resumen más abajo; vea
las páginas de manual para más información.
-t fstype Selecciona el tipo de sistema de archivos.
-c Busca bloques defectuosos e inicia la lista de bloques defectuosos en
consonancia.
-l filename Lee la lista inicial de bloques defectuosos del archivo dado.
Para crear un sistema de archivos ext2 en un disquete, se pueden introducir los
siguiente comandos:
13. Primero el disquete es formateado (la opción -n impide la validación, esto es, la
comprobación de bloques defectuosos). A continuación se buscan los bloques
defectuosos mediante badblocks, con la salida redirigida a un archivo, bad-blocks.
Finalmente, se crea el sistema de archivos con la lista de bloques defectuosos iniciada
con lo que hubiera encontrado badblocks.
La opción -c podría haberse utilizado con mkfs en lugar de badblocks y un archivo a
parte. El ejemplo siguiente hace esto.
14. La opción -c es más conveniente que la utilización a parte de badblocks,
pero badblocks se necesita para comprobar el sistema de archivos una vez
creado.
El proceso para preparar sistemas de archivos en discos duros o particiones es
le mismo que para los disquetes, excepto que no es necesario el formateo.
15. Montar y desmontar
Antes de que se pueda utilizar un sistema de archivos, debe ser montado. El
sistema operativo realiza entonces operaciones de mantenimiento para
asegurarse que todo funciona. Como todos los archivos en UNIX están en un
mismo árbol de directorios, la operación de montaje provocará que el contenido
del nuevo sistema de archivos aparezca como el contenido de un subdirectorio
existente en algún sistema de archivos ya montado
Tres sistemas de archivos
independientes.
16. /home y /usr montados.
El montaje puede realizarse como en el siguiente ejemplo:
$ mount /dev/hda2 /home $ mount /dev/hda3 /usr $ El
comando mount tiene dos argumentos. El primero es el archivo de dispositivo
correspondiente al disco o partición que contiene el sistema de archivos. El
segundo es el directorio bajo el cual va a ser montado. Tras estos dos comandos
el contenido de los dos sistemas de archivos aparecen como los contenidos de
los directorios /home y /usr, respectivamente. Se dice que “/dev/hda2 está
montado en/home”, e igualmente para /usr. Para ver cualquiera de los
sistemas de archivos, se puede mirar el contenido del directorio en el que fue
montado, como si fuera cualquier otro directorio. Observe la diferencia entre el
archivos de dispositivo, /dev/hda2, y el directorio de montaje, /home. El
archivo de dispositivo proporciona acceso al contenido crudo del disco, el
directorio de montaje proporciona acceso a los archivos del disco. El directorio
de montaje se denomina punto de montaje.
17. Cuando un sistema de archivos no se necesita seguir montado, puede
desmontarse con umount. [15] umount toma un argumento: o bien el archivo de
dispositivo o el punto de montaje. Por ejemplo, para desmontar los directorios
del ejemplo anterior, se pueden utilizar los comandos
$ umount /dev/hda2 $ umount /usr $
Lea la página de manual para más información sobre cómo utilizar el comando.
Es obligatorio que siempre se desmonte un disquete montado. ¡No saque
únicamente el disquete de la disquetera! Debido al cacheado de disco, los datos
no se escriben necesariamente hasta que se desmonta el disquete, así que sacar el
disquete de la disquetera demasiado pronto puede provocar que el contenido se
vuelva erróneo. Si únicamente lee del disquete, esto no es muy usual, pero si
escribe, incluso accidentalmente, el resultado puede ser catastrófico.
Montar y desmontar requieren privilegios de súper usuario, esto es, sólo root
puede hacerlo. La razón para esto es que si un usuario puede montar un disquete
en cualquier directorio, entonces es relativamente fácil crear un disquete con,
digamos, un caballo de Troya disfrazado de /bin/sh, o cualquier otro programa
frecuentemente utilizado. De cualquier modo, se necesita generalmente permitir
a los usuarios utilizar los disquetes, y hay varias maneras de hacerlo:
18. Dar al usuario la contraseña de root. Esto es obviamente inseguro, pero es la
solución más sencilla. Funciona muy bien si no hay otras necesidades de seguridad,
que es el caso de muchos sistemas personales sin red.
Utilizar un programa como sudo para permitir a los usuarios que monten. Esto
también es inseguro, pero no proporciona privilegios de súper usuario
directamente a todo el mundo.
Hacer que el usuario utilice mtools, un paquete para manipular sistemas de
archivos MS-DOS, sin tener que montarlos. Esto funciona bien si todo lo que se
necesitan son disquetes MS-DOS, pero es bastante lioso en otros casos.
Listar los dispositivos flexibles y su punto de montaje permitido junto a las
opciones oportunas en /etc./fstab.
19. La seguridad de un sistema incluye la protección ante posibles daños
físicos de los datos hasta el acceso indebido a los mismos, ataques
contra la confidencialidad, la integridad o la disponibilidad de recursos
en un sistema deben prevenirse y solventarse mediante la política y los
mecanismos de seguridad de un sistema. De nada sirve tener
mecanismos de protección buenos, si el SO no es capaz de identificar a
los usuarios que acceden al sistema o si no existe una política que
salvaguarde datos ante la rotura de un disco.
Es necesario comprobar que los recursos solo se usan por aquellos
usuarios que tienen derechos de acceso a los mismos. Las políticas de
protección y seguridad de hardware, software y datos deben incluirse
dentro del SO pudiendo afectar a uno o varios componentes del
mismo.