Powerpill (Русский)
Powerpill - это оболочка pacman, которая использует параллельную и сегментированную загрузку, чтобы ускорить загрузку пакетов. Для достижения этой цели используются Aria2 и Reflector. Powerpill также может использовать rsync для официальных зеркал, которые его поддерживают. Это может быть эффективно для пользователей, которые уже используют полную полосу пропускания при скачивании с одного зеркала. Pacserve также поддерживается с помощью файла настроек и будет использоваться перед загрузкой из внешних зеркал. Пример: выполняете команду pacman -Syu, сообщается список из 20 пакетов которые доступны для обновления, общим размером 200 МегаБайт. Если загружать их с помощью Pacman, они будут загружаться в порядке очереди по одному. Если загружать их с помощью Powerpill, они будут загружаться одновременно, во многих случаях в несколько раз быстрее (в зависимости от скорости соединения, наличии пакетов на серверах, и скоростью от сервера / нагрузки, и т.д.)
Испытание "Pacman против Powerpill" на одной системе показало 4Х ускорение, загрузка Pacman в среднем 300 кБ / сек, и powerpill загрузка в среднем 1.2 Мб / сек.
Установка
Вы можете установить пакет из AUR powerpillAUR или непосредственно из репозитория Xyne.
Настройка
Powerpill имеет один файл настроек /etc/powerpill/powerpill.json
отредактируйте его по своему вкусу. Обратитесь к пользовательской странице документации man powerpill.json .
С помощью 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 сервера когда это возможно.
Основы использования
Для большинства операций, 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 - официальная страница проекта
- [1] - Быстрая загрузка пакетов, при помощи Powerpill (Рус.)
- powerpill reborn - powerpill is back :)