Digamos, eu tenho o foo-1.2.3.deb
que depende perl
e python
, no entanto, executando o comando:
dpkg -i ./foo-1.2.3.deb
não instalará essas dependências. Então eu devo apt-get install perl python
à mão.
Como fazer para dpkg -i
instalar essas dependências automaticamente para mim?
Respostas:
Após o uso
dpkg
, a execução do seguinte comando me ajudou a instalar as dependências necessárias:Ao todo, seu terminal deve ficar assim:
Observe a linha sobre
Setting up package_with_unsatisfied_dependencies
. Isso corrige (e completa) a instalação dopackage_with_unsatisfied_dependencies.deb
.fonte
sudo dpkg -i mypackage.deb
novo?sudo apt-get -f install
meu pacote e suas dependências foram instaladas. A execuçãosudo dpkg -i my_package.deb
é desnecessária e apenas instalará o pacote novamente.sudo dpkg -i package.deb; sudo apt-get -f install; sudo dpkg -i package.deb
. A primeiradpkg -i
execução marca dependências,apt-get -f install
instala as dependências necessárias e a segundadpkg -i
instala com êxito o pacote. Observe queapt-get install -f
é um comando totalmente diferente.dpkg -i --force
; que forçará a instalação de um pacote quebrado! Executardpkg
/ sem /--force
fará a entrada necessária no banco de dados do pacote, para queapt-get -f install
faça a coisa certa.Você pode instalar
gdebi-core
, que é a versão da linha de comando do instalador do pacote GDebi da 10.04 e versões anteriores. Nas versões mais recentes do Ubuntu, o Software Center é usado para instalar debs, que não possui uma linha de comando equivalente.Para instalar um pacote deb usando o gdebi, basta executar:
fonte
começando com o apt 1.1 (disponível no Xenial (16.04), stretch)
apt install
também permite arquivos locais:Muito mais simples e limpo.
Veja o comunicado de lançamento
fonte
apt ./install foo-1.2.3.deb
funcionou../
caminho ouGdebi
gdebi
instala um pacote deb e suas dependências. Para usá-lo, execute:Nas versões mais recentes do Ubuntu, isso não é instalado por padrão; portanto, você precisará instalá-lo a partir dos repositórios.
Veja
man gdebi
para uma lista completa de opções.gdebi
é a linha de comando equivalente à ferramenta gráfica de mesmo nome que costumava ser incluída por padrão no Ubuntu. O comando para a ferramenta gráfica égdebi-gtk
e tem uma funcionalidade semelhante:fonte
dpkg-repack
-la com base nessa lista de deps :) #corrida
depois de instalar o pacote com o dpkg pode resolver dependências quebradas (pelo menos man apt-get diga isso ...). Ill atualizar quando vou verificar.
fonte
sudo dpkg -i mypackage.deb
novo?apt-get -f install
funciona, masapt-get install -f
não é o mesmo.O dpkg não tem suporte a dependências. Existe uma maneira de contornar isso, mas isso exigiria a criação de um banco de dados local (e, portanto, você já saberia as dependências) e isso é considerado obsoleto (...).
Tem que ser linha de comando? (instalação do servidor?) Nesse caso, observe,
apt-get -f
mas tenha cuidado: resolver dependências após a instalação pode resultar em um sistema danificado.O gdebi (interface gráfica do usuário ) costumava fazer isso, mas era substituído pelo USC.
Como você baixou o .deb. Alguns dos novos recursos do 11.04 são o manuseio do .deb baixado de um site: ele é aberto no USC para que as dependências sejam resolvidas pelo instalador.
EDIT baseado no comentário de andrew:
sudo gdebi foo-1.2.3.deb
faria o truque !!fonte
Como alternativa,
gdebi-gtk
você pode usar o Ubuntu Software Center.Clique duas vezes no pacote e um botão de instalação deve estar disponível.
fonte
Você pode criar um arquivo
dpkg-dep-inst
com o seguinte conteúdo.Suponho que você criou o arquivo na sua pasta pessoal. Torne-o executável com
chmod +x dpkg-dep-inst
e mova-o para/usr/local/bin
withsudo cp dpkg-dep-inst /usr/local/bin
.Agora você pode instalar o pacote debian com dependências automaticamente com:
fonte
apt-get --yes --fix-broken install
e torne a fixação automática.Acabei de encontrar este problema. Chamada
apt-get install -f
será não instalar recomendadas dependências, embora! A única solução alternativa para isso seria criar um repositório local e adicionar a/etc/apt/sources.list
, ou seja:fonte
Na verdade, a resposta é que o
dpkg
gerenciador de pacotes não pode instalar dependências imediatamente. Você camman dpkg
e descobriu isso. Então, você precisa usar ferramentas comoapt
,apt-get
,aptitude
, ..., com base emdpkg
.Eu diria que o mesmo caso é para o
rpm
gerenciador de pacotes no outro hemisfério Linux.rmp
não se destina a fazer instalações baseadas em dependência. Ele pode instalar pacotes individuais, e para instalar as dependências que você usayum
,urpmi
,up2date
estes são todos baseados em RPM.Como observado, há um pequeno risco de instalar pacotes
dpkg
diretamente, porque a resolução posterior da resolução de dependências pode acabar com um sistema quebrado, conforme descrito em @Rinzwind.fonte