Instalando um pacote deb num computador sem internet

Se seu computador com Ubuntu (ou outra distribuição baseada em Debian) esta sem internet, mas você precisa instalar um pacote nele, esse post é pra você!



Tive a infeliz ideia de atualizar o Ubuntu sem formatar do zero. Nunca faço isso, mas por algum motivo bizarro, um micro AVC, uma sinapse torcida, sei la, meu cerebro achou essa uma boa ideia.

O Ubuntu foi atualizado, mas o instalador deixou o NetworkManager de fora e não colocou nada no lugar.

Depois de reiniciar, minha maquina que antes era extrovertida, ficou tímida e deixou de se comunicar com o resto do mundo.

Eu estava quase formatando de novo (pois sou um eterno noob em Linux) mas resolvi dar uma pesquisada pra ver como se resolve um problema simples como esse sem apelar pra formatação.

Sem mais delongas.

Ingredientes:

  • Um pendrive ou hd onde voce armazenará seu pacote;
  • Algum computador, smartphone ou qualquer bugiganga com internet onde voce consiga plugar um pendrive e copiar o pacote.

Modo de preparo:

  • Vá nesse abençoado aparelho com internet e baixe o seu pacote;
  • Copie o dito cujo para o pendrive;
  • Coloque o pendrive no seu computador sem internet e copie o pacote em algum lugar bem fácil, pra você não esquecer, como eu esqueci;
  • Rode o comando a seguir:
sudo dpkg -i <nome-do-pacote.deb>

  • E cruze os dedos antes de pressionar o Enter.

Se tudo der certo, seu pacote estará instalado e o post pra você acaba aqui. :)

Obviamente, pra mim nunca é tão simples assim.

O pacote do NetworkManager tinha algumas dependencias que precisavam ser sanadas. Como sanar essas dependencias sem internet?

Dei mais uma pesquisada e achei no "pai dos burros de TI" (vulgo Stack Overflow) um ser humano menos noob que eu, criou um comando milagroso, que baixa todas as dependencias de um determinado pacote.

Segue abaixo o maravilhoso comando que merece um Nobel:

apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances <nome do pacote> | grep "^\w" | sort -u)

Esse comando foi muito competente e baixou muito mais pacotes do que eu precisava. 

Passei tudo para o pendrive, copiei no PC e fui instalando as dependencias que faltavam para o NetworkManager:

sudo dpkg -i libndp0_1.8-1fakesync1_amd64.deb

sudo dpkg -i libnm0_1.42.4-1ubuntu2_amd64.deb

sudo dpkg -i libteamdctl0_1.31-1build2_amd64.deb


E logo após instalei o tão desejado pacote:

sudo dpkg -i network-manager_1.42.4-1ubuntu2_amd64.deb


Assim que finalizou a instalação, ja apareceu o icone de rede!

Quase gritei um "é pra glorificar de pé, igreja!" mas lembrei que sou ateu, então apenas disse: "Eureka!".

Obs.: Fiz no Ubuntu, mas creio que funcione para outras distribuições baseadas em Debian.

Se houver próxima, até a próxima!

Comentários