Многих также интересует вопрос "
Какой размер репозитория ubuntu" и "
как удалить старые версии пакетов репозитория ubuntu"?
Самую последнюю версию программы смотрите на сайте
http://mozgoed-mgoy.narod.ru/?mod=page&page=70.
Требования к запуску программы.Практически такие же как и у автора программы.
Windows 2000, Windows XP, Windows Server 2003 - Нужен .Net Framework 2.0
Windows Vista, Windows 7 - Ничего не нужно.
Ubuntu 10.10 - Нужен пакет Mono. Запускать можно через консоль "mono ubuntu-repository.exe".
1.
Как узнать размер скачиваемого репозитория?Моя программа позволяет в интерактивной форме узнать размеры репозитория и отдельных его частей.
а) Выбираете нужные дистрибутивы(первая колонка).
б) Выбираете компоненты распространения (вторая колонка).
в) Выбираете архитектуру процессора (третья колонка)
г)Повторяете операцию (а,б,в) для каждого релиза, который вам нужен (на момент публикации этого сообщения актуальной была Oneiric).
Жмёте "Анализ". Прога изучает все вкладки и по каждой выдаёт суммарный размер репозитория. И в конце выдаёт размер всего-всего, что вы выбрали вообще.
Программа не создаёт никаких временных файлов в процессе "Анализа", поэтому считается полностью Portable. (можно даже с CD запускать)
2.
Как скачать Ubuntu репозиторий?Данная программа может скачать ubuntu репозиторий с опциональным выбором его частей.
а) Выбираете нужные дистрибутивы(первая колонка).
б) Выбираете компоненты распространения (вторая колонка).
в) Выбираете архитектуру процессора (третья колонка)
г)Повторяете операцию (а,б,в) для каждого релиза, который вам нужен (Dapper в репозитории Ubuntu.com более не хранится).
Жмёте кнопку скачивания. Программа скачивает пакеты связанные с выбранными настройками.
+ Программа поддерживает настройку попыток скачивания каждого пакета. Нажмите кнопку "..." для изменения настроек. 0 - при любой ошибке пакет пропускается и начинается скачивание следующего. 1 - будет ещё одна попытка скачивания. 2 - и т.д.
+
Внимание Новая функция "Очистка" - позволяет очистить любой репозиторий от ненужных ветвей пакетов.
Допустим в вашем репозитории находятся полные релизы maverick и natty. Все компьютеры вы перевели на новую версию Natty. Получается, что репозиторий хранит целых 40 ГБ ненужных теперь пакетов. Вариант удаления репозитория и скачивания его заново с новыми параметрами долгий. гораздо проще очистить его от ненужных пакетов. Нажмите флажок "Очистка" и выберите те ветви репозитория, которые должны остаться после обновления.
Будьте внимательны! Лишние ветви репозитория будут безвозвратно удалены! Однако плюсом этой обработки будет то, что заодно будет произведено удаление устаревших версий пакетов и пустых папок.
2.
Как автоматически обновлять репозиторий по расписанию?Новая функция Ubuntu-repository позволяет выполнять обновление по расписанию с периодичностью от раза в 104 дня и 4 часа -> до одного раза в час. Новое обновление не начнётся пока не будет завершено предыдущее.
Для указания времени обновления нажмите кнопку "..." и укажите время обновления с помощью счётчиков. При сбросе счётчиков дней и часов в 0 - режим обновления по расписанию отключается.
3.
Как удалить устаревшие пакеты из скачанного репозитория?Такой вопрос часто возникает когда вы несколько раз обновили репозиторий с помощью другой программы, но она забыла удалить устаревшие пакеты. А по причине огромного размера репозитория сделать это вручную очень-очень долго.
а) Нажать кнопку "Обзор" и выбрать корневую папку репозитория. (в ней должны быть папки "
dists" и "
pool")
б) Нажать кнопку "Удалить старые пакеты". Дождаться окончания сканирования пакетов в репозитории (окно может зависнуть, потому что ещё не успел распаралелить процессы), и дождаться окончания сканирования пакетов в папке "pool" (Процесс ещё более долгий...
)
в) Откроется окошко о результатах предварительного сканирования. Согласившись с вопросом о начале Удаления, ждём окончания работы программы.
Совет: Если в pool'e файлов меньше, чем официально должно быть, значит репозиторий не полный. Если наоборот - много больше, то либо репозиторий перегружен старыми версиями, либо стоит подумать, жать ли кнопку "Да". Потому что вся эта разница будет наверняка удалена.
Для пытливых умов скажу алгоритм работы. Потому что возможно функция удаления старых пакетов Вас не устроит и удалит что-то лишнее из репозитория. Итак:
I) Создаётся список всех файлов в папке pool.
II) Находятся все Packages.gz в файле Release в корне репозитория и из каждого архива вынимаются все ссылки на файлы.
III) Потом для каждого файла из первого списка ищется соответствие во втором списке. Если находится, то файл не трогается. Если не находится, то файл физически удаляется.
Данная функция программы тоже полностью Portable.
BugFixes:
-Исправлена ошибка при удалении старых пакетов (удалялся один пакет)
+При удалении старых пакетов пустые папки теперь удаляются
-Исправлена ошибка расчёта времени скачивания