Upgrade ESF

The RPM file used to a fresh ESF install can be used to upgrade an existing installation. The RPM file, indeed, contains all the resources needed to upgrade/install ESF. The upgrade will preserve all the user preferences, scripts and snapshots.

📘

Check the gateway-specific page if more detailed installation instructions or additional preliminary steps are needed for your device.

The upgrade procedure will generate two log files, kura_uninstall_<timestamp>.log and kura_install_<timestamp>.log in the /opt/eurotech/esf/log/ folder. The logs will also be appended to the systemd journal using the ESF syslog identifier, and it can be inspected using the journalctl -t ESF command.
Please note that if the platform does not use persistent storage for systemd journal, the logs in systemd journal will be lost after device reboot.

RPM upgrade

To upgrade ESF using .rpm files, use the following command:

dnf upgrade esf-*.rpm
reboot

🚧

The ESF upgrade using RPM files supports upgrades from ESF 7.0.2, 7.1.x, 7.2.x and 7.3.x to 7.4.0.

In the case of different upgrade requirements, please keep in touch with your Eurotech sales representative for the quotation of a specific Professional Service.

Please refer to the ESF 7 Upgrade and Backwards Incompatible Changes page to verify the impact of the update on your existing installation and applications currently running on the framework.

🚧

On already deployed devices, the rpm install may require the installation of the ESF RPM GPG key used to sign and verify the ESF RPM.

The ESF RPM Key comes pre-installed in EL 27.1.0 and EL 30.0.0.

The Key is available here. To install in the target device, run the following command: rpm --import <key>

Debian package upgrade for generic profiles

Upgrade using Debian packages is only supported for ESF generic distribution profiles (esf-generic.deb). Upgrade of the old Raspberry PI debian packages is not supported (e.g. esf-raspberry-pi.deb).

Debian package upgrade should be performed with the following commands:

apt install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" ./esf-generic_<version>_<arch> .deb
reboot

The extra --force-confdef and --force-confold options are needed to prevent apt from showing user prompts in certain circumstances. User prompts are not desirable especially in the case of an unattended upgrade (e.g. debian package upgrade performed with an Ansible playbook).

The prompt will appear in the case when a new version of a configuration file has been shipped in the Debian package of the new ESF version and the user changed that configuration file. The correct behavior in this case is to keep the existing version of the configuration file (the --force-confold option forces this behavior without the prompt).