The stable RPMs
I've been meaning to put up a
for my RPMs. But to do that right I need to be able to sign them,
and I can't seem to make that work (yet).
Install from my pre-compiled packages
So here is the next best thing: we'll download the
files from my rpms/x86_64 directory and
install them with
Prepare to install
I use a lot of
perl scripts, so you should
have at least version 5.10 (for CentOS) installed. And you really need
h2ph before you run any of my scripts
because the use the perl headers.
If you don't know that
h2ph has been run, you
can check with the command below:
No output means you can skip the
$ perl -e 'require "sysexits.ph";'
h2ph command below,
else see the manual page or run:
$ cd /usr/include && sudo h2ph -r -l .
Aquire the current
First we download the
.fetch file, which
containts a list of the most recent releases for each package:
$ TD=`mktemp -d /tmp/npcXXXXX`
$ cd $TD
$ curl --url "www.npcguild.org/~ksb/rpms/x86_64/.fetch" -o npc.cl
a bit of curl output
curl to fetch the files listed
(you may look at the list first, of course).
$ less npc.cl
$ while read pkg ; do
> curl --url "www.npcguild.org/~ksb/rpms/x86_64/$pkg" -O
> done <npc.cl
a lot more curl output
Install the base packages
These packages form a stable build platform for rebuilding the tools,
projecting configuration services to clients, and controlling
The programs installed in
have a good manual page and some additional
- mmsrc(8l) or HTML
- The match that reboots this code when all you have is the source.
- explode(1l) or HTML
- explode(5l) or HTML
- My code compositors, used to make common code actually common.
- ptbw(1l) or HTML
- xclate(1l) or HTML
- xapply(1l) or HTML
- wrapw(1l) or HTML
- The basis of my wrapper services.
- hxmd(8l) or HTML
- hxmd(5l) or HTML
- msrc(8l) or HTML
- My primary tools for configuration engineering.
Note that that may have forced the installation of
$ sudo su
# yum localinstall msrc_base-2.*.rpm
# yum localinstall install_base-8.*.rpm
rdist, that's OK because it doesn't start any
services on your host.
As a cross check we'll look at the the manual page for
op, if that is installed, then the
base packages are installed. So let's look for that:
If that didn't work, then your
# man op
(see man(1)) may not
Fix that to see if that works.
Some people don't like my version of
as the same name as the system version. If you want to rename it you should
here. This will break
installus and remove the
directory backout feature. I don't do this, I control
PATH carefully when I (rarely) need the base system
# mv /usr/local/bin/install /usr/local/bin/install.npc # not usually a good idea
Install the other tools as you wish
To just install them all you can use this:
If you picked that you are done.
$ sudo yum localinstall `grep -v "_base" npc.cl`
Most people want to pick and choose, so here is a shopping list for you.
Order is important here, some tools depend on others.
yum vetches about a missing prerequisite
tool, check the list and install it first.
- oue(1l) - only unique elements (HTML)
- yum localinstall oue-2.*.rpm
comm, without the restrictions that the
input lists must be sorted.
- efmd(8l) - /usr/msrc/usr/local/sbin/efmd (HTML)
- yum localinstall efmd-1.*.rpm
hxmd configuration files.
- hxmd2html.cgi(8l) - /usr/msrc/usr/local/cgi-bin/hxmd2html.cgi (HTML)
- yum localinstall hxmd2html.cgi-1.*.rpm
hxmd configuration file to HTML.
- manpage.cgi(8l) - /usr/msrc/usr/local/cgi-bin/manpage.cgi (HTML)
- yum localinstall manpage.cgi-1.*.rpm
man format manual page to HTML.
- rcsvg(1l) - /usr/msrc/usr/local/bin/rcsvg (HTML)
- yum localinstall rcsvg-2.*.rpm
Extract a stable copy of the files from an
cache into a local directory. This is now
builds my packages.
- msync(8l) - /usr/msrc/usr/local/sbin/msync (HTML)
- yum localinstall msync-4.*.rpm
Compare the currect directory to the local site policy (by default mine) for
a stable source directory. For example. all the files must be in
sync with the RCS cache, without any current locks.
- muxcat(1l) - /usr/msrc/usr/local/bin/muxcat (HTML)
- yum localinstall muxcat-1.*.rpm
Access any RFC1078 service from a shell command.
- level2s(8l) - /usr/msrc/usr/local/sbin/level2s (HTML)
- yum localinstall level2s-4.*.rpm
Build, package, etc. layer 2 product directories and archives.
- level3s(8l) - /usr/msrc/usr/local/sbin/level3s (HTML)
- yum localinstall level3s-1.*.rpm
Buidl, package, etc. layer 3 product directories and archives.
- addlic(8l) - /usr/msrc/usr/local/sbin/addlic (HTML)
- yum localinstall addlic-4.*.rpm
Add the correct license file to a product or package. This will require
some local tuning to get is right for your source products.
- glob(1l) - /usr/msrc/usr/local/bin/glob (HTML)
- yum localinstall glob-1.*.rpm
Turn a shell (
sh) glob expression into a
stream. When you work with any very large directory you will quickly
overflow the shell's limit, so turn the list into a pipeline and
- mpull(8l) - /usr/msrc/usr/local/sbin/mpull (HTML)
- yum localinstall mpull-1.*.rpm
One way to pull master source products to a client instance.
- sbp(8l) - /usr/msrc/usr/local/sbin/sbp (HTML)
- Prereqs: dump, rmt
- yum localinstall sbp-2.*.rpm
Synchronize backup partitions to an alternate boot device. This is
the best fall-back for a massive change you can ever have.
- distrib(8l) - /usr/msrc/usr/local/sbin/distrib (HTML)
- yum localinstall distrib-5.*.rpm
- forever(1l) - /usr/msrc/usr/local/bin/forever (HTML)
- yum localinstall forever-1.*.rpm
- msrcmux(7l) - /usr/msrc/usr/local/libexec/msrcmux (HTML)
- yum localinstall msrcmux-1.*.rpm
- kruft(8l) - /usr/msrc/usr/local/sbin/kruft (HTML)
- yum localinstall kruft-1.*.rpm
- ckman(8l) - /usr/msrc/usr/local/sbin/ckman (HTML)
- yum localinstall ckman-1.*.rpm
- tickle(8l) - /usr/msrc/usr/local/sbin/tickle (HTML)
- yum localinstall tickle-1.*.rpm
- kicker(8l) - /usr/msrc/usr/local/sbin/kicker (HTML)
- yum localinstall kicker-1.*.rpm
- binpack(1l) - /usr/msrc/usr/local/bin/binpack (HTML)
- yum localinstall binpack-1.*.rpm
- ptree(1l) - /usr/msrc/usr/local/bin/ptree (HTML)
- yum localinstall ptree-2.*.rpm
- since(1l) - /usr/msrc/usr/local/bin/since (HTML)
- yum localinstall since-1.*.rpm
- tmbuf(1l) - /usr/msrc/usr/local/bin/tmbuf (HTML)
- yum localinstall tmbuf-1.*.rpm
- curly(1l) - /usr/msrc/usr/local/bin/curly (HTML) includes
uncurly as well
- yum localinstall curly-3.*.rpm
- txt2ps(1l) - /usr/msrc/usr/local/bin/txt2ps (HTML)
- yum localinstall txt2ps-3.*.rpm
- nushar(1l) - /usr/msrc/usr/local/bin/nushar (HTML)
- yum localinstall nushar-2.*.rpm
- Tee(1l) - /usr/msrc/usr/local/bin/Tee (HTML)
- yum localinstall Tee-2.*.rpm
- muxsend(1l) - /usr/msrc/usr/local/bin/muxsend (HTML)
- yum localinstall muxsend-1.*.rpm
- daemon(8l) - /usr/msrc/usr/local/sbin/daemon (HTML)
- yum localinstall daemon-1.*.rpm
A super-set of the BSD program. The main advantage is that a startup
failure actually emits a useful error message on
- msh(8l) - /usr/msrc/usr/local/libexec/msh (HTML)
- yum localinstall msh-1.*.rpm
- recvmux(7l) - /usr/msrc/usr/local/libexec/recvmux (HTML)
- yum localinstall recvmux-1.*.rpm
- passgen(1l) - /usr/msrc/usr/local/bin/passgen (HTML)
- yum localinstall passgen-2.*.rpm
- epass(1l) - /usr/msrc/usr/local/bin/epass (HTML)
- yum localinstall epass-1.*.rpm
- cdecl(1l) - /usr/msrc/usr/local/bin/cdecl (HTML)
- yum localinstall cdecl-2.*.rpm
- calls(1l) - /usr/msrc/usr/local/bin/calls (HTML)
- yum localinstall calls-3.*.rpm
- maketd(1l) - /usr/msrc/usr/local/bin/maketd (HTML)
- yum localinstall maketd-4.*.rpm
- datecalc(1l) - /usr/msrc/usr/local/bin/datecalc (HTML)
- yum localinstall datecalc-1.*.rpm
- tart(1l) - /usr/msrc/usr/local/bin/tart (HTML)
- yum localinstall tart-1.*.rpm
- sudop(1l) - /usr/msrc/usr/local/bin/sudop (HTML)
- yum localinstall sudop-1.*.rpm
- haveip(1l) - /usr/msrc/usr/local/bin/haveip (HTML)
- yum install perl-IO-Interface
- yum localinstall haveip-1.*.rpm
- flock(1l) - /usr/msrc/usr/local/bin/flock (HTML)
- yum localinstall flock-2.*.rpm
- jot(1l) - /usr/msrc/usr/local/bin/jot (HTML)
- yum localinstall jot-1.*.rpm
- hostlint(8l) - /usr/msrc/usr/local/libexec/hostlint (HTML)
- yum localinstall hostlint-1.*.rpm
- netlint-plugins - /usr/msrc/usr/local/libexec/netlint-plugins (HTML) TODO
- yum localinstall netlint_plugins-1.*.rpm
- netlint(8l) - /usr/msrc/usr/local/libexec/netlint (HTML)
- yum localinstall netlint-1.*.rpm
- tcpmux(8l) - /usr/msrc/usr/local/libexec/tcpmux (HTML)
- yum localinstall tcpmux-1.*.rpm
- dumpmux(8l) - /usr/msrc/usr/local/libexec/dumpmux (HTML)
- yum localinstall dumpmux-1.*.rpm
- acctmux(7l) - /usr/msrc/usr/local/libexec/acctmux (HTML)
- yum localinstall acctmux-1.*.rpm
- op-jacket(7l) - /usr/msrc/usr/local/libexec/jacket (HTML)
- yum localinstall jacket-1.*.rpm
- roapmux(7l) - /usr/msrc/usr/local/libexec/roapmux (HTML)
- yum localinstall roapmux-1.*.rpm
- snoopy(1l) - /usr/msrc/usr/local/lib/snoopy (HTML)
- yum localinstall snoopy-1.*.rpm
- untmp(1l) - /usr/msrc/usr/local/bin/untmp (HTML)
- yum localinstall untmp-1.*.rpm
- msd(8l) - /usr/msrc/usr/local/sbin/msd (HTML)
- yum localinstall msd-1.*.rpm
- quot(8l) - /usr/msrc/usr/local/sbin/quot
- yum localinstall quot-1.*.rpm