tema 4: el árbol de directorios de linux

Anuncio
DEBIAN 6.0
TEMA 4: EL ÁRBOL DE DIRECTORIOS DE LINUX
Descubriremos está organizada físicamente la información almacenada
en un sistema operativo GNU/Linux para saber dónde tenemos que buscarla.
Página 0 de 12
lunes, 28 de marzo de 2011
José María
Torres Corral
ORGANIZACIÓN DEL ÁRBOL
11:24:20
DEBIAN 6.0
TEMA 4: EL ÁRBOL DE DIRECTORIOS DE LINUX
Tabla de contenido
1 ............ El árbol de Linux ...................................................................................................................................... 3
2 ............ Directorios del sistema ........................................................................................................................... 4
2.1 ........ /boot......................................................................................................................................................... 4
2.2 ........ /etc ........................................................................................................................................................... 4
2.3 ........ /bin ........................................................................................................................................................... 4
2.4 ........ /sbin ......................................................................................................................................................... 4
2.5 ........ /lib ............................................................................................................................................................ 4
2.6 ........ /mnt ......................................................................................................................................................... 5
2.7 ........ /usr ........................................................................................................................................................... 5
2.8 ........ /opt ........................................................................................................................................................... 5
2.9 ........ /var ........................................................................................................................................................... 5
2.10...... /tmp ......................................................................................................................................................... 5
2.11...... /dev .......................................................................................................................................................... 5
2.12...... /proc ......................................................................................................................................................... 5
2.13...... /root ......................................................................................................................................................... 6
2.14...... /home ...................................................................................................................................................... 6
3 ............ La jerarquía /etc ...................................................................................................................................... 6
3.1 ........ /etc/profile .............................................................................................................................................. 6
3.2 ........ /etc/opt .................................................................................................................................................... 6
3.3 ........ /etc/X11 .................................................................................................................................................. 6
3.4 ........ /etc/sgml ................................................................................................................................................. 6
4 ............ La jerarquía /usr...................................................................................................................................... 6
4.1 ........ /usr/bin, /usr/sbin, /usr/lib ................................................................................................................... 6
4.2 ........ /usr/X11R6 ............................................................................................................................................. 6
4.3 ........ /usr/games .............................................................................................................................................. 7
4.4 ........ /usr/include ............................................................................................................................................. 7
Página 1 de 12
ÍNDICE
DEBIAN 6.0
TEMA 4: EL ÁRBOL DE DIRECTORIOS DE LINUX
4.5 ........ /usr/local ................................................................................................................................................. 7
4.6 ........ /usr/src .................................................................................................................................................... 7
4.7 ........ /usr/share ............................................................................................................................................... 7
4.8 ........ /usr/X11R6 ............................................................................................................................................. 7
5 ............ La rama /var ............................................................................................................................................ 7
5.1 ........ /var/lib ..................................................................................................................................................... 7
5.2 ........ /var/log .................................................................................................................................................... 8
5.3 ........ /var/lock .................................................................................................................................................. 8
5.4 ........ /var/run ................................................................................................................................................... 8
5.5 ........ /var/spool ................................................................................................................................................ 8
5.6 ........ /var/tmp .................................................................................................................................................. 8
5.7 ........ /var/cache ............................................................................................................................................... 8
6 ............ Otros directorios ...................................................................................................................................... 8
6.1 ........ /lost+found .............................................................................................................................................. 8
6.2 ........ /media...................................................................................................................................................... 8
6.3 ........ /windows.................................................................................................................................................. 8
6.4 ......... /srv ............................................................................................................................................................ 9
7 ............ Montaje y acceso a los medios extraíble ............................................................................................. 10
7.1 ........ Comando mount .................................................................................................................................... 10
7.2 ........ Comando umount .................................................................................................................................. 11
7.3 ........ Comando mdir ....................................................................................................................................... 11
7.4 ........ Comando mcopy .................................................................................................................................... 11
8 ............ Bibliografía ............................................................................................................................................. 12
Página 2 de 12
ÍNDICE
DEBIAN 6.0
TEMA 4: EL ÁRBOL DE DIRECTORIOS DE LINUX
1 El árbol de Linux
Para cualquier usuario novel en el uso de un sistema GNU/Linux, lo más complicado es saber dónde se
guardan los archivos, es decir, conocer la utilidad de todos de cada uno de los directorios que se crean al
instalar un sistema operativo GNU/Linux, en este caso Debian 6.0. Todos los directorios pueden estar
ubicados en una o más particiones, siendo muy recomendable separarlas para aumentar la seguridad de
los datos personales en caso de corrupción del sistema. El árbol de Linux respeta el sistema FHS o Filesystem Hierarchy Standard.
Veamos una imagen muy gráfica de la organización de los directorios y su dependencia jerárquica:
Página 3 de 12
ESTRUCTURA
DEBIAN 6.0
TEMA 4: EL ÁRBOL DE DIRECTORIOS DE LINUX
2 Directorios del sistema
Los directorios del sistema son aquellos en los que se guardan todos los archivos que componen nuestro sistema operativo GNU/Linux. Es de capital importancia que ningún usuario que no disponga de los
permisos adecuados pueda acceder a los archivos que componen nuestro sistema, ya que, de lo contrario, un usuario inexperto (por ejemplo) podría modificarlos o eliminarlos y hacer que todo el sistema se
volviera inestable, o incluso inutilizable (como es el caso de los sistemas de Microsoft, donde la mera activación de un virus por parte de un usuario determinado vulnera la totalidad del sistema operativo y la
seguridad y privacidad de los datos del resto de usuarios).
En una distribución GNU/Linux típica (como la Mandrake que utiliza el autor de este artículo) podemos
encontrar los siguientes directorios del sistema:
2.1 /boot
Contiene el núcleo Linux y otros archivos lanzados al arrancar el sistema. Es conveniente que este
creemos una partición para alojar esta carpeta.
2.2 /etc
Este directorio contiene todos los archivos de configuración de nuestro sistema GNU/Linux (como el
archivo passwd, que contiene una lista con los nombres de usuario y contraseñas, o el archivo fstab, que
contiene una lista con los puntos donde se han montado las diferentes particiones y los sistemas de archivos que utilizan).Se encuentra obligatoriamente en la partición principal.
2.3 /bin
Contiene los ejecutables binarios de base necesarios para el funcionamiento del sistema. Son usados
tanto por el administrador como por los usuarios y son relativos a la consola. Algunos comandos ubicados
aquí son cat, chmod, cp, date, echo, hostname, kill, login, mount, umount.
2.4 /sbin
Todos los comandos esenciales de administración del sistema (super binarios) están alojados aquí. Se
refieren a reinició, restauración, recuperación y/o reparación del sistema. Algunos comandos ubicados
aquí son: shutdown, fastboot, init o reboot. Es decir, son relativos a los sistemas de archivos, particiones e
inicio del sistema. Por esto, solo pueden ser usados por un usuario con permisos de administración.
2.5 /lib
Es esta carpeta encontramos las bibliotecas compartidas y módulos del kernel que son necesarias durante el inicio del sistema. Son análogas a los archivos DLL de los sistemas Windows. Son compartidas
porque varios comandos distintos pueden utilizar la misma porción de código contenida en una biblioteca.
Los binarios vistos hasta ahora obtienen el código de esta carpeta.
Su ventaja reside en que no es necesario integrar su código en los programas que las usan, ya que
cuando un programa necesita alguna de sus funciones, se carga la biblioteca en la memoria y puede ser
usada por cualquier otro programa que la necesite, sin necesidad de volver a cargarla en memoria. Un
subdirectorio especial es /lib/modules, que contiene los módulos del núcleo (normalmente se trata de
controladores de dispositivos) que se cargan únicamente en caso de que haga falta usar un determinado
dispositivo, por lo que no estarán permanentemente ocupando memoria.
Página 4 de 12
ESTRUCTURA
DEBIAN 6.0
TEMA 4: EL ÁRBOL DE DIRECTORIOS DE LINUX
2.6 /mnt
Se reserva para el montaje de sistemas de archivos de terceros. Este directorio es típico de las distribuciones RedHat, aunque puede no estar presente en otras distribuciones. Su misión consiste en agrupar
en un mismo lugar los puntos de montaje de diversas particiones externas, como por ejemplo: CD-ROM,
DVD, disqueteras, unidades ZIP, particiones de MS-Windows y de otros sistemas operativos, etc. Este directorio contiene un subdirectorio adicional para cada una de estas particiones (como /mnt/cdrom,
/mnt/win_c, /mnt/floppy o /mnt/zip). Si accedemos a estos subdirectorios estaremos accediendo realmente a esas particiones.
2.7 /usr
Es el directorio más voluminoso al instalar el sistema porque contiene todos los programas que no están en /bin ni en /sbin. Además, podemos encontrar toda la documentación y fuentes de los programas.
Es conveniente crear una partición independiente. El contenido se puede compartir en una rede pero de
forma estática.
2.8 /opt
Contiene paquetes de software adicionales, como por ejemplo KDE o GNOME. Algunas distribuciones
no hacen uso de él.
2.9 /var
Su nombre procede de variable, debido a la naturaleza de la información que contienen sus subdirectorios y archivos. Reúne los archivos de datos variables con el tiempo: colas de impresión (en
/var/spool/lpd), correo electrónico que todavía no se ha recogido (en /var/spool/mail) o enviado (en
/var/spool/mqueue), o archivos de registro creados por los distintos procesos de nuestro sistema (en
/var/log). Cuantos más servicios preste el equipo más grande será este directorio, que es muy conveniente que tenga una partición propia.
2.10 /tmp
Guarda los archivos temporales creados por las aplicaciones para poder funcionar. Una buena administración del sistema requiera planificar la limpieza periódica de este directorio, que será menor cuanto
mayor sea el uso del sistema.
2.11 /dev
Este directorio contiene archivos de dispositivos que permiten la comunicación con los distintos elementos hardware que tengamos instalados en nuestro sistema. Este directorio contiene archivos que representan a las unidades de discos duros (como por ejemplo /dev/hda1 o /dev/sda4), las unidades de
CD-ROM SCSI (como /dev/scd0) y los vínculos a cualquier tipo de unidad de CD-ROM (como /dev/cdrom),
las disqueteras (como /dev/fd0), las impresoras (como /dev/lp0), los puertos serie (como /dev/ttyS0 o
/dev/cua0), el puerto PS/2 (/dev/psaux) y las tarjetas de sonido (como /dev/audio). En los comienzos de
los sistemas Unix para acceder al contenido de una unidad externa había que montarla previamente. Actualmente se montan automáticamente.
2.12 /proc
Contiene los archivos del sistema de archivos de proceso. No son verdaderos archivos, sino una forma
Página 5 de 12
ESTRUCTURA
DEBIAN 6.0
TEMA 4: EL ÁRBOL DE DIRECTORIOS DE LINUX
de acceder a las propiedades de los distintos procesos que se están ejecutando en nuestro sistema. Para
cada proceso en marcha existe un subdirectorio /proc/<número de proceso> con información sobre él.
2.13 /root
Es equivalente al directorio /home para el administrador del sistema o usuario root. Normalmente está
en la misma partición que /home. Está expresamente reservado al root.
2.14 /home
Contiene los directorios personales de los usuarios del equipo, excepto del root, así como la información de configuración propios de cada usuario. La información de configuración se almacena en archivos
ocultos para evitar que se listen mediante el comando ls. Por tanto, para configurar una aplicación específica hay que acudir a este directorio. Además, contiene todos los archivos creados por este usuario sin
cambiar la ubicación predeterminada.
Es obligatorio dedicar una partición para este directorio cuyo tamaño habrá que dimensionar generosamente de acuerdo al número de usuarios del sistema operativo. De esta forma, evitaremos la pérdida
de datos por la corrupción del sistema de archivos del sistema operativo.
3 La jerarquía /etc
Este directorio posee distintos subdirectorios que se utilizan para la configuración de determinados
componentes de nuestro sistema:
3.1 /etc/profile
Es un script del Shell que se ejecuta en primer lugar al conectar a un terminal de texto.
3.2 /etc/opt
Contiene los archivos de configuración para el software instalado en el directorio /opt. Cada paquete
de software tendrá su correspondiente subdirectorio dentro de /etc/opt.
3.3 /etc/X11
Contiene los archivos de configuración del entorno gráfico X Window. Entre otras cosas, contiene los
gestores de ventanas y de arranque de los distintos escritorios gráficos. Este directorio es opcional.
3.4 /etc/sgml
Contiene los archivos de configuración para SGML y XML. Este directorio es opcional.
4 La jerarquía /usr
4.1 /usr/bin, /usr/sbin, /usr/lib
Estos tres subdirectorios de la carpeta anteriores contienen binarios suplementarios no esenciales.
4.2 /usr/X11R6
Página 6 de 12
ESTRUCTURA
DEBIAN 6.0
TEMA 4: EL ÁRBOL DE DIRECTORIOS DE LINUX
Se reserva exclusivamente a las aplicaciones gráficas. Está sub dividido en varias carpeta: bin, lib…
4.3 /usr/games
Contiene los archivos binarios de muchos juegos y programas educativos. Este directorio es opcional.
4.4 /usr/include
Aquí se encuentran las definiciones de las distintas bibliotecas utilizadas en programación, siendo necesarias para llevar a cabo la compilación de programas1.
4.5 /usr/local
Como en el resto de sistemas operativos UNIX, GNU/Linux está diseñado para ser usado en entornos
de red, por lo que es bastante frecuente que el directorio /usr no se encuentre en el ordenador local, sino
en un servidor. Por ello, el directorio /usr/local está destinado a contener el software que se instale localmente en cada ordenador, y contiene subdirectorios similares a los que se puede encontrar bajo /usr
(como /usr/local/bin, /usr/local/sbin, /usr/local/lib, /usr/local/man, etc.). Adicionalmente, encontraremos un directorio /usr/local/etc con idéntica funcionalidad al directorio /etc. Aunque use su ordenador
de forma aislada y no en un entorno de red, este es el directorio en el que debería instalar sus programas.
Contiene los distintos archivos de ayuda (man, info) y los archivos internacionales de traducción.
4.6 /usr/src
Si disponemos del código fuente de un programa, por tener licencia GPL por ejemplo, estará guardado.
4.7 /usr/share
Contiene archivos de datos independientes de la arquitectura del sistema, como documentación, howtos, etc. Aquí se encontrar los subdirectorios /man (que contiene manuales de programas) y /misc (que
contiene diversos datos independientes de la arquitectura). También se pueden encontrar los subdirectorios /dict, /doc, /games, /info, /locale, /smgl, zoneinfo, etc.
4.8 /usr/X11R6
Contiene todos los programas que componen el entorno gráfico X Window (binarios, bibliotecas y páginas man, por lo que encontraremos directorios como /usr/X11R6/bin /usr/X11R6/lib y
/usr/X11R6/man). Este directorio es opcional.
5 La rama /var
Este directorio también posee una estructura típica de subdirectorios:
5.1 /var/lib
Contiene generalmente los archivos de los sistemas de gestión de bases de datos, como Postgree o
MySQL.
Enlace a Wikipedia
Página 7 de 12
1
ESTRUCTURA
DEBIAN 6.0
TEMA 4: EL ÁRBOL DE DIRECTORIOS DE LINUX
5.2 /var/log
Están agrupados los registros del sistema y de aplicaciones. En caso de cualquier fallo en el sistema,
los log permiten comprender al administrador porqué ha sucedido y poder solucionar los problemas.
5.3 /var/lock
Son los llamados archivos de bloqueo, que son creados automáticamente por las aplicaciones de servidor (archivos, web, impresión, planificador de tareas) cuando se inician para dejar constancia de su ejecución, evitando que su duplicidad. Cuando se detienen las aplicaciones, se borran.
5.4 /var/run
Además de los archivos de bloqueo, los servicios crean un archivo que lleva su nombre y contiene el
identificador del proceso o PID.
5.5 /var/spool
Reúne los archivos de espera de los diferentes servicios propuesto por el sistema. Entre otros están,
los trabajos de impresión en espera, la definición de las tareas planificadas o el correo electrónico de los
usuarios aún no entregado.
5.6 /var/tmp
Es otra ubicación donde se pueden crear archivos temporales. Para una administración del sistema
más sencilla es mejor usar solo un directorio que cumpla esta función.
5.7 /var/cache
Contiene datos de aplicaciones en cache, como archivos del servidor web y páginas de manual.
6 Otros directorios
Algunas distribuciones hacen uso de otros directorios adicionales que suelen montar en el directorio
raíz:
6.1 /lost+found
Se crea automáticamente en cada partición de Linux al arrancar el sistema y sirve para guardar los archivos recuperados tras un incidente en el sistema. Esta labor la lleva a cabo la herramienta fsch. Si no se
produce ningún fallo, este directorio estará vacío.
6.2 /media
Es un directorio análogo al estándar /mnt, y contiene los puntos de montaje de los dispositivos extraíbles.
6.3 /windows
Algunas distribuciones lo crean si detectan un sistema Microsoft Windows instalado en nuestro equipo,
creando dentro de éste tantos subdirectorios como particiones de Windows tengamos (como /windows/C,
Página 8 de 12
ESTRUCTURA
DEBIAN 6.0
TEMA 4: EL ÁRBOL DE DIRECTORIOS DE LINUX
/windows/D, etc.). Contiene el punto de montaje de estas particiones.
6.4 /srv
Aquí se alojan los directorios que usan los distintos servidores que tengamos instalados, como el servidor web (en /srv/www) o el servidor FTP (en /srv/ftp).
Página 9 de 12
ESTRUCTURA
DEBIAN 6.0
TEMA 4: EL ÁRBOL DE DIRECTORIOS DE LINUX
7 Montaje y acceso a los medios extraíble
A pesar de que en las versiones actuales de los Sistema Unix actuales esta acción se produce automáticamente al conectar un dispositivo, vamos a ver los comandos básicos.
El montaje se realiza automáticamente y es la acción que permite el acceso al medio; mientras que el
desmontaje es la acción que permite la extracción segura del dispositivo desconectándolo del sistema de
archivos.
7.1 Comando mount
Función:
Permite conectar un dispositivo extraíble al sistema de archivos físico utilizando los archivos asociados
ubicados en el directorio /dev. Para poder utilizar este comando hay que tener adjudicado el permiso en
el archivo /etc/fstab.
Sintaxis:
mount /dev/nombre_dispositivo
Listado de opciones:
-l Muestra un listado con todos los dispositivos montados con el nombre.
Ejemplo:
josemariatc@curso:~$ mount -l
/dev/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda9 on /home type ext3 (rw)
/dev/sda8 on /tmp type ext3 (rw)
/dev/sda5 on /usr type ext3 (rw)
/dev/sda6 on /var type ext3 (rw)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
binfmt_misc
Página 10 de 12
on
/proc/sys/fs/binfmt_misc
type
binfmt_misc
COMANDOS RELACIONADOS
DEBIAN 6.0
TEMA 4: EL ÁRBOL DE DIRECTORIOS DE LINUX
(rw,noexec,nosuid,nodev)
7.2 Comando umount
Función:
Permite des conectar un dispositivo extraíble del sistema de archivos físicos. Hay que tener permisos
de administrador para ejecutar este comando
Sintaxis:
umount /dev/nombre_del_dispositivo
Ejemplo:
josemariatc@curso:~$ umount /dev/sda8
umount:
sólo
root
d80ac01ee1ea desde /tmp
puede
desmontar
UUID=3b7bfbb4-b8df-403f-9d52-
7.3 Comando mdir
Función:
Lista los archivos contenidos en un directorio que introducimos como argumento.
Sintaxis:
mdir Nombre_directorio
7.4 Comando mcopy
Función:
Copiar los archivos de un directorio a otro.
Sintaxis:
mcopy ruta_origen ruta_destino
Página 11 de 12
ESTRUCTURA
DEBIAN 6.0
TEMA 4: EL ÁRBOL DE DIRECTORIOS DE LINUX
8 Bibliografía





LINUX. Principios básicos del uso del sistema. Ediciones ENI. Serie: Recursos Informáticos.
Guía oficial de instalación de Debian 6.0. en el sitio web oficial de Debian.
Sitio web oficial del proyecto GNU: http://www.gnu.org/home.es.html.
Sitio web oficial del sistema de archivos FHS: http://www.pathname.com/fhs/.
Blog del curso: http://cursotecnicoredes2011.wordpress.com
Página 12 de 12
BIBLIOGRAFÍA
Descargar