Checkmk
Our AI policyAI

1. Introduction

No non-trivial software is ever bug-free—and that applies to Checkmk as well. This means it’s important to update Checkmk regularly. During the first few months following the release of a new major version, we aim to deliver bug fixes, feature enhancements, performance optimizations, and security updates on a weekly basis. Later in the product lifecycle, you can expect monthly updates. And approximately once a year, a new major version that expands the functionality of Checkmk is released.

Due to the specific nature of site management with omd, simply installing a new Checkmk package via the package manager is not sufficient. This article explains exactly what needs to be done during updates—whether patch or major versions—and how to resolve conflicts. If you are planning to update the Checkmk version from 2.4.0 to 2.5.0, you should also read the Update to version 2.5.0 article, which covers many details specific to this update.

Tip

This article covers updating the Checkmk version and the basics of using the omd update command. An upgrade or downgrade of the Checkmk edition—that is, switching to an edition with a different feature set, for example from Checkmk Community to one of the commercial editions or back—is covered in a separate article on Upgrades.

2. Background

Updating Checkmk to a new version works a little differently than with other software. Why?

The reason is that Checkmk not only allows multiple independent sites on a single server, but also multiple simultaneously installed software versions. Each site is assigned to an installed version. Consider the following situation on a fictional server as an example:

Three sites and their respective software versions.

Here, the mysite1 and mysite2 sites are using version 2.5.0p3.pro, and the mysite3 site is using version 2.5.0p1.community. Additionally, although the Checkmk version 2.5.0p3.ultimate has been installed, it is not currently in use.

This example makes it clear that an update is not simply a matter of installing a new RPM/DEB package of Checkmk on the server, one more action is also required. Consider the following situation as an example:

The 'mysite3' site with the software version it was using before the update.

Here, the mysite3 site is to be updated to Checkmk version 2.5.0p3.community. The first step is to download and install the appropriate RPM/DEB package. This is done in exactly the same way as during the initial installation. The newly installed version is not yet being used by any site, so it looks like this:

The situation after installing the new software version.

The second step is to update the site from 2.5.0p1.community to 2.5.0p3.community. This is done using the omd update command, which you will learn about in detail below:

With 'omd update', the site receives the new software version.

Following the update, you can remove the 2.5.0p1.community version (if it is no longer needed).

3. Preparations

The topics described in the following sections apply to every update—whether within a major version (from a lower to a higher patch version) or from one major version to the next. The separate Update to version 2.5.0 article covers additional details regarding major version updates.

The preparatory steps are always the same:

  1. Determine the update path and download the required installation packages and extensions.

  2. Next, perform a cleanup: The local directory should no longer contain any files that are not associated with a package.

  3. Then perform the compatibility check for installed extensions.

  4. Finally, create and test the backup.

3.1. Determining the update path

The update path determines which packages you will need to download and, if applicable, whether an update of the Linux distribution is required before the Checkmk update, or whether it is possible after the Checkmk update.

Major version update

When updating to a higher major version, you must always update to the next major version; you cannot simply skip one. If you want to update from 2.3.0 to 2.5.0, first update to 2.4.0. The reason is simple: there are sometimes so many changes between two major versions that skipping one would cause problems. When updating, always use the highest patch version available.

This also applies to the initial version. An update from 2.3.0p42 to 2.5.0p8 therefore follows this path:

2.3.0p42   2.3.0p48   2.4.0p33   2.5.0p8

The Update matrix shows which Checkmk major versions no longer support which Linux distribution versions. This will help you determine whether an Linux distribution update is required before a major Checkmk update.

Patch version update

A patch version update is generally possible starting with the first stable major version. Any exceptions that require intermediate steps are listed on the download page. The update from 2.5.0p1 to 2.5.0p8 therefore follows this path:

2.5.0p1   2.5.0p8

Accordingly, only the installation package for Checkmk 2.5.0p8 needs to be downloaded.

The Update matrix also shows which Checkmk patch version introduced support for a new Linux distribution version. This allows you to determine whether a subsequent Linux distribution update to the eagerly awaited latest version is possible with the current patch version.

3.2. Checking local files

