В системах Debian я могу использовать aptitude markauto
и aptitude unmarkauto
отмечать пакеты как установленные вручную или автоматически. Я использую это, чтобы удалить ненужные пакеты, отмечая пакеты, которые мне нужны. затем apt-get autoremove
удалит все пакеты, которые не нужны.
Сейчас я использую систему Fedora и хотел бы иметь аналогичную функцию в rpm, yum или другой программе. Есть ли у rpm / yum понятие пакетов, устанавливаемых вручную / автоматически, таких как системы debian?
По крайней мере, более новые версии yum (протестированные на Fedora 20 с yum 3.4.3) могут различать пакеты, установленные вручную, и пакеты, установленные как зависимости. Эта информация сохраняется в yumdb с использованием ключа «причина», который может быть установлен на «пользователь» или «деп».
# yumdb set reason dep [package name or wildcard]
должно быть эквивалентом "aptitude markauto". Если вы не укажете имя пакета, изменение будет применено ко всем пакетам. Я бы не стал этого делать, менее радикальный способ - использовать
# yumdb search reason user
и вручную удалите ненужные пакеты.
Если ты бежишь
# yum autoremove
все пакеты, помеченные как "dep", удаляются, если на них больше не ссылаются другие пакеты. Должно быть эквивалентно "aptitude autoremove".
Пакеты, установленные без использования yum (например, rpm -i), могут не иметь ключа «причина», я предполагаю, что поведение autoremove по умолчанию - рассматривать их как «пользовательские» пакеты, но они не отображаются в списке с помощью команды «yumdb search».
Нет, но нет причин, по которым нельзя было бы написать плагин yum для обеспечения этой возможности.