Scroll to navigation

RPMCONF(8) RPMCONF(8)

NAME

rpmconf - This tool searches for .rpmnew, .rpmsave and .rpmorig files and asks you what to do with them: keep the current version, replace with the previous version, or review the diff.

SYNOPSIS


rpmconf [ options ... ]

[ -a, --all ]

[ -o<package>, --owner=<package> ]

[ -f<type> --frontend=<type> ]

[ --root <ROOT> ]

[ -c, --clean ]

[ -d, --debug ]

[ -D, --diff ]

[ -t, --test ]

[ -u, --unattended [<MODE>] ]

[ -x, --exclude <DIRECTORY> ]

[ -Z ]

DESCRIPTION

Rpmconf will search for all config file of given package (or all installed packages) and will check if coresponding .rpmsave, .rpmnew or current version, revert to the previous version, or diff the two files. The unwanted file is then deleted.

Additionally, rpmconf can also handle application configuration, if the application supports rpmconf. The application must have an executable file present in /usr/share/rpmconf/. The file must have the same name as package itself and the package must own that file. The executable must be idempotent, i.e. subsequent executions should have no effect. Ideally it should be a Puppet/Chef/Ansible/CFengine manifest.

OPTIONS

Check configuration files of all packages.
Check only configuration files of given package.
Define which frontend should be used for merging. Valid options are: vimdiff, gvimdiff, diffuse, kdiff3, meld, sdiff and env. When set to env, the command to use is taken from the environment variable $MERGE. The default is env.
Find all .rpmnew and .rpmsave files in /etc and /var directories. List all files belonging to installed packages, then write all files which are orphaned and ask if it is safe to delete them.
Dry run. Instead of executing an action (move or delete a file) the filename will be echoed to standard output. However, the executable for merging of configuration files will still be executed. Beware that this option is position-sensitive: only actions specified after --debug are dry-run, e.g. --all --debug --clean will run --clean in dry run mode but not --all.
Non-interactive diff mode. This option works with --owner and --all. Useful to audit config files after package upgrades.
Specifies an alternative installroot, relative to where all packages are installed.
Just test existence of files to merge. If there is some file to merge then rpmconf will print it and exit with status code 5. If there are none to merge, then exit with status code 0.
Unattended mode. Do not prompt user, but perform actions based on MODE. Valid options are: use_maintainer, use_your, default. use_maintainer replaces existing configuration files with .rpmnew files and deletes leftover .rpmsave and default does use_your for .rpmnew files and use_maintainer for .rpmsave files, as are the default prompts in interactive mode. Specifying MODE is optional, default is used by default.
Display rpmconf version. This option expects that this script is installed as rpm package.
Exclude DIRECTORY from checking. Applies only for -c.
Display the SELinux contexts of the old and new files. Note: if you choose to install .rpmsave version. It is copied to the original filename, therefore its SELinux context is reset to the default value specified by SELinux policy.

SEE ALSO

rpm(8)

AUTHORS

Miroslav Suchý <msuchy@redhat.com>

28 January 2024 Version 0.2