pakiti-client man page

pakiti-client — report the list of installed packages to a collecting server

Synopsis

pakiti-client [Options]

Description

pakiti-client finds the list of installed packages (i.e. "rpm -qa" on an RPM-based system) and formats it in a report that it sends (using a POST request) to a collecting server (see the --url option) and/or writes to a file (see the --output option).

In addition to the list of installed packages, the report also contains information about the submitting machine:

·
"arch": the current architecture
·
"host": the host name (see the --host option)
·
"kernel": the current kernel
·
"packager": the packager ("rpm" or "dpkg")
·
"site": the site name (see the --site option)
·
"system": the operating system full name
·
"tag": a tag used by the collecting server (see the --tag option)
·
"version": the report format version (1)

If a certificate (see the --encrypt option) is given then the report will be S/MIME encrypted before transmission.

The recommended way to use this program is daily via "cron", for instance with (using bash):

# echo "MAILTO=somebody@some.where" > /etc/cron.d/pakiti-client
# echo "$((RANDOM % 60)) $((RANDOM % 24)) * * * nobody pakiti-client \
  --config /etc/pakiti-client.cfg" >> /etc/cron.d/pakiti-client

Options

--config, --conf PATH
use this configuration file before processing the command line parameters
--curl PATH
set the path of the "curl" command to use
--dpkg-query PATH
set the path of the "dpkg-query" command to use
--encrypt PATH|STRING
use this certificate to encrypt the report; the value can either be the path of the file containing the certificate or the certificate itself as multi-line ASCII armored contents
--expect STRING
set the response string to expect from the server in case of success (default: "OK")
--help, -h, -?
show some help
--host STRING
set the host name to use in the report
--hostname PATH
set the path of the "hostname" command to use
--input, -i PATH
do not prepare a new report but, instead, read the report from the given file
--lsb_release PATH
set the path of the "lsb_release" command to use
--manual, -m
show this manual
--openssl PATH
set the path of the "openssl" command to use
--output, -o PATH
write the prepared report to the given file
--rndsleep, -r NUMBER
sleep for a random amount of seconds, up to the given number (useful when pakiti-client is invoked by "cron")
--rpm PATH
set the path of the "rpm" command to use
--site NAME
set the site name to use in the report
--tag STRING
set the tag used by the collecting server to group reports
--uname PATH
set the path of the "uname" command to use
--url URL
send the prepared report to the collecting server at the given URL
--wget PATH
set the path of the "wget" command to use

Configuration File

pakiti-client can read its options from a configuration file (see the --config option).

The file can contain empty lines, comments (lines starting with "#") or option settings either on one line or using the "heredoc" syntax. For instance:

#
# this is my pakiti-client configuration
#
url = http://some.where.org:8080/some/path
encrypt = <<EOT
-----BEGIN CERTIFICATE-----
VR0gBF0wWzBZBgorBgEEAWAKBAsBMEswSQYIKwYBBQUHAgEWPWh0dHA6Ly9jYWZp
U2VydmljZXMsQ049U22ydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1jZXJuLERD
...
CREUmgapD+aWdxEfeb6qA0OqAFCeHYOWMeeqqtMUE1JPGPoWNkyzqaObr05jm0zd
YwYIKwYBBQUHMAKGV2h0dHA6Ly6jYWZpbGVzLmNlcm4uY2gvY2FmaWxlcy9jZXJ=
-----END CERTIFICATE-----
EOT

The options specified on the command line have precedence over the ones found in the configuration file.

Author

Lionel Cons <http://cern.ch/lionel.cons>

Info

2015-04-24 perl v5.22.1 User Contributed Perl Documentation