Distribuciones GNU/Linux: Primera parte

26 11 2010

Muchos de vosotros sabréis que es una distribución, y si no, lo repaso: como el sistema operativo GNU/Linux era un sistema operativo de software libre, empresas y comunidades de usuarios lo han modificado creando versiones, a las cuales llamamos distribuciones (distros para los amigos). Cada distribución está orientada al interés de la empresa o de la comunidad, por lo que cada una tiene características propias y se especializa en algo.

Tenemos a nuestra disposición una amplia gama de sistemas operativos con núcleo linux a elegir atendiendo a nuestras necesidades… ¿Pero cuales son dichas distribuciones? Mucha gente ha venido a Linux a través de Ubuntu, y en Ubuntu se quedaron, pero como ya habéis leído, hay un mundo más allá que siempre es interesante conocer, para poder escoger mejor, tener pensamiento crítico y, simplemente, saber más 😉
Para gusto del lector, comentaré algunas de las distros con las que he tenido trato, que casualmente son de las más conocidas. Aviso, claro está, que esto es una pequeña parte de la larga lista de distros, porque por haber, hay centenares 🙂

Lee el resto de esta entrada »





Introducción a Linux(VIII): su y sudo

12 09 2010

En capítulos anteriores comentábamos lo que es el usuario root, equivalente al usuario administrador de un sistema Windows, pero con más poder (muajuajuajuajua)… y, además, existe otra diferencia bastante destacable:
En un sistema windows, para obtener privilegios de administrador tenemos que iniciar sesión como administrador. En cambio, en un sistema Linux (y creo que la mayoría de los sistemas operativos basados en Unix) puedes acceder al usuario root estando logueado en cualquier otro tipo de usuario. Es decir, puedes arrancar el ordenador siendo root, o trabajar como un usuario normal y, cuando sea necesario, loguearte como root. pero… ¿Como lo hacemos?

A nivel gráfico, es algo que no notamos, por eso, lo explicaré primero desde el punto de vista de la terminal:
Su: Si en una terminal escribimos su, y escribimos nuestra contraseña root, en esa terminal estaremos logueados como root. Todo lo que hagamos en esa terminal, lo haremos como usuario root. Para salir de ese modo, basta con escribir exit. Si no recuerdo mal, si trabajamos con KDE, es mejor que nos logueemos como root con el comando su-.
sudo: usado en ubuntu(por ejemplo, no es el único), este comando permite ejecutar el comando que lo sigue( por ejemplo sudo nautilus), como usuario root. En el caso de sudo nautilus, abriría nautilus (el explorador de carpetas) como root. Pero existe una gran diferencia con el comando root en sí, y es que la contraseña que nos pide sudo no es la de root, sino la del usuario que lo usa. Esto trae en consecuencia mayor comodidad pero un descenso de la seguridad, al hacer que la misma contraseña para loguearse como usuario normal sea la de acceder como root.
Existe un archivo, llamado sudoers, que es donde se indica quien puede hacer sudo, además de indicar otra serie de características. El sudo, además, tiene una serie de parámetros como el de cuanto tiempo está activo la validación de sudo, es decir, cuanto tiempo podemos hacer sudo sin tener que volver a escribir la clave.
Dependiendo de la distro, es posible que existan herramientas gráficas para gestionarlo más fácilmente. Si no es así, para modificarlos será necesario hacerlo manualmente.

Una vez visto como funciona por terminal, ahora explicaré como funciona en los programas gráficos: Se hace automáticamente. Es decir, si un programa necesita la contraseña root, nos la pedirá desde el principio en una ventana emergente muy cuca. Si la distro “está basada en sudo”, como Ubuntu, meteremos nuestra clave de usuario. Si no es así, nos pedirá la contraseña root.

En un futuro, espero hacer un tutorial para modificar el comando sudo 😉





Introducción a Linux(VII):El usuario root

19 03 2010

Si lleva un tiempo, mínimo, usando linux, habrás visto este palabro por algún lado. Es más, en la mayoría de las distribuciones te piden ponerle contraseña al usuario root al instalarla. Queda claro que el usuario root es “algo” importante, pero si quieres tener algo más de idea, tan sólo sigue leyendo 😉 :