Local files allow you to customize and extend the functionality provided by Checkmk. These files are located in the local part of the site’s directory structure, i.e., in ~/local. Local files can cause problems during an update, as they may no longer be compatible with the new Checkmk version.

Since Checkmk cannot detect and handle local customizations or third-party extensions during an update, you should check your Checkmk site before updating to see if you are using local files and, if so, which ones.

Get an overview of the local files in your Checkmk site by running the following command as a site user, (where the -L option ensures that symbolic links are also followed):

OMD[mysite]:~$ find -L ~/local -type f
Copy command(s) to clipboard
Successfully copied command(s) to clipboard!
Write access to clipboard has been denied!

In a fresh Checkmk installation, the output should be empty. If files are found, compare the list with the output of mkp find. Ideally, local files are already fully bundled in MKPs.

If this is not the case, bundle related files into Checkmk extension packages (MKPs). Once combined into a package, an extension can be disabled or re-enabled as a whole.

3.3. Checking MKPs for compatibility

When updating to a higher patch version within a major version, compatibility issues with MKPs are rarely a concern. However, incompatibilities can never be ruled out entirely. For example, some extension developers set the highest compatibility to a specific patch version of Checkmk if a REST API provider discontinues a version as of a certain date.

The likelihood of incompatibilities is greater when updating the major version. If you encounter incompatible extensions obtained from third parties (for example, from the Checkmk Exchange), check whether a newer version is available. If this is not the case—or if you developed the extension yourself—you will find all of the necessary information for adapting your extensions in the article Developing extensions for Checkmk.

3.4. Creating a backup

We do not need to explain to you how important it is to create a backup immediately before an update, so that you do not lose too much of your monitoring history in the event of a failure. For detailed examples of backing up with omd backup, see the article on site administration with omd.

In addition to file-based backups, it is advisable to enable configuration versioning with Git in the Global settings. This ensures that there are no gaps in the monitoring data in the event that a rollback is necessary.

Testing the backup

It is worth noting here that a regular backup can also be useful for testing an update. You can restore the backup under a different name—and then test the update with the newsite site:

root@linux# omd restore newsite /path/to/backup
Copy command(s) to clipboard
Successfully copied command(s) to clipboard!
Write access to clipboard has been denied!

Testing the update

First, run the update on this new, cloned site to verify, for example, that the local changes mentioned above work in the new environment. If the tests with the cloned site were successful, for reasons of space and performance, you will usually want to delete or at least deactivate the cloned site (omd disable newsite) before the actual update of the production site.

4. Performing the update

The update essentially consists of two steps:

  1. First, use the Linux distribution’s package manager to install the new Checkmk package—or the new packages, if you want to install the latest patch version of the existing major version before updating the major version.

  2. Next, use omd update to activate the new Checkmk version for the site to be updated. If necessary, repeat the process for each step of the update path.

4.1. Installing new Checkmk versions

As described in the introduction, the first step in the update process is to install the desired new version of Checkmk. This is done exactly as in the initial installation—however it will likely run a bit faster because most of the required packages have already been installed. In the following example, a package for Ubuntu 24.04 (Noble Numbat) is installed:

root@linux# apt install /tmp/check-mk-community-2.5.0p8_0.noble_amd64.deb
Copy command(s) to clipboard
Successfully copied command(s) to clipboard!
Write access to clipboard has been denied!

If a major version update is planned and the site to be updated is not yet at the latest patch version, you must first also install the corresponding patch package:

root@linux# apt install /tmp/check-mk-raw-2.4.0p33_0.noble_amd64.deb
Copy command(s) to clipboard
Successfully copied command(s) to clipboard!
Write access to clipboard has been denied!

You can view the list of installed Checkmk versions at any time using the omd versions command:

root@linux# omd versions
2.4.0p23.cre
2.4.0p33.cre (default)
2.5.0p8.pro
2.5.0p8.community
Copy command(s) to clipboard
Successfully copied command(s) to clipboard!
Write access to clipboard has been denied!

One of these versions is marked with (default). This default version is automatically used when creating new sites. When managing existing sites, the default version is irrelevant. The omd command always starts with the version that matches the site for which the command is called.

