PermLUG
|
Пермская группа пользователей Linux |
|
ОблакоВход для пользователейНавигация |
Прибираемся в Debian![]() Deborphan: найдите ненужные пакеты Автор: Джеймс Камерон (James Cameron), Если вы давно читаете «Пакет дня», то скорее всего ставили для пробы кучу пакетов, и часть из них используете, а о других просто забыли. Забытые пакеты могут дорого обойтись: они могут содержать исполняемые файлы с атрибутом setuid или запускать демоны, которые нарушают безопасность. Обновления будут занимать больше времени, и в ходе них будет загружаться больше информации. Резервные копии будут занимать больше места (вы ведь делаете резервные копии? при помощи Duplicity? Если вы используете для работы с пакетами aptitude, то лишние пакеты удалит команда автоматической очистки. Вот как используется Deborphan: $ deborphan В этом примере Deborphan обнаружил пару небольших лишних пакетов, которые можно удалить. Deborphan просто перечисляет пакеты, для удаления можно использовать команду $ aptitude purge `deborphan` или, если привыкли работать на более низком уровне, $ dpkg --purge `deborphan` Рекурсивный вызов После удаления ненужных пакетов может обнаружиться, что какие-то другие пакеты тоже оказались ненужными. Поэтому процесс очистки пакетов имеет смысл вызывать рекурсивно: #!/bin/sh Код выше можно сохранить в скрипт «deborphan-recursive» и вызывать по необходимости. Не библиотеками едиными $ dpkg-query -W --showformat='${Installed-Size} ${Package}n' Это можно оформить в скрипт «deborphan-by-size». По его вызову будет выдаваться отсортированный по убыванию размера список пакетов, от которых ничего не зависит. Результат можно отсматривать от начала к концу, выбирая, что не нужно и что можно удалить. Но помните, что каждое удаление пакета может внести в список изменения — какие-то пакеты могут требоваться только удаленному, а поэтому тоже стать ненужными. Самое плохое, что может случиться — вы случайно удалите какой-нибудь пакет, а потом его придется снова устанавливать и настраивать. Но на этот случай есть резервные копии. Однако если вы устанавливали что-то без системы управления пакетами, то это уже совсем другая история — нужно будет самостоятельно убедиться, что Deborphan не удалит что-то требующееся установленному вручную ПО. Как насчет маленькой системы, где было бы как можно меньше пакетов и, соответственно, как можно больше свободного места на диске? Для удаления всего лишнего можно шаг за шагом вызывать deborphan. Если что, то dpkg, apt-get, либо aptitude предупредит вас, что вы пытаетесь удалить действительно нужный пакет. Тут следует остановиться, если не хотите проблем. Иногда библиотеки устанавливаются только для удовлетворения зависимостей разрабатываемого пакета. Тут можно столкнуться с тем, что Deborphan удаляет нужные вещи. Чтобы решить проблему, создайте метапакет, зависящий от требуемых пакетов, либо настоящий пакет (при помощи pbuilder). Deborphan всегда входил в состав Debian и Ubuntu.
|
Новые записи в блогахАктивные обсуждения форума
|
| Пермская группа пользователей Linux, 2003—2008 |
Комментарии
Попробовал, обнаружил, что команда aptitude purge 'deborphan' пытается удалить deborphan, а не те библиотеки пакеты, которые он находит. То есть цикл точно не сработает.
Кроме того, deborphan -a выдаёт в список даже те пакеты, которые используются постоянно (mc, например), так что пользоваться им надо очень аккуратно.
Внимательнее надо быть кавычки не ' а `
а про -а тоже читай внимательно, это ключ нужен именно показать те пакеты которые используются, фильтр идет по размеру.
Да, косые апострофы помогли :)
2FraDe: спасибо! Очень полезная вещь! :)
[root@brain root]# mount /dev/hands /mnt/ass -o nosuid,umask=000