Como remover o build-essential manualmente quando faz parte de outro pacote?

1

Instalamos um plugin do Nagios que trouxe build-essential, e eu gostaria de removê-lo porque não quero criar ferramentas em um servidor de produção.

Quando eu simulo o comando apt-get remove :

apt-get remove build-essential --simulate

Ele diz que também removerá o plugin Nagios.

Como posso remover o essencial da construção mantendo o plug-in?

    
por Alan 02.05.2014 / 02:09

1 resposta

2

O "plugin nagios" que você instalou provavelmente lista o essencial da build como dependência.

O motivo mais comum pelo qual um pacote listaria o essencial de construção como dependência é se esse pacote compilar algum código-fonte como parte de seu procedimento de instalação. Dependendo do build-essential não é uma prática comum para pacotes fornecidos pelo próprio Ubuntu, o que, em raras ocasiões, requer alguma compilação durante a instalação, não incluiria todos os essenciais da compilação.

Supondo que esteja listado como uma dependência "requer", não há como remover a dependência, mas deixar o pacote que depende dela usando o APT. Essa é uma restrição que é aplicada pelo APT durante todo o tempo em que o pacote é instalado.

Em teoria, se as ferramentas de compilação fossem necessárias somente quando o pacote fosse instalado, mas não fossem mais usadas, você poderia remover os diversos arquivos pertencentes a build-essential e provavelmente continue a trabalhar. Mas isso definitivamente não é recomendado , já que isso vai deixar você com um sistema que, no que diz respeito ao APT / dpkg, está quebrado!

Você diz que não deseja criar ferramentas em um servidor de produção. Isso é por motivos de segurança? Porque se assim for, simplesmente não ter ferramentas específicas disponíveis realmente não reforça a segurança. Por um lado, as ferramentas de construção não dão privilégios extras aos usuários comuns - eles ainda estão restritos às mesmas partes do sistema de arquivos que seriam de qualquer maneira. Eles não podiam, por exemplo, instalar código para rodar como superusuário. Além disso, independentemente do que estiver instalado em todo o sistema, um usuário ainda pode instalar e executar ferramentas binárias (como compiladores) dentro de seus próprios diretórios pessoais com seus privilégios de usuário.

    
por thomasrutter 02.05.2014 / 03:27