Powerpill (Português) - ArchWiki

Jump to content

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 :)

Category:

- Package management (Português)