FreeSource: ImjaFamilija

Удаление лишних библиотек

Иногда бывает нужно почистить систему от лишних библиотек, которыми никто не пользуется. Пример: поставили программу, которая по зависимостям вытащила что-то, потом программу снесли, что-то осталось, жрёт место на диске и трафик при обновлении. Для этого я написал следующий скрипт:

#!/bin/sh

rpm -qa | grep ^lib| sed s'/-[0–9].*$//'| while read pkg; do

mbdead=`rpm -q --whatrequires $pkg 2>&1 | grep предупреждение| cut -s -d' ' -f 8`

if [ -n $mbdead ]; then

if rpm -e --test $mbdead > /dev/null 2>&1; then

echo $mbdead": is not required for any package";

fi;

fi;
done

Здесь в первой строчке ^lib — это шаблон, среди каких пакетов искать. В данном случае — среди начинающихся с “lib”. Но в принципе, может быть и что-то другое. После отработки скрипта получаем список никому не нужных библиотек. Рекомендуется запускать его рекурсивно, т.е. удалили лишнее — опять прошлись и так до тех пор, пока не потечёт чистая вода ;-)

Удачной охоты!

Юрий.