Sistema de Archivos en Linux

Anuncio
Administración de Redes
SISTEMA DE ARCHIVOS
EN LINUX
Profesor Carlos Figueira
Departamento de Computación y T. I.
USB
Administración de Redes: Sistema de Archivos en Linux
Carlos Figueira/USB
Todo es archivo en Unix
●
●
●
●
Archivos de datos y programas (como
el resto de los S.O.)
Dispositivos, incluyendo entrada y
salida estándar, error, etc.
Canales de comunicación entre
procesos, e incluso procesos
Permite interfaz única de acceso ...
¡aunque más compleja!
Administración de Redes: Sistema de Archivos en Linux
Carlos Figueira/USB
Componentes
●
●
●
●
Espacio de nombres: forma de
nombrar las cosas y organizarlas en
jerarquía
API (interfaz de programación): provee
acceso y navegación de objetos
Modelo de seguridad: un esquema
para proteger, esconder y compartir
cosas
Implementación
Administración de Redes: Sistema de Archivos en Linux
Carlos Figueira/USB
Comandos acceso archivos
●
●
ls: contenido de un directorio (dir)
cat, more, less: examinar contenido
(ascii)
●
cp: copiar archivo
●
mv: cambiar nombre o ubicación
●
mkdir, rmdir: crear, borrar directorio
●
rm: borrar archivo
Administración de Redes: Sistema de Archivos en Linux
Carlos Figueira/USB
Algunas particularidades
●
●
Linux acepta (¡y pueden co-existir!)
varios tipos de sistemas de archivos:
ext2fs y ext3fs, Reiser, xfs, FAT,
FAT32, NTFS, etc.
El núcleo implementa accesos a través
de una parte común interna, y otra
externa (a través de manejadores de
dispositivos o device drivers)
Administración de Redes: Sistema de Archivos en Linux
Carlos Figueira/USB
Jerarquía
●
●
●
●
●
El FS (sistema de archivos) se organiza
en una estructura única de tipo árbol.
La raíz es la barra “/”
El nombre absoluto de todo archivo
comienza con /
Nombres relativos al directorio actual
Nombres especiales: “.” (directorio
actual) y “..” (directorio padre)
Administración de Redes: Sistema de Archivos en Linux
Carlos Figueira/USB
Sistema de archivos en árbol
Administración de Redes: Sistema de Archivos en Linux
Carlos Figueira/USB
Ejemplos nombre de archivo
●
●
Absolutos:
–
/home/jlp/dato
–
/usr/bin/emacs
Relativos:
–
–
–
(PWD=/home/jlp) dato
(PWD=/usr) bin/emacs o ./bin/emacs
(PWD=/home/jlp) ../../usr/bin/emacs
Administración de Redes: Sistema de Archivos en Linux
Carlos Figueira/USB
Uniendo FS
●
●
●
Varios FS independientes. Ejemplos:
–
Un disco con varias particiones (del
mismo tipo o no)
–
varios discos (fijos o removibles)
Para poder accederlos, deben
“montarse” en el FS, de manera que
puedan referenciarse a partir de “/”
Comando mount
Administración de Redes: Sistema de Archivos en Linux
Carlos Figueira/USB
mount, umount
●
mount [dispositivo] [directorio]
●
Ejemplo: mount /dev/hda4 /home
●
●
●
Opciones controlan tipo de FS,
protección, etc.
Operaciones comunes en /etc/fstab umount: operación inversa (sincroniza
en caso de FS removibles) Administración de Redes: Sistema de Archivos en Linux
Carlos Figueira/USB
/etc/fstab
#FS
mount point
tipo opc. dump fsck
LABEL=/1 / ext3 defaults 1 1
LABEL=/boot1 /boot ext3 defaults 1 2
LABEL=/home1 /home ext3 defaults 1 2
LABEL=/usr/local /usr/local ext3 defaults 1 2
/dev/hda3 swap swap defaults 0 0
#
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto
noauto,owner,kudzu 0 0
Administración de Redes: Sistema de Archivos en Linux
Carlos Figueira/USB
Directorios estándar
●
/boot imagen del kernel y archivos para cargarla
●
/bin
comandos para mínima operabilidad
●
/dev
dispositivos
●
/etc
archivos críticos de configuración y arranque
●
/lib
librerías y partes del compilador C
●
/sbin comandos bootear, config. o recuperar sistema
●
/tmp temporales, desaparecen al bootear
●
/var
config. y datos del sistema específico
–
/var/log
logs sistema
–
/var/spool
dir. spool de impresoras, mail, etc.
–
/var/tmp
más espacio temporal (preservado)
Administración de Redes: Sistema de Archivos en Linux
Carlos Figueira/USB
Directorios estándar (cont.)
●
/usr
jerarquía archivos secundarios y comandos
–
/usr/bin
–
/usr/include headers para C
–
/usr/lib
librería y soporte prog. estándar
–
/usr/sbin
comandos menos esenciales que /sbin
–
/usr/share
común a multiples sistemas
●
–
–
/opt
fuentes software no local
/usr/src/linux
/usr/local
●
●
/usr/share/man manuales
/usr/src
●
mayoría de comandos y ejecutables
conf., etc. para generar kernel
software local
/usr/local/{bin, etc, lib, sbin, src}
paquetes extras, opcionales
Administración de Redes: Sistema de Archivos en Linux
Carlos Figueira/USB
Tipos de archivos
●
Regulares (-)
●
Directorios (d)
●
Archivos de dispositivos de tipo
carácter (c) y tipo bloque (b)
●
Sockets locales (s)
●
Pipes nominales (p)
●
Links simbólicos (l)
Administración de Redes: Sistema de Archivos en Linux
Carlos Figueira/USB
Archivos regulares
●
●
●
Secuencia de bytes, sin estructura
No hay diferencia entre archivos de
datos, ejecutables, librerías, etc.
Se pueden acceder secuencial o
aleatoriamente
Administración de Redes: Sistema de Archivos en Linux
Carlos Figueira/USB
Directorios
●
●
●
Contiene referencias a otros archivos:
–
Nombre
–
Número de I-nodo (hard link) o nombre de
archivo (simbólico o soft link)
I-nodo: fechas, permisos, localización
de archivo en disco, etc.
Creados con mkdir, borrados con
rmdir
Administración de Redes: Sistema de Archivos en Linux
Carlos Figueira/USB
Dispositivos
●
●
●
●
Creados con mknod
Además del tipo, se identifican por dos
números: major y minor device number
El major identifica el manejador. Ej: 6
identifica manejador de puerto
paralelo
El minor identifica la unidad particular.
Ej: el primer puerto paralelo
(/dev/lp0) tiene minor 0
Administración de Redes: Sistema de Archivos en Linux
Carlos Figueira/USB
Archivos de dispositivos tipo
carácter y bloque
●
●
Cuando el kernel recibe petición de
acceso a un archivo de dispositivo, lo
pasa al manejador (device driver)
Archivos de dispositivo tipo carácter y
bloque; se distinguen por quién hace
buffering
–
Caracter: lo hace el manejador (ej: tty)
–
Bloque: lo hace el kernel (ej: discos)
Administración de Redes: Sistema de Archivos en Linux
Carlos Figueira/USB
sockets locales
●
●
●
Sockets conectan procesos remotos
(dom. INET) o locales (INET o UNIX)
Se representan en FS, pero sólo
pueden ser accedidos por procesos
conectados
Se crean con llamada socket y se
borran con rm o unlink
Usados por sistema de impresión,
Xwindows
y
syslog
Administración de Redes: Sistema de Archivos en Linux
●
Carlos Figueira/USB
Pipes nominales
●
●
Pipes (tubos) son mecanismos de
comunicación FIFO entre procesos
locales
Muy usados en programación
concurrente en Unix/Linux. Ej:
ls ­l | more
●
Dos tipos: sin nombre y nominales
●
Los nominales se representan en FS
Administración de Redes: Sistema de Archivos en Linux
Carlos Figueira/USB
Atributos de archivo
●
12 bits constituyen el modo de un
archivo:
–
9 bits para los permisos (control de
acceso)
–
3 bits de control de ejecución
●
●
●
setuid y setgid: el proceso que lo ejecuta
toma la identidad (resp. grupo) del dueño
Sticky bit: ignorado si es archivo
4 bits para el tipo de archivo
Administración de Redes: Sistema de Archivos en Linux
Carlos Figueira/USB
Permisos de archivos
●
●
●
Cada archivo tiene un dueño (usuario)
Sólo tres permisos: lectura (r),
escritura (w) y ejecución (x)
Tres tipos de usuarios: dueño (u),
miembros del grupo del dueño (g), y
otros usuarios (o)
●
9 bits: rwx (u) rwx (g) rwx (o)
●
Octal (Ej: 750) o simbólico
Administración de Redes: Sistema de Archivos en Linux
Carlos Figueira/USB
Descargar