Instalando paquetes Offline - apt y dpkg
by Andoni A.
En ocasiones podemos encontrarnos, como me ha ocurrido a mi hace poco, con la necesidad de instalar algún paquete en una máquina que no tenga acceso a Internet. En estos casos el típico apt-get install $pkg
no va a funcionar, ¿entonces como podemos instalar lo que necesitamos?
1. Localizar información del paquete:
En mi caso tenía que instalar el servicio SNMP en un servidor Ubuntu para poder monitorizarlo, asi que lo primero que hice fue localizar la información del paquete:
root@antman:~# apt-cache show snmpd Package: snmpd Priority: optional Section: net Installed-Size: 227 Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Net-SNMP Packaging Team <pkg-net-snmp-devel@lists.alioth.debian.org> Architecture: amd64 Source: net-snmp Version: 5.7.2~dfsg-8.1ubuntu3.2 Depends: libc6 (>= 2.4), libmysqlclient18 (>= 5.5.24+dfsg-1), libsnmp30 (>= 5.7.2~dfsg), libwrap0 (>= 7.6-4~), debconf (>= 0.5) | debconf-2.0, adduser, debconf, lsb-base (>= 3.2-13), libsnmp-base Filename: pool/main/n/net-snmp/snmpd_5.7.2~dfsg-8.1ubuntu3.2_amd64.deb Size: 73254 MD5sum: eb442d99cb4d1fdec4461a60efe3392d SHA1: 8e5af0cab031bff9b7290add006ab239a96424e3 SHA256: 2e88e59dac645685f33d49195c6c2b3757641bed248501ef5dcc9a86d70c1bfb Description-es: SNMP (Simple Network Management Protocol) agents El protocolo de gestión sencilla de redes (SNMP) proporciona un entorno para intercambiar información de gestión entre agentes (servidores) y clientes. . The Net-SNMP agent is a daemon which listens for incoming SNMP requests from clients and provides responses. Description-md5: 9dc6ec703377042ed23b16c47ed5cb6c Homepage: http://net-snmp.sourceforge.net/ Bugs: https://bugs.launchpad.net/ubuntu/+filebug Origin: Ubuntu Supported: 5y
Version: 5.7.2~dfsg-8.1ubuntu3.2 Filename: pool/main/n/net-snmp/snmpd_5.7.2~dfsg-8.1ubuntu3.2_amd64.deb MD5sum: eb442d99cb4d1fdec4461a60efe3392d
2. Descargar el paquete:
Una vez tenemos esa información, desde otro equipo podemos descargarnos el paquete desde un repo como: http://es.archive.ubuntu.com/ubuntu/$rutaPaquete , por ejemplo:
Si no conocemos ninguno podemos consultar el fichero /etc/apt/sources.list
de la máquina donde se va a instalar.
La $rutaPaquete la sacamos del paso anterior, es el “Filename”; cuando este descargado el fichero podemos comprobar que el MD5sum coincide:
[root@centos-test:/var/sftp]# md5sum snmpd_5.7.2~dfsg-8.1ubuntu3_amd64.deb 1339b13be467d99af97c784b001dc655 snmpd_5.7.2~dfsg-8.1ubuntu3_amd64.deb
Hay que comprobar si coincide con el obtenido en el primer paso, así nos aseguramos que sea el paquete correcto, después lo pasamos a la máquina ( por ssh, sftp, etc) .
3. Instalación del paquete:
Ahora que tenemos el paquete en la máquina accedemos a la ruta donde lo hayamos y lo instalamos con:
dpkg -i $PKG.deb
En este punto hay dos opciones: que el paquete puede instalarse sin problemas, o lo que es más normal, nos de un error de dependencias como este:
root@venom:/home/admindef# dpkg -i snmpd_5.7.2~dfsg-8.1ubuntu3_amd64.deb Seleccionando el paquete snmpd previamente no seleccionado. (Leyendo la base de datos ... 56075 ficheros o directorios instalados actualmente.) Preparing to unpack snmpd_5.7.2~dfsg-8.1ubuntu3_amd64.deb ... Unpacking snmpd (5.7.2~dfsg-8.1ubuntu3) ... dpkg: problemas de dependencias impiden la configuración de snmpd: snmpd depende de libmysqlclient18 (>= 5.5.24+dfsg-1); sin embargo: El paquete `libmysqlclient18' no está instalado. snmpd depende de libsnmp30 (>= 5.7.2~dfsg); sin embargo: El paquete `libsnmp30' no está instalado. snmpd depende de libsnmp-base; sin embargo: El paquete `libsnmp-base' no está instalado.dpkg: error processing package snmpd (--install): problemas de dependencias - se deja sin configurar Processing triggers for ureadahead (0.100.0-16) ... Processing triggers for man-db (2.6.7.1-1ubuntu1) ... Se encontraron errores al procesar: snmpd
Si ocurre esto tendremos que realizar los pasos anteriores con todas las dependencias antes de volver a intentar instalar el paquete que necesitábamos.
Y claro, estas dependencias pueden tener a sus vez más dependencias… En mi caso acabé instalando todos estos paquetes:
[root@centos-test:/var/sftp/jail_operaciones/datos]# md5sum *.deb
1e6091db1981386e55898d787b831eda libmysqlclient18_5.5.35+dfsg-1ubuntu1_amd64.deb
1bbe27c70dbf9d4bce15d57cc317ca3f libperl5.18_5.18.2-2ubuntu1.1_amd64.deb
042d478dd8c2f8d47fe197b2bbf2e8a1 libsensors4_3.3.4-2ubuntu1_amd64.deb
c4359a72ce136c2538b27df9f1584f47 libsnmp30_5.7.2~dfsg-8.1ubuntu3_amd64.deb
bf7e5ff1d27d12703fb37b82f2e13bac libsnmp-base_5.7.2~dfsg-8.1ubuntu3_all.deb
073fc2420db6acb4ec3b00264d84d03a mysql-common_5.5.35+dfsg-1ubuntu1_all.deb<
1339b13be467d99af97c784b001dc655 snmpd_5.7.2~dfsg-8.1ubuntu3_amd64.deb
Como siempre, espero que os sea útil.
Saludos y que la fuerza os acompañe!
Suscríbete via RSS