Directorios/ficheros en sistemas UNIX

Como mis conocimientos en sistemas unix son más bien escasos, he intentado buscar algo apropiado para este tema de la organización del sistema de archivos y unidades de disco.

Como todos sabéis, en windows cada disco duro/dispositivo (y partición) es una Unidad de Disco, con una letra, como A:, C:, D:, etc. A partir de ahí cuelgan directorios y subdirectorios con diferentes archivos, como todos conocemos ya.

Este sistema en intuitivo y fácil porque distingues fácilmente dónde estás, pero en unix la cosa se organiza de diferente manera. Existiendo también ficheros y directorios, lo que no hay son unidades de disco, haya o no varios dispositivos o hayan las particiones que hayan. Eso es liante al principio, así que voy a poner un esquema sobre cómo funciona.

En unix, todo empieza en la raíz, es decir en la / y a partir de ahí aparece todo lo que haya en el ordenador:

* / : directorio raíz. De él cuelgan todos los demás directorios.
* /bin : archivos ejecutables, comandos de usuario.
* /dev : archivos de dispositivos (discos, terminales, etc.).
* /etc : archivos de configuración, administración e información del sistema.
* /home : archivos de usuarios.
* /lib : archivos de bibliotecas de desarrollo y material de apoyo.
* /lost+found : archivos perdidos.
* /mnt : punto de montaje de dispositivos externos.
* /sbin: archivos ejecutables de administración.
* /tmp : Archivos temporales o zona de trabajo de algunos programas UNIX.
* /usr : archivos ejecutables, documentación, referencia.
* /var : archivos log y auxiliares.

Básicamente tenemos esto. La pregunta es, dónde están los discos duros, cd's etc.?

En unix para que un dispositivo esté disponible, se debe "montar", cosa que en windows, al menos en NT, también existe este concepto pero está más escondido.

En el directorio mnt es donde se suelen montar los dispotivos.

Para aclararse un poco:

Si tenemos una controladora IDE de dos puertos y por tanto hasta 4 dispositivos, tendremos hdxy, donde x es a, b, d o d depende de si es primario maestro, primario esclavo, secundario maestro secundario esclavo., y la y es 1, 2, 3 ... según la partición en la que estemos.

Podemos montar un dispositivo donde queramos, aunque yo uso siempre el directorio /mnt/lokesea

Si yo tengo un disco duro extraíble como esclavo del disco duro primario, si yo escribo "mount /dev/hdb1 /mnt/extraible" estaré montando la primera partición de mi disco duro extraible. Cuando entre en este directorio, veré lo que hay en mi disco.

Hacer esto permanentemente es un coñazo, pero para eso tenemos el archivo de configuración fstab, que está en /etc y tiene por ejemplo lo siguiente:

# Dispositivo Directorio FS Opciones

/dev/hda1 / ext2 defaults 1 1
/dev/hda2 /home ext2 defaults 1 2
/dev/hda3 /tmp ext2 defaults,noexec
/dev/hda4 none swap defaults

**Arriba tenemos el primer disco duro del PC, con cuatro particiones, 3 de ellas ext2 (lo normal en linux) y la partición del swap.

none /proc proc defaults

** Proc es usado por cada parte del núcleo que tiene algo interesante que informar, como /proc/modules que tiene la lista de los módulos y /proc/meminfo que tiene las estadísticas de uso de la memoria.

/dev/fd0 /mnt/floppy ext2 noauto,user,noexec,rw

**Disquetes en formato ext2. Noauto significa que no se montará automáticamente al iniciarse el sistema.

/dev/fd0 /mnt/msdos vfat noauto,user,noexec,rw

**Disquetes en formato vfat (los de windows)

/dev/cdrom /mnt/cdrom iso9660 noauto,user,noexec,ro
/dev/sda4 /mnt/iomegazip vfat noauto,user,noexec,rw

Para nuestro extríble, se pondría:

/dev/hdb1 /mnt/extraible vfat, ntfs (el formato que sea) auto,user,noexec,rw

Esto es sólo un ejemplo. La parte de opciones no tiene pq ser así de complicada. Lo más importante es la parte ro (sólo lecura) o rw (lectura/escritura).

Recordad que en caso de habilitar un disco ntfs, TENÉIS que poner la configuración en modo sólo lectura, ya que el módulo para escribir en NTFS no es fiable (lo más probable es que no lo tengáis ni instalado).

Bueno, me gustaría que esto lo complementárais bien y me digáis qué he puesto mal, porque considero necesario que esto lo sepamos todos bien, porque es una buena manera de no ir perdidos.

salu2
Está de p.m. les vendrá muy bien a los nuevos en linux.
También puedes añadir a la lista de directorios:
/opt normalmente para instalar software ajeno a la distro
/usr/local y el árbol que cuelga también se suelen utilizar para software ajeno.

En el fstab, para los cd's y floppys tengo puesto "auto" para que detecte automáticamente el sistema de archivos.

Para los que no están acostumbrados a montar y desmontar ficheros, también es posible utilizar "supermount", que monta y desmonta automaticamente los dispositivos como en Mac y Windows.
A mi hay algunos de los conceptos del fstab que no me han quedao claros para que sirven, como por ejemplo: defaults (y los números que aparecen detrás), noexec y user.
Y también me gustaría tranquilizar un poco a los no iniciados, comentandoles que cuando instalas una distribución (por lo menos mandrake que es la única que he probado), te deja montado todos los dispositivos que tienes en el PC. Lo digo más que nada porque, así a primera vista, más de uno se ha podido asustar a leer esto [alien]
Un saludo
Sí, más que nada lo he puesto para los que quieran editar la configuración o hayan ido directos a distros un poco más fuertecillas como Gentoo, Debian, etc.

salu2
Agrego que las particiones extendidas se numeran de 5 para arriba, es decir, puede que tengas solo dos particiones pero si una de ellas es extendida se llamara hdx5.


salu2
Escrito originalmente por sergiox
Agrego que las particiones extendidas se numeran de 5 para arriba, es decir, puede que tengas solo dos particiones pero si una de ellas es extendida se llamara hdx5.


salu2


Pues acabas de solucionarme la duda que tenía yo, de pq tenía yo mi disco de esta manera:

hda1: windows xp ntfs
hda5: segunda partición general ntfs
hda6: linux swap
hda7: boot ext2
hda8: linux general ext2

ya decía yo que era raro que empezara por ahí... pues de lujo entonces, asias sergiox

salu2
5 respuestas