9.- Estructura de
Directorios en Ubuntu
Para visualizar
todas las carpetas del sistema que cuelgan de la raíz “ / ”,
podemos hacerlo desde Archivos,
es el Administrador de Archivos de Ubuntu,
la aplicación se llama Nautilus,
la ventana del gestor de archivos es nuestra Carpeta
personal
Archivos icono
Una
vez que hemos pulsado sobre el icono de Archivos,
nos aparece la Carpeta personal, que está situada
dentro de la carpeta home. En la parte izquierda de la ventana
de la carpeta personal encontramos Equipo,
si pulsamos en Equipo vemos
que nos dirigimos al
directorio raíz
“ / ”
El directorio raíz
se simboliza por una barra inclinada “ / ”.
De este directorio, es desde
donde sale
todo el resto de directorios
/ (raíz)
/ (raíz). Es
el único directorio en el nivel superior del árbol jerárquico de
archivos, el nivel más alto dentro de la jerarquía de directorios.
Cualquier dirección de archivo o carpeta en Ubuntu, empieza
por el directorio raíz “ / ”, seguido de todos
los directorios y subdirectorios que lo contienen
Del directorio raíz
“ / ” cuelga el resto de carpetas, particiones y
otros dispositivos, cuando instalamos el sistema, seleccionamos la
Partición raíz y como punto de montaje seleccionamos /
/bin (binarios)
El directorio /bin
es donde se almacenan todos los binarios necesarios para garantizar
las funciones básicas a nivel de usuario. Aplicaciones binarias de
comando, esenciales y disponibles para que cualquier usuario pueda
ejecutarlos, así como los ejecutables de los programas propios del
sistema operativo
Los binarios son los
ejecutables de Linux, los preinstala el sistema. No deben de haber
subdirectorios en /bin
En el directorio
/bin está situado el código binario o compilado de los
programas y comandos que pueden utilizar todos los usuarios del
sistema
En el directorio
/bin se incluye también los binarios que permiten la
ejecución de varias utilidades estándar de la terminal de Linux,
algunos de comandos contenidos en /bin:
cat, chown, cp, dd,
echo, gzip, kill, ls, mkdir, mount, mv, ping, ps, rm, su, tar,
umount, uname.
Comandos
contenidos en /bin
los binarios
necesarios para tareas administrativas ejecutadas por root o
superusuario se encuentran en otro directorio, en el
directorio /sbin
/boot (arranque)
En
el directorio /boot
nos encontramos los archivos necesarios para el inicio del
sistema, desde los archivos de configuración del Grub, hasta
el propio kernel del sistema
En
el directorio /boot
se encuentran los archivos utilizados por el gestor de arranque Grub,
y son utilizados antes de que el kernel empiece a dar las
órdenes de ejecución de los diferentes módulos del sistema
El
directorio /boot puede estar en una partición o disco
aparte del directorio /raíz, en ese caso es importante
tener previsto el espacio que le vayamos a dar a la partición,
porque debido a las futuras actualizaciones del Kernel nos
podemos quedar sin espacio, en esa situación, tendremos que hacer
limpieza de las versiones antiguas
Archivos
contenidos en /boot
/dev
(dispositivos)
En
el directorio /dev
encontramos los archivos
de información de todos los volúmenes y
dispositivos físicos del
sistema (hardware), como
por ejemplo: Discos
Duros,
memorias,
cdrom,
dvd...
En
el directorio /dev
se encuentran los archivos
especiales del sistema, conocidos como controladores de dispositivo,
se usan para acceder a los dispositivos de almacenamiento como
por ejemplo: Discos duros
externos, memoria USB,
tarjetas sd...
También encontramos en el directorio /dev las particiones de
disco que hemos realizado durante la instalación del sistema
operativo, por ejemplo: sda1, sda2, sda5,
como podemos ver si escribimos los siguientes comandos en Terminal,
para ver discos y particiones:
sudo fdisk -l
Una vez que hemos puesto los comandos sudo fdisk -l en la
Terminal vemos las particiones de la siguiente forma:
Disk /dev/sda – Disco Duro /dev/sda1 - Partición principal /dev/sda2 - Partición extendida /dev/sda5 - Partición Swap (partición de intercambio)
En el caso de tener mas Discos Duros, los veríamos como: /dev/sdb,
/dev/sdc, /dev/sdd...
Archivos
contenidos en /dev
Todo
está considerado en Ubuntu
como un archivo, tanto el Software como el
Hardware. Un archivo de texto, de vídeo, de música, un
controlador de dispositivo, el
ratón, el teclado, el monitor, la impresora, el reproductor de CD o
DVD, los Discos Duros, las particiones, los periféricos que podamos
conectar en el equipo...
/etc (etcétera)
En
el directorio /etc
es donde encontramos
los ficheros de
configuración y arranque
del sistema, así
como
ciertos scripts que se ejecutan en el inicio del sistema
En
el directorio /etc
es donde se encuentra la
configuración global de las
aplicaciones o
programas instalados, este
directorio debe de contener únicamente archivos de configuración, y
no debería contener ningún archivo binario
En
el directorio /etc
aparecen otros subdirectorios:
/etc/opt/
Subdirectorio de configuración para los programas alojados dentro
del directorio /opt
/etc/X11/
Subdirectorio de configuración para el X Window System
/etc/sgml/
Subdirectorio de configuración para SGML
/etc/xml/
Subdirectorio de configuración para XML
Archivos
contenidos en etc
/home (casa)
El
directorio /home
contiene los directorios de
trabajo de todos los usuarios,
es
la carpeta donde se guardan los archivos personales de todos los
usuarios excepto el de root
o superusuario, /home
contiene
los directorios personales (casas) de cada
uno de los usuarios
Archivos
contenidos en /home
Cada
usuario tiene su
propio directorio dentro de /home,
ese directorio es la Carpeta
personal de usuario
Carpeta personal
de usuario
En
la Carpeta personal de usuario
tenemos
otras
carpetas, así como otros
archivos y carpetas ocultas, que guardan
la información de configuraciones de las aplicaciones del usuario:
Descargas,
Documentos, Escritorio, Imágenes, Música, Plantillas, Público,
Vídeos, Ejemplos
Para
ver las carpetas y
archivos ocultos dentro
del directorio individual de cada usuario, podemos
hacerlo pulsando las teclas Ctrl + h
del teclado
Los
archivos y carpetas ocultas empiezan por un punto “.”,
seguido del nombre de la carpeta
Archivos ocultos
contenidos en la Carpeta personal de usuario
El
directorio /home
puede ser muy grande, ya que
es usado para almacenar
descargas, documentos, fotos
y una
buena colección de archivos
de imagen o sonido
A
menudo /home
es instalado
en un disco o partición separada, partición
que hemos realizado durante la instalación del sistema operativo,
normalmente es la partición
mas grande debido al gran
tamaño que puede llegar a ocupar
/home es instalado en un disco o partición separada para que
en el caso de que reinstalemos o instalemos una nueva versión del
sistema, tengamos a buen recaudo nuestros documentos y demás
archivos personales
El
administrador del sistema
tiene su propio directorio home, que es /root
/lib
(bibliotecas)
El
directorio /lib
contiene los módulos del
kernel y todas las
bibliotecas (mal conocidas como librerías) esenciales compartidas,
necesarios para arrancar el sistema y ejecutar los comandos en el
sistema de archivos raíz
En
el directorio /lib
están contenidas las
bibliotecas que
son necesarias
para que se puedan ejecutar todos los binarios que se encuentran en
los directorios /bin y /sbin
Archivos
contenidos en /lib
Puede
haber una o más variantes del directorio /lib,
en sistemas que admiten
más de un formato binario y
que requiere bibliotecas separadas. En los sistemas operativos de 64
bits, además de /lib
existe otro directorio denominado /lib64,
contiene
bibliotecas para aplicaciones de 64 bits
Los módulos del
kernel (controladores) están en el subdirectorio
/lib/modules/”versión-Kernel”, donde
”versión-Kernel” puede ser por ejemplo
4.8.0.36-generic o 4.8.0.36-generic
o ...
/lib/modules
/media (media,
medios de comunicación)
El
directorio /media es donde se montan las unidades
extraíbles de almacenamiento como los dispositivos USB, disqueteras,
unidades de CD/DVD
El
directorio /media es el punto de montaje de todos los
volúmenes lógicos que se montan temporalmente, ya sean unidades
externas USB, Discos externos e incluso sirve para montar otras
particiones del mismo Disco Duro, como por ejemplo, alguna partición
que sea utilizada por otro sistema operativo
Este directorio
contiene subdirectorios que se utilizan como puntos de montaje para
Medios removibles como disquetes, CD
o DVD, USB
Archivos
contenidos en /media
En el directorio
/media, cada vez que se monta una unidad externa, partición,
CD o DVD esta se monta
dentro del directorio /media y a su vez dentro de un
directorio del usuario, si en un sistema hay varios usuarios,
supongamos usuario1 y usuario2, los puntos de montaje de los
volúmenes que montan cada uno de ellos se mostraran en directorios
separados tal como así:
/media/usuario1
/media/usuario2
Nota: usuario es el
nombre del usuario del equipo en ese momento, “usuario” puede ser
Juan, Pepe, María, Jacín, Juana...
El
directorio /mnt
se suele usar para montajes temporales de unidades, sirve para
montar discos duros y particiones de forma temporal en el sistema
El
directorio /mnt
es un directorio vacío que se utiliza como punto de montaje
genérico, en el que se montan los sistemas de archivos o
dispositivos, el montaje es el proceso por el cual hacemos que un
sistema de archivos sea disponible para el sistema, después de
montar estos archivos serán accesibles bajo el punto de montaje
Este directorio se
proporciona para que el administrador del sistema pueda montar un
sistema de archivos según sea necesario, como vemos en el ejemplo
siguiente:
Escribimos los siguientes comandos en Terminal para ver discos
y particiones:
sudo fdisk -l
Una vez que hemos puesto los comandos sudo fdisk -l en la
Terminal vemos las particiones de la siguiente forma:
Disk /dev/sda – Disco Duro /dev/sda1 - Partición Swap (partición de intercambio) /dev/sda2 - Partición extendida /dev/sda3 - Partición nueva (datos) /dev/sda5 - Partición principal
En el caso de tener mas Discos Duros, los veríamos como: /dev/sdb,
/dev/sdc, /dev/sdd...
Una vez que vemos las particiones, vamos a montar como superusuario,
la partición /dev/sda3 con el comando mount
Escribimos los siguientes comandos en Terminal:
sudo mount /dev/sda3 /mnt
Una vez que tenemos
montada la partición
/dev/sda3, todos
los archivos que están contenidos en esta partición son visibles
y accesibles en
el directorio
/mnt
El comando mount
toma dos argumentos, el primero (/dev/sda3) es el
archivo de dispositivo correspondiente al disco o partición que
contiene el sistema de archivos, el segundo es el directorio (/mnt
) donde será montado
Cuando un sistema de
archivos ya no necesita ser montado, se debe de desmontar con
el comando umount
Para desmontar la partición que hemos montado anteriormente
escribimos los siguientes comandos en Terminal:
sudo umount /dev/sda3
Tras haber
desmontado la partición /dev/sda3
volvemos a tener el
directorio /mnt,
vacío
/opt (opcionales)
El
directorio /opt está reservado para todos los
paquetes de software y complementos que no forman parte de la
instalación predeterminada, esta destinado para guardar paquetes
adicionales de aplicaciones, todas las aplicaciones de terceros deben
estar instaladas en este directorio
Las aplicaciones
crean un subdirectorio dentro de /opt que son
designadas con el mismo nombre del programa
El
directorio /opt
contiene
paquetes de programas opcionales de aplicaciones, que pueden ser
compartidas entre los usuarios, estas aplicaciones no guardan sus
configuraciones en este directorio, así, cada usuario puede tener
una configuración diferente de una misma aplicación, se comparte la
aplicación pero no las configuraciones de los usuarios, las cuales
se guardan en su respectivo directorio en /home de cada
usuario
Archivos
contenidos en opt
/proc (procesos)
El
directorio /proc contiene información de los procesos
y aplicaciones que se están ejecutando en un momento determinado en
el sistema, es un sistema de archivos virtual, no contiene archivos
reales, solo información del sistema en tiempo de ejecución
Lo más llamativo de
los archivos del directorio /proc
es que todos ellos tienen un tamaño de archivo de 0, no son
ni binarios ni textos, sin embargo podemos desplegar su contenido y
examinarlos
El
directorio /proc contiene todos los detalles del
sistema Linux, incluyendo el kernel, procesos y parámetros de
configuración
Archivos
contenidos en /proc
Los directorios con nombre numérico representan a los procesos en
ejecución. Cuando un proceso termina, su directorio situado en el
directorio /proc desaparece automáticamente
Archivos
contenidos en /proc
Escribimos los siguientes comandos en Terminal para ver los
procesos en ejecución:
ls /proc
Cada uno de los
directorios numerados corresponde a un ID (identificador de proceso)
de un proceso real
Algunos archivos en
el directorio /proc están configurados para que se puedan
leer sólo por el usuario root
/root (raíz)
El
directorio /root es
el directorio de uso exclusivo del
administrador, directorio
raíz del usuario root, es
el directorio /home (casa) del administrador del sistema, digamos
que el superusuario tiene
su propio directorio personal, el
directorio /root
Al
directorio /root,
el acceso es restringido
para un usuario sin
privilegios administrativos, ya que es un directorio exclusivo para
la administración del
sistema
Si
intentamos entrar en el directorio
/root como usuario
sin los privilegios administrativos, nos sale un cartel diciendo que
no tenemos los permisos suficientes para ver su contenido
Directorio /root
sin privilegios
root
es el nombre de usuario o cuenta que por defecto tiene acceso a todos
los comandos y archivos en un sistema operativo Linux, se le conoce
como el usuario root o superusuario
El usuario root
puede hacer muchas cosas que un usuario común no puede, tales como
cambiar el dueño o permisos de archivos
No se recomienda
utilizar el superusuario para una sesión de uso habitual, ya
que se pone en riesgo el sistema, al darle privilegios
administrativos a cada aplicación que esté en ejecución
Es preferible usar
una cuenta de usuario normal y utilizar los comandos sudo
su para acceder a los privilegios de root en caso de ser
necesario
/sbin (binarios
de sistema)
El
directorio /sbin es donde se almacenan todos los
binarios necesarios para las tareas administrativas ejecutadas
por root o superusuario
El
directorio /sbin debe contener sólo binarios
esenciales para arrancar, restaurar, recuperar o reparar el sistema
además de los binarios incluidos en /bin
Los ejecutables
de administración, tales como mount, umount, shutdown… Solo
pueden ser ejecutados por el usuario root y vienen
preinstalados en el sistema
Un usuario con los
privilegios administrativos puede ejecutar alguna de estas
aplicaciones de comandos, estando en modo superusuario
Archivos
contenidos en /sbin
/srv (servicios)
El
directorio /srv
contiene información del
sistema sobre ciertos servicios que ofrece (FTP, HTTP…), archivos
relativos a servidores web,ftp. En este directorio residen las
carpetas accesibles por el programa cliente de un determinado
servicio ofrecido por algunos servidores configurados en el sistema
El
directorio /srv sirve
para almacenar archivos y directorios relativos a servidores que
podamos
tener instalados dentro del
sistema, en este directorio
se alojan los subdirectorios
que usan los distintos servidores que tengamos instalados, como el
servidor web en /srv/www o el servidor FTP en /srv/ftp
Ningún programa
debe basarse en un subdirectorio
de /srv
existente o en los datos que necesariamente se almacenen en el, sin
embargo, el
directorio /srv siempre debe existir en sistemas Linux
y debe ser
utilizado como un lugar
predeterminado
para dichos datos
Si no tenemos ningún
servidor instalado tendremos el
directorio /srv vacío
Archivos
contenidos en /srv
/sys (sistema)
El
directorio /sys contiene información de los
dispositivos conectados al sistema, información sobre los
dispositivos tal y como los ve el kernel
El
directorio /sys al
igual que el directorio /proc
contiene archivos virtuales que proveen información del kernel
relativa a eventos del sistema operativo, son
archivos virtuales con
información del sistema
En
el directorio
/sys se monta el
sistema de ficheros virtual /sys/fs,
este es
un sistema de ficheros virtual basado inicialmente en ramfs
(fichero de almacenamiento en la memoria RAM) y que está
implementado en el kernel
El
directorio /sys
permite obtener información sobre el sistema y sus componentes (en
su mayoría conectado e instalado, hardware) de una manera
estructurada, con soporte para los dispositivos de conexión en
caliente
Archivos
contenidos en sys
/tmp (temporales)
El
directorio /tmp es un directorio donde se almacenan
archivos temporales, cada vez que se inicia el sistema este
directorio se limpia
Muchos programas
utilizan el
directorio /tmp para crear archivos y para el
almacenamiento temporal de datos, estos archivos son importantes para
los programas que se están ejecutando actualmente y su eliminación
puede provocar un bloqueo del sistema
No debemos de borrar
el contenido del directorio
/tmp de forma manual, puesto que puede contener archivos
necesarios para ciertos programas o procesos que estén ejecutándose,
tampoco asumiremos que los archivos se conserven entre invocaciones
de programas
Archivos
contenidos en /tmp
/usr (Recursos
del sistema del usuario)
El directorio /usr
es uno de los directorios más importantes del sistema, ya que
contiene todos los binarios, programas y librerías de uso común
para todos los usuarios, su documentación, bibliotecas, archivos de
cabecera, juegos, casi la totalidad de los comandos de usuario
El directorio /usr
contiene los archivos compartidos, pero son de sólo lectura, este
directorio puede compartirse con otros equipos que estén en la
misma red local
En el directorio
/usr se encuentran programas y datos utilizables por el
usuario, por ello, algunas personas pueden referirse a este
directorio como recursos del sistema del usuario
Archivos
contenidos en usr
Como hemos dicho
anteriormente el directorio /usr es uno de los directorios más
importantes del sistema, es el directorio padre de otros
subdirectorios de importancia, que son los siguientes:
/usr/bin:
Contiene la gran mayoría de los binarios del sistema, comandos
binarios no-administrativos para todos los usuarios, son de solo
lectura, pero pueden tener su propia configuración para cada usuario
en /home. Los
ejecutables en este directorio varían ampliamente, ejecutables de la
mayoría de aplicaciones de escritorio
/usr/include:
Contiene
“archivos de cabecera” (ficheros
cabeceras para C y C++)
necesarios para compilar el código fuente del espacio de usuario,
estos
archivos son necesarios cuando se compila programas, bien
sea, para
un paquete de software que necesita compilar manualmente o sus
propios programas
/usr/lib:
Contiene
bibliotecas de programas. Las bibliotecas son colecciones de rutinas
de programas de uso frecuente, algunos
ejecutables comparten las mismas bibliotecas que comparten las demás
aplicaciones
/usr/local:
Debe ser utilizado por el
administrador del sistema al instalar el software localmente, así
mismo, debe estar a salvo de ser sobrescrita cuando se actualiza el
software del sistema, puede utilizarse para programas y datos que
pueden compartirse entre un grupo de equipos que estén en la misma
red local
El software
instalado localmente debe colocarse dentro de /usr/local, este
subdirectorio tiene una estructura similar a la del directorio /usr,
gran parte del software local se instala en subdirectorios de
/usr/local
/usr/sbin:
Contiene
comandos administrativos para el sistema, destinados a ser
ejecutados por el usuario root o superusuario,
al
igual que en /sbin, no forma parte del entorno de un usuario,
algunos ejemplos de binarios incluidos: adduser, chroot, useradd,
pppconfig...
Comandos y
utilidades para la administración que no son vitales del sistema,
que se utilizan después de arrancar (iniciar el sistema) por parte
del administrador
/usr/share:
Contiene
archivos
compartidos que no dependen
de la arquitectura del sistema, como
ficheros de configuración, imágenes, sonidos,
iconos, fuentes,
temas, etc., disponibles
para el sistema y sus
aplicaciones, también
contiene páginas de manual, documentos de información GNU, y
archivos de documentación de los programas instalados
/usr/src (source
o, fuente en castellano)): Tiene en su interior el
código fuente para el kernel Linux, cualquier código fuente
no-local debe localizarse en este directorio. El único código
fuente que siempre debe localizarse en un lugar específico es el
código del kernel
El subdirectorio
/usr/src/linux (Ejemplo: linux-headers-4.8.0-36)
contiene las fuentes, archivos de encabezado y documentación del
kernel de Linux
/usr/src/linux-headers-4.8.0-36
/var (variable)
El directorio /var
contiene archivos con información variable, esto incluye archivos y
directorios en fila de ejecución, información de bitácora
administrativa y archivos temporales transitorios
El directorio /var
contiene varios archivos con información del sistema, como archivos
de logs, e-mails temporales de los usuarios del sistema, bases de
datos, información almacenada en la caché, ficheros almacenados en
fila a la espera de ejecutarse, como por ejemplo colas de impresión
El directorio /var
se puede decir que actúa como un registro del sistema, ayuda a
encontrar los orígenes de un problema, todos los log del sistema y
los generados por los servicios instalados, se ubican dentro de la
estructura jerárquica de /var, esto quiere decir que el
tamaño global de este directorio va ha crecer constantemente
Archivos
contenidos en /var
El directorio /var
es el directorio padre de otros subdirectorios de
importancia, que son los siguientes:
/var/backups:
Directorio que contiene copias de seguridad de varios archivos de
sistema clave como /etc/shadow, /etc/group, /etc/inetd.conf y
dpkg.status.
/var/cache:
Está destinado a los datos almacenados en caché de las
aplicaciones, estos datos se generan localmente, permanecen válidos
entre las invocaciones de la aplicación y el reinicio del sistema.
La existencia de un directorio independiente para los datos
almacenados en caché permite a los administradores del sistema
establecer diferentes políticas de disco y de copia de seguridad de
otros directorios en /var
/var/crash:
Eventualmente mantendrá descargas de bloqueo del sistema.
Actualmente, los volcados de bloqueo del sistema no son compatibles
con Linux, sin embargo, el desarrollo ya está completo y está a la
espera de la unificación en el kernel de Linux
/var/lib:
Contiene información de estado perteneciente a una aplicación o al
sistema, la información de estado es información que los programas
modifican mientras se ejecutan, estado actual de las aplicaciones,
modificable por las propias aplicaciones
/var/local:
Contiene datos variables para programas locales (es decir,
programas que han sido instalados por el administrador del sistema)
tenemos que tener en cuenta que incluso los programas instalados
localmente deberían usar los otros directorios /var si son
apropiados, por ejemplo, en /var/lock
/var/lock:
Contiene ficheros que se encargan de que un recurso sólo sea usado
por una aplicación determinada que ha pedido su exclusividad, hasta
que ésta lo libere, muchos programas crean un archivo de bloqueo en
/var/lock para indicar que
están utilizando un dispositivo o archivo en particular
/var/log:
Es uno de los subdirectorios más importantes, ya que aquí se guarda
un registro de los
logins y logouts de usuarios normales y procesos del sistema
/var/mail:
Contiene archivos de los correos de los usuarios, tenemos que tener
en cuenta que /var/mail puede ser un enlace simbólico a otro
directorio
/Var/opt:
Contiene archivos de datos variables de los paquetes de programa
almacenados en /opt
/var/run:
Contiene los archivos de identificación de proceso (PID) de los
servicios del sistema y otra información sobre el sistema que es
válida hasta que el sistema se reinicie, por ejemplo, /var/run/utmp
contiene información sobre los usuarios que están actualmente
conectados
/var/spool:
Contiene datos a la espera de ser procesados, por ejemplo, colas de
impresión y correo no leído
/var/tmp:
Contiene archivos temporales que son grandes o que necesitan existir
durante un tiempo más largo de lo que se permite para /tmp
Estructuración del
sistema de archivos según FHS (Filesystem Hierarchy Standard)
http://refspecs.linuxfoundation.org/fhs.shtml
_____________________________
Fuente:
Fuente:
Libro Iniciación a Ubuntu 16.04 http://trastetes.blogspot.com.es/2016/10/libro-iniciacion-ubuntu-1604.html____________________________