Posts tagged ‘Linux’

Estructura de directorios en Linux

En esta entrada vamos a intentar explicar un poco la estructura de directorios en Linux, concretamente la que se define en el FHS (Filesystem Hierarchy Standar) que es un estándar definido por un grupo de organizaciones (entre ellas empresas como HP, Red Hat o IBM). Eso sí, luego cada distribución es un mundo, y los estándares no se siguen al 100%.

Si listamos el contenido del directorio raiz en nuestro Linux (mediante cd / nos situamos en el raiz y con ls hacemos el listado) veremos algo similar (en este caso es mi Xubuntu a lo siguiente.

LinuxFHS_1

Los directorios que nos encontramos son los siguientes:

  • bin: Es el directorio en el que encontramos los principales ejecutables del sistema.
  • sbin: Contiene ejecutables reservados al superusuario.
  • boot: El directorio boot contiene los elementos necesarios para el arranque del sistema.
  • dev: En Linux los dispositivos como particiones de discos duros, modems, terminales y demás se representan como un fichero. El directorio dev continene dichos elementos (devices en inglés).
  • etc: Este directorio contiene la configuración de nuestro sistema.
  • home: Dentro de este directorio se encuentran los directorios de los distintos usuarios del sistema. Es algo similar al Documents and Settings de los sistemas Windows.
  • lib: En este directorio se encuentran librerías de uso común por distintas aplicaciones como los ejecutables de bin y sbin.
  • media: En media se suelen montar los elementos no permanentes tales como memorias usb o cdroms. Este es un directorio de relativamente uso reciente, aunque yo las distribuciones que uso ya lo utilizan.
  • mnt: Este directorio antiguamente se utilizaba para montar casi todo. Hoy en días según el FHS se debe utilizar para montajes temporales por parte del administrador.
  • opt: En este directorio se debería instalar el software de terceras partes. Sería algo similar al “Archivos de Programa” o “Program Files” de Windows.
  • proc: Este es un directorio virtual en el que el núcleo y otros procesos muestran su estado. Por ejemplo el archivo uptime mantiene el tiempo que lleva en funcionamiento el sistema.
  • root: Es el directorio personal del superusuario.
  • srv: En srv según el estandar se deberían situar los ficheros que sirve nuestro sistema (a través de un servidor web o ftp por ejemplo). Sin embargo no está demasiado difundido su uso.
  • sys: Otro directorio virtual que es utilizado por los elementos conectados al sistema, como los elementos Plug and Play.
  • tmp: Es el directorio de uso temporal del sistema.
  • usr: Este directorio es toda una estructura de directorios estáticos (no varían) que contiene tanto software como otros recursos. Podría ser compartido entre varios sistemas.
  • var: Otra gran estructura de directorios, aunque contrariamente a usr, la información que se almacena en var es variable, como por ejemplo los logs del sistema.

Como podemos ver, no es una estructura sencilla ni especialmente intuitiva, por lo que no es de extrañar que algunas distribuciones como por ejemplo Gobolinux utilicen una estructura completamente diferente.

24 julio 2009 at 8:24 am Deja un comentario

Linux para niños

Mi hijo (4 años) tiene un usuario (¡se sabe su contraseña y todo!) en el Ubuntu que tengo en casa. Le tengo puesto un fondo de escritorio de su gusto y sabe lanzar GCompriss que es la única aplicación que utiliza. De momento eso es todo, pero él se lo pasa muy bien cuando se pone.

tux-edubuntu

El caso es que como ese Ubuntu es en cierto modo experimental (al menos hasta que consiga desbancar a openSUSE en mis preferencias) estaba buscando una distribución completa para dejarla de manera más estable en una partición pequeña. Y ya puestos lo mejor era buscar una distribución orientada a niños. Aquí os presento un pequeño resumen de mi búsqueda. Las distribuciones con este perfil que he encontrado son:

  • Edubuntu: Amparada por la todopoderosa Ubuntu. Incluye GCompriss y el paquete educativo de KDE (que también tiene muy buena pinta) entre otras (ver lista de aplicaciones). Su instalación parte de un Ubuntu desktop instalado ya que lo que descargaremos será una serie de paquetes y no un sistema entero. Tiene soporte para instalación en un entorno educativo con un servidor y clientes ligeros (LTSP).
  • Foresight Kid’s Edition: Subproyecto de Foresight, una distribución basada en el administrador de paquetes Conary. No falta GCompriss. En el siguiente enlace podemos ver un análisis de Foresight Kid’s Edition (Inglés en inglés).
  • Qimo for kids: Una reciente distribución que se basa también en Ubuntu. Como dicen en su web, se diferencian de Edubuntu en que se instala directamente (no necesita un Ubuntu instalado) y que no busca el soporte de entorno con clientes ligeros.
  • qimo

  • ZenEdu Live: Está en pausa según su web y por tanto no lo considero una opción.
  • Debian Jr.: Es lo que llaman una mezcla de Debian (Debian Pure Blend), es decir un empaquetado especial de Debian dirigido a un sector específico (en este caso los niños). Está en desarrollo pero todavía no tienen imágenes finales por lo que no lo considero todavía una opción.

Como vemos, al final tenemos tres distribuciones a probar. Edubuntu, Qimo y Foresight Kid’s, aunque las pruebas quedarían para una segunda entrada. Si alguien conoce alguna otra distribución que incluir en la lista que me lo haga saber por favor.

24 abril 2009 at 12:04 pm 2 comentarios

Instalando Hudson sobre Tomcat en Ubuntu 8.04

En esta pequeña entrada voy a comentar los retoques que he tenido que hacer para conseguir instalar Hudson sobre Tomcat en mi XUbuntu 8.04 (estoy seguro de que en una Ubuntu es igual).
Hudson

Para empezar me descargué el war de la web de Hudson e instalé Tomcat a través de Synaptic (la versión que instala es la 5.5).

Quería desplegar Hudson a través de la aplicación de manager que viene con Tomcat, por lo que añadí un usuario con rol admin en /etc/tomcat5.5/tomcat-users.xml.

Entré en http://server:8180/manager/html (el puerto 8180 es con el que se ha instalado por defecto) y a través del formulario intenté desplegar el war (en la parte de “deploy” y “select war file to deploy”). Una rápida búsqueda en Google me llevó al problema (Inglés en inglés) y a la solución (Inglésen inglés): añadí al final de /etc/default/tomcat5.5:

TOMCAT5_SECURITY=no

Tras hacer esto (y tras reiniciar Tomcat como tras cada paso) Hudson se desplegó correctamente. Ahora sólo quedaba apuntar mi navegador a http://server:8180/hudson/ y esperar a que Hudson terminara su configuración. Pero de nuevo apareció otro error, en este caso de permisos. La solución estaba en el mismo lugar que la anterior, y esto fue lo que hice:

  • Cree el directorio /home/hudson y le puse de propietario tomcat55:nogroup el usuario con el que corre Tomcat por defecto. Además le di permisos rwxr-xr-x.
  • Edité el script para lanzar Tomcat (/etc/init.d/tomcat5.5) añadiendo en la parte que se define JAVA_OPTS: -DHUDSON_HOME=/home/hudson

Tras el último reinico, ¡por fin se terminó la instalación!. Ya podemos ver la página principal de Hudson.

hudson_3_640

Un poco vacía, pero ya la iremos llenando… ¿verdad?

10 noviembre 2008 at 9:25 pm 5 comentarios

Instalación de un servidor CVS casero

CVS (Concurrent Versions System) es un sistema de control de versiones, algo que no debería ser ajeno a ningún desarrollador.

En mi XUbuntu (todavía necesito las X para alguna cosilla, aunque estoy en proceso de quitarme) voy a instalar un servidor casero de CVS para mis cosillas. Voy a utilizar CVS porque es lo que más domino, aunque pretendo migrar a Subversion o Git más pronto que tarde. Cuando suceda, tendréis el correspondiente tutorial.

Lo primero que he hecho es instalar cvsd (es un recubrimiento a cvs para aumentar algo la seguridad), lo que nos instala cvs como dependencia. Durante la instalación nos pregunta los repositorios que queremos publicar mediante cvsd, aunque esto lo podemos modificar luego en el archivo cvsd.conf (en /etc/cvsd), más concretamente con las líneas que comienzan por Repos.

Para crear un repositorio (lógicamente los que le hemos indicado durante la instalación) utilizamos el comando init de cvs. Explicaros que cvs desde línea de comandos tiene la siguiente estructura:

cvs [cvs-options] cvs-command [command-options] [command-args]

El comando init inicializa un repositorio (lo ejecutaremos como root o mediante sudo). Mediante la opción -d le indicamos la ruta al repositorio.

cvs -d /var/lib/cvsd/tcymu init

Esto crea el repositorio en la ruta especificada, lo que podemos comprobar mirando el contenido de /var/lib/cvsd/tcymu. Observaremos el directorio CVSROOT con contenido propio del servidor CVS.

Ahora añadimos un usuario a nuestro repositorio (de nuevo como root):

cvsd-passwd /var/lib/cvsd/tcymu +tcymu

Nos pide un password, que será el que utilizaremos para entrar posteriormente. Lo almacena (cifrado por supuesto) en /var/lib/cvsd/tcymu/CVSROOT/passwd.

Bien, ya tenemos preparado el CVS. Si tenemos un firewall activado, debemos recordar abrir los puertos correspondientes: 2401 por defecto.

Y ahora y desde línea de comandos (es decir, que así podemos trabajar tanto en Linux como en Windows) podremos identificarnos en CVS mediante el comando:

cvs -d :pserver:user@server:/repository login

Hay que notar que la opción -d sólo es necesaria si no tenemos definida una variable de entorno CVSROOT. Por lo tanto si trabajamos con un único servidor CVS pues lo más cómodo es añadir dicha variable de entorno.

Una vez identificados en CVS el primer paso sería añadir un directorio al CVS, ya que de momento nuestro repositorio está vacío. Creamos un directorio local que albergará nuestro proyecto CVS y dentro de ese directorio ejecutamos:

cvs -d :pserver:user@server:/repository co -l .

Notaremos que se nos ha creado una carpeta CVS que contiene los archivos necesarios para mantener el estado de nuestra imagen del CVS.

Ahora ya podemos empezar a trabajar en nuestro proyecto de la forma habitual. Crearemos archivos, los añadiremos, haremos commit y demás. El trabajo habitual con CVS queda para una entrada futura, aunque no faltan precisamente recursos en la red.

15 octubre 2008 at 7:28 pm Deja un comentario


Mi perfil

View Miguel Orbegozo's profile on LinkedIn

Feedjit

Feeds

Otros…

BlogESfera Directorio de Blogs Hispanos - Agrega tu Blog

Bitacoras.com

Add to Technorati Favorites