13 de Octubre de 2008

Compartir

Desde esta página puedes compartir Linux fácil (III): Organización de los directorios en GNU/Linux con otros usuarios en internet a través de los siguientes servicios.
Compartir página en...
Mayo
17

Linux fácil (III): Organización de los directorios en GNU/Linux

Categorías: 

Hoy damos el último pasito antes de hacer la instalación definitiva, tras haber hecho una temporal y haber conocido cómo funcionan los sistemas de archivos disponibles en Linux. Vamos a ver cómo se distribuyen los directorios en este sistema operativo, ya que la organización difiere bastante de cómo se realiza en Windows.

En Windows generalmente tenemos tres carpetas básicas, Windows, Archivos de programa (Program Files en Vista) y Document and Settings, aparte de un directorio Temp precisamente para almacenamiento temporal de archivos y que es el único que repite en Linux tal cual. En C:\Windows se almacena todo lo que tiene que ver con el sistema operativo, como librerías (en otra entrega explicaré lo que son por si no lo sabéis), programas del propio Windows (el explorador de archivos, por ejemplo), algunas imágenes u otros recursos varios (como sonidos, iconos...), etc. En Archivos de Programa, como bien sabéis, se instalan las aplicaciones por defecto, aunque siempre se puede cambiar.

Finalmente tenemos Document and Settings. Me la llevo a otro párrafo porque tiene su importancia. Aunque normalmente, si no te metes a tocar nada por ahí, crees que ahí están únicamente las distintas carpetas de "Mis Documentos" de todos los usuarios que tengan una cuenta en ese PC, en realidad se guarda algo más, la configuración particular de cada usuario. Por ejemplo, si tenéis un fondo de escritorio propio, ahí se guarda. Si tenéis el menú inicio ordenado de manera diferente o los accesos no son los mismos, ahí también está. Si vuestros favoritos del navegador son diferentes, es ahí donde están almacenados. Y así con cualquier programa.

Pues en Linux el equivalente a esa carpeta es "/home". Por ejemplo, tus datos en Windows estarían en "C:\Document and Settings\nombredeusuario", en Linux sería "/home/nombredeusuario". Si no lo habéis notado, una diferencia básica entre Windows y Linux es que la barrita es la opuesta, en Windows es "\" y en Linux "/". Ah, y todo lo que cuente aquí se aplica también a Unix en general, por si queréis simplemente tener algo de cultura general sobre un sistema operativo tan importante en la historia de los ordenadores.

Otra cuestión fundamental es ese "C:\" que no aparece en Linux. Como ya expliqué, en Unix hay un único directorio raíz, representado por "/" en vez de un "C:\" o lo que se tercie, y de ese punto penden el resto de carpetas. En Windows digamos que tenemos tantos arbolicos de directorios como unidades haya conectadas, hay un "D:\" para el DVD, un "E:\" cuando conectas una memoria flash, un "LOQUESEA:\" si tenemos otra partición, etc. Una cosilla que no sé si tiene que ver, la carpeta Mis Documentos se puede cambiar de partición tranquilamente, lo recomiendo para que os creéis una partición exclusivamente con datos (música, imágenes, trabajos y demás).

Esta diferencia que parece tan leve, es la verdaderamente relevante más que dónde está cada archivo. A Linux le da igual que /home esté en un disco duro distinto que la raíz. Si tú indicas que dicho disco duro se monte en /home, ahí aparece como una carpeta normal y corriente, no hace distinción ninguna. Así que puedes poner cada carpeta en una partición diferente sin ningún problema, de hecho hay gente que lo hace así con las que se encuentran en la raíz. Yo realmente no porque me parece demasiada división de la que no voy a sacar provecho, aunque esto ya lo veremos la semana que viene.

