The Mender client is a user space Linux executable with one main purpose: to install software updates to the device it is running on.It can operate in managed or standalone mode.

At a high level, Mender supports two types of updates: full filesystem updates when you update the complete filesystem, and application updates where, for example, you change one file, install some packages, or execute arbitrary commands. In most instances, the full filesystem update will use a redundant root filesystem partition and the application updates will update components in the active root filesystem.

Note that in order to support system updates, a board integration is required which includes more than simply installing Mender on top of a running operating system. If you want support for system updates, either use OS images provided in Get started or follow the chapters on System updates for Debian family or Yocto Project.

If your interest is in application updates only, you can easily install Mender on top of an existing Linux OS as described in the Debian package chapter.

For a more general overview of where the Mender client fits in as part of the deployment process, please see the Architecture overview.

In order to enable the client to work in as many environments as possible, we designed it to be generic and extensible while providing a default setup and configuration that should work for most environments. When running managed mode, i.e. connected to a Mender server, there are a number of settings and extension points that you may need to modify for your particular setup.

Found errors? Think you can improve this documentation? Simply click the Edit link at the top of the page, and then the icon on Github to submit changes.