MAN eclean 5
Материал из Gentoo Linux Wiki
- Вернуться в раздел мануалов
Содержание |
[править] Имя
eclean - Утилита для очистки локального репозитария дистрибутивов и бинарных пакетов.
[править] Использование
eclean [глобальные параметры] ... <действия> [параметры для текущего режима] ...
eclean-dist [глобальные параметры, параметры для режима удаления 'distfiles'] ...
eclean-pkg [глобальные параметры, параметры для режима удаления 'packages'] ...
eclean(-dist,-pkg) [--help, --version]
[править] Описание
eclean это небольшая утилита для удаления устаревших исходников и бинарных файлов пакетов. Используя стандартные операции она очищает каталоги, описываемые переменными DISTDIR и PKGDIR, пока там не останутся только пакеты, которые действительно актуальны на момент очистки.
По умолчанию eclean не трогает все пакеты, прописаные в дереве портежей. Это наиболее безопасный режим, позволяющий сохранить старые пакеты на случай отката на старые или стабильные версии, а также для переустановки пакетов. Учтите, что этот режим сохраняет размер ваших DISTDIR и PKGDIR довольно большими. Для дистрибутивных файлов этот режим довольно медленный, поскольку требует проверки всего дерева портежей.
Если же вы используете опцию --destructive, eclean защищает только некоторые файлы, отвечающие за установленные в системе пакеты(буквально учитывая версию пакета). Этот режим освободит гораздо больше места, всё ещё "беспокоясь" о сохранности большинства пакетов, основываясь на младшей части версии каждого пакета, а также позволяя восстановить повреждённые пакеты. Но в этом случае утилита не будет заботиться о менее важных пакетах, необходимых например для отката или установки нового пакета. Это тоже быстрый режим работы, используемый в большинством подобных скриптов вроде yacleaner(это верно по меньшей мере относитеьно версии 0.3).
Где-то посередине между этими режимами находится режим, определяемый опцией --package-names (при использовании опции --destructive), в котором eclean оставит только те дистрибутивы, которые необходимы для установленных пакетов. Он позволит легко откатиться на старую версию пакета без пересборки или закачки пакета заново, но не защитит вас в случае удаления пакета.
В дополнение к этим основным режимам некторые опции позволяют описать некоторые специфические условия работы утилиты:
- --time-limit
- окажется полезной в том случае, если необходимо сохранить файлы, созданные позже указанного времени
- --size-limit
- может применяться только к дистрибутивам и позволяет оставить в системе файлы большего размера, нежели указано в данной опции
- --fetch-restricted
- применима к файлам вручную скачанных дистрибутивов, не подвергая их уничтожению. Параметр сильно замедляет работу утилиты, поскольку обработке подвергается всё дерево portage
Ну и наконец вы можете указать список категорий, исключаемых из обработки (см. ниже параметр EXCLUSION FILES).
[править] Параметры
[править] Глобальные параметры
- -C, --nocolor
- не использовать цвета в выводе на консоль
- -d, --destructive
- оставить только самый необходимый для переустановки минимум файлов
- -e, --exclude-file=<путь>
- путь к файлу, содержащему список категорий, исключаемых из обработки.
| Примечание: Здесь <путь> - это абсолютный путь к файлу исключений. Если путь не указан, используется значение по умолчанию /etc/eclean/{packages,distfiles}.exclude (если он, конечно, существует). Используйте, пожалуйста, путь /dev/null в том случае, если файл у вас имеется, но временно вы не хотите к нему обращаться. |
- -i, --interactive
- запросить подтверждение перед удалением файлов
- -n, --package-names
- защитить все версии (только при использовании опции --destructive )
- -p, --pretend
- вывести список того, что подлежит уничтожению, но не удалять немедленно
- -q, --quiet
- подавлять любые сообщения на выводе, оставлять только ошибки
- -t, --time-limit=<время>
- не удалять файлы, созданные позже указанного параметра <время>
| Примечание: <время> здесь указывается как период времени: "1y" означает один год, "2w" это две недели, и т.д. Принятые единицы времени: y (годы), m (месяцы), w (недели), d (дни) и h (часы). |
- -h, --help
- показать страницу помощи
- -V, --version
- отобразить версию утилиты
[править] Действия (actions)
- distfiles
- Очищать каталог /usr/portage/distfiles (или тот каталог, на который ссылается переменная DISTDIR в файле /etc/make.conf). Это действие будет полезно для практически каждого пользователя Gentoo, размер каталога с дистрибутивами которого вырос до значительных величин.
- eclean-dist
- Превдоним для утилиты eclean, предписывающий обработку дистрибутивных файлов, создан для удобства, не более того.
- packages
- Производить очистку каталога /usr/portage/packages (или, соответственно, содержимого каталога, указанного переменной PKGDIR в файле /etc/make.conf. Это действие полезно в частности применительно к тем, кто использует "buildpkg" или "buildsyspkg" флаги переменной FEATURES.
- eclean-pkg
- это также синоним команды eclean в режиме очистки каталога с packages.
[править] Параметры, применяемые в случае указания обработки 'distfiles'
- -f, --fetch-restricted
- оставить файлы, помеченные в дереве как 'fetch-restricted' (--destructive only)
- -s, --size-limit=<размер>
- не удалять файлы, размер которых больше чем <размер>
| Примечание: <размер> указывается следующим образом: "10M" это "десять мегабайт", "200K" это "двести килобайт", и т.д. Единицы измерения: G, M, K и B. |
[править] Параметры для действия 'packages'
Нет специальных параметров.
[править] Файлы исключений
- Файлы исключений это файлы, содержащие списки названий пакетов или целых категорий, не подлежащих обработке утилитой eclean. Такие списки могут пригодиться в том случае, ели необходимо защитить от удаления определённые пакеты, например, пакеты, содержащиеся в каталоге, указываемом в файле /etc/make.conf в переменной PKGDIR. Применяется следующий синтаксис описания списка:
- пустые строки, а также строки, начинающиеся с символа "#" (обычно обозначает комментарии) игнорируются
- только одно опредение в одной строке позволяется
- если строка содержит название категории, например "sys-apps", то все пакеты из этой категории исключаются из обработки. Как вариант, можно написать так: "sys-apps/*", что предусмотрено исключительно в эстетических целях, но никак не означает, что шаблоны могут использоваться во всех иных случаях.
- если строка содержит имя пакета("app-shells/bash"), то именно этот пакет и будет под защитой. Атомы, подобные ">=app-shells/bash-3" с указанием версий не поддерживаются. Кроме того, обязательно указание полного имени пакета (вместе с категорией).
- если в строке указан пакет с предшествующим его имени восклицательным знаком("!sys-apps/portage"),то этот пакет исключается из области защиты. Это полезно только в случае защиты всей категории, к которой относится данный пакет.
- для защиты дистрибутивов можно указать конкретное имя файла. Такие записи могут пригодиться, если в базе данных portage не содержатся такие дистрибутивы, например файлы локализации (i18n) OpenOffice.org ("helpcontent_33_unix.tgz" в частности).
[править] Примеры использования
Удалить только дистрибутивы, спрашивать подтверждение на удаление:
# eclean -i distfiles
Проверить, что нужно удалить, не использовать цвета при выводе:
# eclean -Cp packages
Очистить бинарные пакеты, которые уже были удалены из системы, но оставить все версии установленных в системе пакетов:
# eclean-pkg -d -n
Удалить все дистрибутивные файлы за исключением относящихся к уже установленным пакетам (текущая версия), не старше одного месяца, размером большие, чем 50 Мб, а также помеченные как fetch-restricted:
# eclean-dist -d -t1m -s50M -f
Из файла crontab, в "тихом" режиме удалить пакеты в наиболее безопасном режиме, а также применив режим --destructive, но сохранив в этом режиме файлы не старше недели, задачу выполнять каждое воскресенье в час ночи:
0 1 * * sun eclean -C -q packages ; eclean -C -q -d -t1w distfiles
[править] Смотри также
[править] Полезные ссылки
Обсуждение на форуме Gentoo, приведшее к написанию утилиты eclean
Запрос на включение утилиты в gentoolkit в багзилле
Yacleaner, утилита, подобная eclean
[править] Авторы
Thomas de Grenier de Latour (tgl) <degrenier@easyconnect.fr> gentoolkit 0.4.1 eclean(1)
