3 Administración de Archivos
 

3.1 Particionamiento del Disco

Dividir el disco en múltiples pedazos de menor tamaño, esto con la siguiente finalidad:


Antes de particionar un disco hay que tener en cuenta:

Existen distintas herramientas para crear particiones; generalmente al momento de instalar un sistema operativo se puede particionar un disco.

Ej. Partition Magic
 

Ej FDISK Linux
 

[root@pcproal etc]# fdisk /dev/hda

The number of cylinders for this disk is set to 1222.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help): p

Disk /dev/hda: 255 heads, 63 sectors, 1222 cylinders
Units = cylinders of 16065 * 512 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hda1   *         1         3     24066   83  Linux
/dev/hda2             4        41    305235   82  Linux swap
/dev/hda3            42      1222   9486382+  83  Linux

Command (m for help):
 

 



 

3.2 Sistemas de Archivos

 

Definición:
Es una estructura de datos basada en disco o en red que es utilizada para almacenar archivos.
 
 

Estructura interna de un Sistema de Archivos
 

Boot Block
Block Group 0 
Block Group 1 
....
Block Group n 

donde cada block contiene:
 

SuperBlock Group Descriptors Block Bitmap Inode Bitmat

SuperBlock

Inodes:

Ej de inode
  Archivo común

Inode  1282
Data Blocks

Directorio Común

Inode  4221
Data Blocks
file1= inode 1282
dirA=inode 5314



Ej de inode con ligas simbólicas
>ln -s file2 link1
>ls -la
lrwxrwxrwx   1 carlos   empleado       5 Jan 20  2003 link1 -> file2
 

link1
Inode  3561
Data Blocks
./file2
file2
Inode  1282
Data Blocks

 



Ej de inode con ligas duras
>ln file1 file2
>ls -la
-rw-------   2 carlos   empleado       0 Jan 20  2003 file1
-rw-------   2 carlos   empleado       0 Jan 20  2003 file2

file1
file2
Inode  1282
Data Blocks
dir1
Inode  4221
Data Blocks
file1=inode 1282
file2=inode 1282


3.2.1 Tipos de Sistemas de Archivos


Existen diferentes criterios para agrupar los sistemas de archivos:

El criterio inicial se refiere  a la principal característica de los sa:


Orientados al Disco
Dentro de los orientedos a disco tenemos subcategorías

Por su diseño para un Sistema Operativo


Podemos mencionar que dentro de los sistemas de archivos nativos existe una división:



Ejemplos de Sistemas de Archivos

Windows

Linux


Apple

SUN

Miscelánea


CD-ROM

Orientados a la Red

Son usados para compartir archivos.
 


3.2.2 Creando el Sistema de archivos
 

Para reparar un sistema de archivos

Unix:
fsck  [ -t fstype ] filesys
 
 

 



 

3.2.3 Accesando Filesystems

Compartiendo los directorios de una máquina

Windows
En Windows esta actividad es gráfica y no requiere mayor conocimiento, pero el operativo asume algunas cosas y esta restringido en la capacidad de importar/montar  sistemas de archivos externos
Para compartir basta con dar click derecho en el archivo/directorio deseado y seleccionar "compartir"

Unix
En unix (aunque ya existen ambientes graficos) tradicionalmente se realiza a través de archivos

Linux: /etc/exports
 

/home/carlos    192.168.0.1(rw)

Solaris: /etc/dfs/dfstab
 

root:scanner:/etc/dfs>more dfstab

#       Place share(1M) commands here for automatic execution
#       on entering init state 3.
#
#       Issue the command '/etc/init.d/nfs.server start' to run the NFS
#       daemon processes and the share commands, after adding the very
#       first entry to this file.
#
#       share [-F fstype] [ -o options] [-d "<text>"] <pathname> [resource]
#       .e.g,
#       share  -F nfs  -o rw=engineering  -d "home dirs"  /export/home2
 

 



Montando/importando  directorios de otras máquinas

Conceptos Importantes:


Windows
Nuevamente la interfaz nos ayuda para realizar esta actividad
Existen varias opciones para montar un directorio de otra maquina:


Unix (Linux y Solaris)
Existen 2 tipos de montaje en unix: los temporales y los permanentes

Para montar temporalmente (solo durante la sesión) se utilizan los comandos mount y umount

