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

Yum: список и удаление всех пакетов разработки

Пакеты 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'

Чтобы система оставалась «чистой и управляемой», имейте рабочую машину, на которой вы создаете свои собственные пакеты, а затем устанавливаете их на производственные машины.