summaryrefslogtreecommitdiffstats
path: root/doc/appendix/guides/fedora.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/appendix/guides/fedora.txt')
-rw-r--r--doc/appendix/guides/fedora.txt97
1 files changed, 54 insertions, 43 deletions
diff --git a/doc/appendix/guides/fedora.txt b/doc/appendix/guides/fedora.txt
index d8d3b1b34..1dd4f6db0 100644
--- a/doc/appendix/guides/fedora.txt
+++ b/doc/appendix/guides/fedora.txt
@@ -12,22 +12,33 @@ This guide is work in progess.
This is a complete getting started guide for Fedora. With this
-document you should be able to install a Bcfg2 server, a Bcfg2 client,
+document you should be able to install a Bcfg2 server, a Bcfg2 client,
and change the ``/etc/motd`` file on the client.
+Prerequisites
+=============
+
+To setup a configuration management system based on Bcfg2 only a few
+prerequisites need to be fullfilled.
+
+* A server machine that can host the Bcfg2
+* Internet access for the installation process
+* A working network with DNS
+
+
Install Bcfg2 From RPM
======================
-The fastest way to get Bcfg2 onto your system is to use ``yum``
-or PackageKit. ``
-um`` will pull all dependencies of Bcfg2
+The fastest way to get Bcfg2 onto your system is to use ``yum``
+or PackageKit. ``yum`` will pull all dependencies of Bcfg2
automatically in. ::
$ su -c 'yum install bcfg2-server bcfg2'
-Your system should now have the necessary software to use Bcfg2.
+Your system should now have the necessary software to use Bcfg2.
The next step is to set up your Bcfg2 :term:`repository`.
+
Initialize your repository
==========================
@@ -38,14 +49,14 @@ is a tool which allows you to automate this:
.. code-block:: sh
# bcfg2-admin init
- Store bcfg2 configuration in [/etc/bcfg2.conf]:
- Location of bcfg2 repository [/var/lib/bcfg2]:
+ Store bcfg2 configuration in [/etc/bcfg2.conf]:
+ Location of bcfg2 repository [/var/lib/bcfg2]:
Directory /var/lib/bcfg2 exists. Overwrite? [y/N]:y
- Input password used for communication verification (without echoing; leave blank for a random):
+ Input password used for communication verification (without echoing; leave blank for a random):
What is the server's hostname: [config01.local.net]
- Input the server location [https://config01.local.net:6789]:
+ Input the server location [https://config01.local.net:6789]:
Input base Operating System for clients:
- 1: Redhat/Fedora/RHEL/RHAS/Centos
+ 1: Red Hat/Fedora/RHEL/RHAS/Centos
2: SUSE/SLES
3: Mandrake
4: Debian
@@ -68,7 +79,7 @@ Change responses as necessary.
Start the server
================
-You are now ready to start your bcfg2 server for the first time::
+You are now ready to start your Bcfg2 server for the first time::
$ su -c '/etc/init.d/bcfg2-server start'
Starting Configuration Management Server: bcfg2-server [ OK ]
@@ -90,12 +101,12 @@ Run ``bcfg2`` to be sure you are able to communicate with the server:
.. code-block:: sh
$ su -c 'bcfg2 -vqne'
-
+
/usr/lib/python2.6/site-packages/Bcfg2/Client/Tools/rpmtools.py:23: DeprecationWarning: the md5 module is deprecated; use hashlib instead
import md5
Loaded plugins: presto, refresh-packagekit
Loaded tool drivers:
- Action Chkconfig POSIX YUMng
+ Action Chkconfig POSIX YUMng
Extra Package imsettings-libs 0.108.0-2.fc13.i686.
Extra Package PackageKit-device-rebind 0.6.4-1.fc13.i686.
...
@@ -114,11 +125,11 @@ Run ``bcfg2`` to be sure you are able to communicate with the server:
Incorrect entries: 0
Total managed entries: 0
Unmanaged entries: 1314
- Package:ConsoleKit Package:jasper-libs Package:pcsc-lite-libs
- Package:ConsoleKit-libs Package:java-1.5.0-gcj Package:perf
- ...
- Package:iw Package:pcre Service:sshd
- Package:jack-audio-connection-kit Package:pcsc-lite Service:udev-post
+ Package:ConsoleKit Package:jasper-libs Package:pcsc-lite-libs
+ Package:ConsoleKit-libs Package:java-1.5.0-gcj Package:perf
+ ...
+ Package:iw Package:pcre Service:sshd
+ Package:jack-audio-connection-kit Package:pcsc-lite Service:udev-post
The ``bcfg2.conf`` file contains only standard plugins so far.
@@ -161,17 +172,17 @@ The ``bcfg2.conf`` file contains only standard plugins so far.
Add the machines to Bcfg2
-------------------------
-``bcfg2-admin`` can be used to add a machine to Bcfg2 easily. You
+``bcfg2-admin`` can be used to add a machine to Bcfg2 easily. You
need to know the Fully Qualified Domain Name (FQDN) of ever system
-you want to control through Bcfg2. ::
+you want to control through Bcfg2. ::
- bcfg2-admin client add <FQDN machine>
+ bcfg2-admin client add <FQDN machine>
Bring your first machine under Bcfg2 control
--------------------------------------------
-Now it is time to get the first machine's configuration into the
-Bcfg2 repository. The server will be the first machine. It's
+Now it is time to get the first machine's configuration into the
+Bcfg2 repository. The server will be the first machine. It's
already in the ``Metadata/client.xml``.
@@ -181,13 +192,13 @@ Setup the `Packages`_ plugin
.. _Packages: http://trac.mcs.anl.gov/projects/bcfg2/wiki/Plugins/Packages
First, replace **Pkgmgr** with **Packages** in the plugins
-line of ``bcfg2.conf``. Then create `Packages/` directory in
+line of ``bcfg2.conf``. Then create `Packages/` directory in
``/var/lib/bcfg2`` ::
$ su -c 'mkdir /var/lib/bcfg2/Packages'
-Create a ``config.xml`` file for the packages in
-``/var/lib/bcfg2/Packages`` with the following content. Choose a
+Create a ``config.xml`` file for the packages in
+``/var/lib/bcfg2/Packages`` with the following content. Choose a
mirror near your location according the `Mirror list`_ .
.. _Mirror list: http://mirrors.fedoraproject.org/publiclist/
@@ -229,11 +240,11 @@ something like this
<Group name='suse'/>
<Group name='mandrake'/>
<Group name='solaris'/>
- </Groups>
+ </Groups>
.. note::
- When editing your xml files by hand, it is useful to occasionally
- run ``bcfg2-repo-validate`` to ensure that your xml validates
+ When editing your xml files by hand, it is useful to occasionally
+ run ``bcfg2-repo-validate`` to ensure that your xml validates
properly.
Add a probe
@@ -241,7 +252,7 @@ Add a probe
The next step for the client will be to have the proper
arch group membership. For this, we will make use of the
-:ref:`server-plugins-grouping-dynamic_groups` capabilities of
+:ref:`server-plugins-grouping-dynamic_groups` capabilities of
the Probes plugin. Add **Probes** to your plugins line in ``bcfg2.conf``
and create the Probe:
@@ -271,7 +282,7 @@ Start managing packages
+++++++++++++++++++++++
Add a base-packages bundle. Let's see what happens when we just populate
-it with the *yum* package. Create the ``base-packages.xml`` in your
+it with the *yum* package. Create the ``base-packages.xml`` in your
``Bundler/`` directory with a entry for ``yum``.
.. code-block:: xml
@@ -295,22 +306,22 @@ Now if we run the client, we can see what this has done for us.::
output
-As you can see, the Packages plugin has generated the dependencies
-required for the yum package automatically. The ultimate goal should
-be to move all the packages from the **Unmanaged** entries section
-to the **Managed** entries section. So, what exactly *are* those
+As you can see, the Packages plugin has generated the dependencies
+required for the yum package automatically. The ultimate goal should
+be to move all the packages from the **Unmanaged** entries section
+to the **Managed** entries section. So, what exactly *are* those
Unmanaged entries?::
output
-Now you can go through these and continue adding the packages you
-want to your Bundle. After a while, I ended up with a minimal bundle
+Now you can go through these and continue adding the packages you
+want to your Bundle. After a while, I ended up with a minimal bundle
that looks like this
.. code-block:: xml
<Bundle name='base-packages'>
-
+
</Bundle>
Now when I run the client, you can see I have only one unmanaged
@@ -319,8 +330,8 @@ package::
outout
The gpg-pubkey packages are special in that they are not really
-packages. Currently, the way to manage them is using
-:ref:`BoundEntries <boundentries>`. So, after adding them, our
+packages. Currently, the way to manage them is using
+:ref:`BoundEntries <boundentries>`. So, after adding them, our
Bundle now looks like this
.. note:: This does not actually control the contents of the files,
@@ -352,7 +363,7 @@ Bundle now looks like this
To actually push the gpg keys out via Bcfg2, you will need to manage
the files as well. This can be done by adding Path entries for each
-of the gpg keys you want to manage
+of the gpg keys you want to manage
.. code-block:: xml
@@ -452,12 +463,12 @@ Git
.. _Git tutorial: http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html
Adding the :ref:`server-plugins-version-git` plugins can preserve
-versioning information. The first step is to add *Git* to your
+versioning information. The first step is to add *Git* to your
plugin line::
plugins = Base,Bundler,Cfg,...,Git
-For tracking the configuration files in the ``/var/lib/bcfg2``
+For tracking the configuration files in the ``/var/lib/bcfg2``
directory a git repository need to be established::
git init