Cursos y talleres en español de Internet de las Cosas (IoT)
            
  Acceso a cursos  

Instalación de aplicaciones para CentOS y Ubuntu

¿En qué podemos ayudarte?

Instalación de aplicaciones para CentOS y Ubuntu

Estas aquí:
<< Regresar

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.

Deja una respuesta