Formas de instalar un programa en linux (pequeñas pinceladas)

Bien, esto está orientado más que nada a la gente que es nueva en el mundo linux y solo conoce windows y se trata de una breve descripción de los métodos de instalar programas en linux.

Para quienes conocemos de que va el tema sabemos que es una chorrada, pero para quien nunca lo ha tratado puede ser algo confuso al principio tal y como he comprobado empíricamente con casos concretos.

Sistema de paquetes

Un paquete es un.. paquete. :-), puede ser un programa, una aplicación, una librería, un conjunto de fondos de escritorio o temas del xmms, o incluso pueden ser el código fuente.

En definitiva se trata de un “contenedor” de archivos que que viene en un solo paquete. Al instalarlo cada archivo que contiene es colocado en sus directorios correspondiente. Y al desinstalar el paquete todos los archivos que contenía son borrados del árbol de directorio y se vuelve a poner la configuración como estaba previamente sin el paquete.

Cualquiera de vosotros puede crear un paquete. Supongamos que teneis vuestra práctica de iso de los barquitos o de los chinos con vuestro ejecutable y documentación.

Podeis crear un paquete llamado barquitos.deb por ejemplo que al instalarlo situe los ejecutables en /usr/local/bin por ejemplo, la documentación en /usr/local/doc, y además añada al PATH (sinó lo estaba ya) la ruta /usr/local/bin para poder ejecutarlo desde cualquier sitio.

Así cuando desinstaleis barquitos.deb, todo eso será borrado y el PATH quedará como antes. Y aquí no ha pasado nada.

tenemos 3 formatos de paquetes, rpm, deb y tgz

RPM: lo usan distribuciones como Red-Hat, Mandrake, Suse etc…, sin embargo hay algunos conversores como uno llamado alien que convierte un paquete rpm en uno deb.

DEB: Es el usado por debian y derivados de debian. Knoppix, linex…

tgz: Esto no es mas que un empaquetado con tar y comprimido con gzip. Pero es el formato que se usa en slackware y por lo que he oido tiene herramientas para manejar sus tgz como si fueran rpms o deb, instalar, desinstalar, todas esas cosas.

¿Cual es el mejor?, pues mira no lo se, desconozco las características internas de cada sistema de paquetes. Supongo que a la hora de crearlos habrán diferencias, pero lo desconozco. De hecho todos los paquetes podrían ser compatibles entre si y un usuario podría instalar cualquiera de ellos sinó fuera por un motivo… la diferencia entre distribuciones.

Si pensais un momento en la explicación de paquetes que os he dado vereis que se plantea un problema, y no es por las diferencias entre paquetes, sinó por la diferencia entre distribuciones.

Supongamos que convertirmos un rpm de mandrake a deb y lo queremos instalar en debian. ¿Que puede pasar?

Puede ocurrir que mandrake distribuya sus programas en directorios diferentes que debian por ejemplo, pero lo más importante es que el paquete para mandrake a lo mejor toca unos ficheros de configuración para instalar ese programa que en debian se haga en OTROS ficheros de configuración, con lo cual no estaría bien instalado y daría problemas . EL programa alien intenta arreglar estas diferencias como puede, pero nada automático es perfecto

Incluso en debian podría hacer un rpm -i barquitos.rpm y nada de conversiones, sinó instalar a saco, pero tendriamos los problemas ya comentados.

Es por eso por lo que siempre os debeis de bajar los paquetes para vuestra distribucion.

Por supuesto esto es una regla flexible, Mandrake en sus inicios fue una RedHat modificada, o sea que deriva de RedHat aunque actualmente ya siguen caminos independientes. Eso significa que es más probable que funcione un paquete de redhat en mandrake que en debian. Porque Mandrake y Red Hat son más parecidas en cuanto a organización de directorios y ficheros de configuración que RedHat y debian. De hecho yo he instalado paquetes de redhat en mandrake sin ningún problema.

