Форум русской поддержки ОС Fedora linux
Недавно возникло желание почистить свою систему от мусора. Удалить пакеты, которыми не пользуюсь. Но вот беда: бегать по списку всех пакетов при помощи rpm -e и смотреть, не зависят ли от него какие-то другие, установленные в системе пакеты утомительно долго. Начал искать утилиту, которая могла бы сделать это автоматически. Нашел только для deb. Обиделся на федору. Пошел качать убунту, но на всякий случай написал в багзиллу об отсутвии жизненно необходимых возможностей. Они мне ответили, что есть: package-cleanup в составе yum-utils. Он все может. Сейчас радуюсь освободившемуся дисковому пространству. Но то, что я не смог самостоятельно через гугл найти этот пакет наталкивает на мысль, что нужно написать о нем сюда. Вдруг кто-нибудь еще не сможет тоже и таки успеет докачать убунту до того, как техподдержка ответит.
Неактивен
Спасибо, очень полезный пост!
А убунту сотри
Неактивен
nIxOiD написал:
А убунту сотри
А лучше затри нулями, чтоб наверняка:)
Неактивен
Каким образом эта утилита отделяет "овец" от "козлов"?
Неактивен
Она находит конечные элементы в дереве зависимостей — пакеты, от которых больше ничего не зависит. Т. е. те пакеты, которые вы фактически используете (если у вас нет мусора, кончено).
Неактивен
Есть масса пакетов без зависимостей, которые я использую, соответственно не являющихся мусором. Есть так же пакеты с кучей зависимостей, которые поставил ради интереса и так не удалил после...
Так что в любом случае придётся глазами просматривать и самому принимать решение о удалении того или иного пакета.
Неактивен
Конечно. Но список в разы короче, чем если бы ты смотрел список всех пакетов и пробовал удалить каждый, пакет, который, как ты думаешь, ты не используешь, натыкаясь постоянно на горы сообщений о невозоможности удаления из-за зависимостей. У меня, напрмер, стояли пакеты, которые мне были не нужны (т. е. я сам ими не пользовался и их не было в зависимостях у программ, которыми я пользовался). Утилита очень помогла. А то раньше делал по старинке: у меня была где-то тысяча пакетов в системе, и я на каждом пакете, который казался ненужным (libzlo там какой-нибудь) пробовал rpm -e. Удаляется — хорошо, значит удалили лишний пакет. Не удаляется, значит смотрим зависимости: каким программам в моей системе он нужен, и нужны ли мен эти самые программы. Даже просто написать об этом муторно. А уж делать. Почти на день надоедливой скучной работы. А так все автоматизировано. Раз за разом прогоняешь эту утилитку и удаляешь ненужное при помощи rpm -e, пока в списке не останется программ, которые реально используешь. Работы на полчаса, час где-то.
Отредактированно cepreu (2008-07-17 03:06:26)
Неактивен
А с какими ключами запускать. Пробовал --leaves — оно?
Отредактированно toxa_climber (2008-12-24 04:56:33)
Неактивен
ВОт здесь http://yum.baseurl.org/wiki/YumUtilsGuides описание всего пакета (утилит) yum-utils.
Неактивен
Если поставить программу, которая тянет за собой еще что-то по зависимостям, а потом ее удалить, командой:
[root@localhost Nick]# yum remove name_of_package
то, остаются некоторые пакеты которые были поставлены по зависимостям программы.
Для решения этой проблемы существует yum-плагин: yum-remove-with-leaves
[root@localhost Nick]# yum info yum-remove-with-leaves Loaded plugins: remove-with-leaves Installed Packages Name : yum-remove-with-leaves Arch : noarch Version : 1.1.19 Release : 1.fc10 Size : 3.5 k Repo : installed Summary : Yum plugin to remove dependencies which are no longer used because : of a removal URL : http://yum.baseurl.org/download/yum-utils/ License : GPLv2+ Description: This plugin removes any unused dependencies that were brought in by : an install but would not normally be removed. It helps to keep a : system clean of unused libraries and packages.
После установки этого плагина таже команда:
[root@localhost Nick]# yum remove name_of_package
удалит также пакеты которые были поставлены по зависимостям вместе с программой
Неактивен
nvl, спасибо, полезно!
Неактивен
не сочтите за "некропостинг" но надо так:
yum --remove-leaves remove %package_name%
без данного ключа произойдёт обычное удаление.
Неактивен