Algumas situações exigem a instalação manual de um pacote local usando dpkg -i <packagename>
. Às vezes, pode ser mais útil alavancar a funcionalidade apt
desse pacote para que a pergunta seja:
Como você cria rapidamente um repositório local para pacotes aleatórios usando uma distribuição Linux baseada no Debian - como o Xubuntu 13.04 / Ubuntu?
dpkg -i <packagename>
comapt-get -f install
os pacotes necessários. Além disso, a coisa usual para criar um repositório apt para o Debian é reprepro.apt
com--fix-broken
seria necessária após a instalação de um pacote localdpkg -i
? O dpkg não cuidaria disso? Eu li que pode ser necessário na primeira vez que o apt é executado? @ FM & Gilles: Sobre reprepro . Parece útil se eu conseguir fazê-lo funcionar (não tenho certeza sobre dir struct, conteúdo de 3 arquivos ou parâmetros em tempo de execução). Tentará novamente e atualizará ou publicará a pergunta completa.dpkg
não resolve dependências, masapt
sim.dpkg
avisa sobre dependências quebradas, mas é de baixo nível, portanto, não tentará corrigi-las. O procedimentodpkg -i *.deb
seguidoapt-get -f install
é o padrão. Existe um bug na lista de desejos paraapt
lidar com o caso da instalação local de pacotes, e há até um patch, eu acho, mas ainda não foi implementado. Veja apt-get install poderia instalar arquivos de pacotes locais, também , originalmente arquivado em 1999.Respostas:
Isso deve ser diferenciado da situação em que você está tentando replicar uma árvore de pacotes completa de um repositório oficial e de uma prioridade de fontes de ajuste fino . Pacotes aleatórios significam pacotes virtuais, pacotes que são compilados localmente ou copiados de forma fragmentada para fins de teste. Aqui está uma configuração simples com base na documentação agora obsoleta .
Primeiro, crie um diretório para hospedar os pacotes:
Em seguida, mova seus arquivos de pacote .deb para lá. Execute este comando no diretório acima do que acabamos de criar (verifique se as permissões permitem isso!):
Agora crie um arquivo com extensão
.list
na/etc/apt/sources.list.d/
com o conteúdo:e atualize o banco de dados apt:
Neste ponto, os pacotes em nosso repositório local podem ser instalados como qualquer outro pacote usando
apt-get install <packagename>
. Quando novos pacotes são adicionados ao repositório local, odpkg-scanpackages
comando prescrito deve ser emitido novamente para atualizar o arquivo Packages.gz eapt
deve ser atualizado antes que os novos pacotes sejam disponibilizados. Espero que isso possa ser útil para fins de teste .fonte
[trusted=yes]
entredeb
e ofile:///
URI (consulte asources.list(5)
página de manual), caso contrário,apt-get update
falhará devido à falta de assinatura.Se você deseja criar um repositório com a estrutura completa necessária para ferramentas como o debootstrap, a maneira mais simples que encontrei é:
Crie um diretório de repositório.
Crie um subdiretório conf.
Crie um arquivo / opt / debian / conf / distributions com conteúdos como este (ajuste conforme apropriado para a distribuição que você está usando):
Importe seu pacote com reprepro.
Importe vários pacotes com um loop for shell, por exemplo, tudo do seu cache do APT:
Isso criará um arquivo não assinado. Pode ser usado com o debootstrap com a opção --no-check-gpg.
fonte