sábado, 2 de agosto de 2008

Quiero empezar a usar un Sistema Operativo GNU/Linux ¿Qué tengo que saber? (Parte I)

Este artículo y los siguientes estarán dirigidos a usuarios que quieran empezar a usar un sistema GNU/Linux y quieran saber las cosas básicas de estos sistemas, está basado en mi experiencia personal, así que si alguien está en desacuerdo o quiere aportar algo más es libre de hacerlo.

Si acabas de comenzar a usar una distribución GNU/Linux es muy probable que hayas escogido Ubuntu, esto tiene sentido porque es una de las distribuciones de linux más usadas en entornos domésticos y probablemente haya uno o dos amigos o familiares que te la hayan recomendado. Personalmente me parece una buena distribución para empezar porque está ampliamente documentada en internet, si ponemos “ubuntu” en el buscador google, nos aparecerán 89.400.000 páginas que contienen esa palabra, y si marcamos “páginas en español” 3.590.000.

Pero ya hemos hablado de conceptos que no se tienen por qué saber a priori por lo que dejo unos cuantos enlaces a wikipedia, para que se sepa qué es cada cosa (Nota para perezosos: no hace falta leerlos enteros, con las primeras líneas para hacernos una idea es suficiente): Sistema Operativo, kernel o núcleo, GNU, Linux (ver también el apartado de etimología), distribuciones GNU/Linux, Ubuntu. Si te quedas con ganas de más visita las páginas oficiales de cada cosa.

La mayoría de las personas empiezan a usar linux tras muchos años usando el SO de las ventanitas, que todos conocemos, lo que nos produce un esquema mental de cómo funciona ese sistema en concreto, que nada tiene que ver con un sisitema basado en Unix. Para empezar, en linux, no existen las unidades lógicas, porque como se suele decir todo es un fichero. ¿Cómo que todo es un fichero? Tal y como suena, en linux no tenemos una unidad C: para el disco duro, otra D: para el lector de DVD, ni A: para la disquetera. Sonará raro, pero vamos a ver una descripción rápida de cómo está estructurado el sistema, porque bajo mi punto de vista, una de las cosas más importantes a la hora de moverse por un SO es saber las rutas o path donde se encuentran las distintas cosas:

Raiz, root o /: No se me ha colado un símbolo de dividir, en linux, todo, absolutamente todo cuelga de raiz: aplicaciones, usuarios, grupos, discos duros, CD, pen, etc. Por eso cuando desglose los directorios más importantes todos empezarán por /, por ejemplo /home, /dev o /etc.

/bin:Contiene todos los comandos que puede ejecutar un usuario sin permisos de superusuario (podría haber dicho permisos de administrador, pero hay que ir haciendose a la jerga) se explicará en un próximo artículo.

/dev: aquí encontramos todos los ficheros relacionados con los dispositivos hardware o devices, por ejemplo, los discos duros serán los ficheros hda o sda (dependiendo del bus SATA o IDE), hdb para el segundo, etc. Tambiéne están las disqueteras fd, lector de CD cdrom, etc.

/etc: en este directorio se encuentran los ficheros de configuración genéricos de las aplicaciones del sistema y servicios (también llamados demonios).

/home: En este se ubican todos los directorios personales de los usuarios del sistema por defecto. Cuando creamos un usuario, su directorio personal será /home/nombre_usuario (aunque podemos especificar otro) y contendrá todo lo relativo a la configuración personal de las aplicaciones (amule, mozilla firefox, amsn), apariencia del sistema (que es otra aplicación, fondos, ventanas, etc), y todo lo que el usuario quiera. El es el propietario de ese directorio y puede crear, borrar y modificar archivos y carpetas. El path por defecto cuando guardemos algo desde el entorno gráfico como por ejemplo un documento de open office, será este.

/media: Es en el directorio por defecto donde se montan dispositivos de almacenamiento (pen, cdrom, discos extraibles, etc) en Ubuntu. Si insertamos un cdrom podremos acceder a él si vamos a /media/cdrom.

/root: Es el directorio personal del usuario root. Se explicará en el siguiente artículo.

/sbin: Contiene todos los comandos que puede ejecutar el usuario root y los usuarios con permisos de superusuario.

/tmp: aquí se ubican los archivos temporales del sistema. Este se borra cuando reiniciamos el ordenador.

/var: Contiene ficheros útiles para la administración de sistemas, por ejemplo logs o registros del sistema y aplicaciones (/var/log). Por ejemplo si abrimos el fichero /var/log/syslog tendremos gran parte de la secuencia de arranque y podemos ver si ha fallado algo.

Con este primer artículo se pretende dar una visión genérica de un sistema GNU/Linux basado en Debian, en el siguiente artículo veremos usuarios, grupos y ficheros, y formas de crearlos, borrarlos y manipularlos mediante entorno gráfico y consola.

Un Saludo.

¿Por qué existe este blog?

Hace algún tiempo comencé a estudiar informática, esto era algo que tenía que suceder tarde o temprano debido a las innumerables horas que he invertido delante del ordenador. Simultáneamente, empecé a interesarme por ese "oscuro" mundillo llamado software libre integrado por un montón de hackers amantes de la programación que se negaban a usar sistemas operativos y software de naturaleza privada. Siempre me ha sorprendido como proyectos formados por millones de desarrolladores por todo el mundo funcionan tan bien, con lo difícil que resulta en ocasiones llevar proyectos compuestos por siete personas a buen puerto.

Ahora, por fin he conseguido relacionarme profesionalmente con el mundo del GNU y el open-source y este blog surge precisamente como respuesta a eso. Una gran parte de las personas que usan software libre, no participan con este porque piensan que no tienen el conocimiento técnico necesario para hacerlo. Bajo mi punto de vista, pienso que es un concepto erróneo, puesto que para participar en este mundillo no hace falta ser informático profesional ni usuario avanzado puesto que la verdadera naturaleza, y en lo que reside la fuerza de este movimiento es en la libertad y flujo de conocimientos, o lo que es lo mismo, "liberar" los conocimientos que uno tenga sobre cualquier cosa. Así pues si eres filólogo, enseña a la gente una lengua; si eres cocinero, enseña a la gente a cocinar, y si eres informático, enseña a la gente a manejar sus ordenadores. Aunque dicho así suene utópico, el conocimiento científico siempre ha seguido estas directrices, puesto que yo a día de hoy, no conozco a nadie que haya pagado derechos de autor por aplicar las leyes de Newton.

Dicho todo esto, este blog es un homenaje a todas las personas que hacen posible que tenga un sistema GNU corriendo en mi ordenador, y tenga acceso a todo lo que quiera saber sobre el funcionamiento de éste. O dicho de otra manera, este blog es mi contribución, mi pequeño grano de arena a este mundo que tanto me gusta.

Por último, en cuanto al contenido del blog, no hace falta que mencione a estas alturas que estará dedicado al software libre y más concretamente a sistemas GNU/Linux basados en Debian. Procuraré desglosar al máximo los pequeños tutoriales que vaya subiendo, para que las personas que recurran a ellos, consigan lo que se han propuesto y además entiendan lo que están haciendo. Sé que suena un poco vehemente por mi parte decir esto, pero en caso de no comprender algo, siempre se podrá preguntar y contestaré en la medida en la que sea capaz de hacerlo.

Un saludo.