blob: e7f9fbd8ad6b7c0e3bce9de86dcd244d52451674 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
---
inMenu: true
title: Using Source
---
Puppet is currently implemented in Ruby and uses standard Ruby libraries. You
should be able to run Puppet on any Unix-style host with Ruby. Windows
support is planned but not currently available.
## Before you Begin
Make sure your host has Ruby version 1.8.2:
$ ruby -v
While Puppet should work with 1.8.1, there have been many reports of problems
with this version.
Make sure you have Subverion:
$ svn --version -q
## Get the Source
Puppet currently relies on another Reductive Labs tool, Facter. Create a working
directory and get them both:
$ SETUP_DIR=~/svn
$ mkdir -p $SETUP_DIR
$ cd $SETUP_DIR
$ svn checkout https://reductivelabs.com/svn/facter/trunk facter
$ svn checkout https://reductivelabs.com/svn/puppet/trunk puppet
# Make it Available
Last, we need to put the puppet binaries into our path and make the Puppet and
Facter libraries available to Ruby:
$ PATH=$PATH:$SETUP_DIR/facter/bin:$SETUP_DIR/puppet/trunk/bin
$ RUBYLIB=$SETUP_DIR/facter/lib:$SETUP_DIR/puppet/trunk/lib
$ export PATH RUBYLIB
Facter changes far less often than Puppet and it is very minimal (a single
library file and a single executable), so it is probably worth just installing
it:
$ cd facter
$ sudo ruby ./install.rb
## Test That It Works
Now you can test that it is working. The best way to do that is described in
the [testing](testing.html) guide, and involves writing a short site manifest. Another
option is to run through all of the unit tests that ship with Puppet:
$ cd $SETUP_DIR/puppet/test
$ ./test
This tends to take a long time, however, and is probably only useful if you
already know there's a problem and want to report a bug or if you are planning
on doing development. It is worth noting that some of these tests necessarily
modify your system, so unless you know what you are doing, **it is unadvisable
to run them as root**, and certainly not on a production system.
|