Ім'я
eclean - знаряддя для очищення локального репозитарію джерельних і бінарних пакетів.
Використання
eclean [параметри параметри] ... <дії> [параметри для поточного режиму] ... eclean-dist [глобальні параметри, параметри для режиму видалення 'distfiles'] ... eclean-pkg [глобальні параметри, параметри для режиму видалення 'packages'] ... eclean(-dist,-pkg) [--help, --version]
Опис
eclean це невеличка утиліта видалення застарілих исходников і бінарних файлів пакетів. Використовуючи стандартні операції вона очищає каталоги, описувані перемінними DISTDIR і PKGDIR, поки там залишаться лише пакетів, які справді актуальні на даний момент очищення.
За умовчанням eclean не зворушує все пакети, прописані в дереві портежей. Це найбезпечніший режим, дозволяє зберегти старі пакети у разі відкоту на старі чи стабільні версії, і навіть для переустановки пакетів. Врахуйте, що це режим зберігає розмір ваших DISTDIR і PKGDIR досить великими. Для файлів в DISTDIR цей режим досить повільний, адже потребує перевірки всього дерева портежей.
Якщо ж ви використовуєте опцію --destructive, eclean захищає лише окремі файли, відповідальні за встановлених у системі пакети (буквально враховуючи версію пакета). Цей режим звільнить вулицю значно більше місця, усе ще "турбуючись" про збереження більшості пакетів, виходячи з молодшої частини версії кожного пакета, і навіть дозволяючи відновити пошкоджені пакети. Але цього разі утиліта нічого очікувати турбуватися про менш важливі пакетах, необхідних наприклад для відкоту чи установки нового пакета. Це теж швидкий режим роботи, вживаний у більшістю подібних скриптов на кшталт yacleaner(це вірно що найменше для версії 0.3).
Десь посередині між тими режимами перебуває режим, визначається опцією --package-names (під час використання опції --destructive), у якому eclean залишить ті дистрибутиви, що необхідні встановлених пакетів. Він дозволить легко відкотитися на стару версію пакета без перезбирання чи закачування пакета наново, але не захистить Вас у разі видалення пакета.
На додачу до цих основним режимам деякі опції дають можливість окреслити деякі специфічні умови роботи утиліти: І нарешті ви можете вказати список категорій, виключених з обробітку (див. нижче параметр EXCLUSION FILES).
--time-limit
: буде корисною у разі, якщо потрібно зберегти файли, створені пізніше зазначеного часу
--size-limit
: може застосовуватися лише у DISTDIR і дозволяє залишити у системі файли більшого розміру, ніж зазначено у цій опції
--fetch-restricted
: застосовна до файлам вручну скачаних в DISTDIR, не піддаючи їх знищення. Параметр сильно уповільнює роботу утиліти, оскільки обробці піддається все дерево portage
Параметри
Глобальні параметри
{{Box Note|<час> тут вказується як період: "1y" означає рік, "2w" це два тижні, тощо.
Прийняті одиниці часу: y (роки), m (місяці), w (тижня), d (дні) і h (годинник).}}
-З, --nocolor : не використовувати кольору ще на виведення на консоль
-d, --destructive : залишити тільки самий необхідний переустановки мінімум файлів
-e, --exclude-file=<путь> : шлях до файлу, який містить список категорій, виключених з обробітку. {{Box Note|Тут <шлях> - це абсолютний шлях до файлу винятків. Якщо шлях не зазначений, використовується значення за умовчанням /etc/eclean/{packages,distfiles}.exclude (коли він, звісно, існує). Використовуйте, будь ласка, шлях /dev/null у разі, якщо файл ви є, але тимчасово ви хочете щодо нього звертатися.}}
-і, --interactive : запросити підтвердження перед видаленням файлів
-n, --package-names : захистити все версії (лише за використанні опції --destructive )
-p, --pretend : вивести список те, що підлягає знищення, але з видаляти негайно
-q, --quiet : придушувати будь-які повідомлення виведенні, залишати лише помилки
-t, --time-limit=<время> : не видаляти файли, створені пізніше зазначеного параметра <час>
-h, --help : показати сторінку допомоги
-V, --version : відобразити версію утиліти
Дії (actions)
distfiles : Очищуватиме каталог {{Filename|/usr/portage/distfiles}} (чи ту каталог, який посилається змінна DISTDIR в файлі {{Filename|/etc/make.conf}}). Це буде корисно для практично кожного користувача Gentoo, розмір каталогу з дистрибутивами якого виріс до значних розмірів.
eclean-dist : Превдоним для утиліти eclean, який наказував би обробку файлів у DISTDIR, створено для зручності, трохи більше того.
packages : Виробляти очищення каталогу {{Filename|/usr/portage/packages}} (чи, відповідно, вмісту каталогу, зазначеного перемінної PKGDIR в файлі {{Filename|/etc/make.conf}}. Це корисно зокрема стосовно тим, хто використовує "buildpkg" чи "buildsyspkg" прапори перемінної FEATURES.
eclean-pkg : це теж синонім команди eclean як очищення каталогу з packages.
Параметри, застосовувані у разі вказівки обробки 'distfiles'
{{Box Note|<размер> вказується так: "10M" це "десять мегабайтів", "200K" це "двісті кілобайтів", тощо.
Одиниці виміру: G, M, K і B.}}
-f, --fetch-restricted : залишити файли, позначені в дереві як 'fetch-restricted' (--destructive only)
-p.s, --size-limit=<размер> : не видаляти файли, розмір яких набагато більше ніж <розмір>
Параметри на дію 'packages'
Ні спеціальних параметрів.
Файли винятків
Файли винятків це файли, містять списки назв пакетів чи цілих категорій, що підлягали обробці утилітою eclean. Такі списки можуть знадобитися у разі, їли необхідно захистити від видалення певні пакети, наприклад, пакети, які у каталозі, вказаному в файлі {{Filename|/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 -і distfiles
Перевірити, що потрібно видалити, не використовувати кольору при виведення:
# eclean -Cp packages
Очистити бінарні пакети, які були віддалені із системи, але залишити всі версії встановлених у системі пакетів:
# eclean-pkg -d -n
Видалити все дистрибутивні файли крім які стосуються вже встановленим пакетів (поточна версія), до місяця, розміром великі, ніж 50 МБ, і навіть позначені як fetch-restricted:
# eclean-dist -d -t1m -s50M -f
З файла crontab, в "тихому" режимі видалити пакети у найбільш безпечному режимі, і навіть застосувавши режим --destructive, але зберігши у тому режимі файли до тижня, завдання виконувати щонеділі тепер у першій годині попівночі:
0 1 * * sun eclean -З -q packages ; eclean -З -q -d -t1w distfiles
Дивися також
eclean(1)
Корисні посилання
Обговорення форумі Gentoo, що призвело до написання утиліти eclean Запит вмикання утиліти в gentoolkit в багзілі Yacleaner, утиліта, така eclean
Автори
Thomas de Grenier de Latour (tgl) degrenier@easyconnect.fr gentoolkit 0.4.1 eclean(1)