mount [-a] [ -t fstype] [-o options ] device dir
 


ej:
mount -t iso9660 /dev/cdrom /mnt/cdrom
mount -t nfs www.linux.com:/directorio /mnt/directorio
 

umount [-a] [-f] [-t fstype] mountpoint | device
 


ej.
umount -a -f
umount /mnt/cdrom


Para montar permanentemente tenemos que configurar algunos archivos
que permitan el montaje al arrancar la máquina:

 

Linux : /etc/fstab
 

[root@pcproal etc]# more fstab
LABEL=/                 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
none                    /dev/pts                devpts  gid=5,mode=620  0 0
none                    /proc                   proc    defaults        0 0
none                    /dev/shm                tmpfs   defaults        0 0
/dev/hda2               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

Contenido de cada línea:
Dispositivo a montar
Punto de Montaje
Tipo de sistema de archivos
Opciones de Montaje
Dump
fsck

Solaris : /etc/vfstab
 

root:scanner:/etc>more vfstab
#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
#/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr          ufs     1       yes     -
fd      -       /dev/fd fd      -       no      -
/proc   -       /proc   proc    -       no      -
/dev/dsk/c0t0d0s1       -       -       swap    -       no      -
/dev/dsk/c0t0d0s0       /dev/rdsk/c0t0d0s0      /       ufs     1       no      -
/dev/dsk/c0t0d0s3       /dev/rdsk/c0t0d0s3      /tmp    ufs     2       yes     -
/dev/dsk/c0t0d0s4       /dev/rdsk/c0t0d0s4      /var/tmp        ufs     2       yes     -
filer0:/vol/vol0/home   -       /scanner        nfs     -       yes     -
superadminaplic:/home/34/vol301 -       /archivos/vol301        nfs     -       yes     -
centia:/centia01 -       /centia01        nfs     -       yes     -
centia:/centia03 -       /centia03        nfs     -       yes     -

Contenido de cada línea:

 

Montando con Automounter
 

El hecho de tener muchos sistemas de archivos, ya sean locales o externos implica un costo en el rendimiento de la máquina, por ello unix posee una variante a lovisto anteriormente que se conoce como Automounter, montar/importar sobre demanda.

Tenemos un archivo principal (auto.master o auto_master) el cual contiene las especificaciones del punto de montaje para lo que se quiere montar (ej. /misc) y que está especificado en otro archivo (ej. /etc/auto.misc)

[carlos@pcproal /etc]$ more auto.master
# $Id: auto.master,v 1.2 1997/10/06 21:52:03 hpa Exp $
# Sample auto.master file
# Format of this file:
# mountpoint map options
# For details of the format look at autofs(8).
/misc   /etc/auto.misc  --timeout=60


  En el archivo incluído por el automaster se definen los montajes de manera muy similar a los archivos "tab" mencionados anteriormente

[carlos@pcproal /etc]$ more auto.misc
# $Id: auto.misc,v 1.2 1997/10/06 21:52:04 hpa Exp $
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# Details may be found in the autofs(5) manpage

#cd             -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom

# the following entries are samples to pique your imagination
#linux          -ro,soft,intr           ftp.example.org:/pub/linux
#boot           -fstype=ext2            :/dev/hda1
#floppy         -fstype=auto            :/dev/fd0
#floppy         -fstype=ext2            :/dev/fd0
#e2floppy       -fstype=ext2            :/dev/fd0
#jaz            -fstype=ext2            :/dev/sdc1
#removable      -fstype=ext2            :/dev/hdd
centia01        -fstype=nfs,hard        centia.udlap.mx:/centia01
centia03        -fstype=nfs,hard        centia.udlap.mx:/centia03

De manera que el montaje quedaría:
/misc/centia01

Nota: a diferencia de fstab y vfstab aqui el punto de montaje no debe ser creado por el administrador, se crea sobre demanda

 



 
 
 

Samba (www.samba.org)

Samba es una aplicación para unix que permite compartir archivos entre plataformas unix y windows a traves de la red
Nota: si lo que queremos es compartir una "partición" de algun disco local, entonces se puede utilizar simplemente el mount

Dos componentes principales


 


3.3 Comandos comunes para la manipulación de archivos
 

file Determina el tipo de archivo
chown Cambia los id del dueño y del grupo de un archivo
chmod

 

