Como faço para bloquear que um arquivo deb seja instalado como resultado de uma dependência?

3

Estou executando a versão mais recente do Ubuntu 09.10 (esfinge syphyllitic ou qualquer que seja o nome do código) e estou tentando descobrir como bloquear um pacote de instalação como resultado de uma dependência. Para este exemplo, digamos que eu gostaria de fazer com que bc nunca seja instalado, mesmo que ubuntu-desktop afirme exigir isso. Existe uma maneira fácil de fazer isso quando eu faço uma atualização e há uma nova versão do ubuntu-desktop que nunca mais tentará instalar o bc ?

Acho que isso é possível usando alguns pacotes personalizados e dpkg-divert ou alguma mágica, mas não consigo encontrar alguns bons documentos sobre como fazer isso.

Eu também estou ciente de que fazer algo assim poderia causar uma ruptura no tecido do espaço-tempo, mas estou disposto a lidar com isso.

    
por Pridkett 05.01.2010 / 03:08

5 respostas

2

Confira o pacote "equivs". Você pode falsificar um pacote que pretende oferecer qualquer pacote que você esteja instalando.

    
por 05.01.2010 / 05:52
1

Esta página do wiki do Ubuntu deve corrigir o seu problema. Explica como criar um novo metapacote sem o aplicativo desinstalado.

Dito isso, eu simplesmente vivi sem o metapacote ubuntu-desktop.

    
por 05.01.2010 / 10:45
1

Não sei se funciona para os requisitos obrigatórios, mas funcionou bem para mim bloquear o pacote recomendado ttf-mscorefonts-installer ao instalar / atualizar o vinho.

eu percebi que esse pacote existe para fazer a internet parecer uma droga, a fim de impedir que jovens hackers de linux ameacem a MS por lá.

coloque o seguinte no seu /etc/apt/preferences :

Package: i-am-a-package-containing-junk
Pin: version *
Pin-Priority: -1

o Pin-Priority: -1 diz que as versões correspondentes dos pacotes correspondentes nunca devem ser instaladas, enquanto o restante corresponde a todas as versões do pacote i-am-a-package-containing-junk , impedindo efetivamente sua instalação.

    
por 07.02.2012 / 12:38
0

Não tenho conhecimento de nenhuma maneira simples de fazer isso e duvido que exista uma. Dependências existem por um motivo, e as ferramentas oferecem muito pouco suporte para ignorá-las.

Na verdade, mesmo a desinstalação forçada de uma dependência ( dpkg -r --force-depends <package> ) causará aptitude & amigos para parar de trabalhar até que você conserte o dano. Então, receio que o que você está pedindo não seja possível, pelo menos não com um simples comando.

A forma mais simples de conseguir isso é provavelmente criar um pacote vazio com um número de versão alto, mas mesmo isso pode ser interrompido quando as dependências de pacotes mudam.

Você poderia explicar o que está tentando fazer? Então talvez possamos ajudar.

    
por 05.01.2010 / 05:29
0

neste caso específico ... não use o metapacote - provavelmente há um pacote 'core', e você pode instalar o que você precisa no topo - eu tive o mesmo problema com o xorg desde que eu não vejo o ponto de instalar um driver nvidia em um laptop baseado em gráficos intel - então eu instalei o xorg-intel, ao invés do xorg-core.

    
por 05.01.2010 / 06:33