Upgrade server

From OLPC
Revision as of 15:20, 20 December 2007 by CScott (talk | contribs) (Basic upgrade-server installation information.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

These are basic instructions for installing an upgrade server. This feature is available for testing but is not yet released.

The source code for the updates server is available at:

http://dev.laptop.org/git?p=users/cscott/upgrade-server

From a basic Debian etch installation, the following will yield a functioning updates server:

# apt-get install xinetd rsync git-core python2.5 file fakeroot bzip2 zip unzip
# adduser upserv
# passwd -l upserv
# su upserv
$ cd ~
$ mkdir builds
$ git-clone git://dev.laptop.org/users/cscott/upgrade-server

Make sure that /home/upserv/upgrade-server/upserv.py has:

UPSERV_DIR = "/home/upserv/builds"
EXTRACT_BUILD = "/home/upserv/upgrade-server/extract-build.sh"

As root, create a new /etc/xinetd.d/rsyncd file:

# default: off
# description: The rsync server is a good addition to an ftp server, as it \
#       allows crc checksumming etc.
service rsync
{
       disable = no
       socket_type     = stream
       wait            = no
       user            = upserv
       group           = upserv
       groups          = yes
       server          = /home/upserv/upgrade-server/upserv.py
       server_args     = server
#      log_on_failure  += USERID  # this invokes identd, which is often unfriendly
       per_source      = UNLIMITED
}

Change the localhost line in /etc/hosts to:

127.0.0.1       localhost updates updates.laptop.org

Restart xinetd.

# /etc/init.d/xinetd restart
  • Some versions of inetd/xinetd, used to run the upgrade server, generate an AUTH request when you connect, so an ident server on the system running rsync may be helpful, Debian package oidentd is sufficient.