Instalación de aplicaciones para CentOS y Ubuntu
Instalación de paquetes
Introducción a la gestión e instalación de software
Instalar, actualizar o eliminar software en sistemas operativos Linux diferirá de la forma en como usted lo hacia en sistemas operativos Windows o Mac, esto es debido a que la mayoría de las aplicaciones desarrolladas para Linux no cuentan con un asistente de instalación, en cambio, usted tendrá que aprender a aplicar una serie de comandos en su equipo para poder llevar a cabo tareas de administración y de gestión de paquetes. La forma en que usted llevara a cabo esta administración y gestión de paquetes sera mediante el uso de las siguientes herramientas.
yum
Yellow dog Updater Modified (YUM) es una herramienta de software libre de gestión de paquetes para sistemas Linux basados en RPM, fue desarrollada principalmente para actualizar y controlar los sistemas Red Hat, Fedora, CentOS, y otras distribuciones de GNU/Linux basadas en RPM, incluyendo el mismo Yellow Dog.
rpm
Red Hat Package Manager (RPM), es una herramienta de administración de paquetes. Es capaz de instalar, actualizar, desinstalar, verificar y solicitar programas. Originalmente desarrollado por Red Hat para Red Hat Linux, en la actualidad muchas distribuciones GNU/Linux lo usan, dentro de las cuales las más destacadas son Fedora Linux, Mandriva Linux, SuSE Linux. También se ha portado a otros sistemas operativos.
apt
Advanced Packaging Tool (APT) , es un sistema de gestión de paquetes creado por el proyecto Debian. APT simplifica en gran medida la instalación y eliminación de programas en los sistemas GNU/Linux.
aptitude
aptitude es una interfaz para APT. Muestra una lista de paquetes de software y permite al usuario elegir de modo interactivo cuáles desea instalar o eliminar. Dispone de un poderoso sistema de búsqueda que utiliza patrones de búsqueda flexibles, que facilitan al usuario entender las complejas relaciones de dependencia que puedan existir entre los paquetes. En un principio, se diseñó para distribuciones GNU/Linux Debian, pero hoy día se utiliza también en distribuciones basadas en paquetes RPM, como Mandriva.
dpkg
El programa dpkg es la base del sistema de gestión de paquetes de Debian GNU/Linux. Se utiliza para instalar, quitar, y proporcionar información sobre los paquetes .deb.
Instalación de paquetes con RPM
Los paquetes RPM se pueden identificar por la terminación .rpm
Ejemplos
virtualbox.rpm frostwire.rpm livnaf9.rpm skype.rpm
La forma en como se instalan los paquetes .rpm deberá ser siguiendo la siguiente sintaxis:
rpm -ivh paquete.rpm
Los parámetros -ivh indican lo siguiente:
Parámetro | Alternativo | Significado |
---|---|---|
-i | –install | Instalar el paquete RPM |
-v | –verbose | Muestra los mensajes referentes a la instalación |
-h | –hasg | Muestra el progreso de la instalación desplegando los caracteres (###) |
Ejemplo:
rpm -ivh frostwire-4.17.0.noarch.rpm
Preparando... ########################################### [100%]
el paquete frostwire-4.17.0-2.noarch ha sido instalado
Problemas comunes de la instalación de paquetes .rpm
Paquetes RPM ya instalados previamente
En algunos casos usted se encontrará con el problema que previamente estaba ya instalado el paquete .rpm, lo cual podrá identificar por lo siguiente:
rpm -ivh frostwire-4.17.0.noarch.rpm
Preparando... ########################################### [100%]
el paquete frostwire-4.17.0-2.noarch ya esta instalado
Si realmente quiere instalar el paquete, solo debe introducir –replacepkgs sobre la línea de comando, el cuál indicará a RPM que ignore al paquete ya instalado:
rpm -ivh –replacepkgs frostwire-4.17.0.noarch.rpm
Preparando... ########################################### [100%]
1:frostwire ########################################### [100%]
Paquetes RPM con dependencias no resueltas
Algunos paquetes RPM suelen necesitar ciertos paquetes o dependencias para que estos sean instalados de manera correcta. Si usted intenta instalar un paquete. RPM para el cual se presenta el caso de una dependencia no resuelta, vera aparecer en la pantalla lo siguiente:
rpm -ivh –-replacepkgs frostwire-4.17.0.noarch.rpm
Preparando... failed dependencies: lame is needed by frostwire-4.17.01.
Para solucionar este error solo se debería instalar los paquetes solicitados. Si, en cambio, tiene intención de forzar la instalación , use el comando –nodeps en la linea de comandos.
rpm -ivh –-nodeps frostwire-4.17.0.noarch.rpm
Preparando... ########################################### [100%]
1:frostwire ########################################### [100%]
Instalación de paquetes con YUM
Desde repositorios
La forma en como se instalan paquetes con yum sigue la siguiente sintaxis:
yum install -y
[paquete1] [paquete2] [paquete3]
Ejemplo 1.
Instalando firefox
yum install -y firefox.i386
De forma local
Cuando se descarga o se cuenta con el paquete *.rpm en el equipo se puede utilizar yum para instalarlo.
yum localinstall
[paquete.rpm]
Ejemplo.
Se ha descargado el cliente de mensajería Skype en el directorio /root. Instalar el paquete usando yum
yum localinstall /root/skype_i386.rpm
Consultar paquetes con RPM y YUM
RPM
Consultar la base de datos del sistema es una manera sencilla de verificar que paquetes estan instalados en nuestro sistema. La manera en que se hace esta consulta es mediante la siguiente sintaxis:
rpm -q paquete.rpm
Algunos de los parámetros extras que pueden utilizarse en conjunto con la letra q son:
Parámetro | Alternativa | Descripción |
---|---|---|
-q | –query | Busca en la base de datos del sistema paquetes RPM instalados |
-i | –info | Muestra información relativa al paquete como el nombre, la descripcion, la implementacion, fecha en que fue instalado e información genérica |
-l | –list | Muestra la lista de ficheros que pertenecen al paquete que se está consultando |
-s | –state | Muestra el estado de todos los archivos contenidos en el paquete |
-d | –docfiles | Muestra una lista de archivos registrados como documentación (Readme, paginas man.etc) |
NOTA: Todos los parámetros anteriores deben usarse en conjunto con la letra ‘q’ de otra forma no trabajaran adecuadamente.Igualmente no es necesario poner el nombre completo del paquete solo basta con poner el nombre.
Ejemplo:
rpm -qisd frostwire
Name : frostwire
Relocations: (not relocatable)
Version : 4.17.0
Vendor: (none)
Release : 2
Build Date: jue 10 jul 2008 12:43:48
CDT Install Date: mar 04 nov 2008 12:48:19
CST Build Host: gubatron-desktop
Group : Converted/Networking
Source RPM: frostwire-4.17.0-2.src.rpm
Size : 18685896
License: see /usr/share/doc/frostwire/copyright
Signature : (none)
Summary : A Truly Free and Open Source Peer to Peer client
Description : for the Gnutella/Bittorrent Network. It's core is based on LimeWire, which needs the Sun Java Runtime Environment
(minimum version tested is JRE 1.5+) We recommend installing ia32-sun java6-bin Visit the official site http://www.frostwire.com
(Converted from a deb package by alien version 8.69.) normal /usr/share/doc/frostwi/changelog
YUM
Conociendo los paquetes instalados en el sistema con yum#
La forma de conocer que paquetes tenemos instalados en el sistema mediante yum sigue la siguiente sintaxis:
yum list all
Ejemplo .
Consultando en repositorios que paquetes tenemos instalados en el sistema
yum list all
Buscando paquetes en especifico con yum
La forma de buscar un paquete en específico en los repositorios mediante la ayuda de yum tiene la siguiente sintaxis
yum search
Ejemplo.
Consultando en los repositorios por el manejador de datos mysql
yum search mysqld
Consultando información sobre un paquete en especifico con yum
La forma de buscar un paquete en especifico en los repositorios mediante la ayuda de yum tiene la siguiente sintaxis
yum info
Ejemplo.
Consultando en repositorios informacion acerca de GIMP
yum info gimp
Instalación de paquetes .deb
Los paquetes DEB se pueden identificar por la terminación .deb
Ejemplos:
sublime-text.deb opera-stable.deb
La forma en como se instalan los paquetes .deb deberá ser siguiendo la siguiente sintaxis:
dpkg -i paquete.deb
Los parámetros -i indican lo siguiente:
Parámetro | Alternativo | Significado |
---|---|---|
-i | –install | Instalar el paquete DEB |
-v | –verify | Revisa la integridad del paquete |
–unpack | Desempaquete el paquete pero no lo configura | |
–configure | Configura el paquete desempaquetado pero no configurado |
Ejemplo:
dpkg -i sublime-text_build-3083_amd64.deb
(Leyendo la base de datos ...
206731 ficheros o directorios instalados actualmente.) Preparando para desempaquetar sublime-text_build-3083_amd64.deb ...
Desempaquetando sublime-text (3083) sobre (3083) ...
Configurando sublime-text (3083) ...
Procesando disparadores para hicolor-icon-theme (0.13-1) ...
Procesando disparadores para mime-support (3.59) ...
Procesando disparadores para desktop-file-utils (0.22-1) ...
Procesando disparadores para gnome-menus (3.13.3-6) ...
Podemos ver los diferentes pasos que realiza dpkg; sabemos en qué punto podría haber ocurrido un error. La instalación también puede realizarse en dos etapas: primero desempaquetado, luego configuración.
dpkg --unpack man-db_2.7.0.2-5_amd64.deb
(Reading database ...
86425 files and directories currently installed.) Preparing to unpack man-db_2.7.0.2-5_amd64.deb ...
Unpacking man-db (2.7.0.2-5) over (2.7.0.2-5) ...
Processing triggers for mime-support (3.58) ...
dpkg --configure man-db
Setting up man-db (2.7.0.2-5) ... Updating database of manual pages ...
Problemas comunes de la instalación de paquetes .deb
A veces dpkg fallará intentando instalar un paquete y devolverá un error; si el usuario le ordena ignorarlo sólo generará una advertencia; es por esta razón que tenemos las diferentes opciones –force-*. La orden dpkg –force-help, o su documentación, proveerá una lista completa de estas opciones. El error más frecuente, con el que seguramente se encontrará tarde o temprano, es una colisión de archivos. Cuando un paquete contiene un archivo que ya está instalado por otro paquete, dpkg se negará a instalarlo. Aparecerá el siguiente mensaje:
Unpacking libgdm (from .../libgdm_3.8.3-2_amd64.deb) ... dpkg: error processing /var/cache/apt/archives/libgdm_3.8.3-2_amd64.deb (--unpack): trying to overwrite '/usr/bin/gdmflexiserver', which is also in package gdm3 3.4.1-9
A diferencia de rpm, dpkg no descargará nada desde internet y las dependencias incumplidas deberán ser atendías por APT.
apt-get / apt-cache vs aptitude
Aunque aptitude es una gran herramienta interactiva, debe de conocer algunos casos que requieren cuidado:
aptitude no es recomendable para para actualizaciones de nuevos lanzamientos de versiones del sistema operativo. El uso de apt-get dist-upgrade es más recomendado para esto. El comando aptitude algunas veces sugiere la eliminación masiva de paquetes cuando se hace una actualización del sistema de una versión a otra. Esta situación suele asustar a los sysAdmin. apt-get y apt-cache (no siempre viene instalado en el sistema base) son las instrucciones más básicas para la herramienta de gestión de paquetes basadas en APT.
apt-get y apt-cache ofrecen únicamente la línea de instrucciones como interfaz para el usuario.
apt-get es más cómodo para las actualizaciones mayores entre nuevos lanzamientos.
apt-get ofrece un robusto resolvedor de dependencias.
apt-get es menos demandante con los recursos del equipo. Consume menos memoria y es mucho más rápido.
apt-cache ofrece un buscado basado en expresiones regulares para la búsqueda de paquetes por nombre y descripción.
apt-get y apt-cache pueden manejar múltiples versiones de un paquete empleando /etc/apt/preferences pero esto es bastante complicado.
Por otro lado, aptitude es la más versátil herramienta de gestión de paquetes basadas en APT.
- aptitude ofrece una interfaz de usuario interactiva basada en texto.
- aptitude ofrece también la interfaz por linea de comandos.
- aptitude es más adecuado para la gestión diaria paquetes interactivos, como la inspección de los paquetes instalados y buscar los paquetes disponibles.
- aptitude es más demandante en recursos del hardware. Consume más memoria y es más lento.
- aptitude ofrece búsquedas por expresiones regulares para todos los meta-paquetes.
- aptitude puede manejar múltiples versiones de paquetes sin emplear /etc/apt/preferences y es mucho más intuitivo.