Linux, al igual que windows, es multiusuario. ¿Qué quiere decir esto? El sistema operativo permite ser accedido desde diferentes usuarios, que llegan a ser como “perfiles” entre los cuales podemos elegir cual usar al iniciar el ordenador. Cada usuario tiene un espacio (vease “home”)donde puede guardar sus archivos y donde se almacena la configuración personal de ciertos programas y además cada usuario tiene una serie de privilegios. De esta forma se consigue una mayor personalización del sistema operativo, una mayor “intimidad” y por supuesto, controlar que puede hacer cada usuario en el sistema operativo.

Todas las distribuciones tiene por obligación un usuario llamado “root”. Al instalar el sistema nos habremos creado nuestro propio usuario, pero además de regalo nos viene el usuario root.

El usuario root es el usuario con todos los privilegios posibles en un sistema Linux. Tiene derecho a cambiar cualquier cosa, ya sean archivos, privilegios de otros usuarios, configuraciones…por eso también se le llama superusuario. Si habéis leído el tutorial sobre los directorios, veréis que el directorio más importante es la raiz. Root significa “raiz”, por lo que podríamos decir que el usuario root puede modificarlo todo ya que es la raiz y de él parte todo el sistema.

El root es el equivalente al usuario administrador en windows, pero en realidad eso no es del todo exacto: en windows el mayor privilegio lo tiene el propio sistema operativo, donde ciertas tareas sólo pueden ser ejecutadas por ciertos programas, de esa forma, el administrador no puede toquetear directamente algo que puede ser altamente peligroso. En cambio, en Linux se ofrece más libertad al administrador otorgándole todos los privilegios. Pero claro, ahora debería hacer mención a la frase “un gran poder conlleva una gran responsabilidad”, ya que si tocamos lo que no debemos… adios.

La contraseña del usuario root debe ser protegida con recelo por el administrador del equipo en cuestión, ya que si alguien te roba la contraseña, puede hacer lo que quiere con el sistema, y eso no mola nada.

Proximamente explicaré las maneras de acceder al usuario root, el comando su y el comando sudo, este último seguramente muy conocido por los usuarios de ubuntu;-)(más bien debería poner una carita enfadada… ¿Por qué? lo sabrán en el próximo episodio:-)).





Introducción a Linux(VI):Los Directorios

10 03 2010

Sí, he vuelto. Sí, muchos de vosotros no os lo esperábais, pero estos días he estado liadillo, y me era imposible pasarme por aquí, pero mientras estaba tramando entradas para el blog, y si todo va bien pronto habrá más actualizaciones, tengo esperanza en ello 😀

En fin, que mejor para mi vuelta que explicar eso que a mucha gente que instala Linux les resulta lioso y les echa para atrás: me refiero a su forma de organizar los contenidos, el árbol de directorios. Primero, debemos entender que los directorios en Linux son a lo que en windows son las “carpetas”. Como su nombre indica, los directorios tienen una estructura en forma de árbol, jerarquizada. Su forma es debido a que está orientado para facilitar el desarrollo de software a los programadores. Tal vez a un usuario normal esto le resulte incómodo, pero con un poquito de comprensión, no es difícil acostumbrarse.

Este arbolito es común en su gran mayoría a todas las distribuciones, pero suele haber alguna diferencia de una a otra, normalmente con directorios “de más”.

A continuación, explico los directorios de uno en uno. Debéis entender que hablo desde lo que yo sé, así que es posible que me equivoque. Si es así y alguien se da cuenta, que me comente la entrada para corregirlo 😉

/->la raiz: si estamos hablando del “árbol de directorios”, es fácil de imaginar en que consiste este directorio. Es la raiz del árbol, del cual surge todos los demás directorios. Podría decir que es lo que equivale a “C:” en windows, pero estaría diciendo una mentira muy fea, más bien sería que equivale a “Mi PC”. Cuando nosotros instalamos la distribución que hayamos elegido, hemos elegimos donde queremos que se instale “/”. Podríamos decir que el lugar (ya sea una partición o un disco duro) donde la raiz se instala es la partición (o disco duro)principal, o propiamente dicho, la raíz. El resto de particiones y discos duros(si los tenemos) se “motan” sobre la raíz, es decir, podemos acceder a ellos como si se trataran de directorios “corrientes” de la raiz. Igual sucede con el lector de discos, los puertos USB, etc. Como podéis ver, esto a un desarrollador de software le hace el trabajo más fácil, ya que si quiere acceder al DVD donde está el programa, no tiene que hacer una “llamada” al dispositivo lector, sino irse tan sólo a un directorio.

