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;)





introducción a Linux(III):El único Linux no es Ubuntu

20 12 2009

Esta entrada la tenía pensada para un futuro, y Malcer se me ha vuelto a adelantar, y si hace caso de los comentarios, también con lo de Creative Commons, jo…;)

Le voy a secundar con esta entrada: Yo soy usuario de Ubuntu, ea, ya lo he dicho. Conocí a Ubuntu a través de un colega, lo instalé y me gustó. Me pareció una distribución fácil y sencilla, pero mi intención ras probar otras distros. Está el problema de que soy un vago redomado y ya me he acostumbrado a Ubuntu y paso de instalar otro mientras me vaya bien, todo hay que decirlo 😛

Con esta entrada quiero avisar a todo aquel novato(y no tan novato, como vais a ver) que vea esto que Ubuntu no es el único Linux. No es la única, ni la última, ni la mejor «versión» de Linux.

No es la única: Mucha gente nombra Ubuntu y no lo relacionan con Linux. En mi facultad, la de informática de Sevilla, he conocido a gente que no sabían que Ubuntu era una distribución de Linux, creían que era un sistema operativo aparte. Pues no, ubuntu es una distro cono otras, que hay a puñados, cada una con sus características. Por haber, hay una de cristianosxD.

No es la última: En mi facultad había gente(digo había porque ya les corregí su error;)) pensaban que Ubuntu era lo que windows 7 es a Windows: el último Linux, y algunos incluso me dijeron que la pelúltima era Debian, por eso de que Ubuntu estaba basada en ella. Linux está en continuo crecimiento, y Ubuntu no es la última distribución que se ha hecho, la más avanzada. Cada distro va sacando sus versiones según creen conveniente y puedan. O sencillamente no es necesario: ciertas distros cumplen lo que tienen que cumplir y no es necesario mejorarlo.

No es la mejor: Cada distribución de Linux tiene su «cosa». Ubuntu es fácil, simple y todo eso, tiene características buenas, pero carece de características de otras distros. Por ejemplo, según tengo entendido la distribución Gentoo es una distro la mar de estable, que le puedes hacer virguerías hasta la saciedad y seguirá funcionando (como funcione ya es otra cosa :P). Pero yo el mismo día que instalé Ubuntu trasteé lo que no hay que  trastear y me lo cargué… Además, esa gran ventaja que tiene Ubuntu, los paquetes deb, lo hereda de Debian, no es propia. Cada distribución está destinada a un tipo de trabajo. Ubuntu junto a otras cumplen su cometido para los usuarios, pero como servidor…malo.

Entre canonical con sus intenciones de desbancar a todas las demás distros y que la gente que es usuario de Ubuntu, en vez de decir «¡Usa Linux!», dicen «¡usa Ubuntu!», es normal que la gente crea esto. Pero ya, lo que habéis leído esto, sabéis como va la cosa. Si no usáis linux y os decidís a usar Ubuntu, bien, pero recordar que existen otras alternativas y que no es la única, la última ni la mejor.





Introducción a Linux(II) y al software libre

7 12 2009

Para entender Linux, hay que saber lo que significa software libre. Como Linux no es el único software libre, he alargado el título de la entrada para que se entienda que aquí se va a habar de algo más general que Linux.

Software libre

Para empezar, debemos saber que el ordenador trabaja con «cero» y «unos». En realidad, los ceros y los unos son una forma de representarlo para que podamos entenderlo mejor. Si tú abres un disco duro y con un microscopio miras su superficie, no vas a ver un cero y un uno pintados. Pero eso es algo más largo de explicar, tal vez para una entrada próxima. Por ahora, quedémonos con que el ordenador trabaja con ceros y unos. Cada uno de estos ceros y unos es un «bit»(la unidad mínima con la que trabaja un ordenador) y si agrupamos ocho bits sale un «byte». Cojamos cualquier programa que tengamos y si miramos sus propiedades veremos por cuantos bytes esta formado… ¡ por muchísimos! y algunos videojuegos actuales superan los seis gigabytes…

Si un programador al hacer sus aplicaciones debe ir escribiendo ceros y unos, y además, saberse todas las combinaciones posibles, aparte de volverse loco, es humanamente imposible. Por eso, se crearon los lenguajes de programación. Existen diversos lenguajes de programación(C, java, python, perl…) y de diversos tipos, uno más cercanos al lenguaje que usa la «máquina» y otros más parecidos al nuestro. De esa forma, se facilita mucho el trabajo, aunque sigue siendo complicado y para grandes programas(como los videojuegos) se necesita años de trabajo y un equipo de desarrollo dedicado a ello.