La mayor medida de seguridad de Linux de la que carece Windows es que un usuario normal sólo puede tocar su directorio /home/nombredeusuario o, como máximo, el directorio /home/ en general (depende de la configuración). No tiene permiso para cambiar nada de ninguna otra carpeta, aunque sí puede leer muchos de sus archivos (no todos, como pueden ser los de contraseñas, que a su vez están codificados la mayoría de veces). No es del todo cierto que Windows permita tocar libremente todo, se puede establecer un usuario administrador y limitar los accesos, pero eso no se hace nunca en los ordenadores de casa, que es de lo que estoy hablando ahora. En Linux el usuario administrador, llamado "root", existe por defecto.

Bueno, voy a meterme ya con los directorios de Linux, para que veáis para qué sirve cada uno por orden alfabético. No voy a nombrar todos las existentes, sólo las más relevantes o las que tendréis que manejar en algún momento. Como siempre, trato de simplificar las explicaciones, así que igual digo algo que no es del todo correcto si nos ponemos estrictos.

  • /bin/ - Aquí se encuentran los comandos básicos. Si habéis usado MS-DOS alguna vez, comandos como "copy" o "dir" están aquí, aunque con nombre algo distinto.
  • /boot/ - En esta carpeta se guardan archivos fundamentales para arrancar el sistema operativo. Ésta si viene a ser recomendable tenerla en otra partición, ya que si también tenemos Windows, es aquí donde se encuentra el programilla llamado "Grub" que sale cuando encendemos el ordenador y nos permite elegir entre un sistema operativo u otro, así que si tenemos que reinstalar Linux por algún motivo al colocarla en otro sitio no perdemos nada.
  • /dev/ - En esta carpeta están los dispositivos conectados al ordenador como si fueran ficheros. Por ejemplo, si tienes un disco duro SATA, está en /dev/sda. Cada partición sería un fichero dentro de /dev/sda, numeradas como /dev/sdaX. La tarjeta gráfica, la tarjeta de sonido, los puertos USB, incluso la memoria RAM, todo aparece en este lugar como si fueran ficheros normales. Es una forma bastante diferente de acceder a ellos, claro está, respecto a como lo vemos en Windows, pero porque se muestra explícitamente, cosa que en Windows no ocurre. En realidad, nosotros no tenemos que tocar nada de aquí, aunque se pueden hacer algunas cosas curiosas (a la par que absurdas) como redireccionar el disco duro a la tarjeta de sonido y escucharlo (en realidad, lo que salga, si suena algo, es ruido totalmente aleatorio, ya que depende de los bits que se estén manejando en el disco duro).
  • /etc/ - Guarda ficheros de configuración del sistema operativo y los distintos programas a nivel general, no particular de un usuario.
    • /etc/opt/ - Ficheros de configuración de los programas instalados en /opt. Si no hay nada instalado en /opt, en este sitio tampoco.
    • /etc/X11/ - Ficheros de configuración para el sistema de ventanas, si tenéis mala suerte con los drivers de la tarjeta de vídeo tendréis que entrar por narices.
    • /etc/apt/ - Ficheros de configuración del sistema de descarga de programas de Debian (Ubuntu, Kubuntu,...). Otras distribuciones utilizan otros sistemas y por tanto usan otras carpetas.
  • /home/ - Ya he explicado lo que era. 
  • /lib/ - Librerías esenciales usadas por los programas que se encuentran en /bin/ y /sbin/ y por el núcleo del sistema.
  • /mnt/ - Carpeta que se usa para montar discos duros u otras unidades como el DVD.
  • /media/ - Tiene la misma función que la anterior. Cuál se usa y cómo depende de la distribución y se puede pasar de ellas si se quiere montar en otro sitio (esto está indicado en el fichero "/etc/fstab"). (K)Ubuntu monta en /media/ automáticamente todas las unidades de almacenamiento que están conectadas al ordenador, aunque sea una memoria flash que posteriormente se va a quitar.
  • /opt/ - Aplicaciones que se instalan con vocación de estar únicamente en el ordenador concreto donde se introducen. Cuando veáis el directorio /usr entenderéis a qué me refiero.
  • /proc/ - Mantiene información sobre las aplicaciones que se están ejecutando, identificadas por su número único llamado PID. Sería interesante estudiarla si queréis programar en Linux pero es de lo último que tocaréis como usuarios normales.
  • /root/ - Digamos que es como la carpeta home del usuario root, sólo que se mantiene aparte.
  • /sbin/ - Comandos/programas binarios de administración de sistema.
  • /tmp/ - Ficheros temporales, similar a la carpeta Temp de Windows.
  • /srv/ - Directorio utilizado por los servidores que tengamos instalados en el ordenador. En principio en este lugar no habrá nada, salvo que instaléis algún servidor en vuestro ordenador.
  • /sys/ - Contiene información sobre los dispositivos conectados al ordenador.
  • /usr/ -  Aunque parezca la contracción de la palabra usuario, son las siglas de Unix System Resources o Recursos del Sistema Unix. Se utiliza para instalar aplicaciones de terceros y puede ser compartido por varios equipos en red. No contiene información de configuración de ningún ordenador específico, para eso está /etc, por tanto se considera que su contenido es estático (no cambia, como mucho se borra al desinstalar).
    • /usr/bin/ - Los ejecutables de casi todas las aplicaciones instaladas en /usr.
    • /usr/games/ - Ejecutables de los juegos, porque sí, en Linux hay juegos.
    • /usr/lib/ - Librerías compartidas que utilizan las aplicaciones instaladas en /usr.
    • /usr/share/ - Recursos compartidos por las aplicaciones de /usr como imágenes, textos, etc.
    • /usr/src/ - Códigos fuente (el código con el que se escriben los programas). Por estos lares hallaréis el código fuente del núcleo de Linux, ni más ni menos, pero es opcional su uso.
    • /usr/local/ - Un tercer nivel de jerarquía que lo llaman, en este caso sí hay información específica del equipo local donde se encuentra, aunque replica la organización de carpetas de /usr.
  • /var/ - Al contrario que /usr, en /var los ficheros sí que cambian. Encontramos logs (registros de lo que hace un programa), algunas librerías, y otros archivos más que se pueden resumir en ficheros variables que emplean los diferentes programas. Los directorios que utiliza son en su mayoría opcionales.
    • /var/backups/ - Distintas copias de seguridad.
    • /var/caché/ - Caché del sistema, si queréis saber qué es una caché un día os lo cuento, sólo tenéis que preguntar. Es bastante interesante.
    • /var/crash/ - Depósito de información referente a caidas del sistema.
    • /var/games/ - Datos variables de aplicaciones para juegos.
    • /var/lib/ - Información de estado variable. Algunos servidores como MySQL y    PostgreSQL almacenan sus bases de datos en directorios subordinados de éste.
    • /var/log/ - Ficheros y directorios de registro del sistema (logs).
    • /var/mail/ - Buzones de correo de usuarios, aunque no tiene el uso que podáis pensar para guardar aquí correo electrónico, es otra cuestión de Unix en la que no voy a entrar.
    • /var/opt/ - Datos variables de /opt.
    • /var/tmp/ - Ficheros temporales preservados entre reinicios, los de /tmp pueden ser borrados al apagar el ordenador.

Un par de apuntes adicionales. Las carpetas ocultas en Linux llevan un "." delante del nombre, en lugar de ser un atributo que se guarda con los metadatos como en Windows (aquel que siguiera la última entra sobre sistemas de archivos sabrá qué son los metadatos Razz). En vuestro directorio principal tenéis un montón de carpetas ocultas donde se guarda la configuración de los programas. Como curiosidad, en Windows la carpeta es C:\Documents and Settings\nombredeusuario\Datos del programa y también está oculta por defecto.

El segundo apunte que quería hacer es que en Linux los nombres de archivos y directorios son sensibles a las mayúsculas, así que no es lo mismo Documento.txt que documento.txt, cosa que no ocurre en Windows. Es importante que lo tengáis en cuenta, sobre todo si usáis la consola para algo.

Ale, la semana que viene, ya os diré cómo instalar Linux haciendo particiones. Tengo la sensación de que me dejo algo, igual luego edito, pero creo que es todo por el momento.

5
Valoración media: 5 (1 voto)