# Updating dynctl

Update dynctl to the latest generally available release with dynctl update.

## Before you begin

dynctl 1.1.0 or later is installed. For more information, see [Installing the dynctl command-line tool](https://help.qlik.com/talend/en-US/dynamic-engine-configuration-guide/Cloud/ctl-for-dynamic-engine-installation "Install dynctl on the machine from which you have access to Dynamic Engine.").

## About this task

The dynctl update command is available from dynctl 1.1.0. It checks the public dynctl release channel for a newer version. If a newer version exists, the command downloads the binary for your platform, verifies its checksum, and replaces the running dynctl binary in place.

The command requires no authentication, no portal login, and no cluster access.

## Procedure

Run the update command:

```
dynctl update
```

Information noteTip: If dynctl is installed in a location that needs elevated rights, such as /usr/local/bin, run the update with sudo. If dynctl is installed in ~/.local/bin, you do not need sudo.

## Results

If a newer version is available, the output is similar to:

```
Updating dynctl: 1.1.0 -> 1.2.0
Updated to 1.2.0.
```

If you already use the latest version, the output is:

```
dynctl is already up to date (1.1.0).
```

Development builds of dynctl do not support self-update. They make no network call and print:

```
This is a development build of dynctl; self-update is not supported.
```

## What to do next

For all dynctl flags and configuration methods, see [Using commands and flags with dynctl](https://help.qlik.com/talend/en-US/dynamic-engine-configuration-guide/Cloud/using-dynctl "Use dynctl to monitor, debug, and troubleshoot a Dynamic Engine cluster and services running in it.").

## About the update notice and how to turn it off

When a newer version is available, dynctl can print a one-line notice. Turn the notice off with a flag, an environment variable, or a configuration key.

### About this task

When you run any other command, dynctl may print this notice to stderr:

```
A newer version of dynctl is available (<version>). Run 'dynctl update' to upgrade.
```

Because the notice goes to stderr only, it never corrupts command output, such as tables from get or the output of doctor --format=json.

The notice follows these rules:

* It appears at most once every 24 hours. The marker file ~/.dynctl/.update-check records the last check.
* The check is time-bounded to about 3 seconds and fails silently.
* It is suppressed for development builds, when --no-update-check is set, and for the update, completion, and help commands.

To turn off the notice, use one of these methods:

* The --no-update-check flag, which applies to all commands. The default is false. For example:
  ```
  dynctl get --no-update-check
  ```
* The DYNCTL\_NO\_UPDATE\_CHECK environment variable. For example:
  ```
  export DYNCTL_NO_UPDATE_CHECK=true
  ```
* The no.update.check configuration key.

## Moving from a version earlier than 1.1.0

Versions earlier than 1.1.0 do not include update. Install dynctl 1.1.0 or later as a new installation, then use dynctl update for future versions.

### Procedure

1. Download dynctl 1.1.0 or later from [Qlik Download Center](https://community.qlik.com/t5/Download-Qlik-Products/tkb-p/Downloads) by following the instructions in [Installing the dynctl command-line tool](https://help.qlik.com/talend/en-US/dynamic-engine-configuration-guide/Cloud/ctl-for-dynamic-engine-installation "Install dynctl on the machine from which you have access to Dynamic Engine.").
2. Remove the previous dynctl binary, or replace it in the same location.

   Make sure that only one dynctl binary is on your PATH.

### Results

From this point on, use dynctl update to get newer versions.