I tried to find a similar post, but couldn't. Apologies if this is a duplicate.

We have a number of RHEL6 servers hosting different applications. Over time, these servers have had some tweaks to system parameters such as tcp_fin_timeout, /etc/security/limits.conf etc. to improve application performance and fix issues.

We need to upgrade these servers to RHEL7. As previous changes weren't logged anywhere and have long been forgotten about, is there a script/tool that can list out all system parameters and their values so servers can be compared and make sure we don't miss anything?

  • Any parameter can be listed but you need to know what you're looking for.
    – Overmind
    Commented Jul 30, 2020 at 11:11
  • This assumes all configuration for every software can be defined as paramenter=value pairs, but that's not true. Many software have hierachical structures to define configuration, like sections in Nginx & Apache, multiple instance master.cf in Postfix. Comparing that kind of configuration isn't that easy, because even the exactly same running configuration could be in many forms on the configuration files. Commented Jul 30, 2020 at 11:19
  • Some software do have commands for listing running configuration in a standard form, but that's always software specific, so there's no way to list everything at once, and certainly impossible to answer given only these details. Therefore, I'm voting to close this question as too broad. Commented Jul 30, 2020 at 11:20
  • 2
    Aside: You probably should be upgrading to RHEL 8 rather than 7. RHEL 7 is past its full support phase, which means among other things that new projects generally should not be started on it. See the Red Hat Enterprise Linux Lifecycle Policy for further information. Commented Jul 30, 2020 at 14:16

1 Answer 1


To list the different files, you can do a rsync with the --list-only option so that no files are actually transferred.

This isn't a perfect solution, as it won't tell you what the differences are within the files, but it is a start. Capture the list to a file (rsync --list-only ... > filelist.txt) and then you can copy just those files to a temporary location and run a diff.

Not the answer you're looking for? Browse other questions tagged .