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
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