The omd sites command provides a list of the current sites and the versions they use:

root@linux# omd sites
SITE             VERSION          COMMENTS
mysite           2.4.0p23.cre
test             2.5.0p8.community
trial            2.5.0p8.pro
Copy command(s) to clipboard
Successfully copied command(s) to clipboard!
Write access to clipboard has been denied!

4.2. Updating a site

Tip

If you are performing a major version update and your site is not yet at the latest patch version of the previous major version (for example, update path 2.4.0p23   2.4.0p33   2.5.0p8), perform the steps described here first for 2.4.0p33, then for 2.5.0p8.
It is not necessary to restart the site between the two runs.

Once the desired new version has been installed, you can update the site. No root privileges are required for this. It is best to perform the update as the site user:

root@linux# omd su mysite
Copy command(s) to clipboard
Successfully copied command(s) to clipboard!
Write access to clipboard has been denied!

Make sure that the site has been stopped:

OMD[mysite]:~$ omd stop
Copy command(s) to clipboard
Successfully copied command(s) to clipboard!
Write access to clipboard has been denied!

Updating—which essentially means switching to a different version—is now done simply with the omd update command:

OMD[mysite]:~$ omd update
Copy command(s) to clipboard
Successfully copied command(s) to clipboard!
Write access to clipboard has been denied!

If there is more than one possible target version, you will be presented with the following options:

 ┌───────────────Choose target version──────────────────
  Please choose the version this site should be        │  
  updated to                                           │  
  ┌──────────────────────────────────────────────────  
 2.5.0p5.community  Version 2.5.0p5.community     
 2.5.0p5.pro        Version 2.5.0p5.pro           
                                                     
                                                     
 ──────────────────────────────────────────────────┘  
 ├──────────────────────────────────────────────────────  
              <Update now>    <  Cancel  >             │  
 ──────────────────────────────────────────────────────┘  
                                                           

In the following dialog box, confirm the selected update to the new version:

 ┌──────────────────────────────────────────────────
  You are going to update the site mysite from     │  
  version 2.4.0p31.cre to version                  │  
  2.5.0p5.community. This will include updating    │  
  all of your configuration files and merging      │  
  changes in the default files with changes made   │  
  by you. In case of conflicts your help will be   │  
  needed.                                          │  
 ├──────────────────────────────────────────────────  
            <Update!>      < Abort >               │  
 ──────────────────────────────────────────────────┘  
                                                       

If you perform a version update at the same time as an edition upgrade from Checkmk Community to one of the commercial editions, you will be reminded of this fact again as a precaution:

 ┌───────────────────────────
  You are updating from     │  
  Community to Pro. Is this │  
  intended?                 │  
 ├───────────────────────────  
      < yes >   < no  >  
 ───────────────────────────┘  
                                

An important part of the update is updating the included configuration files. Any changes you may have made to these files are not simply discarded, but merged. This works very similarly to version control systems, which attempt to automatically merge simultaneous changes made by multiple developers to the same file.

Sometimes—if the changes affect the same part of the file—this does not work, and a conflict occurs. We show you how to resolve this below.

The update displays a list of all modified files and directories (abbreviated in the following example):

2026-02-19 13:47:54 - Updating site 'mysite' from version 2.4.0p33.cre to 2.5.0p8.community...

 * Updated        .profile
 * Installed dir  var/check_mk/packages_local
...

Installed default file of version 2.5.0p8.community.
 * Installed link etc/rc.d/60-ui-job-scheduler
 * Installed link etc/rc.d/85-rabbitmq
...

Creating temporary filesystem /omd/sites/mysite/tmp...OK
Executing 'cmk-update-config --conflict ask --dry-run'
-| ATTENTION
-|   Some steps may take a long time depending on your installation.
-|   Please be patient.
-|
-| Cleanup precompiled host and folder files
-| Verifying Checkmk configuration...
-|  01/08 Legacy check plug-ins...
-|  02/08 Rulesets...
...
-|  07/08 Invalid hosts labels...
-|  08/08 Deprecated .mk configuration of plugins...
-| Done (success)
-|

