So the question has come up recently about how to use cobbler to manage
updates for yum. Looking over the manpage, I think it could use some
further explanation, and the mentioned rsync URLs aren't very helpful,
so I'll update the manpage accordingly. In the meantime, here's some
more information about repository management:
---
A common use case is keeping a local mirror of FC-6 updates.
cobbler repo add --mirror-url=
rsync://distro.ibiblio.org/fedora-linux-core/updates/6/i386
--mirror=fc6i386updates --local-filename=updates
When making new profiles, it would look something like this:
cobbler profile add --name=profilefoo --kickstart=/path/to/kickstart
--repos="fc6i386updates"
If you want, you can manage more than one repository in cobbler. A
good example to this would be managing a mirror of fc6 extras as well as
updates.
cobbler repo add
--mirror-url=rsync://mirrors.usc.edu/fedora-core/extras/6/i386
--mirror=fc6i386updates --local-filename=updates
Now, any profile that has a "--repos" setting that includes
"fc6i386updates" it will
(A) automatically be able to use the repo in any FC6+ kickstarts for the
purpcoses of package installation (not useful for updates, but you get
the idea)
(B) automatically be configured to use this repo for package updates.
This is done by the following template magic in the kickstart file.
You are free to use your own kickstart files though
/etc/cobbler/kickstart_fc6.ks is a good reference:
$yum_repo_stanza (for adding the repo to anaconda)
$yum_config_stanza (for setting up the repo for use by the provisioned
system for future updates)
If your kickstart file has both of these in it in the right place, like
/etc/cobbler/kickstart_fc6.ks, your provisioned system will now be using
your cobbler server as a updates mirror, as opposed to an external
slower mirror. That's awesome, especially if you have a lot of systems
and not a lot of external bandwidth.
You'll probably want to put "cobbler reposync" on a crontab to keep all
of your repos up to date. Running it nightly wouldn't be a bad idea.
"cobbler reposync" will update any repos cobbler knows about. To list
the configured repos, try "cobbler list repos" or "cobbler report repos".
If something doesn't make sense, let me know, and hopefully I can
clarify. Ideally this gives a better idea how to use your local
provisioning mirror as an update mirror at the same time -- and more
folks will start to set up local mirrors for provisioning purposes.
This would be especially good for companies or labs that have a very
large number of machines.
Repository management for home users is really not required -- the
default installs will be set up to use the mirror lists (which are
external), but if you're really into speed or have bandwidth issues,
these features could still prove interesting.
Don't forget that repo management can also work with other kinds of yum
repos -- including proprietary software or special tools that aren't
part of a major distribution. Since cobbler uses rsync internally, it
can accept user:password@host:path syntax as well as the rsync:// type
paths.
--Michael