bin: aquí está los programitas que ejecutamos con los comandos a traves de la consola, tale como chmod, kill, ls…

boot: aquí se encuentra lo que hace que Linux empiece a funcionar cuando encendemos el ordenador, es más, aquí se encuentra lo que propiamente es “Linux”. Si tenemos GRUB instalado, se guarda aquí también.

dev: archivos de los dispositivos del ordenador, para que estos funcionen y puedan ser usados, como los puertos  USB, el ratón, etc.

etc: archivos de configuración que afecta al sistema operativo en general, y también el de algunos programas en particular, las cuales afectan a todos los usuarios.

home: es en Linux lo que en windows es “Mis Documentos”. Dentro del home habrá un directorio para cada usuario del sistema. Como sucede en windows, aquellos programas que tengan configuraciones diferentes para cada usuario las guarda aquí.

lib: aquí van los módulos del kernel Linux y las librerías necesarias para que funcione los comandos que hay en bin, y para que se pueda iniciar el sistema como root.

mnt: aquí se montan las particiones y discos duros adicionales de forma “temporal”.

root: llega a ser el “home” del usuario root. A él solo puede acceder este u otro usuario con privilegios de root.

sbin: aquí se encuentra los comandos que solo el usuario root, o alguien con sus privilegios, puede usar.

tmp: aquí van los archivos temporales, como los “cookies” de internet.

var: aquí se dejan caer los archivos que suelen varias con frecuencia, como puede ser el archivo histórico del sistema.

opt: directorio que en un principio servía para instalar los programitas y paquetes que no vienen con la distribución, es decir, los que instala el usuario. Pero eso, en un principio, porque ya no lo usa ni Dios, yo lo tengo vacío, por ejemplo.

usr: pues si en opt no van los programas ¿Dónde están? pues aquí, coleguita, junto a librerías compartidas por diversos programas, sus codigos fuentes, etc.

media: aquí se “montan” los dispositivos extraíbles, como los cds, los pendrives, etc.

cd-rom: es en realidad un acceso directo al lector de cds que se montan en “media”, para que sea más rápido y cómodo. No todas las distribuciones lo tienen.

floppy: lo mismo que el anterior, pero “apunta” a un disquete. Imaginaos cuanto se usa hoy en día…

Selinux: un directorio que tiene algunas distribuciones para instalar selinux.

Y hasta aquí puedo leer. Estos llegan a ser los más esenciales, y espero no saltarme ninguno. De todas formas, quiero ampliar la lista, así que esta entrada será proclive a ser actualizada.

Proximamente, explicación del usuario root y que son las particiones y para qué se usan en Linux ;-).

ACTUALIZACIÓN: He modificado algunos subdirectorios que he metido la gamba(sí, lo reconozco, leñe) o no lo he dejado muy claro, aparte de añadir otros que pasé por alto porque no los conocía o porque se me fue la olla totalmente, porque anda que olvidarme de usr…





Introducción a Linux(V):Los inconvenientes

4 01 2010

Ahora que, amigo lector, has leído tantas “Introducciones a Linux”, creo que es hora de explicarte que Linux tiene una serie de inconvenientes… no todo iba a ser de color de rosa ¿no? Inconvenientes que deberás aceptar antes de comenzar tu carrera por el mundo de Linux si no quieres llevarte alguna “sorpresa”.

Los programas para Windows no funcionan en Linux. Lógico, era algo de suponer, al igual que no le funcionaría los de mac os. A la hora de trabajar existen alternativas, y algunas muy buenas, a las que encontramos en windows. Además, algunas aplicaciones existen para los dos sistemas operativos. Pero de todas formas, ciertos programas nos resultarán totalmente necesarios y no habrá alternativa. Solución: existen programas que nos permite usar los de windows, como si fueran emuladores. Ejemplo es Wine(que hacen hincapié de que no es un emulador, jeje). Aunque es una buena herramienta, no funciona con todos los programas, y algunos aunque funcionen, pueden dar fallos.