Completed verifying site configuration. Your site now has version 2.5.0p8.community.
Executing update-pre-hooks script "01_mkp-disable-outdated"...OK
Executing update-pre-hooks script "02_cmk-update-config"...
-| ATTENTION
-|   Some steps may take a long time depending on your installation.
-|   Please be patient.
-|
-| Cleanup precompiled host and folder files
-| Verifying Checkmk configuration...
-|  01/08 Legacy check plug-ins...
-|  02/08 Rulesets...
...
-|  29/30 Validating configuration files...
-|  30/30 Update core config...
-| Generating configuration for core (type nagios)...
-| Precompiling host checks...OK
-| Done (success)
OK
Finished update.

If the line highlighted in the output above, Completed verifying site configuration, appears, the site has been switched to the new version:

OMD[mysite]:~$ omd version
OMD - Open Monitoring Distribution Version 2.5.0p8.community
Copy command(s) to clipboard
Successfully copied command(s) to clipboard!
Write access to clipboard has been denied!

… and can be started:

OMD[mysite]:~$ omd start
Copy command(s) to clipboard
Successfully copied command(s) to clipboard!
Write access to clipboard has been denied!

5. Follow-ups

Software development means change. And since we are always working to keep Checkmk up to date, we sometimes have no choice but to break with old traditions and make changes that are incompatible. This means that after an update, you should adjust your configuration or at least check it. As a rule, we try to use sensible default values for new options, but even this often means that it’s at least a good idea to verify the new settings.

5.1. Checking for incompatible changes

While incompatible changes are less common in patch releases and usually require only minor adjustments, major updates more often result in new check plug-ins replacing existing ones. If you are using one of the affected plug-ins, a new service discovery will be necessary on the affected hosts following the update.

An overview of all changes in Checkmk, including a search function, can be found online in our Werks.

Even more convenient, however, is the search function built into Checkmk. After logging in to the site, you will find a red-highlighted link at the top of the Help menu showing the number of incompatible and unconfirmed changes:

Help menu with link to the list of incompatible changes.

Checkmk tracks the incompatible changes introduced by the update to the current version, and prompts you to review and then acknowledge them:

Start of the list of incompatible and pending changes.

If you open this page via the red link in the Help menu, you will only see the 'Werks' (i.e., the changes) that require action and are therefore marked with Incompatible - TODO. You can open each Werk individually, view it, confirm it with a mouse click—and thus gradually reduce the number of open, incompatible changes. Additionally, the Help > About Checkmk > Change log (Werks) menu item gives you access to the complete history of changes in the current major version.

6. Updates in distributed environments

There are two different approaches for updating all sites within a distributed monitoring—that is, the central site and the remote sites.

Important: Regardless of which approach you choose, you should of course first create backups of all sites before proceeding.

The preferred, secure approach is the one-step update, in which you perform the following steps:

  1. Stop all sites.

  2. Perform the update for all sites.

  3. Restart the updated sites.

If this is not possible—for example, because the environment is distributed across sites in different time zones and the sites are managed by different teams—a temporary mixed operation may be permitted under strict conditions.

For major updates, the version difference must be exactly one version, and a specific patch version of the source version is always required.

The following order must be strictly adhered to: First, update all remote sites; only then, as the final step, update the central site. This ensures that at no point does a configuration generated by a newer Checkmk version end up on an older Checkmk version.

The following table shows the possible combinations when updating from 2.4.0 to 2.5.0:

Central site Remote site(s) Allowed? Notes

2.4.0

2.4.0

Yes

State prior to updating all sites.

2.4.0

2.5.0

Yes

Minor functional limitations are to be expected during the update; therefore, keep the mixed operation period as short as possible. There is no risk to data or configuration.

2.5.0

2.4.0

No

Warning: In a central setup, there is a risk of irreparably damaging remote sites. Avoid such a situation at all costs!

2.5.0

2.5.0

Yes

State after updating all sites.

6.1. Technical background

The technical rationale for this approach lies in the protocols used: The central site primarily accesses the data from the remote sites in read-only mode via Livestatus; in a central setup, it also accesses the data in write mode via a non-public HTTP API. In both cases, new versions introduce proper supersets of the protocols used. Thus, an older central site uses only a proper subset of the functionality of the newer remote sites. If the central site were to be updated first, it might use API calls or Livestatus requests on the remote sites that they do not yet understand.

