syncopt 1.1 review
DownloadThe syncopt script and its associated work practices are yet another approach to the standard sysadmin problem of keeping multiple ma
|
|
The syncopt script and its associated work practices are yet another approach to the standard sysadmin problem of keeping multiple machines' software installations up to date.
It is independent of the vendor's packaging scheme and thus you can use either your vendor's system or syncopt, or both!
The core notion is that the install is done once on a central machine and then syncopt takes care of attaching that to every client, often via cron.
easy to use
flexible enough to permit control of what is installed locally on a machine and what is served remotely from a central server (for disc space or other reasons)
keep out of the way of the ``vendor's namespace'', to avoid treading on the vendor's install and conversely to protect our additions from damage by vendor upgrades and patches.
Here are some key features of "syncopt":
lightweight
If a package is not to be installed local to a client then the burden is usually just two symlinks on the client.
optional
You can install packages with syncopt or with the vendor's packaging scheme, or both!
permits trial installs
Under syncopt you can install multiple versions of the same package for trial or legacy purposes.
centralised
The default package version is controlled by a symlink on the master host; change that and all the clients will follow suit next time they run syncopt.
customisable
Clients can control which packages are local and also override which version is their default for a given package.
Using
Local Package Install
As a consequence, to make an instance of something local to a client machine (let's call it pkg, release version), remove the local symlink:
$ rm /opt/pkg-version
Make a stub directory:
$ mkdir /opt/pkg-version
Alternatively, just edit the .syncopt file and add this line:
pkg-version local
Run syncopt:
$ syncopt -x
That syncs everything. You can just do the new package like this:
$ syncopt -x pkg pkg-version
which syncs the generic (unversioned) link and the version specific local directory.
Undoing a Local Package Install
To make a once-local copy remote, remove the local copy:
$ rm -rf /opt/pkg-version
Also, if you edited the .syncopt file as above, remove that line.
Run syncopt:
$ syncopt -x pkg pkg-version
Bringing a Client into Sync after a New Package Install
To set up a new client's /opt directory after a fresh install:
$ mkdir /opt # if necessary
$ syncopt -x
/opt/.syncopt
The behaviour deduced from the presence or absence of a directory can be overridden with the /opt/.syncopt file, which contains line of the form:
pkg version
to make version the default package version on this particular machine, or
pkg local
to force a package to be local on this machine, or
pkg-version local
to make a particular version local, or
pkg nosync
to not run syncopt on it at all.
syncopt 1.1 search tags