Powerpill (Português)

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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