Descripción r,w,x para archivos

r
Poder leer el contenido del archivo.
w
Modificar el contenido del archivo.
x
Ejecutar, si se trata de un executable/script.




Descripción r,w,x para directorios

r
Permite ver el listado "ls" de archivos contenidos en el directorio. Si se desea usar este permiso, siempre deberá también usarse "x".
w
Permite agregar, eliminar o renombrar archivos en el directorio.
x
Permite hacer "cd" al directorio y utilizar los archivos contenidos en él; si no se tiene el permiso "r" sólo se pueden usar pero no se pueden ver los archivos contenidos en el directorio, habría que saberse la ruta ej: "more directorio/archivo.txt".


Modifica los permisos de un archivo o directorio
Modo Simbólico
U    (Owner)   G (group) O  (Others)    
-rwxr--r--    1 carlos   carlos        932 Aug 24 20:23 steps.txt
ej. chmod u+rwx,g+w,o+x  steps.txt
-rwxrw-r-x    1 carlos   carlos        932 Aug 24 20:23 steps.txt

Permiso adicional (visible en el bit the execute)
 

User Permission File Permission + Execute (on) Permission + Execute (off)
Owner setuid (s) Executable s S
Group setgid   (s) Executable s l
Others sticky bit (t) Directory t T
ej. chmod u+s  script.sh
-rwsr-xr-x    1 carlos   mail        932 Aug 24 20:23 script.sh
(El script se correrá con permisos de 'carlos')

ej. chmod g+s  script.sh
-rwxr-lr-x    1 carlos   mail        932 Aug 24 20:23 script.sh
(El script se correrá con permisos de 'mail')

ej. chmod o+wt  directory
drwxr-xrwt    1 carlos   carlos        932 Aug 24 20:23 directory
(En 'directory' cualquiera puede escribir, pero solo el dueño de cada archivo, el dueño de 'directory' y root podrán borrarlos)



Modo Absoluto (Octal)
 
Octal Value Permission Ad Permission
4 Read setuid
2 Write setgid
1 Execute sticky bit

Por ejemplo si queremos modificar un archivo de manera que 
U    (Owner) Lectura+Ejecución+Escritura=7
G (group) Lectura+Ejecución=5
O  (Others) Lectura=4
chmod 754 archivo.txt

Para permisos adicionales (setuid + setgid)
chmod 6754 archivo.txt
 

grep Busca expresiones regulares en la entrada
ln  Creación de ligas, simbólicas o duras
ls Listado de archivos en un directorio
cp Copiar archivos o directorios
mv Mueve o renombra un archivo
more Visualizador de un archivo hacia adelante
less Visualizador de un archivo hacia adelante y hacia atrás
head Ver el encabezado (primeras líneas de un archivo)
tail Ver la cola (últimas líneas de un archivo)
find Busca archivos  con cierto criterio (nombre, fecha) en una ruta dada
 >  Redireccionamiento hacia un archivo nuevo
ej. ls > archivo.txt
>> Redireccionamiento hacia un archivo existente (append) 
ej.    ls >> archivo.txt

 


3.4 Respaldos (Backups)

Full Backups


Incremental Backups (daily backups)

 
Sun
Mon
Tue
Wed
Thu
Fri
Sat
Week 1
F
I
I
I
I
I
I
Week 2
F
I
I
I
I
I
I
Week 3
F
I
I
I
I
I
I
Week 4
F
I
I
I
I
I
I

Differential Backups


 

 
Sun
Mon
Tue
Wed
Thu
Fri
Sat
Week 1
F
D
D
D
D
D
D
Week 2
F
D
D
D
D
D
D
Week 3
F
D
D
D
D
D
D
Week 4
F
D
D
D
D
D
D

Mezcla de Full, Incremental y Differential Backups
 
 

 
Sun
Mon
Tue
Wed
Thu
Fri
Sat
Week 1
F
D
D
I
D
D
D
Week 2
F
D
D
I
D
D
D
Week 3
F
D
D
I
D
D
D
Week 4
F
D
D
I
D
D
D

Otra posibilidad de la mezcla de varios tipos:
 

Cómo se realizan los respaldos ?


Comandos para realizar respaldos
 



Notas:

1.- No olvidar los comandos de Compresión

2.- Herramientas de Terceros