Estos lenguajes, a través de unos programas llamados «compiladores» se traducen al que entiende el ordenador. En realidad, existe diversos «pasos» intermedios de traducción, pero dejémoslo así. Cuando yo desarrollo un programa, escribo un documento de texto basándome en las reglas del lenguaje que esté usando. Ese documento se llama código fuente. Una vez compilado el código fuente y creado el programa, no se puede obtener este a través de él. Es decir, si yo tengo un programa y quiero modificarlo, pero no tengo el código fuente original, no puedo hacerlo. Hacerlo sin tener el código fuente es un trabajo difícil, arriesgado y no se alcanza mucha modificación, aparte de ser ilegal en muchos casos(los «cracks» de los videojuegos, por ejemplo).

Existen dos tipos de software: el software privativo y el software libre. El primero, es aquel que al distribuirse(ya sea gratuitamente o con ánimo de lucro) no distribuye a su vez el código fuente. El segundo, si te permite acceder al código fuente.

Linux es software libre, ya que puedes obtener código fuente sin problemas, así como la mayoría de las aplicaciones de los sistemas operativos a los que pertenece.

El software libre suele ser gratuito, aunque existen algunos programas(como la distribución Red Hat, si no me equivoco) que cobran por las actualizaciones y el soporte técnico. O porque incluyen software privativo que si es de pago.

Espero que haya sido fácil de entender. Para más información sobre el software libre, visitar este enlace.





Introducción a Linux(I)

6 12 2009

Para empezar, como en esta bitácora (y espero que sea así, y no se me vaya la olla) se va a hablar mucho sobre linux, considero adecuado dar una introducción sobre él. Ya sé que ya hay mucho de internet sobre esto, pero de todas tengo la esperanza de que esto se haga un pequeño hueco y le sirva de ayuda a alguien. Lo que voy a intentar es resumirlo de tal forma para que quien lo lea no necesite ser necesariamente entendido para comprenderlo, que sea una lectura fácil. Y sin más preámbulos, comencemos:

-Linux es un sistema operativo
No. No es un sistema operativo. Lo siento, ya sé que os he roto un mito, pero es así. Linux es en realidad un núcleo (también llamado «kernel», que significa núcleo en inglés) para sistemas operativos. El cerebro, el corazón, las entrañas del sistema operativo. Para que nos entendamos, imaginémonos una biblioteca de una empresa. Las estanterías con los libros son el hardware (el procesador, la memoria…) y el bibliotecario es el núcleo, en este caso Linux. Las personas que entran a la biblioteca (aplicaciones) necesitan hacer uso de los libros para llevar a cabo sus trabajos(hacer uso del hardware). Estas personas, a través del bibliotecario, consiguen lo que buscan. Les resulta más fácil hacer su trabajo ya que el bibliotecario sabe donde se encuentra los libros y ellos no tienen porque conocerse entera la biblioteca para conseguirlos. Por otro lado, si varias personas necesitan el uso del mismo libro, el bibliotecario se encarga de controlar el tiempo de uso individual del libro según la necesidad de cada uno, y de esa forma todos puedan realizar su trabajo. Traduciéndolo a términos informáticos, el núcleo de encargar de facilitar el acceso seguro de las aplicaciones al hardware, y de gestionar el uso de este según las necesidades de cada programa.

Por supuesto, el núcleo solo no hace nada. Se encarga de que las aplicaciones puedan llevar a cabo su cometido, pero claro, para ello debe haber aplicaciones. El conjunto formado por el núcleo, las aplicaciones, las librerías(no es un símil;))… forman el sistema operativo.

El primer sistema operativo que usó como núcleo linux fue GNU/Linux. Fue llamado así ya que se juntaba las aplicaciones y librerías del proyecto GNU junto al núcleo Linux. Por comodidad se le llama directamente al sistema operativo «Linux», pero como ya veis, es un término erróneo.

Una de las grandes ventajas del sistema operativo GNU/Linux es que se puede modificar dando lugar a diversos sistemas operativos derivados llamados «distribuciones»(también conocidos coloquialmente como «distros»). Cada una de estas distribuciones traen aplicaciones nuevas que ayudan a los usuarios a llevar a cabo su trabajo. Normalmente, cada distribución se hace orientada a un grupo específico de usuarios. Es decir, existen distribuciones dedicadas al trabajo de oficina, dedicadas a desarrollo de aplicaciones, a gestión, a usos doméstico… creando así una amplia gama de sistemas operativos a elegir según tus necesidades. Ejemplos de distribuciones son Ubuntu, Mandrake, Suse, Fedora, Gentoo, Debian, Linex, Guadalinex,Red Hat… la que estoy usando yo es Ubuntu, actualmente la versión 9.10, por su facilidad de uso. Mi intención es probar más tarde otras distribuciones, pero prefiero aprender antes lo básico del linux desde la facilidad de Ubuntu.

Pero…¿Cómo es posible que haya tantas distribuciones? Eso es porque GNU/Linux es software libre… una historia que dejaré para la próxima entrada.