[comment]: # ({91aab3e5-91aab3e5})
# 2 Debian/Ubuntu

[comment]: # ({/91aab3e5-91aab3e5})

[comment]: # ({9e891460-a27e6cdd})
#### Overview

This section provides the steps required for a successful
[upgrade](/manual/installation/upgrade) from Zabbix **5.4**.x to the latest version of Zabbix
**6.0**.x using official Zabbix packages for Debian/Ubuntu.

While upgrading Zabbix agents is not mandatory (but recommended), Zabbix
server and proxies must be of the [same major
version](/manual/appendix/compatibility). Therefore, in a server-proxy
setup, Zabbix server and all proxies have to be stopped and upgraded.
Keeping proxies running during server upgrade no longer will bring any
benefit as during proxy upgrade their old data will be discarded and no
new data will be gathered until proxy configuration is synced with
server.

Note that with SQLite database on proxies, history data from proxies
before the upgrade will be lost, because SQLite database upgrade is not
supported and the SQLite database file has to be manually removed. When
proxy is started for the first time and the SQLite database file is
missing, proxy creates it automatically.

Depending on database size the database upgrade to version 6.0 may take
a long time.

::: notewarning
Before the upgrade make sure to read the relevant
**upgrade notes!**
:::

The following upgrade notes are available:

|Upgrade from|Read full upgrade notes|Most important changes between versions|
|--|--|------|
|5.4.x    |For:<br>Zabbix [6.0](/manual/installation/upgrade_notes_600)|Minimum required database versions upped;<br>Server/proxy will not start if outdated database;<br>Audit log records lost because of database structure change.|
|5.2.x    |For:<br>Zabbix [5.4](https://www.zabbix.com/documentation/5.4/manual/installation/upgrade_notes_540)<br>Zabbix [6.0](/manual/installation/upgrade_notes_600)|Minimum required database versions upped;<br>Aggregate items removed as a separate type.|
|5.0.x LTS|For:<br>Zabbix [5.2](https://www.zabbix.com/documentation/5.2/manual/installation/upgrade_notes_520)<br>Zabbix [5.4](https://www.zabbix.com/documentation/5.4/manual/installation/upgrade_notes_540)<br>Zabbix [6.0](/manual/installation/upgrade_notes_600)|Minimum required PHP version upped from 7.2.0 to 7.2.5.|
|4.4.x    |For:<br>Zabbix [5.0](https://www.zabbix.com/documentation/5.0/manual/installation/upgrade_notes_500)<br>Zabbix [5.2](https://www.zabbix.com/documentation/5.2/manual/installation/upgrade_notes_520)<br>Zabbix [5.4](https://www.zabbix.com/documentation/5.4/manual/installation/upgrade_notes_540)<br>Zabbix [6.0](/manual/installation/upgrade_notes_600)|Support of IBM DB2 dropped;<br>Minimum required PHP version upped from 5.4.0 to 7.2.0;<br>Minimum required database versions upped;<br>Changed Zabbix PHP file directory.|
|4.2.x    |For:<br>Zabbix [4.4](https://www.zabbix.com/documentation/4.4/manual/installation/upgrade_notes_440)<br>Zabbix [5.0](https://www.zabbix.com/documentation/5.0/manual/installation/upgrade_notes_500)<br>Zabbix [5.2](https://www.zabbix.com/documentation/5.2/manual/installation/upgrade_notes_520)<br>Zabbix [5.4](https://www.zabbix.com/documentation/5.4/manual/installation/upgrade_notes_540)<br>Zabbix [6.0](/manual/installation/upgrade_notes_600)|Jabber, Ez Texting media types removed.|
|4.0.x LTS|For:<br>Zabbix [4.2](https://www.zabbix.com/documentation/4.2/manual/installation/upgrade_notes_420)<br>Zabbix [4.4](https://www.zabbix.com/documentation/4.4/manual/installation/upgrade_notes_440)<br>Zabbix [5.0](https://www.zabbix.com/documentation/5.0/manual/installation/upgrade_notes_500)<br>Zabbix [5.2](https://www.zabbix.com/documentation/5.2/manual/installation/upgrade_notes_520)<br>Zabbix [5.4](https://www.zabbix.com/documentation/5.4/manual/installation/upgrade_notes_540)<br>Zabbix [6.0](/manual/installation/upgrade_notes_600)|Older proxies no longer can report data to an upgraded server;<br>Newer agents no longer will be able to work with an older Zabbix server.|
|3.4.x    |For:<br>Zabbix [4.0](https://www.zabbix.com/documentation/4.0/manual/installation/upgrade_notes_400)<br>Zabbix [4.2](https://www.zabbix.com/documentation/4.2/manual/installation/upgrade_notes_420)<br>Zabbix [4.4](https://www.zabbix.com/documentation/4.4/manual/installation/upgrade_notes_440)<br>Zabbix [5.0](https://www.zabbix.com/documentation/5.0/manual/installation/upgrade_notes_500)<br>Zabbix [5.2](https://www.zabbix.com/documentation/5.2/manual/installation/upgrade_notes_520)<br>Zabbix [5.4](https://www.zabbix.com/documentation/5.4/manual/installation/upgrade_notes_540)<br>Zabbix [6.0](/manual/installation/upgrade_notes_600)|'libpthread' and 'zlib' libraries now mandatory;<br>Support for plain text protocol dropped and header is mandatory;<br>Pre-1.4 version Zabbix agents are no longer supported;<br>The Server parameter in passive proxy configuration now mandatory.|
|3.2.x    |For:<br>Zabbix [3.4](https://www.zabbix.com/documentation/3.4/manual/installation/upgrade_notes_340)<br>Zabbix [4.0](https://www.zabbix.com/documentation/4.0/manual/installation/upgrade_notes_400)<br>Zabbix [4.2](https://www.zabbix.com/documentation/4.2/manual/installation/upgrade_notes_420)<br>Zabbix [4.4](https://www.zabbix.com/documentation/4.4/manual/installation/upgrade_notes_440)<br>Zabbix [5.0](https://www.zabbix.com/documentation/5.0/manual/installation/upgrade_notes_500)<br>Zabbix [5.2](https://www.zabbix.com/documentation/5.2/manual/installation/upgrade_notes_520)<br>Zabbix [5.4](https://www.zabbix.com/documentation/5.4/manual/installation/upgrade_notes_540)<br>Zabbix [6.0](/manual/installation/upgrade_notes_600)|SQLite support as backend database dropped for Zabbix server/frontend;<br>Perl Compatible Regular Expressions (PCRE) supported instead of POSIX extended;<br>'libpcre' and 'libevent' libraries mandatory for Zabbix server;<br>Exit code checks added for user parameters, remote commands and system.run\[\] items without the 'nowait' flag as well as Zabbix server executed scripts;<br>Zabbix Java gateway has to be upgraded to support new functionality.|
|3.0.x LTS|For:<br>Zabbix [3.2](https://www.zabbix.com/documentation/3.2/manual/installation/upgrade_notes_320)<br>Zabbix [3.4](https://www.zabbix.com/documentation/3.4/manual/installation/upgrade_notes_340)<br>Zabbix [4.0](https://www.zabbix.com/documentation/4.0/manual/installation/upgrade_notes_400)<br>Zabbix [4.2](https://www.zabbix.com/documentation/4.2/manual/installation/upgrade_notes_420)<br>Zabbix [4.4](https://www.zabbix.com/documentation/4.4/manual/installation/upgrade_notes_440)<br>Zabbix [5.0](https://www.zabbix.com/documentation/5.0/manual/installation/upgrade_notes_500)<br>Zabbix [5.2](https://www.zabbix.com/documentation/5.2/manual/installation/upgrade_notes_520)<br>Zabbix [5.4](https://www.zabbix.com/documentation/5.4/manual/installation/upgrade_notes_540)<br>Zabbix [6.0](/manual/installation/upgrade_notes_600)|Database upgrade may be slow, depending on the history table size.|
|2.4.x    |For:<br>Zabbix [3.0](https://www.zabbix.com/documentation/3.0/manual/installation/upgrade_notes_300)<br>Zabbix [3.2](https://www.zabbix.com/documentation/3.2/manual/installation/upgrade_notes_320)<br>Zabbix [3.4](https://www.zabbix.com/documentation/3.4/manual/installation/upgrade_notes_340)<br>Zabbix [4.0](https://www.zabbix.com/documentation/4.0/manual/installation/upgrade_notes_400)<br>Zabbix [4.2](https://www.zabbix.com/documentation/4.2/manual/installation/upgrade_notes_420)<br>Zabbix [4.4](https://www.zabbix.com/documentation/4.4/manual/installation/upgrade_notes_440)<br>Zabbix [5.0](https://www.zabbix.com/documentation/5.0/manual/installation/upgrade_notes_500)<br>Zabbix [5.2](https://www.zabbix.com/documentation/5.2/manual/installation/upgrade_notes_520)<br>Zabbix [5.4](https://www.zabbix.com/documentation/5.4/manual/installation/upgrade_notes_540)<br>Zabbix [6.0](/manual/installation/upgrade_notes_600)|Minimum required PHP version upped from 5.3.0 to 5.4.0<br>LogFile agent parameter must be specified|
|2.2.x LTS|For:<br>Zabbix [2.4](https://www.zabbix.com/documentation/2.4/manual/installation/upgrade_notes_240)<br>Zabbix [3.0](https://www.zabbix.com/documentation/3.0/manual/installation/upgrade_notes_300)<br>Zabbix [3.2](https://www.zabbix.com/documentation/3.2/manual/installation/upgrade_notes_320)<br>Zabbix [3.4](https://www.zabbix.com/documentation/3.4/manual/installation/upgrade_notes_340)<br>Zabbix [4.0](https://www.zabbix.com/documentation/4.0/manual/installation/upgrade_notes_400)<br>Zabbix [4.2](https://www.zabbix.com/documentation/4.2/manual/installation/upgrade_notes_420)<br>Zabbix [4.4](https://www.zabbix.com/documentation/4.4/manual/installation/upgrade_notes_440)<br>Zabbix [5.0](https://www.zabbix.com/documentation/5.0/manual/installation/upgrade_notes_500)<br>Zabbix [5.2](https://www.zabbix.com/documentation/5.2/manual/installation/upgrade_notes_520)<br>Zabbix [5.4](https://www.zabbix.com/documentation/5.4/manual/installation/upgrade_notes_540)<br>Zabbix [6.0](/manual/installation/upgrade_notes_600)|Node-based distributed monitoring removed|
|2.0.x    |For:<br>Zabbix [2.2](https://www.zabbix.com/documentation/2.2/manual/installation/upgrade_notes_220)<br>Zabbix [2.4](https://www.zabbix.com/documentation/2.4/manual/installation/upgrade_notes_240)<br>Zabbix [3.0](https://www.zabbix.com/documentation/3.0/manual/installation/upgrade_notes_300)<br>Zabbix [3.2](https://www.zabbix.com/documentation/3.2/manual/installation/upgrade_notes_320)<br>Zabbix [3.4](https://www.zabbix.com/documentation/3.4/manual/installation/upgrade_notes_340)<br>Zabbix [4.0](https://www.zabbix.com/documentation/4.0/manual/installation/upgrade_notes_400)<br>Zabbix [4.2](https://www.zabbix.com/documentation/4.2/manual/installation/upgrade_notes_420)<br>Zabbix [4.4](https://www.zabbix.com/documentation/4.4/manual/installation/upgrade_notes_440)<br>Zabbix [5.0](https://www.zabbix.com/documentation/5.0/manual/installation/upgrade_notes_500)<br>Zabbix [5.2](https://www.zabbix.com/documentation/5.2/manual/installation/upgrade_notes_520)<br>Zabbix [5.4](https://www.zabbix.com/documentation/5.4/manual/installation/upgrade_notes_540)<br>Zabbix [6.0](/manual/installation/upgrade_notes_600)|Minimum required PHP version upped from 5.1.6 to 5.3.0;<br>Case-sensitive MySQL database required for proper server work; character set utf8 and utf8\_bin collation is required for Zabbix server to work properly with MySQL database. See [database creation scripts](/manual/appendix/install/db_scripts#mysqlmariadb).<br>'mysqli' PHP extension required instead of 'mysql'|

You may also want to check the
[requirements](/manual/installation/requirements) for 6.0.

::: notetip
It may be handy to run two parallel SSH sessions during
the upgrade, executing the upgrade steps in one and monitoring the
server/proxy logs in another. For example, run
`tail -f zabbix_server.log` or `tail -f zabbix_proxy.log` in the second
SSH session showing you the latest log file entries and possible errors
in real time. This can be critical for production
instances.
:::

For instructions on upgrading between Zabbix 6.0.x minor versions (for example, from 6.0.1 to 6.0.3), see [Upgrade between minor versions](#upgrade-between-minor-versions).

[comment]: # ({/9e891460-a27e6cdd})

[comment]: # ({93ff8b03-93ff8b03})
#### Upgrade procedure

[comment]: # ({/93ff8b03-93ff8b03})

[comment]: # ({6de52e70-f8102233})
##### 1 Stop Zabbix processes

Stop Zabbix server to make sure that no new data is inserted into
database.

    systemctl stop zabbix-server

If upgrading Zabbix proxy, agent, or agent 2, stop these components too:

    systemctl stop zabbix-proxy
    systemctl stop zabbix-agent
    systemctl stop zabbix-agent2

[comment]: # ({/6de52e70-f8102233})

[comment]: # ({ab13a6a4-ab13a6a4})
##### 2 Back up the existing Zabbix database

This is a very important step. Make sure that you have a backup of your
database. It will help if the upgrade procedure fails (lack of disk
space, power off, any unexpected problem).

[comment]: # ({/ab13a6a4-ab13a6a4})

[comment]: # ({59495358-6c141723})
##### 3 Back up configuration files, PHP files and Zabbix binaries

Make a backup copy of Zabbix binaries, configuration files and the PHP
file directory.

Configuration files:

    mkdir /opt/zabbix-backup/
    cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
    cp /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix-backup/

PHP files and Zabbix binaries:

    cp -R /usr/share/zabbix/ /opt/zabbix-backup/
    cp -R /usr/share/zabbix-* /opt/zabbix-backup/

[comment]: # ({/59495358-6c141723})

[comment]: # ({a289e18c-1233529b})
##### 4 Update repository configuration package

Before proceeding with the upgrade, uninstall your current repository package:

    rm -Rf /etc/apt/sources.list.d/zabbix.list

Then, install the latest repository configuration package to ensure compatibility with the newest packages and to include any recent security patches or bug fixes.

On **Debian 12**, run:

    wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb
    dpkg -i zabbix-release_latest+debian12_all.deb

On **Debian 11**, run:

    wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian11_all.deb
    dpkg -i zabbix-release_latest+debian11_all.deb

On **Debian 10**, run:

    wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian10_all.deb
    dpkg -i zabbix-release_latest+debian10_all.deb

For older Debian versions, replace the link above with the correct one from [Zabbix repository](https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/).
Note, however, that packages for those versions may not include all Zabbix components.
For a list of components included, see [Zabbix packages](https://www.zabbix.com/download?zabbix=6.0&os_distribution=debian&os_version=9&components=agent&db=&ws=).

On **Ubuntu 24.04**, run:

    wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest+ubuntu24.04_all.deb
    dpkg -i zabbix-release_latest+ubuntu24.04_all.deb

On **Ubuntu 22.04**, run:

    wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest+ubuntu22.04_all.deb
    dpkg -i zabbix-release_latest+ubuntu22.04_all.deb

On **Ubuntu 20.04**, run:

    wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest+ubuntu20.04_all.deb
    dpkg -i zabbix-release_latest+ubuntu20.04_all.deb

On **Ubuntu 18.04**, run:

    wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest+ubuntu18.04_all.deb
    dpkg -i zabbix-release_latest+ubuntu18.04_all.deb

For older Ubuntu versions, replace the link above with the correct one from [Zabbix repository](https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/).
Note, however, that packages for those versions may not include all Zabbix components.
For a list of components included, see [Zabbix packages](https://www.zabbix.com/download?zabbix=6.0&os_distribution=ubuntu&os_version=16.04&components=agent&db=&ws=).

You may see a prompt about the Zabbix repository configuration:

    Configuration file '/etc/apt/sources.list.d/zabbix.list'
    ==> Deleted (by you or by a script) since installation.
    ==> Package distributor has shipped an updated version.
    What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
    D       : show the differences between the versions
    Z       : start a shell to examine the situation
    The default action is to keep your current version.
    *** zabbix.list (Y/I/N/O/D/Z) [default=N] ?

Enter `Y` (or `I`) to install the package maintainer's version of the Zabbix repository configuration.

Then, update the repository information:

    apt update

[comment]: # ({/a289e18c-1233529b})

[comment]: # ({002d455f-08c7383c})
##### 5 Upgrade Zabbix components

To upgrade Zabbix components you may run something like:

    apt install --only-upgrade zabbix-server-mysql zabbix-frontend-php zabbix-agent

-   If using PostgreSQL, substitute `mysql` with `pgsql` in the command.
-   If upgrading the proxy, substitute `server` with `proxy` in the command.
-   If upgrading the Zabbix agent 2, substitute `zabbix-agent` with `zabbix-agent2 zabbix-agent2-plugin-*` in the command.

::: noteimportant
Upgrading Zabbix agent 2 with the `apt install zabbix-agent2` command could lead to an error.
For more information, see [*Known issues*](/manual/installation/known_issues#upgrading-zabbix-agent-2-6.0.5-or-older).
:::

You may see a prompt about the Zabbix server (or proxy) configuration:

    Configuration file '/etc/zabbix/zabbix_server.conf'
    ==> Modified (by you or by a script) since installation.
    ==> Package distributor has shipped an updated version.
    What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
    D       : show the differences between the versions
    Z       : start a shell to examine the situation
    The default action is to keep your current version.
    *** zabbix_server.conf (Y/I/N/O/D/Z) [default=N] ?

Enter the option that best fits your situation.
For example, enter `D` to compare the current and new configuration, then decide if you want to install the package maintainer's version (`Y` or `I`).

Then, to upgrade the web frontend with Apache and restart Apache, run:

    apt install zabbix-apache-conf
    systemctl restart apache2

Distributions **prior to Debian 10 (buster) / Ubuntu 18.04 (bionic) / Raspbian 10 (buster)** do not provide PHP 7.2 or newer, which is required for Zabbix frontend 6.0.
See [information](/manual/installation/frontend/frontend_on_debian) about installing Zabbix frontend on older distributions.

[comment]: # ({/002d455f-08c7383c})

[comment]: # ({e1a215da-fc690fef})
##### 6 Review component configuration parameters

Make sure to review [Upgrade notes](/manual/installation/upgrade_notes_600) to check if any changes in the configuration parameters are required.

[comment]: # ({/e1a215da-fc690fef})

[comment]: # ({0da8a796-624a8fc7})
##### 7 Start Zabbix processes

Start the updated Zabbix components.

    systemctl start zabbix-server
    systemctl start zabbix-proxy
    systemctl start zabbix-agent
    systemctl start zabbix-agent2

[comment]: # ({/0da8a796-624a8fc7})

[comment]: # ({49e4f43e-49e4f43e})
##### 8 Clear web browser cookies and cache

After the upgrade you may need to clear web browser cookies and web
browser cache for the Zabbix web interface to work properly.

[comment]: # ({/49e4f43e-49e4f43e})

[comment]: # ({f61e51a3-46606e2c})
#### Upgrade between minor versions

It is possible to upgrade between Zabbix 6.0.x minor versions (for example, from 6.0.1 to 6.0.3).

First, update the repository information:

    apt update

Then, to upgrade Zabbix minor version, please run:

    apt install --only-upgrade 'zabbix*'

To upgrade Zabbix server minor version only, please run:

    apt install --only-upgrade 'zabbix-server*'

To upgrade Zabbix agent minor version only, please run:

    apt install --only-upgrade 'zabbix-agent*'

or, for Zabbix agent 2:

    apt install --only-upgrade 'zabbix-agent2*'

[comment]: # ({/f61e51a3-46606e2c})