Tienes que aprender. En windows te lo dan todo masticadito. Aunque en linux ya en las versiones más modernas de las distribuciones se va haciendo todo más fácil, como el no tener que compilar el “código fuente” de los programas  gracias a la instalación por paquetes como son los .deb, es necesario un aprendizaje por parte del usuario si quiere explotar al máximo la capacidad del sistema. Ejemplo de ello es la consola, como ya hablé en otra entrada.

Incompatibilidad: uno de los problemas de haber tantas distribuciones es que existe la posibilidad que lo que funciona bien en una, no lo haga en otra. Ejemplo, Eclipse. Algunas son de fácil solución (en internet hay muuucha información), pero otras nos dará quebraderos de cabeza, y simplemente habrá cierta aplicación que se nos escapa(si alguien consigue que le funcione en Ubuntu theocracy, que me lo diga, por favor 😦 ).

falta de drivers: Esto también le pasa a las versiones más modernas de windows, y es porque el fabricante no le da la gana de renovar los drivers(por que no le resulta viable), de esa forma se da el caso que esa impresora que te compraste en el 2004 y va a las mil maravilla, no te funcione en windows vista, ni en el 7 por consiguiente. Pues esto en Linux se agudiza: Microsoft le paga a las compañías para obtener los drivers, pero… ¿quien tiene que pagar para que los drivers salgan para Linux? pues nadie, porque no hay ninguna empresa “central” que controle todas las distros. El fabricante se debe “solidarizar” y hacer el driver. En ciertos casos será viable, ya que al fin y al cabo los que usan Linux, aunque sean menos, son clientes potenciales. Pero en otros, no verán el negocio. Y ahí te quedas tú con tu impresora… Siempre existe la posibilidad de que alguien halla desarrollador un driver libre, pero no es la mayoría de los casos.

Y creo que estos son los principales inconvenientes que podemos encontrar. Si crees que no eres capaz de dar el paso, mejor que te quedes con lo que estas, que tampoco será tan malo. Pero si decides arriesgarte y seguir adelante, bienvenido seas :D.





Introducción a Linux(IV): Mi amiga la terminal

30 12 2009

Aquellos que vengan de Windows como usuarios(incluso avanzados) nunca habrán tocado la consola, también conocida como terminal o shell(aunque creo que este último término no es correcto). En las primeras versiones de Windows teníamos que ejecutar el programa MS-DOS(no sé exactamente como va, si verdaderamente ejecutaba MS-DOS o se llamaba así porque “era” como MS-DOS) y creo que a partir de Windows XP pasó a llamarse el programa como “Símbolos de sistema”.

Y estoy hablando mucho y a lo mejor alguien no sabe de lo que hablo. Una terminal es una aplicación que nos permite interactuar con el sistema a través de comandos. Si, esas letritas tan feas con un fondo de pantalla negro(bueno, lo de fondo de pantalla negro ya está un poco desfasado;)).

Las distribuciones de GNU/Linux siempre han ido cogidas de la mano con las terminales. Mientras windows desde un principio intentó eliminar por completo el uso de la terminal, las distribuciones GNU/Linux han tomado un camino diferente. Siempre ha tenido muy presente el uso de la terminal, para la instalación, para ciertas aplicaciones… los motivos del porque ha sido así ya son otra historia(porque no era necesario, porque era más difícil, etc).

Entre la evolución de los entornos de escritorio y la decisión de algunas de las distribuciones actuales en hacer las cosas “más fáciles”, se está dejando de lado la necesidad de la terminal.Supuestamente, en Ubuntu por ejemplo no es necesario hacer uso de la terminal.

Entonces, ¿Por qué usar la consola de comandos?

La terminal es una herramienta muy potente. Está el dicho de que todo lo que puedes hacer en el entorno gráfico se puede hacer en la terminal, pero no todo lo que se puede hacer en la terminal se puede hacer en el entorno gráfico. A aquellos que nunca han usado la consola le tienen “miedo”. Está claro que el entorno gráfico es mucho más agradable e instintivo, pero vuelvo a decir que la terminal sigue siendo una herramienta muy potente. La cohesión entre ambas nos da un control verdadero en nuestro sistema.

