single |
# Patchman
## Summary
Patchman is a Django-based patch status monitoring tool for linux systems.
Patchman provides a web interface for monitoring the package updates
available
for linux hosts.
[![]](https://github.com/furlongm/patchman/tree/gh-pages/screenshots)
## How does Patchman work?
Patchman clients send a list of installed packages and enabled repositories
to
the Patchman server. The Patchman server updates its package list for each
repository and determines which hosts require updates, and whether those
updates
are normal or security updates. The web interface also gives information on
potential issues, such as installed packages that are not from any
repository.
Hosts, packages, repositories and operating systems can all be filtered.
For
example, it is possible to find out which hosts have a certain version of a
package installed, and which repository it comes from.
Patchman does not install update packages on hosts, it determines and
displays
what updates are available for each host.
`yum`, `apt` and `zypper` plugins can send reports to the Patchman server
every
time packages are installed or removed on a host.
## Installation
See [the installation guide]
for installation options.
## Usage
The web interface contains a dashboard with items that need attention, and
various pages to manipulate hosts, repositories, packages, operating
systems and
reports.
To populate the database, simply run the client on some hosts:
```shell
$ patchman-client -s http://patchman.example.org
```
This should provide some initial data to work with.
On the server, the `patchman` command line utility can be used to run
certain
maintenance tasks, e.g. processing the reports sent from hosts, downloading
repository update information from the web. Run `patchman -h` for a rundown
of
the usage:
```shell
$ sbin/patchman -h
usage: patchman [-h] [-f] [-q] [-r] [-R REPO] [-lr] [-lh] [-u] [-A] [-H
HOST]
[-p] [-c] [-d] [-n] [-a] [-D hostA hostB]
Patchman CLI tool
optional arguments:
-h, --help show this help message and exit
-f, --force Ignore stored checksums and force-refresh all
mirrors
-q, --quiet Quiet mode (e.g. for cronjobs)
-r, --refresh-repos Refresh repositories
-R REPO, --repo REPO Only perform action on a specific repository
(repo_id)
-lr, --list-repos List all repositories
-lh, --list-hosts List all hosts
-u, --host-updates Find host updates
-A, --host-updates-alt
Find host updates (alternative algorithm that may
be
faster when there are many homogeneous hosts)
-H HOST, --host HOST Only perform action on a specific host (fqdn)
-p, --process-reports
Process pending reports
-c, --clean-reports Remove all but the last three reports
-d, --dbcheck Perform some sanity checks and clean unused db
entries
-n, --dns-checks Perform reverse DNS checks if enabled for that host
-a, --all Convenience flag for -r -A -p -c -d -n
-D hostA hostB, --diff hostA hostB
Show differences between two hosts in diff-like
output
-e, --errata Download CentOS errata from https://cefs.steve-
meier.de/
```
|