Powerpill (Português)
O Powerpill é um wrapper do pacman que usa downloads paralelos e segmentados para tentar acelerar downloads para o pacman. Internamente, usa Aria2 e Reflector para conseguir isso. O Powerpill também pode usar rsync para espelhos oficiais que oferecem suporte a ele. Isso pode ser eficiente para usuários que já usam largura de banda total ao fazer o download a partir de um único espelho. Também há suporte ao Pacserve através do arquivo de configuração e será usado antes de baixar de espelhos externos. Exemplo: deseja-se atualizar e executa-se pacman -Syu, o qual retorna uma lista de 20 pacotes que estão disponíveis para atualização total de 200 mega. Se o usuário os baixar via pacman, eles serão baixados um após o outro. Se o usuário os baixar através do powerpill, eles serão baixados simultaneamente em muitos casos várias vezes mais rápido (dependendo da velocidade da conexão, da disponibilidade de pacotes nos servidores e da velocidade do servidor/carga, etc.)
Um teste de pacman vs. powerpill em um sistema revelou uma aceleração de 4x no cenário acimia, sendo que o pacman baixa em uma média de 300 kB/s e o powerpill baixa na média de 1.2 MB/s.
Instalação
Instale o pacote powerpillAUR.
Configuração
Powerpill tem um único arquivo de configuração /etc/powerpill/powerpill.json
que você pode editar como quiser. Veja a página man powerpill.json(1) para detalhes.
Usando Reflector
Por padrão, o Powerpill está configurado para usar Reflector para obter a lista atual de espelhos da API Web do servidor do Arch Linux e usá-los para downloads paralelos. Isto é para se certificar de que existem servidores suficientes na lista para melhorias de velocidade significativas.
Usando rsync
O suporte a Rsync está disponível para alguns espelhos. Quando ativado, as sincronizações de base de dados (pacman -Sy
) e outras operações podem ser muito mais rápidas porque uma única conexão é usada. O próprio protocolo rsync também acelera as verificações de atualização e, às vezes, as transferências de arquivos.
Para localizar um espelho adequado com suporte a rsync, use o reflector
:
$ reflector -p rsync
Alternativamente, você pode localizar os n
servidores mais rápidos com a opção -f n
e os m
servidores mais recentemente sincronizados com a opção -l m
:
$ reflector -p rsync -f n -l m
Selecione o(s) espelho(s) que você deseja usar. A opção -c
também pode ser usada para filtrar por sua nacionalidade (reflector --list-countries
para ver uma lista completa, usando aspas em volta do nome, e há diferenciação de maiúsculo e minúsculo!). Uma vez feito, edite /etc/powerpill/powerpill.json
, role para baixo para a seção rsync
e adicione quantos servidores você quiser ao campo de servidor.
Após isso, toda a base de dados e pacotes oficiais será baixada do servidor rsync quando possível.
Uso básico
Para a maioria das operações, o powerpill funciona da mesma forma que o pacman, já que é um script wrapper para o pacman.
Atualizando o sistema
Para atualizar seu sistema (sincronizar e atualizar pacotes instalados) usando o, basta passar as opções -Syu
como você faria com o pacman:
# powerpill -Syu
Instalação de pacotes
Para instalar um pacote e suas dependências, basta usar o powerpill com a opção -S
como você faria com o pacman:
# powerpill -S pacote
Você também pode instalar múltiplos pacotes com ele como você faria com o pacman:
# powerpill -S pacote1 pacote2 pacote3
Solução de problemas
No caso de você obter um [err] para arquivos <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
É porque os arquivos de assinatura estão faltando para aquele repo e você não definiu
SigLevel = PackageRequired
explicitamente no /etc/pacman.conf
, conforme explicado nesta publicação do fórum do Arch
Veja também
- Powerpill - página oficial do projeto
- powerpill reborn - powerpill está de volta :)