Pero como digo, si os vais a http://rpmfind.net buscar el paquete para vuestra distribución o sinó lo hay, la distribución más cercana a la vuestra.

Ahora voy a explicar las dos formas que hay de instalar los paquetes:

1. Supongamos que quereis instalar el programa audacity. Os vais a su web o lo buscais por internet y os bajais el paquete audacity-0.98-3.rpm, lo instalais y PIIII!!!! error, os dice que falta el paquete libid3-3.7-13.rpm y el paquete libmad0.rpm

Vais de nuevo a internet y os bajais los dos paquetes que os faltan, intentais instalarlo antes y resulta que el libmad0.rpm necesita el libwxgtk2.2.rpm !!!!! (me lo estoy inventando)

Otra vez a internet a buscar. ¿Veis el coñazo que esto supone?

Lo que quereis instalar puede que necesite instalar 3 paquetes más, pero a lo mejor de esos 3 , 1 necesita 1 paquete más, el segundo necesita 3 paquetes mas ( y estos otros mas) y el tercero ninguno.

Si hay muchos paquetes involucrados podeis comenzar a blasfemar en arameo. 🙂

A esto se les llama dependencias y es un verdadero coñazo.

Su homonimo en windows vendría a ser cuando instalais un juego y os pide el directx 9.0, teneis que instalar el directx 9.0 antes que el juego. El juego “depende” del “paquete” directx 9.0

Estareis pensando, pues que mierda el linux ese.

Tranquilos, muchos recien llegados lo desconocen, pero hay herramientas que son de uso habitual y por defecto en las distribuciones desde hace siglos que resuelven estas cosas.

Y pasamos al punto 2, que es instalar un paquete y que algo te resuelva las dependencias automaticamente.

2. Con ejemplos lo vereis mucho mejor.

Debian:

yo tecleo, apt-get install audacity.deb, y me instalará audacity.deb, y todos los paquetes necesarios automáticamente.

Mandrake:

urpmi audacity.rpm

Son herramientas de consola, pero también tienen interficies gráficas, con menús y demás que muestras la descripción del paquete y toda una serie de información en ventanitas.

Para el apt-get teneis varios como el synaptic u otros, mandrake tiene el suyo propio llamado instalador de software, para los rpm en general está el gnomerpm… etc

Para debian, redhat y mandrake está el llamado red-carpet de la compañia ximian, cuyo dueño es o era el Icaza (el pez gordo de gnome) y que ahora ha sido comprada por Novell. Es totalmente gráfica y muy mona.

Bien ahora paso a explicar que son los repositorios. Estas herramientas permiten añadir “fuentes” desde internet.

Me explico, debian son 7 CDs llenos de programas. Pero yo puedo añadirle muy facilmente sitios de internet. Ejemplo, los updates y parches de seguridad de debian no se bajan a mano, se añade el repositorio oficial de debian (apt-setup) de uno de los muchos servidores que hay sueltos por el mundo, y a partir de entonces cuando yo quiera actualizar algo con un simple apt-get update (para actualizar la base de datos y mirar si hay algo nuevo) y un apt-get upgrade ya tengo actualizado el sistema automáticamente y de manera trasparente.

Tambien puedo añadir otros repositorios. Por ejemplo, si añado el repositorio de KDE (kde.org), yo puedo instalar la ultima versión de kde y ir actualizandola automaticamente. Se bajará todos los paquetes y los instalará el solo resolviendo las dependencias. Si algún paquet necesario esté en los CDs, estupendo, los cogerá del CD, y sinó, de lo descargará de internet el solo y lo instalará sin preocuparos de nada.

Tambien puedo añadir repositorios de desconocidos :-), hay mucha gente que se dedica a bajar el código fuente, compilarlo, meterlo en un paquete y ponerlo en un servidor. Así que por ejemplo podeis instalar mldonkey automáticamente desde un repositorio no oficial que haya puesto algún individuo. Por supuesto no es muy “fiable” ya que ¿quien te dice que ese individuo no le ha metido algo malo?, por supuesto no suele ocurrir porque siempre hay algún desconfiado que se dedica a comprovar si el paquete de ese desconocido lleva algo raro o no.

