Como posso instalar um pacote sem instalar algumas dependências?

74

Estou tentando instalar o pacote LaTeXila e a saída fica assim:

$ sudo apt-get install latexila --no-install-recommends
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  latexila-data latexmk luatex tex-common texlive-base texlive-binaries
  texlive-common texlive-doc-base texlive-latex-base
Suggested packages:
  rubber texlive-latex-extra debhelper
Recommended packages:
  texlive texlive-latex-recommended texlive-luatex lmodern
  texlive-latex-base-doc
The following NEW packages will be installed:
  latexila latexila-data latexmk luatex tex-common texlive-base
  texlive-binaries texlive-common texlive-doc-base texlive-latex-base
0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded.
Need to get 29.3 MB of archives.
After this operation, 74.5 MB of additional disk space will be used.
Do you want to continue [Y/n]?

Não quero instalar os pacotes texlive. Instalei o texlive manualmente em http://www.tug.org/texlive/ . Alguma sugestão?

Alex
fonte
adicione o programa e remova os pacotes que você não deseja. Quando você instala um programa como esse, basta baixar / instalar um conjunto de pacotes. Você precisa alterar o que está incluído no pacote e não pode fazer isso como usuário.
Alvar
8
Realmente deve haver alguma capacidade de usuário avançado aqui. Ele deve permitir que eu instale coisas sem dependências específicas ou alegar que algo está instalado, mesmo que não esteja realmente instalado. Se eu quisesse ser tratado como se não soubesse o que estou fazendo, continuaria usando o Windows.
1128 Alex
bem, se você realmente não quer o pacote inteiro, basta instalar os arquivos específicos e esperar que funcione.
Alvar
2
alex - Eu acho que posso ter inadvertidamente votado negativamente. Eu tenho o hábito de rolar páginas da Web para o lado esquerdo em um touchpad. Nesse site, isso aconteceu algumas vezes, possivelmente não percebi o seu acontecimento. (desejo que a votação tivesse uma confirmação). Outra solução para o seu problema é criar um pacote de equivs. Não é o mais simples para algo como texlive, embora factível. Algumas informações aqui e um exemplo vinculado - tug.org/texlive/debian.html
doug

Respostas:

74

O apt-get não fará isso, mas o dpkg fará.

apt-get download latexila latexila-data

Isso fará o download dos arquivos .deb binários, mas não tentará instalá-los.

Agora você pode usar o dpkg para forçar a instalação.

dpkg --force-all -i <name of the .deb files you downloaded>

Vou repetir o aviso na página de manual do dpkg aqui:

Aviso: Essas opções destinam-se principalmente a ser usadas apenas por especialistas. Usá-los sem entender completamente seus efeitos pode danificar todo o seu sistema.

Se o seu sistema estiver com defeito depois de tentar isso, você pode apenas tentar remover o latexila e o latexila-data. Boa sorte.

achiang
fonte
Isso deve ser marcado como a resposta, muito simples e direto ao ponto.
Severo Raz
Ótima resposta. Eu queria instalar o asciidoc apenas para escrever documentação na forma de uma página de manual e HTML. 382 megabytes de lixo de látex! Agora eu tenho apenas o asciidoc, obrigado.
Kaz
5
@WolterHellmund Essa absolutamente não deve ser a resposta aceita, porque ignorar dependências resulta em um banco de dados inconsistente que causará problemas ao atualizar pacotes ou instalar pacotes relacionados. A solução certa é equivalente, conforme recomendado por henrique .
Gilles
13

Aqui estão as instruções após a página TUG no TeX Live e Debian / Ubuntu :

  1. Instale o vanX TeX Live como raiz, em todo o sistema.
  2. Certifique-se de que as únicas Debian pacotes TeX Live instalados são tex-common, texinfoe talvez lmodern.
  3. Adicione o diretório bin do TeX Live a ENV_PATHin /etc/login.defs.
  4. Informe o APT sobre sua instalação do TeX Live criando um pacote fictício usando equivs:


    $ aptitude install equivs # as root
    mkdir /tmp/tl-equivs && cd /tmp/tl-equivs
    equivs-control texlive-local
    # edit texlive-local (see below)
    $ equivs-build texlive-local
    $ sudo dpkg -i texlive-local_2011-1_all.deb

Na etapa "editar texlive-local", edite o campo Maintainer e a lista dos pacotes fornecidos pela instalação local do TeX Live, conforme apropriado. Se você instalou, scheme-fullexceto collection-texinfocomo recomendado, o arquivo deve se parecer com este exemplo

(Basicamente, é preciso criar um pacote fictício para enganar apt-get)

Para outras formas, consulte também Como instalar o TeXLive “vanilla” no Debian ou Ubuntu? no TeX.SX.

henrique
fonte
2
Eu acho que essa é a resposta correta.
Marnen Laibow-Koser
6

depois de fazer

aptitude install [packagename]

Você tem a pergunta se deseja instalar todos os pacotes mencionados .. se houver um pacote que você não deseja que seja instalado como mysql-server porque ele é transferido para outro servidor, instado de responder a resposta com

:mysql-server
Daniel van den Oord
fonte
3

Encontre a lista de pacotes que não atendem à dependência.

Faça o download do arquivo .deb com apt-get download. Então use

sudo dpkg -i --ignore-depends=<package(s) to ignore> package.deb

Arquiteto Panigrahi
fonte