Isso funciona agora. Se você ainda usa o SuperUser, pode atualizar a resposta aceita? Ver abaixo.
mikemaccana 5/07
Respostas:
121
normalmente dpkg -i <deb file>, falhará dizendo que precisa de dependências. Depois disso, quando você fizer um apt-get update, dirá no final algo como "as dependências estão prontas para instalar", acho que é recomendável usá-lo apt-get install -f.
Feito isso, eu uso dpkg -inovamente.
Funcionou bem para mim nos últimos anos.
edit: olhando um pouco mais longe, aparentemente uma ferramenta chamada gdebipode fazer isso como gdebi [deb file].
Obrigado eu fiz o mesmo por "erro" dpkg então apt-get install -f e funcionou.
Louis
2
gdebié trabalhado para mim, e mais simples que eu já vi até agora.
Ctrl-alt-delor 18/08/16
55
Sirex está mais ou menos correto, mas sua resposta não é clara. Acabei de resolver isso, então aqui está o que eu fiz:
sudo dpkg -i /path/to/filename.deb
Se isso falhar com uma mensagem sobre o pacote, dependendo de algo que não está instalado, você provavelmente poderá corrigi-lo se executar
sudo apt-get -f install
Isso instalará as dependências (supondo que elas estejam disponíveis nos repositórios que seu sistema conhece) E o pacote que você estava solicitando originalmente para instalar ('f' é a opção 'fixar' e 'y' é 'assume que sim') ou a opção 'não me pergunte se está tudo bem, apenas instale já' - muito útil para instalações silenciosas com script). No sistema em que eu estava, não havia necessidade de executar o dpkg novamente (Ubuntu lucid 10.04).
Achei interessante que, se você deixar o -f ao executar sudo apt-get install, ele listará seu pacote como não sendo configurado devido a uma dependência não resolvida, além de sugerir:Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Editar:
Se você quiser instalar sem ter que responder 'y' para todas as perguntas, você pode adicionar o ymodificador como eu incluído originalmente: sudo apt-get -fy install. No entanto, um comentarista apontou que o apt às vezes sugere que você desinstale todo o ambiente da área de trabalho. Eu estava fazendo esse trabalho em uma VM e não tinha essa preocupação, mas este post foi atualizado para refletir um pouco mais de cuidado.
Se eu já tiver todos os arquivos do pacote em um diretório, existe uma maneira de dizer ao apt que este é um novo repositório, portanto não precisarei forçá-lo a instalar nada sem dependências?
precisa saber é o seguinte
2
Sinto muito, mas não sei. Eu sugiro fazer isso como outra pergunta de nível superior.
Akrikos 12/03
Louco estranho que isso seja necessário. No raspian, isso exigirá sudo (para dpkg e apt-get):, sudo dpkg -i mypackages.debetc.
Brent Faust
Acesso root do @Rubistro necessário em todos os sistemas. Eu acho que as respostas assumiram que esses comandos são executados pelo root (por exemplo, a partir de um shell raiz interativo ou um script que executa como root).
Amos Shapira
2
Para seu próprio bem, não adicione a -yopção. É bastante comum o apt sugerir, por exemplo, desinstalar todo o ambiente da área de trabalho se você tentar fazer isso com o pacote errado na hora errada (pelo menos no Debian).
oseiskar
45
Você também pode instalar o arquivo .deb usando o gdebi. Execute os comandos abaixo para instalar o gdebi,
Note que o gdebi usa apenas um único argumento e silenciosamente joga o resto no chão. Isso significa que, se você estiver instalando várias debs ao mesmo tempo (talvez porque dependam uma da outra), precisará criar cuidadosamente gdebicomandos que permitam a instalação. imo esta metade derrota o propósito do gdebi, mas você ainda pode achar útil para um único arquivo #
Anthony Sottile
@Anthony thenfind -name *.deb -exec gdebi {} \;
jjmontes
3
@jjmontes que só vai funcionar se as interdependências estão em ordem alfabética, que eu aposto é muito raro
Anthony Sottile
Eu segui este freesoftwaremagazine.com/articles/… (o bug do repositório local tinha que ser em / var / www / html / debs) e o synaptic continuava tentando fazer o download a partir de locais remotos, mesmo sem internet, por isso o gdebi trabalhou muito bem com o repositório local ! também, os arquivos .deb tinham que serchmod +r *.deb
Aquarius Power
34
Sim, o comando que você propôs está correto.
sudo apt-get install ./package.deb
ou
sudo apt install ./package.deb
instalará o pacote obtido de outra fonte que não seja o APT e, ao mesmo tempo, usará os recursos do APT para resolver suas dependências automaticamente. Infelizmente, esse apt-getrecurso não está documentado na página do manual .
Respostas:
normalmente
dpkg -i <deb file>
, falhará dizendo que precisa de dependências. Depois disso, quando você fizer umapt-get update
, dirá no final algo como "as dependências estão prontas para instalar", acho que é recomendável usá-loapt-get install -f
.Feito isso, eu uso
dpkg -i
novamente.Funcionou bem para mim nos últimos anos.
edit: olhando um pouco mais longe, aparentemente uma ferramenta chamada
gdebi
pode fazer isso comogdebi [deb file]
.fonte
gdebi
é trabalhado para mim, e mais simples que eu já vi até agora.Sirex está mais ou menos correto, mas sua resposta não é clara. Acabei de resolver isso, então aqui está o que eu fiz:
sudo dpkg -i /path/to/filename.deb
Se isso falhar com uma mensagem sobre o pacote, dependendo de algo que não está instalado, você provavelmente poderá corrigi-lo se executar
sudo apt-get -f install
Isso instalará as dependências (supondo que elas estejam disponíveis nos repositórios que seu sistema conhece) E o pacote que você estava solicitando originalmente para instalar ('f' é a opção 'fixar' e 'y' é 'assume que sim') ou a opção 'não me pergunte se está tudo bem, apenas instale já' - muito útil para instalações silenciosas com script). No sistema em que eu estava, não havia necessidade de executar o dpkg novamente (Ubuntu lucid 10.04).
Achei interessante que, se você deixar o -f ao executar
sudo apt-get install
, ele listará seu pacote como não sendo configurado devido a uma dependência não resolvida, além de sugerir:Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Editar:
Se você quiser instalar sem ter que responder 'y' para todas as perguntas, você pode adicionar o
y
modificador como eu incluído originalmente:sudo apt-get -fy install
. No entanto, um comentarista apontou que o apt às vezes sugere que você desinstale todo o ambiente da área de trabalho. Eu estava fazendo esse trabalho em uma VM e não tinha essa preocupação, mas este post foi atualizado para refletir um pouco mais de cuidado.fonte
sudo dpkg -i mypackages.deb
etc.-y
opção. É bastante comum o apt sugerir, por exemplo, desinstalar todo o ambiente da área de trabalho se você tentar fazer isso com o pacote errado na hora errada (pelo menos no Debian).Você também pode instalar o arquivo .deb usando o gdebi. Execute os comandos abaixo para instalar o gdebi,
Instale os pacotes .deb com o gdebi,
Também corrige dependências.
fonte
gdebi
comandos que permitam a instalação. imo esta metade derrota o propósito do gdebi, mas você ainda pode achar útil para um único arquivo #find -name *.deb -exec gdebi {} \;
chmod +r *.deb
Sim, o comando que você propôs está correto.
ou
instalará o pacote obtido de outra fonte que não seja o APT e, ao mesmo tempo, usará os recursos do APT para resolver suas dependências automaticamente. Infelizmente, esse
apt-get
recurso não está documentado na página do manual .Veja https://askubuntu.com/a/769542/250300 e https://askubuntu.com/a/795048/250300 para obter detalhes.
fonte