Пакеты Devel обычно содержат заголовки или другой материал, необходимый для компиляции приложений.
Чтобы система оставалась чистой и управляемой, я ищу команду для перечислить все-devel
-пакеты установлен yum
(также rpm, без суффикса).
Я обычно использую yum list installed
и собрать девелки вручную.
Как правило, вы рекомендуете удалять их после компиляции?
yum remove $(rpm -qa "*-devel")
Кроме того, не занимайтесь разработкой своих производственных (или даже промежуточных) систем. Если вам действительно нужно перестроить RPM, используйте mock
который встраивает его в chroot и может убирать после себя.
Я думаю, что ваш вопрос об удалении пакетов разработки имеет ответ из двух частей. Первая часть - удалить -devel
пакеты, рекомендованные другими. Это удалит интерфейсы разработки для таких приложений, как httpd-devel
.
Вторая часть core development
пакеты для базовой разработки, которые в основном нужны, если вам нужно установить программу из исходного кода. RHEL группирует эти пакеты в Development tools
. Вы можете удалить эти пакеты, используя -
yum groupremove "Development tools"
Лично я бы не стал устанавливать какие-либо пакеты разработки на производственных серверах, как упоминал SvenW. Поэтому я бы начал с чистой базовой установки без каких-либо пакетов разработки, а затем явно установил только абсолютно необходимые позже, в зависимости от ваших требований.
Базовый принцип безопасности: не используйте черные списки (т.е. ищите вещи, которые следует запретить), так как слишком легко что-то упустить (и вы не узнаете, пока не станет слишком поздно); используйте белые списки (т. е. проверьте, что нужно разрешить), если вы что-то забудете, то скоро узнаете.
В этом конкретном случае: составьте список программного обеспечения, которое необходимо на машине, либо для управления ею, либо для предоставляемых ею услуг, и установите это (и любые зависимости, которые оно перетаскивает). Если есть несколько альтернатив (например, используйте scp (1) или FTP для загрузки нового содержимого), посмотрите, можете ли вы оставить только один, и внимательно выберите его. Все остальное - это багаж и потенциальная угроза безопасности.
yum list installed | grep '\-devel\'
или, поскольку в yum есть механизм выбора pacakge:
yum list installed '*-devel'
который также должен работать для удаления:
yum erase '*-devel'
Чтобы система оставалась «чистой и управляемой», имейте рабочую машину, на которой вы создаете свои собственные пакеты, а затем устанавливаете их на производственные машины.