Para todas as respostas que encontrei sobre esse tópico, a solução foi criar, em um determinado computador A, onde eu preciso instalar o pacote, um arquivo contendo todas as dependências necessárias e, em seguida, baixá-lo em outro computador, vamos chamá-lo de B.
O problema é que eu quero ter um armazenamento de certos softwares críticos que preciso trabalhar para poder instalá-los offline posteriormente, caso precise formatar minha área de trabalho.
REALMENTE NÃO ME IMPORTO em ter muitos arquivos .deb redundantes no meu computador, e REALMENTE NÃO ME IMPORTO se vou armazenar 1 GB de arquivos para instalar um software de 10 MB.
Então, eu quero ter qualquer dependência possível baixada. Existe alguma maneira de fazer isso?
ubuntu
package-management
apt
ebernardes
fonte
fonte
Respostas:
Eu iria com isso:
apt-get download PACKAGE && apt-cache depends -i PACKAGE | awk '/Depends:/ {print $2}' | xargs apt-get download
Em seguida, você pode instalá-lo
dpkg -i *.deb
no diretório em que os baixou.fonte
apt-cache depends -i
irá verificar dependências importantes para o pacote. Ele será executado apenas seapt-get download PACKAGE
conseguir encontrar PACKAGE nos repositórios ppa aos quais você adicionou/etc/apt/sources.list
. Agora,apt-cache depends -i PACKAGE
tem saída de formaDepends: dependency-name
. Nós só precisamos de nomes de dependências, e é isso que o awk está fazendo - está recebendo apenas a segunda string. Por exemplo, tente fazerapt-cache depends -i vim | awk '{print $2}'
. Observe também que toda a linha à direita de && pode ser considerada uma declaraçãodpkg -i *.deb
não é tão bom, ele não instala o pacote por ordem de dependências. Portanto, você pode precisar tentar várias vezes para instalar todo o pacote. De qualquer forma para contornar?Isso é algo único ou algo que você deseja manter atualizado? Você trabalha principalmente on-line e deseja apenas um backup local de todos os seus pacotes?
Existem vários serviços que você pode instalar que atuam como um proxy / cache do APT. Você aponta o APT para o cache local, ele é baixado da Internet e mantém uma cópia em cache local de todos os pacotes. Isso pode ser muito útil se você tiver muitos computadores em sua rede com uma seleção idêntica de pacotes.
Meu cache preferido do apt é aprox , mas também há o apt-cacher-ng e alguns outros. Cada um tem pequenas diferenças sobre como o cache pode ser configurado.
Eu sempre uso o mínimo de instaladores netinst para construir meus sistemas baseados no Debian, o que significa que meu cache apt geralmente possui quase todos os pacotes para construir totalmente meus sistemas.
fonte
execute o seguinte programa python:
fonte
execute o seguinte programa python3:
Ele fará o download de todas as dependências de todas as dependências, não apenas das dependências imediatas. Mas instalá-los com
dpkg -i *.deb
falha. Talvez porqueapt-cache depends -i package
dê informações erradas ou alguns arquivos some.deb ainda precisem de conexão com a Internet para instalar.fonte