Em um sistema Debian, como posso extrair e instalar um pacote .deb localizado em uma pasta e suas dependências localizadas em um “pool” de outras pastas, usando apt, dpkg e Synaptic respectivamente?
Editar:
Gostaria de poder especificar a pasta de origem onde reside o pacote .deb, bem como aqueles que contêm as dependências. Todos eles, digamos, na pasta pessoal. Não sei se isso pode ser feito editando o arquivo sources.list ou de outra forma.
Responder1
Se não me engano *.deb instalará tudo o que existe nos pools. O pacote .deb em questão precisa apenas de uma fração deles como dependências.
Responder2
Você deve colocar o pacote desejado e suas dependências em um único diretório de pool.
Você precisará preparar a pasta "pool" contendo os pacotes de dependência com dpkg-scanpackages
, que está em dpkg-dev
package.
cd /some/where/package_pool_directory
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
Isso faz com que o diretório do pool se torne um repositório no estilo "arquivo trivial".
Agora você deve ser capaz de especificar o repositório no /etc/apt/sources.list
arquivo como:
deb file:/some/where/package_pool_directory ./
Liste-o no topo do arquivo, para que seja preferido a qualquer outro repositório. Em seguida, execute apt update
para apt
conhecer o novo repositório e use as ferramentas de gerenciamento de pacotes normalmente.
Observe que o estilo de repositório "arquivo trivial" está obsoleto e pode parar de funcionar em versões futuras. Nesse ponto, esperamos que alguma nova solução esteja disponível.