-Para ver lo que puede hacer la consola, pongamos un ejemplo en Windows, para que vean que ni ahí os libráis de la terminal: cierto virus se metió en mi ordenador y no se podía borrar con el explorer abierto. Entonces ¿Como llego hasta él? pues a través de la consola cerré el explorer, y desde la misma borré el virus en cuestión.

-hay comandos que nos facilitan el uso del entorno gráfico. Por ejemplo, si quiero abrir “gedit” y tengo una consola por ahí abierta,en vez de tener que buscarlo escribo en la consola “gedit” y ¡yatta! U otro ejemplo, si sabemos el nombre de un programa (Scribus en este caso) escribiendo un comando(sudo apt-get install scribus) se nos instalará en nuestro ordenador, y no tenemos que mirar en “El centro de software Ubuntu”. Sucede que para poder hacerlo debemos conocer el comando. John Maeda en su libro “Las leyes de la simplicidad” dice que ciertas cosas se vuelven simples si sabemos lo que tenemos que hacer. En este caso se cumple, ya que conociendo los comandos no nos llevará más de diez segundos escribirlo.

-hay comandos que no sé pueden hacer desde el entorno gráfico, por ejemplo, no conozco ninguna forma de ejecutar el Nautilus (el “explorer” de Gnome) como root 😉

-hay programas que sólo se pueden ejecutar desde la consola, ya que no necesitan un entorno gráfico debido a su simplicidad.

Y eso es todo lo que puedo decir. Ahora mismo estoy viendo la entrada un pocho chufa, y espero que sea sólo imaginaciones mías:(





Eclipse y Ubuntu 9.10

25 12 2009

Estos días estoy un poco escasito con el blog. Para que no caiga en el olvido, se me ocurre una entrada rápida para resolver cierto problemilla que tiene Ubuntu 9.10 cuando instalas Eclipse, por lo menos su versión para desarrollar java(y no creo que en las otras sea diferente):

-¡No instaléis el Eclipse de los repositorios! Por lo menos a mí me resultó inservible, ya que de las cosas que recuerdo que “fallaba”, estaba la que no me reconocía los paquetes, no cargaba los códigos… Mejor os lo descargáis de la página web, que no tiene mayor complicación ya que no hace falta ni instalarlo. Lo colocáis donde queráis, yo por ejemplo no me he complicado y lo he metido en la carpeta personal.

-El Eclipse tiene un problemilla en Ubuntu 9.10 que no tiene con las otras versiones, y es que ciertos botones no funcionan. Esto se soluciona fácilmente con un Script:

Primero, le dais con el botón derecho en el sitio donde queráis crear el Script(en mi caso, en la misma carpeta de Eclipse). Seleccionáis Crear Documento>Archivo Vacío. Ponerlo como nombre Eclipse.sh

Ahora, abrís el archivo y escribid lo siguiente:

#!/bin/sh
export GDK_NATIVE_WINDOWS=1
(Localización del programa que queramos ejecutar, en esta caso Eclipse)

En mi caso, quedaría así:

Ahora tenemos que hacerlo ejecutable, y para que sea más fácil de una forma gráfica: Seleccionamos el archivo con el botón derecho, y luego hacemos click en propiedades. En la pestaña Permisos marcamos la casilla Permitir ejecutar el archivo como un programa.

¡Ya está! Ahora a través de ese Script podemos abrir el Eclipse sin preocuparnos con los botones. Si es cierto que sigue dando problemas (por lo menos a mí) como que a veces no me deja escribir, pero al menos son menos incómodos que el de los botoncitos.

He pecado con el principio de la facilidad, ya que tendría que explicar como va lo de las rutas(entrada que tengo pensada hacer), como hacerse lanzadores(conocidos en Windows como “accesos directos”) y demás, pero debéis disculparme porque estoy un poco… mal(las cenas de noche buena han hecho estragos en mi cuerpo…) pero no os preocupéis porque cuando pueda intentaré explicarlo;)