novi - scan directories for the latest-version RPMs
novi [ -a|action={type} ] [ -t|--target={dir} ] [ -v|--verbose ] [ -h|--help ] source1 [source2 source3 ...]
Pass a list of RPM source directories as the last arguments. For example:
novi -a hardlink -t /some/dir source1 source2 source3 ...
There may exist several versions of an RPM for a single product. novi scans directories for RPMs and finds the latest-version RPM for every product.
In turn, this data can be used to:
This process is part of Kickstart/Anaconda/Yum repository maintenance, described in the following article:
``Pre-Patched Kickstart Installs''
http://www.linuxdevcenter.com/pub/a/linux/2005/02/17/kickstart_updates.html
list (default) - show a list of the latest-version RPMs found in the specified directories.
hardlink - hard-link the latest-version RPMs to the specfied directory. This saves space and requires less I/O than copying the files (since hard-linking involves an extra pointer in the inode table) but requires all source and target directories to exist on the same filesystem.
softlink (symbolic link) - this is similar to hard-linking, except that the source and destination directories may exist on different filesystems. If you serve your Yum/Kickstart area via webserver, make sure the webserver is configured to follow symbolic links.
copy - copies the latest-version RPMs to the target directory. This is extremely I/O-intensive (an OS release may contain a couple gigabytes of RPMs) but makes the source and target directories completely independent of one another.
NOTE: ``copy'' functionality hasn't yet been implemented.
(All but ``list'' require a target directory, described below.)
Use the repo: prefix to specify a repo metadata source:
novi ... repo:/some/path
Plain directories require no prefix:
novi ... /some/path
Please refer to the separate novi_examples(1) man page for examples.
Ethan McCallum
http://www.ExMachinaTech.net/ (still under construction)
novi calls the librpm library behind the scenes to extract RPM metadata and sort packages per RPM naming conventions. A package that doesn't follow RPM naming conventions or a bug in librpm's version comparison may skew novi's results.
novi_examples(1)
None yet...