Powerpill (Русский)
Powerpill — это оболочка pacman, которая использует параллельную и сегментированную загрузку, чтобы ускорить загрузку пакетов. Для достижения этой цели используются Aria2 и Reflector. Powerpill также может использовать rsync для официальных зеркал, которые его поддерживают. Это может быть эффективно для пользователей, которые уже используют полную полосу пропускания при скачивании с одного зеркала. Pacserve также поддерживается с помощью файла настроек и будет использоваться перед загрузкой из внешних зеркал. Пример: выполняете команду pacman -Syu
, сообщается список из 20 пакетов, которые доступны для обновления, общим размером 200 МБ. Если загружать их с помощью pacman, они будут загружаться в порядке очереди по одному. Если загружать их с помощью Powerpill, они будут загружаться одновременно, во многих случаях в несколько раз быстрее (в зависимости от скорости соединения, наличии пакетов на серверах, и скоростью от сервера / нагрузки, и т.д.)
Испытание "Pacman против Powerpill" на одной системе показало 4Х ускорение, загрузка Pacman в среднем 300 кБ / сек, и powerpill загрузка в среднем 1.2 Мб / сек.
Установка
Установите пакет powerpillAUR
Настройка
Powerpill имеет один файл настроек /etc/powerpill/powerpill.json
— отредактируйте его по своему вкусу. Смотрите powerpill.json(1) для более подробной информации.
С помощью Reflector
По умолчанию, Powerpill настроен на использование Reflector чтобы получить текущий список зеркал из веб-API сервера Arch Linux и использовать их для параллельных загрузок. Для значительных улучшений скорости, убедитесь, что есть достаточно серверов в списке.
С помощью rsync
Некоторые зеркала поддерживают rsync. Когда он включен, синхронизация базы данных (pacman -Sy
) и другие операции могут выполняться значительно быстрее, так как используется одно соединение. Сам протокол rsync также ускоряет проверку обновлений, а иногда и передачу файлов.
Чтобы найти подходящее зеркало с поддержкой rsync, используйте reflector
:
$ reflector -p rsync
Также можно найти n самых быстрых серверов (опция -f
) и m
недавно обновлённых серверов (опция -l
):
$ reflector -p rsync -f n -l m
Выберите зеркала, которые вы хотите использовать. Опция -c
также может быть использована для фильтрации по вашей стране (reflector --list-countries
чтобы увидеть полный список, используйте имя в кавычках с учётом регистра!). После этого отредактируйте /etc/powerpill/powerpill.json
, прокрутив вниз до секции rsync
и добавив столько серверов, сколько хотите, в поле server.
После этого все официальные базы данных и пакеты будут загружены из rsync-сервера, когда это возможно.
Обратите внимание, что есть проверка, находятся ли базы данных и пакеты в официальном репозитории, через Reflector, поэтому его установка необходима для работы функции rsync.
Основы использования
Большинство операций в powerpill работают так же, как и в pacman, так как он является скриптом-обёрткой для pacman.
Обновление системы
Чтобы обновить систему (синхронизировать и обновить установленные пакеты) используйте powerpill и опцию -Syu
- как вы делаете это с pacman:
# powerpill -Syu
Установка пакетов
Чтобы установить пакет и его зависимости, просто используйте powerpill (вместо pacman) с опцией -S
:
# powerpill -S package
Вы также можете установить несколько пакетов, как и при работе с pacman:
# powerpill -S package1 package2 package3
Решение проблем
Если вы получаете [err] для файлов <repo>.db.sig:
b5d7d7|ERR | 0B/s|/var/lib/pacman/sync/extra.db.sig 899e91|ERR | 0B/s|/var/lib/pacman/sync/multilib.db.sig 8fcc32|ERR | 0B/s|/var/lib/pacman/sync/core.db.sig 85eb3d|ERR | 0B/s|/var/lib/pacman/sync/community.db.sig
Это происходит потому, что нет файлов подписей для этого репозитория, и вы не установили:
SigLevel = PackageRequired
в /etc/pacman.conf как описано в этом посте из форума Arch (En)
Смотрите также
- Powerpill - официальная страница проекта
- Быстрая загрузка пакетов, при помощи Powerpill - тема на форуме archlinux.org.ru
- powerpill reborn - powerpill is back :)