Pero desde luego si quereis seguridad, bajar solo los oficiales para vuestra distribución, kde de kde.org no es oficial, pero puedes confiar que los desarrolladores de KDE no te van a poner nada malo en la página oficial de kde.

De hecho hay métodos para comprobar con firma digital si ese paquete es realmente el verdaderode kde o de debian o incluso del individuo desconocido que te lo ofrece, así evitas el problema de que alguien ponga un paquete infiltrado haciendolo pasar por el verdadero.

Ahora, para un ordenador casero no solemos hacer esas cosas 🙂

Ejemplos prácticos.

Debian:

Quiero instalar xmule (un clon de lmule) que está bajo licencia libre y no viene en los CDs oficiales de debian ni en los repositorios oficiales de debian.

Me voy a la web www.apt-get.org, pongo a buscar xmule, y me saldrán todos los repositorios que me ofrecen el programa xmule, encontrareis para stable, testing y unstable.

Añado el repositorio , y solo tengo que hacer:

apt-get install xmule

Y ya está instalado y puesto en el menu, y sin reiniciar!!!

Imaginar que quiero otro programa, por ejemplo el mldonkey. Pues a lo mejor ya está en el repositorio del xmule. Lo pongo a buscar y si sale es que ya lo tenemos. apt-cache search mldonkey

No hace falta un repositorio para cada programa. Hay repositorios que tienen el xmule, el mdonkey y 2000 programas mas, así que con solo añadir ese ya nos vale.

Mandrake:

En mandrake funciona exactamente igual. Pero de paquetes no oficiales solo hay 3 o 4, generalmente con los llamados plf, contrib y texstar añadidos teneis acceso a algo asi como 8 GB de programas 🙂

Una vez añadidos (incluso se pueden añadir con un asistente gráfico), abris vuestro instalador de programa, poneis a buscar xmule, os saldrá una descripción y tamaño marcais la casilla, le dais a aceptar…

Y ya lo teneis descargado instalado y puesto en el menu Y SIN REINICIAR!!!

o incluso en la consola con un simple urpmi xmule

Red Carpet: Esta utilidad está sinó recuerdo mal para debian, mandrake, redhat y otras.

Una vez instalada (es un paquete sin dependencias 🙂 ) ejecutais el programa, y el solo eligirá los repositorios y os recomendará actualizaciones y demás cosas. Por supuesto los repositorios los elige el y son solo o eran solo los oficiales.

Pero si os gustan las cosas gráficas y asquerosamente sencillas probarlo, también resuelve las dependencias y tiene un aspecto gráfico mu pofesional y mono. Por supuesto es sofware libre.

El sistema de paquetes es el estandar para instalar cosas en linux

En comodidad respecto a la instalación de cosas y actualización yo recomendaría una debian o derivada de debian, o una mandrake.

Pero lo bueno del software libre es que en realidad lo mismo da. Porque existe el apt-get para paquetes rpm, porque redhat incluye un programa de actualizaciones automáticas, porque red-carpet está para todos.

Pero no solo eso, resulta que los FreeBSD y demás que desconozco tienen sus propias herramientas que nos solucionan las dependencias de manera igual de fácil.

Así que como siempre, la variedad es lo que da el poder. Y lo que marea a los nuevos. 🙂

Lo complicado es explicaros la variedad, no instalar cosas en si.

No teneis que memorizar las diversas maneras de hacerlo, teneis que comprender como va una forma y entendereis el resto porque la idea es la misma. Lo cual elimina el problema de tener tantas distribuciones de linux. Al fin y al cabo, en realidad, todo es lo mismo en el fondo.

Manera windows

Bien, pues resulta que también existe la manera clásica de pinchar encima del setup.

Ejemplos de ello son el openoffice, el quake3, el simcity 3000, los sims y un largo etc.

