Practica 13
Practica 13
Practica 13
Fecha:
/ 11 /2010
Como puedes observar en la imagen superior, Win32 y Win16 son dos libreras que se encuentran en los sistemas Windows entre las aplicaciones de usuario (aplicaciones de oficina, navegadores, clientes de correo) y el ncleo del sistema operativo. Estas libreras permiten a los programadores de aplicaciones olvidarse de los detalles concretos de implementacin del sistema operativo y de realizar llamadas al sistema, haciendo que sus aplicaciones interacten nicamente con Win32 y Win16. Algunas (la mayora) aplicaciones de usuario en Windows slo usan llamadas a estas libreras. Wine lo que hace es reimplementar las libreras Win32 y Win16 para el kernel de Linux, permitiendo que las aplicaciones desarrolladas para Windows (MS-DOS, Windows 3.11, Windows 95, Windows 98, Windows ME, Windows NT, Windows 2000, Windows XP, Windows Vista y Windows 7) se puedan ejecutar tambin sobre el kernel de Linux. 1. Un sistema operativo es en esencia un ncleo y una serie de programas que permiten a un usuario interactuar con el sistema. En nuestro caso, es lo que se denomina GNU/Linux: el kernel o ncleo Linux con las aplicaciones base del sistema del proyecto GNU (en rigor Linux es solamente el ncleo). La distribucin
1-8
GNU/Linux Ubuntu viene formada por un sistema operativo GNU/Linux y un conjunto de programas integrados sobre el mismo: http://es.wikipedia.org/wiki/Distribucin_GNU/Linux http://es.wikipedia.org/wiki/Anexo:Distribuciones_GNU/Linux 2. Adems de las aplicaciones que conforman nuestra distribucin, podemos instalar otras que aumenten la funcionalidad de nuestro sistema. Para facilitar la instalacin y administracin de nuevas aplicaciones existen los paquetes. Un paquete viene a ser una pieza de software que cumple una determinada funcionalidad. As pues, un paquete puede ser un programa, una biblioteca, un conjunto de plugins, un conjunto de tipografas... Pueden ser incluso, por ejemplo, iconos. Existen diversas formas de instalar dichos paquetes en nuestro sistema. En esta prctica vamos a repasar varias alternativas, haciendo especial nfasis en las propias de nuestra distribucin. En la documentacin de Ubuntu puedes encontrar informacin sobre cmo instalar aplicaciones y sobre los paquetes: http://doc.ubuntu-es.org/Instalar_aplicaciones http://doc.ubuntu-es.org/Formatos_de_paquetes 3. Instalacin de aplicaciones. 3.1 A partir del cdigo fuente. Aunque la mayora de las aplicaciones disponibles para sistemas GNU/Linux estn disponibles en formatos de paquetes preparados para su instalacin, hay algunas que tenemos que compilar a partir del cdigo fuente. La compilacin depende de nuestro sistema, de la arquitectura de nuestro ordenadorpor eso el cdigo fuente de las aplicaciones suele venir acompaado de un programa de configuracin que prepara el proceso adaptndolo a cada sistema. A partir de l, realizamos la compilacin e instalacin (por supuesto, para ello necesitamos tener previamente en nuestro sistema el compilador necesario). Tienes un ejemplo de este proceso aqu: http://www.guia-ubuntu.org/index.php?title=A%C3%B1adir_aplicaciones 3). (Seccin
La instalacin a partir del cdigo fuente no suele ser la forma ms sencilla de instalar un programa. Entre otras cosas, requiere que tengamos en nuestra mquina los compiladores necesarios para el lenguaje de programacin en que los cdigos fuentes se encuentren (c++, perl, java). Dependiendo del tamao de la aplicacin, su proceso de compilacin puede llevar incluso varios das. Por ejemplo, observa lo que se dice en el fichero README.txt del proceso de instalacin de SAGE a partir de su cdigo fuente (http://sunsite.rediris.es/mirror/sagemath/src/README.txt): 3. Extract the Sage source tarball and cd into a directory with no spaces in it. To start the build, type make 4. Wait about 1 hour to 14 days, depending on your computer (it took about 2 weeks to build Sage on the Google G1 Android cell phone). Sin embargo, s presenta dos importantes ventajas:
2-8
a) Disponemos en nuestro ordenador de los ficheros fuente del programa instalado. Esto nos permitir poder explorarlos y tener acceso a las libreras y funciones del programa instalado (en el caso de SAGE, podremos explorar la definicin de cada una de sus operaciones matemticas). b) El proceso de compilacin de los ficheros fuente se optimiza para el hardware y SO de que dispongamos, mejorando en algunos casos el rendimiento de la aplicacin instalada. 3.2 Archivos binarios. Son los equivalentes en Linux de los ejecutables de Windows. Son ficheros que no hay que descomprimir, desempaquetarsimplemente ejecutar (para ello habr que darles los permisos necesarios, recuerda lo que veamos en la prctica anterior sobre permisos rwx). Son aplicaciones ya compiladas para una arquitectura especfica, que simplemente descomprimimos en nuestro ordenador y estn directamente preparadas para su uso. Por ejemplo, la versin de GoogleEarth para Linux est disponible como un archivo binario. Trata de acceder a la direccin http://earth.google.es/ y descarga el fichero GoogleEarthLinux.bin. Para llevar a cabo su instalacin, abre un intrprete de mandatos (Aplicaciones -> Accesorios -> Terminal) y dirgete la carpeta en la que se encuentra el mismo. Para poder instalarlo debemos asignarle permisos de ejecucin. Comprueba por medio del mandato $ls l los permisos que tiene el fichero. Si no tiene permisos de ejecucin en el sistema (x), no vamos a poder ejecutarlo (y por tanto instalarlo). Le asignamos permisos de ejecucin, por medio del comando: $chmod u+x GoogleEarthLinux.bin Comprueba los permisos de que dispone ahora el archivo por medio de: $ls -l Si tiene permisos de ejecucin, vamos a ejecutarlo ahora por medio de: $./GoogleEarthLinux.bin Qu sucede? Se ha ejecutado el fichero? Qu sucede al ejecutarse el mismo? Has conseguido realizar la instalacin del mismo? En el caso de SAGE, este tipo de instalacin tambin est disponible (http://www.sagemath.org/doc/installation/binary.html), y posiblemente sea la ms sencilla de completar, ya que no exige dependencias ni paquetes adicionales. Si dispones de Ubuntu 10.04, descarga el archivo comprimido correspondiente a esta distribucin a tu ordenador. Una vez en el mismo, todo lo que debes hacer es abrirlo con el Gestor de aplicaciones propio de Ubuntu 10.04. Cuando lo abras, extrelo (por ejemplo) a tu directorio personal (/home/tu_usuario) y una vez descomprimido, dentro de la carpeta resultante busca el fichero sage. Dicho fichero debera abrir una terminal en la que puedes encontrar sage. 4. Los paquetes son la agrupacin instalable de los diferentes archivos necesarios para que un programa funcione. Los paquetes no son ejecutables, sino que son
3-8
gestionados por terceras aplicaciones. Adems, los paquetes de Linux no traen consigo las libreras compartidas (dependencias) y, llegado el caso de necesitarse, sern instaladas o se nos informar de la necesidad de hacerlo, segn el gestor de paquetes que estemos utilizando. Es decir, el programa A depende del programa B, y ste a su vez de C (cada uno a su vez puede depender de una o ms libreras). As que si queremos instalar "A", tendremos que instalar todos los dems. Esto puede convertirse en una tarea ardua y complicada. Comandos como rpm o dpkg permiten instalar paquetes como "A" individualmente, pero no resuelven las dependencias. Para hacer esto se crearon los sistemas de instalacin de paquetes, lo que permite hacer ms simples las cosas. Las aplicaciones Linux se suministran normalmente en dos formatos o tipos de paquetes, y son dependientes de la distribucin: RPM: se utilizan en distribuciones basadas en Red Hat, Fedora, Mandriva pueden tener tanto binarios como cdigo fuente. DEB: distribuciones basadas en Debian (Ubuntu, Linex). Pueden contener tanto binarios como cdigo fuente. La mayor parte de las aplicaciones disponen de versiones DEB y RPM. Se pueden convertir paquetes y pasarlos de rpm a deb y viceversa, si se diera el caso que no existieran paquetes en alguno de los formatos, con el programa ALIEN (http://kitenet.net/~joey/code/alien/), pero ste no siempre podr garantizar el correcto funcionamiento de un paquete convertido a otro. En general, se garantizar mejor la instalacin de un paquete si ste fue creado directamente para su tipo correspondiente. 4.1 DEB: Es el formato de paquetes nativo de Debian, y por tanto de Ubuntu. Para instalar estos paquetes slo tienes que hacer doble click sobre el fichero en el navegador Nautilus (el navegador por defecto usado en Ubuntu) y automticamente se lanzar la aplicacin gdebi, que se ocupar de instalar el paquete y buscar las dependencias de otros paquetes que pudiera necesitar para su correcta instalacin. Si lo preferimos, tambin se pueden instalar mediante la lnea de comandos, mediante el comando dpkg, que no instala automticamente las dependencias sino que se limita a indicarlas durante el proceso de instalacin. Algunas opciones de dpkg: dpkg l: Comprueba los paquetes instalados en la mquina y ofrece un listado completo. dpkg -L NombrePaquete: Informa sobre el contenido (los ficheros) que forman un paquete. dpkg -i NombrePaqueteCompleto: Para instalar paquetes que tenemos localmente y no necesitamos descargar. dpkg -r NombrePaqueteCompleto: Desinstalacin. dpkg -s fichero: Informa de los paquetes que contienen ese fichero (a qu paquetes pertenece). Aqu tienes un pequeo HOWTO para usar http://www.alcancelibre.org/staticpages/index.php/como-dpkg/print dpkg:
Comprueba los paquetes instalados en tu mquina. Si no eres capaz de verlos en una sola pantalla, utiliza una de las formas que aprendimos en la prctica anterior
4-8
volcado
un
fichero
externo
En el intrprete de mandatos, visualiza el contenido de top. Qu hace el programa? Qu tipo de informacin nos muestra? Obtn el archivo .deb adecuado en http://packages.debian.org/lenny/htop (observa que tu plataforma es una i386) y procede a instalar htop en tu ordenador. Recuerda que lo puedes hacer desde el navegador Nautilus, slo con ejecutar el fichero .deb. Tambin lo puedes hacer desde el intrprete de mandatos por medio del uso de gdebi (para lo cual tendrs que ejecutar la accin como sper-usuario, es decir, debers aadir sudo antes del comando apropiado). Si el paquete no tuviera dependencias que resolver, tambin lo podras instalar por medio del mandato: sudo dpkg i htop.deb Comprueba si lo anterior funciona en este caso. Ejecuta ahora desde la lnea de mandatos htop. Qu realiza este programa? Cul es su diferencia con top? Veamos ahora un segundo ejemplo de instalacin de un programa a travs de su paquete .deb. Entra en el sitio web http://www.google.com/chrome?hl=es&platform=linux. Descarga el paquete .deb correspondiente al navegador Google Chrome. Gurdalo en tu ordenador e instlalo desde el intrprete de mandatos (sudo gdebi ). Has encontrado algn problema en la instalacin? Si es as, trata de documentar los motivos del mismo. En caso de que hayas podido instalar la aplicacin, ejecuta el navegador desde el men Aplicaciones -> Internet y comprueba que el mismo ha sido bien instalado. Trata de instalar ahora Skype en tu ordenador a partir de su paquete *.deb. Puedes encontrar un enlace al mismo en http://www.skype.com/intl/en-us/get-skype/onyour-computer/linux/. 4.2 RPM (RPM package manager): Es un sistema de empaquetamiento que se est convirtiendo en un estndar de hecho en el mundo Linux por las ventajas que supone sobre otros modelos. RPM proporciona al usuario una serie de facilidades que hacen el mantenimiento del sistema ms sencillo de gestionar, ya que mantiene una base de datos de los paquetes instalados y de sus archivos, lo que permite realizar consultas y verificaciones del sistema. Asimismo, otra ventaja es que al actualizar software, los archivos de configuracin se respetan de manera que no sea necesario volver a realizar los ajustes especficos que ya tuviera definidos, o si no fuera posible, realiza una copia de seguridad de los mismos. En la siguiente gua podrs encontrar informacin detallada sobre los paquetes rpm: http://es.tldp.org/COMO-INSFLUG/COMOs/RPM-Como/. 5. Instalacin de paquetes usando programas propios de nuestra distribucin (Ubuntu). 5.1 Desde la consola: apt-get y aptitude. Existen dos formas de instalar programas en modo texto (desde el intrprete de mandatos), por medio de las aplicaciones aptitude y apt-get. Ambos programas son muy similares, salvo en un detalle: aptitude recuerda las dependencias que se han aplicado en la instalacin de un paquete. Esto significa que si se instala o actualiza una aplicacin con aptitude y luego se quiere desinstalar, aptitude borrar el programa junto con todas sus dependencias (excepto si son usadas por otros
5-8
paquetes). Si se instala con apt-get, la desinstalacin borrar slo el paquete especificado, pero no las dependencias. Uso Instalar paquetes: $sudo aptitude install <paquetes> $sudo apt-get install <paquetes> Desinstalar paquetes: $sudo aptitude remove <paquetes> $sudo apt-get remove <paquetes> Actualizar la lista de paquetes disponibles: $sudo aptitude update $sudo apt-get update Actualizar el sistema con las actualizaciones de paquetes disponibles: $sudo aptitude upgrade $sudo apt-get upgrade Obtener una lista de opciones del comando: $ sudo aptitude help Comprueba si el programa gimp est instalado en tu mquina: $which gimp Si est instalado, desinstlalo por medio de alguno de los comandos anteriores. Tras la desinstalacin, o en caso de que no estuviera instalado, instala gimp usando aptitude, por medio de los mandatos y opciones que acabamos de introducir. Se ha encargado el programa de resolver las dependencias? Ejecuta el programa desde el men Aplicaciones -> Grficos. Para qu sirve el programa? Aptitude tambin tiene su interfaz en el intrprete de mandatos. Lo puedes comprobar ejecutando aptitude sin argumentos ni opciones. Aqu tienes un tutorial sobre apt-get: http://doc.ubuntu-es.org/Apt. 5.2 En modo grfico: Synaptic. Apt tiene su interfaz grfica en el sistema Ubuntu. En http://doc.ubuntues.org/Synaptic puedes encontrar una gua de cmo utilizar las capacidades de apt desde la interfaz grfica. Puedes encontrar el gestor de paquetes Synaptic en Sistema -> Administracin -> Gestor de paquetes Synaptic. Dentro del gestor de paquetes, busca el paquete Wine e instlalo (siempre y cuando no est instalado ya). Observa cmo Synaptic se encarga de definir e instalar las dependencias entre paquetes. Para qu sirve Wine? 6. Los Repositorios Existen listas de paquetes disponibles para instalar; son los llamados Repositorios, que es de donde aptitude y Synaptic toman los paquetes que instalan en el ordenador. Los repositorios dependen de cada distribucin (podras decir por qu
6-8
han de ser dependientes de la distribucin?), y pueden crearse repositorios personales. Aqu hay una gua es.org/Repositorios. sobre repositorios de Ubuntu: http://doc.ubuntu-
Es importante que sepas que el repositorio Ubuntu consta de cuatro repositorios diferentes (cuatro componentes del repositorio Ubuntu), dependiendo de qu aplicaciones contienen. Son los llamados Main, Restricted, Universe y Multiverse. Lee la siguiente referencia y explica en tu informe de prcticas qu tipo de software podemos encontrar en cada uno de ellos. http://doc.ubuntu-es.org/Componentes_de_los_repositorios Dnde se pueden encontrar drivers para una tarjeta ATI?, dnde est g++, gcc? Cuando aptitude o Synaptic quieren instalar un paquete u obtener las dependencias necesarias para hacerlo, buscan en los repositorios que estn en la lista el lugar donde est ese paquete; para ello tienes que tener configurados los repositorios en tu sistema. Puedes encontrar una lista de repositorios en el fichero /etc/apt/sources.list. brelo desde el intrprete de mandatos con el programa gedit ejecutndolo como sperusuario: $sudo gedit ruta_del_fichero Comentando o descomentando (aadiendo o eliminando #) las lneas correspondientes puedes activar o desactivar los repositorios. Tambin puedes aadir otros repositorios externos a Ubuntu o propios, aadiendo lneas a este fichero. Aqu tienes un enlace que explica este punto: http://www.guia-ubuntu.org/index.php?title=Activar_repositorios_externos Synaptic proporciona una herramienta grfica para manejar los repositorios. Ve a Configuracion>Repositorios dentro del gestor de paquetes Synaptic y observa qu tienes configurado. 7. Vamos a ver ahora cmo podemos instalar aplicaciones propias de Windows gracias a la herramienta Wine. Esta opcin puede ser muy til, especialmente para usuarios que empiezan con Linux y que quieren utilizar algunas de sus herramientas favoritas de Windows. Una vez te acostumbres a trabajar con Linux, seguro que encuentras herramientas que pueden realizar la funcin deseada. Entra en la pgina web http://www.spotify.com/es/download/other/. Lee las instrucciones y las distintas plataformas en que la aplicacin est disponible. Vamos tratar de instalar la versin de Spotify para Windows sobre wine, y ver si funciona en Ubuntu. Como ya hemos instalado wine desde Synaptic, puedes saltar directamente al paso en el que se pide ejecutar winecfg y comprobar si tu tarjeta de audio est bien configurada. Posteriormente vamos a la pgina de descarga de Spotify para Windows (http://www.spotify.com/es/download/windows/) y seguimos los pasos de la instalacin. El proceso de instalacin se debera completar de forma correcta. Como puedes observar, para poder ejecutar Spotify necesitas crear un usuario y una contrasea. Si quieres hacerlo, puedes darte de alta en la aplicacin en http://www.spotify.com/es/new-user/. 8. Vamos a instalar en Ubuntu un IDE para C++. Entra de nuevo en el Gestor de paquetes Synaptic de Ubuntu, y busca en IDE para C++ entre todas las aplicaciones que se pueden encontrar (Eclipse, Anjuta). Instala el mismo en tu equipo y comprueba su funcionamiento. Qu entorno has utilizado?
7-8
9. Busca algunas de las aplicaciones que utilizas ms a menudo (notepad++, messenger, Devcpp, Flash) y trata de instalarlas en Ubuntu de alguna de las formas anteriores que hemos visto (sobre Wine, con un *.deb, desde un binario). Comenta el resultado y las dificultades halladas. 10. Enlaza desde tu pgina de inicio el informe de la prctica, as como el fichero paquetes_ubuntu_804.
8-8