Powerpill (Español)

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.

Powerpill es una envoltura de pacman que usa descarga paralela y segmentada para acelerar las descargas de Pacman. Internamente usa Aria2 y Reflector. Powerpill también puede usar rsync para mirrors que son compatibles con este. Esto puede ser beneficioso para usuarios que usan todo el ancho de banda al descargar de un mirror. Pacserve también es compatible al modificar el archivo de configuración y será usado antes de buscar en mirrors externos.

Ejemplo: al actualizar un sistema con pacman -Syu existe una lista de 20 paquetes con opción de actualización que en total suman 200 MB. Si el usuario los descarga con Pacman, estos descargaran uno a la vez. Si el usuario los descarga con Powerpill, se descargaran simultáneamente y en muchos casos bastante más rápido (depende de la velocidad de ancho de banda, disponibilidad de paquetes en los servidores, velocidad del servidor, etc.)

Examinando Pacman vs. Powerpill en un sistema revela una aceleración de hasta 4 veces, en el escenario del ejemplo donde la descarga de Pacman tenia una velocidad en promedio de 300kB/seg y las descargas de Powerpill tenia una velocidad en promedio de 1.2MB/seg.

Instalación

Instale el paquete powerpillAUR.

Configuración

Powerpill tiene un solo archivo de configuración /etc/powerpill/powerpill.json, el cual se puede modificar como se prefiera. Revise el manual powerpill.json(1) para más detalles.

Usando Reflector

Por defecto, Powerpill esta configurado para usar Reflector al descargar la lista actual de mirrors disponibles desde el API de Arch Linux, para usarlos en la descarga paralela de paquetes. Así se asegura que hay suficientes servidores en la lista para una aceleración significativa en la descarga.

Usando rsync

La compatibilidad de Rsync depende del mirror. Cuando esta disponible, la sincronización de las bases de datos (pacman -Sy), y otras operaciones pueden ser mucho mas rápidas porque una sola conexión es usada. El protocolo Rsync también acelera la verificación de actualizaciones y a veces la transferencia de archivos.

Para encontrar un servidor compatible, use reflector:

$ reflector -p rsync

Alternativamente se pueden encontrar la cantidad de servidores n mas rápidos con el parámetro -f n, y la cantidad de servidores m que han sido actualizados mas recientemente con el parámetro -l m:

$ reflector -p rsync -f n -l m

Seleccione el/los mirror(s) que desee usar. El parámetro -c también puede ser usado para filtrar por país, (reflector --list-countries para ver una lista completa, use comillas alrededor del nombre y se distingue mayúsculas de minúsculas). Una vez terminado, modifique /etc/powerpill/powerpill.json, en la parte baja del archivo donde rsync aparece, y agregue tantos servidores como quiera en el campo de servidores.

Después de hacer estas modificaciones, todas las actualizaciones de bases de datos y paquetes se descargaran con un servidor rsync si esta disponible.

Uso básico

Para la mayoría de operaciones powerpill funciona como pacman, ya que es un script que envuelve a pacman.

Actualización del sistema

Para actualizar su sistema (sincronización y actualización de paquetes) usando powerpill, simplemente pase los parámetros -Syu, como se ejecutaría con pacman:

# powerpill -Syu

Instalación de paquetes

Para instalar un paquete y sus dependencias usando powerpill, simplemente use el parámetro -S, como se ejecutaría en pacman:

# powerpill -S paquete

También se puede pasar una lista de paquetes de la misma manera que con pacman:

# powerpill -S paquete1 paquete2 paquete3

Solución de problemas

En caso de tener un error [err] con los archivos de repositorio <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

Es causado por la ausencia de las firmas para ese repositorio, y no se ha configurado el parámetro

SigLevel = PackageRequired

explicitamente en el archivo /etc/pacman.conf, como se explica en este post del forum.

Vea también