Esos programas tienen un “ejecutable” llamado setup o install, el cual lo ejecutas y se instala de igual forma que en windows. Una vez instalado, en el mismo directorio donde lo habeis instalado pordeis encontraros con el típico uninstall.

El openoffice por ejemplo como root descomprimis en un directorio temporal, ejecutais install, y luego cada usuario ejecuta setup y ya está.

Quake3 solo teneis que teclear, sh setup.sh y os aparecerá el instalador gráfico. O si teneis en el administrador de archivos asociado los *sh a sh, con pinchar encima ya está.

Normalmente este método lo usan los juegos principalmente.

El equivalente al zip que en windows descomprimes en un directorio y ejecutas el programa.

Este método no sabía como llamarlo 🙂

Es el ejemplo de AMSN, el clon del msn messenger. Viene comprimido en un tgz.

Descomprimir, desempaquetais… a ver, para los de windows, con el kde abris el administrador de archivos, botón derecho encima del tgz y elegis “extraer aquí”, ¿no os resulta familiar este método? 🙂

Se descomprimirá en un directorio, vamos como vuestro conocido winzip. Pues ya teneis el programa, ahora os meteis dentro y con un simple ./amsn ya lo teneis. Os lo poneis en vuestro escritorio con un icono y ya ta.

Al igual que en windows este sistema de instalación no te deja ninguna entrada en los menues.

Bajarse las fuentes y compilar un programa

En realidad aunque los usuarios normales no lo usan, en windows también se puede hacer, os podeis bajar las fuentes del mozilla y con visual C (comercial, de pago… ) compilarlo para windows. Desconozco si un mozilla se puede compilar en windows con la versión gcc pero lo dudo mucho.

Bueno, supongo que todos conoceis lo que es el compilar. Se trata de coger el “texto”, la “receta” escrita en un ingles raro :-), el compilador lo leerá, y lo convertirá en un binario, o sease, una lista muuu larga de ceros y unos que es lo único que entienden los ordenadores, porque los ordenadores estan hechos de transistores, que solo tienen dos estados, con corriente (un 1) o sin corriente (un 0).

La metodología de compilación en linux es la siguiente.

Os bajais las fuentes de mplayer por ejemplo.

Descomprimis, y haceis ./configure

Esto os mostrará una larga lista de oks, yes y no.

./make

y compilará

./make install (como root) y lo instalará, normalmente en /usr/local/bin

bien, puede ser que make os de error y no compile, puede ser que compile y instale, pero al ejecutarlo descubrir que vuestro mplayer (para ver videos principalmente, aunque soporta audio también, sirve para ver la TV, pasar a divx, y traeros las zapatillas) le falta alguna caracteristica, como el entorno gráfico, o el soporte para ficheros OGM

¿Donde está el problema?

En los nos que mostraba el configure 🙂

./configure –help para ver las opciones que podeis pasarle.

Vereis que para instalar el entorno gráfico, necesitais un ./configure –enable-gui por ejemplo, también podeis decir que se instale en otro sitio diferente a /usr/local/bin con un ./configure –prefix=/opt/bin

Podeis incluir varias opciones, es válido por ejemplo un ./configure –enable-gui –prefix=/opt/bin –language=es

etc etc

Pero también puede ser que os falten cosas.

Por ejemplo para soporte OGM necesitais tener instalado el paquete vorbis-tools.

Pero también puede ser que os falte el código de otras cosas.

Mirar bien el configure, imaginar que sale un no en alguna libreria. Tendreis que instalar la librería-dev , volver a hacer el configure, y vereis que ahora ya no sale el NO.

Imaginar que os sale no seque divx… no, instalais xvid (libre) o el divx de divx.com (también hay versión linux) que son los codecs, ahora cuando hagais un ./configure vereis que poner divx…yes

¿Veis la metodología?

Se trata de mirar el configure y darle lo que pide o lo que necesiteis vosotros, si lo conseguis, el make no os dará ningún problema

