Digamos que exista um software pelo qual não queira instalar apt
, mas manualmente. (TeXLive, porque eu quero usar o lançamento de 2011 e apt
só possui a versão de 2009.)
Digamos que exista outro software que eu gostaria de instalar apt
, mas que depende do primeiro software. (Vim LaTeXSuite, pois é muito difícil instalar manualmente para uso em todo o sistema.)
Por padrão, apt
não "vê" o primeiro software e passa a instalar muitos itens desnecessários e indesejados (como o TeXLive 2009) apenas para satisfazer os metadados da dependência.
Como posso:
Diga
apt
que um determinado pacote (por exemplotexlive
) está instalado para todos os fins práticos e que não deve ser instalado como dependência de outro pacote?Diga
apt
para instalar um determinado pacote (por exemplovim-latexsuite
) sem se preocupar com suas dependências?
Eu vasculhei várias apt
páginas de manual relacionadas e cheguei vazio, e também encontrei essa pergunta neste site, mas sinto que deve haver uma maneira menos burra de fazer isso, não?
(Nos meus tempos no Gentoo, eu me lembro emerge --inject
e /etc/portage/package.provides
, basicamente, estou procurando os apt
equivalentes.)
fonte
Respostas:
Você deve usar o
equivs
pacote para gerar meta-pacotes que fornecem essas dependências e, em seguida, usardpkg
para instalar esses pacotes.Instalar
equivs
e ler sua documentação deve ser suficiente, mas este guia para o Ubuntu é bastante extenso e também se aplica a outros sistemas APT.Além disso, se você acha que um pacote deve poder ser instalado sem a dependência especificada, você deve registrar um bug no pacote, explicando o caso em que a dependência não é necessária.
Nesse caso ,
texlive-base-bin
parece ser apenas "Recomendado" e não uma "Dependência" na distribuição básica do Debian pelo menos (provavelmente em parte porquetexlive
é um pacote tão grande), mas porque é comum instalar o TeX Live upstream no Debian desde o A versão de distribuição geralmente fica muito para trás (pelo fato de o pacote ser tão difícil que geralmente não pode ser empacotado sem um trabalho substancial, o que é feito principalmente por uma ou poucas pessoas, que afirmam ter vidas ao lado do Debian), oequivs
O truque é frequentemente usado com o TeX Live (uau, essa frase ficou fora de controle :-)).Adição : Para obter instruções mais detalhadas para quem deseja instalar o TeXLive fora do sistema de pacotes, essas instruções no TeX.SX são mais extensas e provavelmente continuarão sendo atualizadas. Eles também incluem instruções mais explícitas sobre a
equivs
etapa.fonte
equivs
pacote.equivs
funcionou muito bem. Criei a versão 9999 dotexlive-base-bin
, substituindo o pacote "fictício" original com o mesmo nome (fornecido portexlive-binaries
) e instaleivim-latexsuite
sem problemas.Você pode usar o
--nodeps
sinalizador no dpkg, que deve instalar o pacote sem dependências.Há uma pergunta muito semelhante no Serverfault que vale a pena examinar também
fonte
A seguir, você removerá a dependência de um arquivo .deb, neste caso, removendo a dependência libperl5.20 do freeradius:
Isso permite que você instale o pacote sem saber se a dependência existe.
Se você estiver instalando manualmente versões específicas de pacotes, também poderá interromper a
apt-get upgrade
atualização do pacote no futuro:fonte