Difference between revisions of "Powerpill"

From ArchWiki
Jump to: navigation, search
Line 1: Line 1:
 
[[Category:Package management]]
 
[[Category:Package management]]
 
[[it:Powerpill]]
 
[[it:Powerpill]]
{{Warning|''Powerpill'' development has been officially discontinued: its latest version does not work with ''pacman>=3.5''. See [https://bbs.archlinux.org/viewtopic.php?id=115660].}}
 
{{Note|There exist other ways to use aria2 for package retrieval. See [[Improve_Pacman_Performance#Using_aria2]]}}
 
  
 
==Introduction==
 
==Introduction==
Powerpill is a wrapper script written by Xyne for [[pacman]] that speeds up package retrieval by using aria2c for concurrent/segmented downloads. It determines the target packages of requested synchronization operation and then uses the mirrorlist to create a comprehensive metalink. This metalink is then piped to the download manager aria2 for package retrieval. Significant reductions in download times are often possible due to the combined effects of simultaneous and segmented downloads.
+
Powerpill is a Pacman wrapper that uses parallel and segmented downloading to try to speed up downloads for Pacman. Interally it uses Aria2 and Reflector to achieve this. Powerpill can also use Rsync for official mirrors that support it. This can be efficient for users who already use full bandwidth when downloading from a single mirror. Pacserve is also supported via the configuration file and will be used before downloading from external mirrors. Example: One wants to update and issues a ''pacman -Syu'' which returns a list of 20 packages that are available for update totally 200 megs.  If the user downloads them via pacman, they will come down one-at-a-time.  If the user downloads them via powerpill, they will come down simultaneously in many cases several times faster (depending on one's connection speed, the availability of packages on servers, and speed from server/load, etc.)
 
+
Example: One wants to update and issues a ''pacman -Syu'' which returns a list of 20 packages that are available for update totally 200 megs.  If the user downloads them via pacman, they will come down one-at-a-time.  If the user downloads them via powerpill, they will come down simultaneously in many cases several times faster (depending on one's connection speed, the availability of packages on servers, and speed from server/load, etc.)
+
  
 
A test of pacman vs. powerpill on one system revealed a 4x speed up in the above scenario where the pacman downloads averages 300 kB/sec and the powerpill downloads averaged 1.2 MB/sec.
 
A test of pacman vs. powerpill on one system revealed a 4x speed up in the above scenario where the pacman downloads averages 300 kB/sec and the powerpill downloads averaged 1.2 MB/sec.
  
 
==Installation==
 
==Installation==
You can get it from http://xyne.archlinux.ca/old_projects/powerpill/
+
You can get it from [[AUR]] {{AUR|powerpill}}
 
+
Make sure you have the package ''perl-crypt-ssleay'' installed, or you won't be able to use the '''Reflector option''' (read below)
+
 
+
# pacman -S perl-crypt-ssleay
+
  
 
==Configuration==
 
==Configuration==
Powerpill has a single configure file {{ic|/etc/powerpill.conf}} you can edit to your liking. Most of it is well commented and obvious to the user.
+
Powerpill has a single configure file {{ic|/etc/powerpill/powerpill.json}} you can edit to your liking. Refer to the powerpill.json man page for details.
 
== Using Reflector ==
 
== Using Reflector ==
By default, Powerpill is configured to use [[Reflector]] to append a list of the 45 most recently updated servers to its internal server list. This is to make sure that there are enough servers in the list for significant speed improvements. As this does not take server speed into account, the user may wish to set a aria2's lowest-speed-limit option in the aria2_options section of /etc/powerpill.conf:
+
By default, Powerpill is configured to use [[Reflector]] to retrieve the current list of mirrors from the Arch Linux server's web API and use them for parallel downloads. This is to make sure that there are enough servers in the list for significant speed improvements.  
+
#lowest-speed-limit=10K
+
 
+
It is also possible to change the {{Ic|1=Reflect = -l 45}} to get the fastest mirrors instead of the most recent but this is not recommended as the time it takes to rank the mirrors will be greater than the time it takes to download the packages in most cases.
+
 
+
The user may also simply comment out the "Reflect" line but in that case the user should have as many mirrors in their {{ic|/etc/pacman.d/mirrorlist}} as the maximum number of connections in /etc/powerpill.conf. Powerpill relies on access to multiple mirrors to speed up downloads.
+
  
 
==Basic Usage==
 
==Basic Usage==
Line 45: Line 31:
  
 
  # powerpill -S package1 package2 package3
 
  # powerpill -S package1 package2 package3
 +
==External resources==
 +
*[http://xyne.archlinux.ca/projects/powerpill/ xyne project site] -  Official site
 +
*[https://bbs.archlinux.org/viewtopic.php?id=153818 powerpill reborn] -  powerpill is back :)

Revision as of 22:07, 5 December 2012


Introduction

Powerpill is a Pacman wrapper that uses parallel and segmented downloading to try to speed up downloads for Pacman. Interally it uses Aria2 and Reflector to achieve this. Powerpill can also use Rsync for official mirrors that support it. This can be efficient for users who already use full bandwidth when downloading from a single mirror. Pacserve is also supported via the configuration file and will be used before downloading from external mirrors. Example: One wants to update and issues a pacman -Syu which returns a list of 20 packages that are available for update totally 200 megs. If the user downloads them via pacman, they will come down one-at-a-time. If the user downloads them via powerpill, they will come down simultaneously in many cases several times faster (depending on one's connection speed, the availability of packages on servers, and speed from server/load, etc.)

A test of pacman vs. powerpill on one system revealed a 4x speed up in the above scenario where the pacman downloads averages 300 kB/sec and the powerpill downloads averaged 1.2 MB/sec.

Installation

You can get it from AUR powerpillAUR

Configuration

Powerpill has a single configure file /etc/powerpill/powerpill.json you can edit to your liking. Refer to the powerpill.json man page for details.

Using Reflector

By default, Powerpill is configured to use Reflector to retrieve the current list of mirrors from the Arch Linux server's web API and use them for parallel downloads. This is to make sure that there are enough servers in the list for significant speed improvements.

Basic Usage

For most operations, powerpill works just like pacman since it is a wrapper script for pacman.

System Updating

To update your system (sync and update installed packages) using powerpill, simply pass the -Syu options to it as you would with pacman:

# powerpill -Syu

Installation of packages

To install a package and its deps, simply use powerpill with the -S option as you would with pacman:

# powerpill -S package

You may also install multiple packages with it the same way you would with pacman:

# powerpill -S package1 package2 package3

External resources