Los sistemas de archivos
Los sistemas de archivos indican el modo en que se gestionan los archivos dentro de las particiones. Según su complejidad tienen características como previsión de apagones, posibilidad de recuperar datos, indexación para búsquedas rápidas, reducción de la fragmentación para agilizar la lectura de los datos, etc. Hay varios tipos, normalmente ligados a sistemas operativos concretos. A continuación se listan los más representativos:
- fat32 o vfat: Es el sistema de archivos tradicional de MS-DOS y las primeras versiones de Windows. Por esta razón, es considerado como un sistema universal, aunque padece de una gran fragmentación y es un poco inestable.
- ntfs: Es el nuevo sistema de Windows, usado a partir del 2000 y el XP. Es muy estable. El problema es que es privativo, con lo cual otros sistemas operativos no pueden acceder a él de manera transparente. Desde Linux sólo se recomienda la lectura, siendo la escritura en estas particiones un poco arriesgada.
- ext2: Hasta hace poco era el sistema estándar de Linux. Tiene una fragmentación bajísima, aunque es un poco lento manejando archivos de gran tamaño.
- ext3: Es la versión mejorada de ext2, con previsión de pérdida de datos por fallos del disco o apagones. En contraprestación, es totalmente imposible recuperar datos borrados. Es compatible con el sistema de archivos ext2. Actualmente es el másdifundido dentro de la comunidad GNU/Linux.
- ext4: Es un sistema de archivos con registro por diario (en inglés Journaling), anunciado en e 2006, como una mejora compatible de ext3. La principal novedad en Ext4 es Extent, o la capacidad de reservar un área contigua para un archivo; esto puede reducir y hasta eliminar completamente la fragmentación de archivos. Es el sistema de archivos por defecto desde Ubuntu Jaunty.
- ReiserFS: Es el sistema de archivos de última generación para Linux. Organiza los archivos de tal modo que se agilizan mucho las operaciones con éstos. El problema de ser tan actual es que muchas herramientas (por ejemplo, para recuperar datos) no lo soportan.
- swap: Es el sistema de archivos para la partición de intercambio de Linux. Todos los sistemas Linux necesitan una partición de este tipo para cargar los programas y no saturar la memoria RAM cuando se excede su capacidad. En Windows, esto se hace con el archivo pagefile.sys en la misma partición de trabajo, con los problemas que conlleva.
Tipos de particiones
Las particiones son como discos duros independientes. Las particiones básicas se llaman primarias y puede haber a lo sumo 4. Esto puede ser suficiente para nuestros intereses. Como a veces no es así, se crearon las particiones extendidas que pueden albergar otras particiones dentro, llamadas lógicas.
Cabe recordar que en Linux no existe el concepto de unidad (C:, D:, etc.) sino que las particiones se montan en el árbol de carpetas. Eso no nos debe preocupar mucho. Sólo comentar que la carpeta raíz de ese árbol se denota con / y que las particiones se suelen montar en la carpeta /media.
Asignación de particiones en Ubuntu
Veamos como es que Linux asigna las diferentes particiones (nos resultará de utilidad conocer estos nombres cuando particionemos):
- Disqueteras
- Primera disquetera: /dev/fd0 (en Windows sería la disquetera A:)
- Segunda disquetera: /dev/fd1
- Discos duros (en general: /dev/hdx#, donde x es el disco y # es la partición)
- Primer disco duro: (todo el disco) /dev/hda
- Particiones primarias
- Primera partición primaria: /dev/hda1
- Segunda partición primaria: /dev/hda2
- Tercera partición primaria: /dev/hda3
- Cuarta partición primaria: /dev/hda4
- Particiones lógicas
- Primera partición lógica: /dev/hda5
- Sucesivamente: /dev/hda#
- Particiones primarias
- Segundo disco duro: (todo el disco) /dev/hdb
- Particiones primarias
- Primera partición primaria: /dev/hdb1
- Segunda partición primaria: /dev/hdb2
- Tercera partición primaria: /dev/hdb3
- Cuarta partición primaria: /dev/hdb4
- Particiones lógicas
- Primera partición lógica: /dev/hdb5
- Sucesivamente: /dev/hdb#
- Particiones primarias
- Primer disco duro: (todo el disco) /dev/hda
- Discos SCSI
- Primer disco SCSI: /dev/sda
- Segundo disco SCSI: /dev/sdb
- Sucesivamente ...
- Primer CD-ROM SCSI: /dev/scd0, también conocido como /dev/sr0
Unidades en Ubuntu
- El primer disco duro es /dev/hda (Hard Disk ide A)
- El segundo disco duro es /dev/hdb (Hard Disk ide B)
El disco tendrá una o varias particiones, así las del primer disco duro (/dev/hda) serán /dev/hda1, /dev/hda2, ... Éstas tiene el equivalente a lo que en Windows se llama C:, D:, ...etc.
En Linux todo es un archivo, y cuando digo todo es todo. Desde los archivos de datos hasta las particiones de los discos pasando por el ratón y la tarjeta de sonido. Los directorios también son archivos. Existe un directorio raiz (/) del que cuelga todo. Los dispositivos cuelgan del directorio /dev.
Algunos de los directorios más interesantes:
- /: Raíz.
- /usr: Aquí se encuentra la gran mayoría de los archivos existentes en un sistema Linux, tales como documentación, casi la totalidad de los comandos de usuario, juegos, librerías, etc.
- /bin: Aquí están los comandos que pueden usar todos los usuarios (incluido el administrador o root).
- /sbin: Aquí están los comandos que sólo puede usar el administrador o root.
- /dev: Ahí están todos los dispositivos de nuestra máquina.
- /home: Lugar donde se almacenan las cuentas de usuarios.
- /lib: Enlaces a las librerías que se necesitan para el sistema.
- /var: Contiene información variable, como por ejemplo los logs del sistema (/var/log), correo local, etc.
- /tmp: Directorio temporal.
- /etc: Configuración global de los programas.
- /root: Cuenta del administrador.
- /boot: Aquí está todo lo necesario para arrancar el sistema.
- /media: Punto de montaje para sistemas de archivos montados localmente.
- /mnt: Antiguo punto de montaje para sistemas de archivos montados localmente. Hoy en día está en desuso y se conserva por razones históricas.
- /proc: Sistema de archivos virtual de información de procesos y del kernel.
Algunas referencias de Archivos conocidos:
- /etc/apt/sources.list: Este archivo configura la lista de repositorios para añadir direcciones para más detalles (http://www.guia-ubuntu.org/index.php?title=Activar_universe_y_multiverse).
- /etc/X11/xorg.conf: Este archivo define y configura el entorno gráfico a cargar.
- /etc/fstab: Este archivo configura el acceso a los diferentes sistemas de archivos que hay en nuestro sistema.
- /etc/passwd: Este archivo controla el uso de usuarios, en contraseñas, con permisos y grupos que pertenecen a cada usuario, archivo muy importante si uno quiere tener un usario root más que el ya conocido root.
- /etc/readahead/boot y /etc/readahead/desktop: Estos archivos contienen la lista de rutas de todos los archivos que se van a cargar en la memoria caché durante el inicio del sistema.
Permisos
El sistema de permisos de Linux es simple y efectivo. Existen tres tipos de permisos:
- Ejecución: Si es para un archivo será ejecutable y si es para un directorio significa que podemos pasar por él. Es representado por una X.
- Lectura: Si es para un archivo significa que podemos leerlo y si es un directorio es que podemos leerlo también. Es representado por una R.
- Escritura: Si es para un archivo será que podemos escribir en él y si es para un directorio significa que podemos crear ficheros dentro de él. Es representado por una W
También existen tres tipos de roles sobre los que se aplican estos permisos. Un archivo pertenece a un usuario y a un grupo:
- Usuario: El propietario del archivo.
- Grupo: Grupo al que pertenece el archivo.
- Otros: Los demás usuarios.
Veamos un ejemplo:
hcovenas@pchcovenas:~$ ls -l /home/hcovenas/Documentos/miarchivo.txt
-rw-r--r-- 1 hcovenas Ghcovenas 0 2010-08-03 17:48 /home/hcovenas/Documentos/miarchivo.txt
Cambio de permisos modo gráfico
Podrás cambiar los permisos de forma gráfica; sólo tienes que darle con el botón derecho del ratón sobre el directorio o el archivo al que quieras cambiar el permiso y seleccionar la pestaña permisos.
Aquí puedes ver lo explicado en formato vídeo.
No hay comentarios:
Publicar un comentario