'apt remove' tudo exceto o nginx, suas dependências e pacotes vitais para rodar o sistema

1

Eu tenho um servidor Ubuntu com a lista de pacotes padrão instalada. Gostaria de desinstalar tudo o que não é nginx, suas dependências e quaisquer outros pacotes necessários para inicializar um tty e executar o nginx.

Existe uma maneira de fazer isso sem discernir manualmente quais pacotes remover?

Além disso, minha razão para fazer isso é para que o sistema tenha o menor número possível de ferramentas instaladas no caso de explorações no nginx, etc.

Edit: Eu também precisarei de sshd e sudo… talvez uma boa resposta aponte outras coisas que eu provavelmente precisarei.

    
por Max Howell 08.05.2013 / 17:12

1 resposta

1

O sistema não permitiria que você removesse sudo sem lutar, assim como não permitiria que você removesse seu kernel ou as ferramentas apt . Um problema é que a sua questão mistura dois problemas: (1) qual é o conjunto de pacotes que são minimamente necessários para o nginx como dependências apt e (2) o que é um conjunto mínimo de pacotes para um sistema funcional saudável.

Como exemplo, nginx provavelmente não depende de qualquer sentido de libapt em sshd, mas você não quer remover ssh de um servidor remoto. Eu realmente acho que a resposta do @ tigran é mais segura e mais rápida. Você pode instalar um sistema mínimo em minutos e essa pergunta já está aqui há meia hora.

Além disso, sugiro que aptitude tenha opções de pesquisa e correspondência muito poderosas. Você provavelmente poderia criar uma linha de comando assim:

aptitude purge $(aptitude search <not-depended-on-by-nginx> and <not-essential>)

Mas, novamente, obter esse comando corretamente pode muito bem demorar mais tempo do que instalar um sistema mínimo e configurá-lo em execução.

    
por 08.05.2013 / 17:51

Tags