This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.

Please visit our production wiki at https://wiki.gentoo.org

eclean

From Gentoo Wiki (test)
Jump to:navigation Jump to:search
This page is a translated version of the page Eclean and the translation is 100% complete.

eclean — утилита для очистки репозитория от неиспользуемых архивов исходного кода и бинарных пакетов. Эта утилита - часть пакета app-portage/gentoolkit, который создается Portage-Tools проектом.

Установка

Emerge

Установим eclean:

root #emerge --ask app-portage/gentoolkit
Заметка
Смотрите Gentoolkit для получения информации о других утилитах включённых в пакет app-portage/gentoolkit

Использование

Обычно, архивы исходников располагаются в директории /usr/portage/distfiles, в то время как бинарные пакеты расположены в /usr/portage/packages. Расположение каждого из них может быть изменено введением иных переменных DISTDIR и PKGDIR соответственно в /etc/portage/make.conf. Обе директории могут сильно разрастаться, если периодически их не чистить. По этой причине была создана утилита eclean.

Введение

Используйте eclean --help для обзора всех возможных действий, списка опций и их описание:

user $eclean --help
Usage:
 eclean [global-option] ... <action> [action-option] ...
 eclean-dist [global-option, distfiles-option] ...
 eclean-pkg [global-option, packages-option] ...
 eclean(-dist,-pkg) [--help, --version]
 
Available global options:
 -C, --nocolor             - turn off colors on output
 -d, --deep                - only keep the minimum for a reinstallation
 -e, --exclude-file=<path> - path to the exclusion file
 -i, --interactive         - ask confirmation before deletions
 -n, --package-names       - protect all versions (when --deep
 -p, --pretend             - only display what would be cleaned
 -q, --quiet               - be as quiet as possible
 -t, --time-limit=<time>   - don't delete files modified since <time>
   <time> is a duration: "1y" is "one year", "2w" is "two weeks", etc.
   Units are: y (years), m (months), w (weeks), d (days) and h (hours).
 -h, --help                - display the help screen
 -V, --version             - display version info
 
Available actions:
 packages     - clean outdated binary packages from PKGDIR
 distfiles    - clean outdated packages sources files from DISTDIR
 
Available options for the packages action:
 NONE  :)
 
Available options for the distfiles action:
 -f, --fetch-restricted   - protect fetch-restricted files (when --deep)
 -s, --size-limit=<size>  - don't delete distfiles bigger than <size>
   <size> is a size specification: "10M" is "ten megabytes", "200K" is
   "two hundreds kilobytes", etc.  Units are: G, M, K and B.
 
More detailed instruction can be found in `man eclean`

Очистка директории архивов исходных файлов

Очистим директорию архивов исходных файлов введением аргумента distfiles:

root #eclean distfiles

Или же можно запустить краткий вариант:

root #eclean-dist

Очитка директории бинарных пакетов

Для директории с бинарными пакетами используйте следующую команду:

root #eclean packages

Или же можно запустить краткий вариант:

root #eclean-pkg

Параметры

Обычно, архивы исходных файлов и бинарные пакеты, соответствующие любому ebuild'у в текущем репозитории, не будут удалены. В этом случае, системные администраторы могут просто установить более старую версию пакета или установить ранее удалённый пакет, так как пакет всё ещё есть в текущем дереве репозитория.

Например, предположим оба пакета foo-1.0 и foo-1.1 есть в репозитории. После обновления с foo-1.0 на foo-1.1 запустим eclean distfiles: архивы обоих версий остались нетронутыми. Поэтому, если произошли неполадки в foo-1.1, то пользователь может просто переустановить foo-1.0 без повторной загрузки.

Другая возможная ситуация - установка ранее удалённого пакета. Предположим, что пакет foo (любой версии) установлен в системе. После (непреднамеренного) удаления этого пакета и запуска eclean distfiles, архивы исходных кодов для foo будут сохранены. Поэтому можно будет переустановить пакет без повторного скачивания.

Такие же примеры и для бинарных пакетов.

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

В качестве альтернативы можно использовать сразу две опции: --deep и --package-names. Каждый архив исходных кодов или бинарный пакет, не связанный с сейчас установленным пакетом (версия не имеет значение) будет удалён. С такими опциями также потребуется снова скачать исходные файлы, когда необходимо снова установить ранее удаленный пакет, но, в этом случае, останутся исходные файлы для возможности понижения версии пакета.

Для более детальной информации прочтите eclean(1) man page:

user $man 1 eclean

Смотрите также