The maximum version difference for a single major version, in turn, results from the fact that the removal of interfaces is accompanied by a grace period of exactly one version.

6.2. Extension packages in central setup

To facilitate phased updates, Checkmk allows you to store extension packages with the same name but in different versions—one compatible with the older central site and one compatible with the newer remote sites. The appropriate package is activated in each case. Details are described in the article on extension packages (MKPs).

6.3. Cascading Livestatus

When using viewer sites, viewer sites may only be updated after the sites whose data they display have been updated. If a viewer site displays only data from remote sites, it may be updated as soon as those remote sites have been updated. If, on the other hand, the viewer site also displays data from the central site, it must be updated last.

7. Updating a Docker container

The update process for a Checkmk site in a Docker container is very simple. There are only the following prerequisites:

  • The container is not deleted when it is stopped. This means that the --rm option was not used when starting the container.

  • You know the ID of the data volume associated with the container. Normally, you should have assigned a unique ID to the container’s volume when you started it. If you are unsure of your volume’s ID, you can retrieve information about the container named myContainer using the docker inspect myContainer command.

If you have followed the Installation Guide for Checkmk in Docker, you should have automatically met the prerequisites.

The update itself is completed in 3 steps:

  1. Stop the container.
    If the Checkmk container is named myContainer, the command is: docker stop myContainer.

  2. Remove the container.
    The command for this is: docker rm myContainer.

  3. Start a new container with the desired version and mount the existing volume.
    For instructions on mounting volumes, see the Installation Guide for Checkmk in Docker.

After that, Checkmk will automatically take care of the rest of the actions, then update and start your Checkmk site. You will then be able to log in as usual.

8. Rolling back to a lower version

The omd update command also allows you to 'update' to a lower version (a 'downdate'). This procedure is intended only for cases of regression. A rollback should only be performed if you have a backup of the configuration from immediately before the update (for example, using the global setting for version control with Git).

Important

After such a backwards update, many adjustments will be necessary to restore compatibility between the configuration and the runtime environment—especially, but not exclusively, when 'updating' to a lower major version. Therefore, we strongly advise against this approach—and cannot provide support for 'updates' to a lower version.

When should you consider a 'downdate', and when is a restore better?

In principle, restoring a backup is always preferable to a rollback via 'downdate'. However, there are situations in which attempting a rollback may offer advantages. These can include, for example:

  • When the backup archive is very large, and restoring it would take a very long time.

  • Checkmk had already been running for some time before problems arose, and the resulting gap in the monitoring data would be disruptive.

If not too many changes have been made to hosts and services (so that the RRDs largely match the old configuration) and a version of the configuration from immediately before the update is available, you can attempt a rollback. After the rollback, thoroughly verify that everything is working as expected.

9. Updating configuration files

During an update, Checkmk attempts to adapt all standard configuration files to the requirements of the new version. This is similar to the process involved in updating a Linux distribution, but goes beyond that in its implementation. For example, Checkmk can handle a wide variety of scenarios, such as:

  • Merging file changes with the user’s local changes.

  • Files, directories, and symbolic links that are obsolete in the new version, or have been deleted by the user.

  • Changes to permissions.

  • Changes to the file type (a directory or file becomes a symbolic link, or vice versa).

  • Changes to the target of symbolic links.

Throughout this process, Checkmk always ensures that your local changes are preserved, while at the same time implementing all changes necessary for the new version. In many cases the update runs smoothly and requires no user intervention.

9.1. Conflicts resolved interactively

If the new version includes a change to a configuration file that you have since modified yourself, Checkmk will attempt to automatically merge both changes. This is done using the same methods that version control systems use.

The fewest problems occur when your changes and Checkmk’s changes are far enough apart (at least a few lines). In that case, the merge takes place automatically without your help.