¿Os parece complicado?, con práctica no lo es, pero es que compilar algo es así, no es un problema de linux, es que cuando compilas algo necesitas todas esas cosas.

Os voy a hablar de gentoo, que sinó alguien me saltará encima echando espuma por la boca 🙂

La distribución usa un sistema de instalación diferente y más parecido al de FreeBSD.

Imaginar un apt-get que funcionara igual que con los paquetes, pero que solo se bajara el código, y el automáticamente y sin intervenir se descargará todas las fuentes necesarias, lo COMPILARA y os lo dejara bien instalado.

Eso es gentoo

Asi que tu puedes hacer un emerge kde o algo por el estilo, y bajará las fuentes, las compilará, y al cabo de 7 dias y 7 noches estará compilado y listo. XDD

En debian existe un apt-build que hace lo mismo, pero dicen que ni punto de comparación y que da muchos problemas. Ni idea porque nunca lo he probado.

Pero no olvideis una cosa. Siempre podeis hacer un urpmi mplayer en mandrake y ya está (viene en los CDs), o añadir algún repositorio de mplayer en debian y hacer un apt-get install mplayer y ya está.

Espero que todo este rollo haya aclarado algunas ideas. También espero que esta web lo lea también gente no iniciada en este mundillo, porque a ellos va dirigido 🙂

Lo he escrito de un tirón, una vez escribí algo parecido para la lista de correo de mandrake, pero no lo guardé y me da pereza buscarlo en google.

Así que disculpar si está un poco desorganizada la exposición de ideas. Si teneis alguna duda sobre como hacer algo en concreto… bueno, para eso esta este grupo ¿no?, acosarnos a preguntas.

Nos entretendremos más respondiendos que viendo el gran hermano, OT y la madre que los parió a todos juntos. Yo al menos :-), sobre gustos no hay nada escrito.

Autor: davidcg

Posted in Linux | 29 Comments

Estudi sobre les Lleis de Propietat Intel·lectual a Europa && BSA

Fent la curta visita noticíaca del diumenge al matí (que cada finde s’allarga més pq durant la setmana me puc conectar poc i tinc mono (que no MONO)) vas trobant com els sil·logismes polítics mai et deixaran de sorpendre (desagradablement, per supost). Nous informes sobre les patents de programari.

Continue reading

Posted in Política | 1 Comment

¿Porque se llaman demonios los demonios?

fetchmail, cron, at… todos pueden o son demonios. En ingles daemon.

Hay muchas historias sobre el origen de la palabra. No os creais ninguna, la verdadera es la que os voy a contar y cualquier con un poco de culturilla, empatía y conocimiento del “contexto histórico” verá que llevo razón.

Vereis, es muy sencillo.

Hay todo una cultura y mundo referente a lo que antes se llamaba “espada y brujería” y que ahora los legos relacionan directamente con juegos de ROL o el señor de los anillos.

Todo ese mundo trata de hechizeros, guerreros, clerigos, paladines, enanos y orcos, es un mundo fantástico que existe como tal desde hace décadas. Incluso hay películas, por ejemplo todos tenemos en mente los clásicos “Conan el Barbaro” protagonizado por chuarzeneger, o “El señor de las bestias” protagonizado por ummm, ¿no era el pavo de V?

¿Como? ¿Que no sabeis que películas son esas? ¿Me estais llamando viejo?, ya llegareis a los 26 ya.

Bueno, todos pensareis en el señore de los anillos. Psss, pos no exactamente, en este mundo hay más “bichos” y está más poblado.

Bueno a lo que ibamos, no se trata solo de películas o libros, es que además hay montones de juegos de ordenador (llamados de ROL), y como no, montones de juegos de tablero, o incluso sin tablero, donde un master dirige el juego y plantea situaciones a los jugadores.

Umm, ahora que lo pienso, ¿eso no os recuerda al aministrador y los usuarios?, increible acabo de dar con otra similitud.

A lo que ibamos!!!

