Pacserve allows to easily share pacman packages between computers. This is very useful if you have a slow internet connection and multiple machines running Arch Linux.
pacserve.service can configured by editing
pacserve --help to see the available options.
To enable IPv6 support add the option
To announce and discover Pacserve using mDNS add the option
Instead of pacman, use the pacsrv wrapper to perform an update, install packages and so on. It will automatically download all packages from the LAN, if someone hosts them with pacserve there. Otherwise it will just download them from the internet mirrors, as usually. For example:
# pacsrv -Syu # pacsrv -S openssh
Configure Pacman to use Pacserve
If you are always running the pacserve daemon and want pacman to use it without the wrapper, insert the following line (before any other
Include lines) in each repository in
Include = /etc/pacman.d/pacserve
Here is an example for the Xyne repository:
... [xyne-x86_64] SigLevel = Required Include = /etc/pacman.d/pacserve Server = http://xyne.archlinux.ca/repos/xyne ...
Alternatively (for official mirrors only), you may insert the
Include line at the top of the Pacman mirrorlist file or let pacman.conf-insert_pacserve generate a
pacman.conf file for you.
Problems if using external downloaders in pacman.conf
If you are using an external downloader such as wget, pacsrv may return errors when downloading. To work around these errors, simply quote the url and output formatting strings (
%o) using single quotes:
XferCommand = /usr/bin/wget --timeout=6 --passive-ftp -c -O '%o' '%u'