If two changes conflict because they affect the same part of the file, Checkmk cannot and will not decide which of the two changes is more important. In this case, you, the user, will be prompted to resolve the conflict interactively:

                                                                                     
  Conflicts in etc/mk-livestatus/nagios.cfg!                                         
  I've  tried to  merge the changes  from version  2.4.0p22.cre to 2.5.0p1.community 
  into  etc/mk-livestatus/nagios.cfg. Unfortunately  there are  conflicts with       
  your changes. You have the following options:                                      
                                                                                     
                                                                                     
  diff        Show differences between the new default and your version              
  you         Show your changes compared with the old default version                
  new         Show what has changed from 2.4.0p22.cre to 2.5.0p1.community           
  edit        Edit half-merged file (watch out for >>>>> and <<<<<)                  
  try again   Edit your original file and try again                                  
  keep        Keep half-merged version of the file                                   
  restore     Restore your original version of the file                              
  install     Install the new default version                                        
  shell       Open a shell for looking around                                        
  abort       Stop here and abort update!                                            
                                                                                     

You will now have the following options:

d

This shows you the differences between the new default version of the file and your version in the form of a 'unified diff' (diff -u).

y

This is similar to the previous function, but shows the changes you made to the file based on the previous default version.

n

This third option essentially closes the loop and shows the changes that Checkmk wants to make to the file.

e

Resolve the conflict manually in the editor.

t

Open your original file—​without the changes that have already been successfully merged—​in an editor. Now edit the file to resolve any conflicts. After closing the editor, Checkmk will attempt to merge the changes again.

k

Here, you can choose to accept the file as it is. The successfully merged changes will be retained. Otherwise, the file will remain as you have modified it.

r

This restores your file to its original state and skips the Checkmk update for this file. You will need to make any necessary adjustments yourself.

i

Install the new default version of the file: Your changes to the file will be lost.

s

If you are unsure, you can open a shell with s. You will be in the directory where the affected file is located, allowing you to assess the situation. Exit the shell with Ctrl+D to continue the update.

a

Cancel the update. The old version will remain in the site, and the site’s previous configuration will be restored. You can attempt the update again at any time.

9.2. Other conflict situations

In addition to merging file contents, there are a number of other situations in which Checkmk will need you to make a decision. Some of these are very unusual situations, but they will still require proper handling. In these cases, Checkmk will always give you the option to keep your version or adopt the new default version. In addition, you always have the option to cancel or open a shell. Examples of such situations can include:

  • Conflicting changes to the file type (e.g., when a file is replaced by a symbolic link)

  • Conflicting changes to file permissions

  • Modified files that are omitted in the new version

  • Files, directories, or links you created that conflict with new files/directories/links

  • Failures in the migration of rules or other configurations

If an update fails, it is worth first checking any changes you have made to configuration files yourself. Furthermore, you should check whether a poorly programmed extension might be causing the problem and disable it if necessary. Of course, it’s simply possible that an error has crept into the update routine. In such a case, please report the issue via a support ticket (if you have a support contract) or on the Checkmk Forum.

Tip

Starting with Checkmk 2.3.0, if an update fails, the configuration will be restored to its state prior to the update. An update may fail due to an unexpected internal error, but also due to user input during the update process—for example, by selecting the abort menu option or pressing the keyboard shortcut Ctrl+C. Restoring the configuration is no substitute for a full backup, but in many cases it helps to reduce downtime.

10. Updating using a script

Would you like to automate the Checkmk software update, either partially or completely? If so, you may have initially run into trouble with the interactive prompts from omd update. There is a simple solution for this. The command actually supports options specifically designed for use in scripts.

For parameters that can be used with many omd subcommands, take a look at the article on site administration with omd. The most important ones in the context of updates are:

  • The --force parameter (abbreviated as -f) disables many checks, which is why we advise against using it. Instead, use the parameters that begin with --confirm or --ignore.

  • The -V parameter, followed by a version identifier, which specifies the target of the update.

The options shown here are supported starting with omd version 2.5.0 and will be expanded in the future. Please note that these options will already be available after installing a Checkmk package in version 2.5.0 and can therefore be used when updating from 2.4.0 to 2.5.0. If you want to ensure that your scripts also work on servers where Checkmk 2.4.0 provides the default omd, refer to this article in the Checkmk 2.4.0 User Guide. The legacy options described there still work with the omd provided by Checkmk 2.5.0, but will no longer be accepted in version 3.0.0.

