rpmconf man page

rpmconf — This tool search for .rpmnew, .rpmsave and .rpmorigfiles and ask you what to do with them: Keep current version, place back old version or watch the diff.



rpmconf [ options ... ] 


 [ -a, --all ] 


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


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


 [ -c, --clean ] 


 [ -d, --debug ] 


 [ -D, --diff ] 


 [ -t, --test ] 


 [ -Z ] 


Rpmconf will search for all config file of given package (or all installed packages) and will check if coresponding .rpmsave, .rpmnew or .rpmorig file exist. In such case you will be asked if you want to keep current version, put back old version or see diff of those two files. Then it delete that unwanted file.

Additionally rpmconf can also handle application configuration, if application support rpmconf. Application must have 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. you can execute it multiple times and additional run, must not change something. Ideally it will be Puppet/Chef/Ansible/CFengine manifest.


-a, --all

Check configuration files of all packages.

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

Check only configuration files of given package.

-f<type>, --frontend=<type>

Define which frontend should be used for merging. Valid options are: vimdiff, gvimdiff, diffuse, kdiff3, meld and env. When set to env, the command to use is taken from the environment variable $MERGE. The default is env.

-c, --clean

Find all .rpmnew and .rpmsave files in /etc and /var directories. List all files, which belongs to installed packages. Then it write all files which are orphaned and ask you if it is safe to delete them.

-d, --debug

Dry run. Instead of executing an action (move/remove of file) it will be echoed to standard output. However executable for merging of configuration files is executed. Beware that this option is position sensitive. And only action specified after --debug are dry run. E.g. --all --debug --clean, will run in dry run mode only for --clean, but not for --all.

-D, --diff

Non-interactive diff mode. This option works with --owner and --all. Useful to audit config files after package upgrades.

-t, --test

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 is none to merge, then return with exit code 0.

-V, --version

Display rpmconf version. This option expect that this script is installed as rpm package.


Display SELinux context of old and new file. Note: if you choose to install .rpmsave version. It is copied to original filename, therefore SELinux context is reset to default value specified by SELinux policy.

See Also



Miroslav Suchý <msuchy@redhat.com>

Referenced By

dnf.plugin.rpmconf(8), fedora-upgrade(8).

15 July 2018 Version 0.2