Version 1 (modified by dclark, 17 years ago) (diff)

(hopefully) final INSTALL for 0.8.3 release

EncapPackages | EncapReadme | EncapInstall | EncapHowto

EncapInstall: bcfg2/encap installation instructions


  • Read the README
  • GNU gcc and GNU g++
  • GNU make (make sure "gmake" links to GNU make on non-GNU platforms)
  • /usr/local/man should be a directory, not a symbolic link
  • epkg (the encap package manager)

You will need binaries of the GNU tools. For GNU and BSD based operating systems, you should be able to get these via the operating system's package system. For commercial operating systems, these can be obtained from:


Advanced Packaging Tool (APT) support

On platforms that use APT, such as Debian and Ubuntu, "bcfg2-python-apt" must be built. Unfortunately the version required is dependent on the version of the distribution.

To see if your distribution is supported, do:

cat /etc/issue
grep DISTRO src/encap-profiles/Makefile \
    | awk -F, '{print $2}' | sort | sed s:\)$::g

If any of the lines from src/encap-profiles/Makefile match your /etc/issue, you're good to go; if not, open a ticket at with the contents of your /etc/issue requesting that it be supported, and support should be added within a few days (or of course patches are gratefully accepted).

When building "bcfg2-python-apt", there are some additional prerequisites:

  • /usr/lib/libapt-pkg* (Part of the "apt" package on Debian)
  • /usr/lib/libapt-inst* (Part of the "apt-utils" package on Debian)
  • The "libapt-pkg-dev" package

So you probably want to do something like:

apt-get install apt apt-utils libapt-pkg-dev

Building and installing everything

Note that the build is disruptive to the currently installed bcfg2 packages (whatever you have installed is uninstalled and then replaced with the newly-built packages), although no configuration files will be replaced unless you ask them to be (via "REPLACE_CONFIG="yes"; export REPLACE_CONFIG").

  1. Make sure all of the prerequisites (see above) are installed.
  2. The build/install must be done as "root".
  3. Change to the src directory (cd src)
  4. Copy your site-settings.conf file to bcfg2-site/; if you don't have one already, copy over bcfg2-site/site-settings.conf-example and change it to suit your site.
  5. Run make (GNU/Linux platforms) or gmake (all other platforms). This will kick off and background the entire build process. Make output will be redirected to make.log, and package build output will go to individual log files. If the entire build is successful, you will see: ### encap build finished... followed by the locations of the various packages at the end of make.log
  6. If everything goes well, try running "bcfg2-repo-validate". This should not generate a python traceback, but will probably throw an error.

Packages that you can install on other machines will be in the "DIST" directory. In most cases you will only need the self-extracting/installing package with the name like "bcfg2-*.run"; that will install the bcfg2 client.

You can install the doc packages if you want, although it probably makes more sense to let bcfg2 install them on machines you want to have them on after you get stuff up and running.

On GNU/Linux platforms, glib and gamin will also be built; these only have to be installed only on the bcfg2 server machine.

Cheetah will be built on all platforms (as it is needed as a build-time prerequisite), however for run-time it only needs to be installed on the bcfg2 server machine.

Next step

For more information on the "bcfg2-*.run" file and what to do next, see the HOWTO.

Documentation Version