En este mundo, los magos o hechizeros suelen convocar demonios, son entes de poder limitado que los usan como “sirvientes”. Por ejemplo un mago puede convocar un demonio para que le abra las puertas y ventanas, o convocar otro para que reuna los ingredientes necesarios para realizar un hechizo.

¿Veis la similitud?

Igualmente un administrador puede convocar el demonio fetchmail con un simple fetchmail start para que reuna el correo de diversas cuentas y lo distribuya entre los usuarios. O el demonio cron para que le haga tareas periodicas (como abrir y cerrar la ventana)

Bien, aceptar este origen de la palabra demonio implica que los artifices de los sistemas unix son unos colgados de los juegos de rol.

Tal vez dudeis de mi explicación, si es así solo diré dos cosas.

Una de las ramas principales de los unix son los BSD (última clase de ASO), que surgieron en la universidad de berkeley.

Ahora unir…

Universidad+LSD+mud+unix

Y lo vereis todo claro 🙂

Para quien no sepa lo que es un mud o lo que es LSD…

!google mud
!google LSD

El hecho de no haber encontrado en el diccionario la palabra daemon no significa nada.

El próximo día os explicaré porque las nubes no huelen a nada.

XD

Por cierto soy stich, he cambiado a mi nombre porque ya estaba harto del chiste ese de…

Oye! ¿Donde está lilo?
En el MBR tio.

Tengo un ordenador al que quiero hacerle muchas cosas, un servidor de ficheros, de web, de ftp, de irc, bla bla bla

Como no tengo ni zorra idea cada vez que consiga algo prometo escribirlo en un nivel de “soy forrest” o sease, el mio :-), lo cual será util para mucha gente.

Incluso para mi, que ahora en vez de apuntar las cosas en una libreta azul las escribo aquí y lo consulto en esta web.

Autor: davidcg

Posted in Cultura | 18 Comments

Canviar contrasenya de mail de la URV

Veig que hi ha gent que encara té posada com a contrasenya del mail seu de la URV (@estudiants.urv.es) la data de naixement perque no sap que s’hi pot canviar… Això es un falla de seguretat perque es relativament fàcil trobar el DNI – Data naixement de la persona… No diré que el fa uns dies podies trobar el DNI de tots els alumnes de la URV desde dins mateix de l’aplicació del correu (amb un formulari de cerca d’una característica que ja han tret).

Per canviarla contrasenya:

http://estudiants.urv.es/ -> Modificar la clau d’accés

Fixa’t que es http i no https (xifrat).
Continue reading

Posted in Educació | 5 Comments

Robado Codigo Fuente de Half Life 2!

Lo que en un principio parecía un simple fake, luego se fué convirtiendo en un fake muy currado… hasta que llegó el director de Valve Software, Gabe Newell, y lo confirmó rotundamente: El codigo fuente de Half Life 2, de fecha 19 de septiembre (podría ser la versión final o “casi”-final), fué copiado desde su ordenador (es decir, robado) por un “hacker”… estaréis de acuerdo conmigo en sustituir lo de hacker por “cracker”.

Esta noticia recae sobre un de los juegos más importantes de los últimos tiempos (recordemos que Counter Strike se basa en Half Life) y que tenía fecha de salida el 30 de Septiembre pero han vuelto a prorrogarlo debido a estos incidentes. Es una noticia bomba porque no hay precedentes como éstos… la alpha robada de Doom III es lo único que se le acerca, pero se trataba de una alpha (bastante verde) y eran binarios… en este caso tratamos de que es el código fuente, el secreto mejor guardado de las compañías de juegos (más que nada por el engine… en el que se basarán muchos juegos en los próximos años a cambio de una sustanciosa licencia).

Pero vayamos a lo importante del tema…

Actualización1: Tambien en Barrapunto
Actualización2: Captura de un windolin que se ha hecho con el código.
Actualización3: Primeras imágenes de cachondeo sobre el tema… xD
Actualización4: Según algunas fuentes, Half Life 2 se retrasará hasta Abril de 2004.
Continue reading

Posted in Jocs | 4 Comments