From df9ce3699fcb59af09059a9ba14bef3a73216e7e Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Mon, 28 Oct 2013 18:27:14 +0100 Subject: add some documentation --- README.md | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 61 insertions(+), 1 deletion(-) (limited to 'README.md') diff --git a/README.md b/README.md index 49de826..1bfa7e9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,64 @@ pacserve ======== -pacserve - serve pacman cache and redirect via avahi service +**pacserve - serve pacman cache and redirect via avahi service** + +By default every [Arch Linux](https://www.archlinux.org/) installation +downloads its package files from online mirrors, transferring all the +bits via WAN connection. + +But often other Arch systems may be around that already have the files +available on local storage - just a fast LAN connection way. This is +where `pacserve` can help. It uses [Avahi](http://avahi.org/) to find +other instances and get the files there if available. + +Requirements +------------ + +To compile and run `pacserve` you need: + +* [avahi](http://avahi.org/) +* [libmicrohttpd](http://www.gnu.org/software/libmicrohttpd/) +* [curl](http://curl.haxx.se/) +* [darkhttpd](http://dmr.ath.cx/net/darkhttpd/) +* [nss-mdns](http://0pointer.de/lennart/projects/nss-mdns/) +* [markdown](http://daringfireball.net/projects/markdown/) (HTML documentation) + +`Arch Linux` installs development files for the packages by default, so +no additional development packages are required. + +Build and install +----------------- + +Building and installing is very easy. Just run: + +> make + +followed by: + +> make install + +This will place an executable at `/usr/bin/pacredir`, +documentation can be found in `/usr/share/doc/pacserve/`. +Additionally systemd service files are installed to +`/usr/lib/systemd/system/` and avahi service files go to +`/etc/avahi/services/`. + +Usage +----- + +Make sure [multicast- +DNS](https://wiki.archlinux.org/index.php/Avahi#Hostname_resolution) +works. Then enable systemd services pacserve, pacdbserve and pacredir, +open TCP ports 7078 and 7079 and add the following line to your +repository definitions in `pacman.conf`: + +> Include = /etc/pacman.d/pacserve + +Do not worry if `pacman` reports: + +> error: failed retrieving file 'core.db' from localhost:7077 : The +> requested URL returned error: 404 Not Found + +This is ok, it just tells `pacman` that `pacserve` could not find a file +and downloading it from an official server is required. -- cgit v1.2.3-54-g00ecf