10.1. Suppressing confirmation dialogs

The following options control the behavior of the pre-checks and should be used in preference to --force (short for -f):

--confirm-version

Suppresses the confirmation dialog for the selected version.

--confirm-edition

Suppresses the confirmation dialog for the selected edition during an upgrade.

--ignore-versions-incompatible

Suppresses the abort in case of version incompatibilities (for example, if 2.4.0p22 is installed but 2.4.0p23 is actually required).

--ignore-editions-incompatible

Suppresses the abort message for edition incompatibilities (for example, during a downgrade from Checkmk Ultimate with Multi-Tenancy).

10.2. Options for file-based updates

The following options control the behavior during the first step of the configuration update, the file-based update:

--skeleton=ask

The default behavior; the user is prompted for instructions on how to proceed.

--skeleton=abort

Aborts immediately in the event of a conflict.

--skeleton=install

The user’s most recent changes are discarded, and the default version of the configuration file is installed.

--skeleton=keepold

The user’s most recent changes are retained, and the default version of the configuration file is ignored.

10.3. Options for configuration updates

The following options are passed to the cmk-update-config program and control the behavior during the second step of the configuration update, where format changes or conversions from lists to objects are performed.

--pre-flight=ask

The default behavior; the user is prompted for instructions on how to proceed.

--pre-flight=ignore

Ignores any conflicts. However, Checkmk may then become inoperable, requiring manual intervention. Did we mention the importance of having a recent backup?

--pre-flight=abort

Aborts immediately in the event of a conflict.

An example of the complete command for an automatic update of the mysite site to version 2.5.0p8.community:

root@linux# omd stop mysite ; \
    omd --skeleton=install --pre-flight=abort --confirm-version -V "2.5.0p8.community" update mysite && \
    omd start mysite
Copy command(s) to clipboard
Successfully copied command(s) to clipboard!
Write access to clipboard has been denied!

The && before omd start prevents the site from starting if omd update aborts with an error while updating the configuration. Replace the && with a semicolon (;) if you absolutely want to attempt a startup even in such a situation.

11. Output during an update

Whenever the update process automatically makes changes to files, it outputs a line explaining the change. The following scenarios are possible (when referring to files, this also applies to links and directories):

Updated

A file has changed in the new version. Since you have not made any changes to the file, Checkmk will simply apply the new default version of the file.

Merged

A file has changed in the new version, while you have also made other changes to the file. Both changes were successfully merged without any conflicts.

Identical

A file has changed in the new version. At the same time, you have already modified the file yourself in exactly the same way. Checkmk does not need to take any action.

Installed

The new version includes a new configuration file, which has just been installed.

Identical new

The new version includes a file, but you have since created the same file with the same content yourself.

Obsolete

A file is missing from the new version. You have already deleted this file anyway. Nothing happens.

Vanished

Here, too, a file is missing, but you neither deleted nor modified it. Checkmk automatically removes this file.

Unwanted

You deleted a file that is normally present. Since there have been no changes to the file in the new version, Checkmk leaves the file missing.

Missing

You have deleted a file that has been modified in the new version. Checkmk does not recreate the file, but warns you with this message.

Permissions

Checkmk has updated a file’s permissions because different permissions are set in the new version.

12. Files and directories

Here you will find files and directories relevant to this article. As always, paths that do not begin with a / are relative to the site’s home directory (/omd/sites/mysite).

Path Description

~/version

Symbolic link to the installation of the Checkmk version used by this site.

/omd/versions

This directory contains a subdirectory for each installed Checkmk version. The files belong to root and are never modified.

/omd/sites

This directory contains the home directory for each site, along with its configuration files and variable data. The files belong to the site user and are modified during configuration and operation.

/usr/bin/omd

Management command for Checkmk sites. This is a symbolic link to the bin directory of the default version. As soon as a specific site is accessed, the omd command replaces itself with the one for the corresponding version.


Last modified: Wed, 01 Jul 2026 14:59:44 GMT via commit 61c329cee
On this page