Назад | Перейти на главную страницу

`apt remove` все, кроме nginx, его зависимостей и пакетов, жизненно важных для работы системы

У меня есть сервер Ubuntu с установленным списком пакетов по умолчанию. Я бы хотел удалить все, что не является nginx, его зависимости и любые другие пакеты, необходимые для загрузки на tty и запуска nginx.

Есть ли способ сделать это, не определяя вручную, какие пакеты следует удалить?

Кроме того: моя причина сделать это, чтобы в системе было установлено как можно меньше инструментов на случай эксплойтов в nginx и т. Д.

Изменить: мне также понадобятся sshd и sudo ... может быть, хороший ответ укажет на другие вещи, которые мне, вероятно, понадобятся.

Система не позволит вам удалить sudo без боя, точно так же, как это не позволит вам удалить ядро ​​или apt сами инструменты. Одна из проблем заключается в том, что в вашем вопросе смешиваются две проблемы: (1) какой набор пакетов минимально необходим для nginx в качестве подходящих зависимостей и (2) каков разумный минимальный набор пакетов для здоровой рабочей системы.

Например, nginx, вероятно, может не зависеть ни в каком смысле libapt от sshd, но вы не хотите удалять ssh с удаленного сервера. Я действительно думаю, что ответ @tigran самый безопасный и самый быстрый. Вы можете установить минимальную систему за считанные минуты, а этот вопрос задавался здесь уже полчаса.

Помимо этого, я бы предложил aptitude имеет очень мощные возможности поиска и сопоставления. Вероятно, вы могли бы создать такую ​​командную строку:

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

Но опять же, получение такой команды в самый раз может потребовать дольше чем установка минимальной системы и ее запуск.