Todos tenemos muy claras las diferencias en por qu챕 nos decantamos por usar GNU/Linux. Generalmente por asuntos de estabilidad, seguridad y en muchas menos ocasiones por la filosof챠a que hay detrás. Es así que cuando me preguntan por GNU/Linux, las preguntas de los potenciasles nuevos usuarios, más allá de “detalles” como la seguridad les preocupan cosas que tienen que ver más con la usabilidad diaria del tipo, ¿y voy a poder instalar programas? ¿donde se instalan los programas?, ¿dónde está la carpeta “Archivos de programa”?. Esta situación es mayor problema con un usuario medio de Windows, los que sólo usan accesos directos en el escritorio o en el menú no tienen problemas, al fin y al cabo, cualquier distribución de GNU/Linux tiene un panel o menú donde se puede hacer lo mismo.
De cualquier manera, antes de llegar e instalar una distro, la mayor parte de la gente espera que su GNU/Linux funcione como un “Windows, pero mejor”. Es por eso mismo, por lo que es tan importante tener en cuenta que GNU/Linux, no funciona igual. En ning첬n caso esto debiese desanimar al lector, tenerlo claro ayudar찼 a que la migraci처n sea m찼s f찼cil. B찼sicamente, hay que cambiarse el switch. Mi motto era: “Todo lo que hacía en Windows, puedes hacerlo en GNU/Linux”. Repito, no es una “versión mejorada” de Windows, ni pretende serlo.
El objetivo de esta serie de art챠culos ser찼 pues, intentar abarcar los puntos que me parecen m찼s importantes a tener en consideraci처n al ingresar a las tierras del ping체ino.
Dependencias y librer챠as
Al contrario de las aplicaciones de Windows en que cada aplicación viene con todas las distintas “partes” y funciones del programa para su correcto funcionamiento. En los sistemas Unix-like (como GNU/Linux) cada aplicación depende de la agrupación de muchos “subprogramas” para que funcione. La idea detrás de este estilo (que dicho sea de paso es lo que hizo Unix) es que en vez de un gran programa que realice todo, existan varios programas en los que cada uno sirviera para una cosa, pero que esa cosa la hiciera bien. Y para realizar tareas más complejas, hicieron que estos programas pudieran interactuar entre sí. Estas funciones (o subprogramas) se conocen como librer챠as o bibliotecas. La gracia de esto va en que si ya existe un programa para realizar algo, 쩔para que hacerlo de nuevo?. Esto justamente no pasa en Windows, donde cada programa tiene que venir empacado por completo.
Puede sonar un poco enredado, pero ver찼n que con un ejemplo se aclara todo ;). Vamos a tomar a Evince, un visor de documentos (el que viene por defecto en Gnome), que entre muchas de sus funciones puede visualizar archivos JPEG, para esto necesita entender como interpretar el archivo y graficarlo. Para esto ya existe una librer챠a que lo hace. Adem찼s es visor de PDF, por lo que tambi챕n requiere una librer챠a apropiada para ello. Ahora, supongamos que quiero instalar GIMP, un programa para manipular im찼genes, porque quiero retocar una foto que tengo en formato JPEG. Para realizar esto, GIMP necesita la misma librer챠a que Evince, y como ya la tengo instalada, ambas aplicaciones la comparten (쩔mucho m찼s sano, no?).
쩔Ventajas?
Esto trae consigo varias ventajas, la que me parece m찼s importante, es el tama챰o de las aplicaciones. Las aplicaciones de GNU/Linux son notablemente m찼s livianas, puesto que la mayor챠a de las aplicaciones comparten librer챠as, se ahorra harto espacio en el disco. Rara vez alguna aplicaci처n supera los 100 MB. Por ejemplo, Brasero una aplicaci처n para quemar discos, instalada no supera los 4 MB.
Es as챠, como veremos frecuentemente el t챕rmino de dependencias cuando queramos instalar las distinas aplicaciones. Para nuestra suerte la mayor챠a de las distribuciones vienen con aplicaciones que pueden manejar las dependencias, por lo que tampoco deber챠an causar muchos problemas (llevo usando Ubuntu un buen tiempo y hasta ahora nunca he tenido un problema de ese tipo).
Espero haber aclarado un poco este concepto… manténganse sintonizados, que en la segunda parte voy a escribir sobre lo que me causó mayor dificultad comprender en la migración a GNU/Linux… la estructura de los directorios (tiemblo cuando lo recuerdo).
La 2째 Parte sobre estructuraci처n est찼 disponible aqu챠.
En mi art챠culo anterior, les habl챕 sobre las dependencias en sistemas Unix-like como GNU/Linux. Ahora es el turno de hablar de la estructuraci처n de los directorios. La estructuraci처n es bastante distinta entre cada distribuci처n, pero en general comparten caracter챠sticas en com첬n que son las que voy a mencionar aqu챠. Al contrario de lo que pasa en Windows en que lo más “alto” es el disco duro (por ejemplo C:\) y de ahí cuelgan las distintas carpetas, en el caso de otras unidades, como lectores de CD o pendrives se encuentran “en parelelo” con la unidad C: (como D:, E: y así). En GNU/Linux, todo “cuelga” de lo que se conoce como “raíz”, que se identifica con un slash o “barra” (es decir, “/”). Esto significa que nuestro lector de CD o unidad Flash se encuentran dentro de este mismo directorio raíz. Una diferencia importante a tener en cuenta es que en Windows, para separar directorios (carpetas) se utiliza el backslash (”\”). Por ejemplo: C:\Windows\ Mientras que en GNU/Linux se utiliza el slash: /home/pablo Como pueden ver, en el primer caso, La carpeta Windows está dentro de “C:”, mientras que en el segundo, la carpeta home, s처lo hace referencia al directorio ra챠z (/). Otra cosa a tomar en cuenta que es el “primer nivel”. Es cualquier directorio que se encuentre a un nivel bajo la raíz, por ejemplo /home. Si digo /home/pablo, estoy hablando de “segundo nivel”. En un sistema de archivos de GNU/Linux recién instalado, podemos encontrarnos con una gran cantidad de directorios en la raíz (es decir, de primer nivel). A continuaci처n les indicar챕 para que sirven, pero antes hay que hacer un peque챰o recordatorio. 쩔Recuerdan que en GNU/Linux las funciones se comparten?. Para que pueda funcionar de esta manera, no tendr챠a sentido que cada aplicaci처n tuviera su propio directorio (como ocurre en Windows). Traer챠a demasiados problemas. Para evitar esto, las distintas partes de las aplicaciones de GNU/Linux se encuentran en distintos directorios, es decir, todos los ejecutables en un directorio 쩔c처mo es eso?. Bueno, ahora para entender un poco mejor este concepto les menciono los directorios m찼s comunes. Los protagonistas /bin: En esta carpeta se guardan los archivos ejecutables del sistema que pueden ser ejecutados por cualquier usuario, por ejemplo ls, cd. /boot: Esta es la primera carpeta que se lee cuando inicia el sistema (en algunas ocasiones el kernel tambi챕n se ubica aqu챠), y adem찼s se encuentra la configuraci처n de los gestores de arranque, que son los que permiten escoger que Sistema Operativo se inicia cuando se enciende el equipo. /cd
ResponderEliminarLuego de mucho tiempo de tener esto en borrador, ahora s챠 contin첬o con la serie de art챠culos, en esta ocasi처n me toca contarles acerca de c처mo se lleva a cabo la instalaci처n de aplicaciones en GNU/Linux, para ello necesitamos comentar algunos conceptos: paquetes de software, repositorios y gestores de paquetes. Introducci처n La instalaci처n de aplicaciones debe de ser una de las tareas m찼s comunes de los usuarios, ya sean avanzados o principiantes. Y por mucho que queramos evitarlo en m찼s de alguna ocasi처n (por muy preparado que venga nuestra distro) nos veremos enfrentados a este problema. En los comienzos de GNU/Linux la 첬nica alternativa para instalar programas era la compilaci처n de los programas a partir de su c처digo fuente. Cosa que puede convertirse en algo bastante tedioso y en muchas ocasiones demasiado largo incluso para alguien entendido en la materia. La gran ventaja de esto es la configuraci처n al m찼ximo de las aplicaciones a instalar y por ende, mejoras en el rendimiento. Sin embargo, estas diferencias en el 첬ltimo tiempo con las mejoras del hardware han hecho que estas diferencias sean peque챰as en comparaci처n con el tiempo que toma. Es a ra챠z de este problema que nace el concepto de paquete que simplifica esta tarea. 쩔Qu챕 es un paquete? Un paquete no es m찼s que un conjunto de uno o m찼s archivos que van a servir para la ejecuci처n de una determinada aplicaci처n (o expandir funcionalidades ya existentes). Este concepto puede ser un poco extra챰o para los usuarios de Windows, pero podr챠amos compararlo con un instalador (los .exe o .msi que descargamos para instalar un programa). En GNU/Linux los m찼s populares son los llamados .deb y .rpm (por supuesto existen algunos m찼s, pero no es el objetivo del art챠culo, y para alguien que est챕 reci챕n migrando no le interesar찼n). El primero deriva de Debian que fue la distribuci처n que lo cre처 y el otro por Red Hat (Originalmente acr처nimo de Red Hat Package Manager, actualmente, acr처nimo recursivo de RPM Package Manager). 쩔Y esto en t챕rminos pr찼cticos que significa? Dependiendo de la distribuci처n que elijamos vamos a optar por un sistema de paquetes, si escogemos Ubuntu, utilizaremos paquetes con extensi처n
ResponderEliminar