A recipe to update grommunio from Open SuSE 15.4 to 15.5.
Open SuSE 15.5 is here and grommunio provides packages for Open SuSE 15.5, we may update the appliance.
Please note: If your system is still running on Open SuSE 15.3, use this document to upgrade to Open SuSE 15.4 first: https://community.grommunio.com/d/792-update-form-open-suse-153-to-154
1. Preparation for the update
- Connect via SSH like Putty to the grommunio server
- For most commands you may copy and paste the commands to the grommunio server
- Please note, this upgrade interrupts your mail system
- If a virtualized environment is present, take a snapshot of the system
- If the server has an uptime of more than 30 days, it is recommended to reboot the server. Check the uptime with the command
uptime
and if necessary reboot with init 6
.
- Stop and disable postfix
systemctl stop postfix
systemctl disable postfix
2. Delete any existing old backup directory
rm -r /root/WH/bck/
3. Create a tar backup of /etc for later comparison or restore
mkdir -p /root/WH/bck/
tar -cvzf /root/WH/bck/etc.tgz /etc
4. Backup MariaDB
mysqldump --all-databases > /root/WH/bck/dump_grommunio.sql
5. Install current updates
zypper ref
zypper up
Please note: At this point there can be 2 possible issues,
- the grommunio 15.4 repository is no longer available (approx. Q2/2024), in this case simply continue with the update, at least the Open SuSE components will be updated and grommunio will be updated when updating to 15.5 in step 11.
- neither the grommunio 15.4 nor the Open SuSE 15.4 repository (tbd.) exists anymore, then continue with point 8. But then you have to make sure that both 15.5 repositories exist, if the 15.5 repositories no longer exist, an update is no longer easily possible.
A full backup is recommended in both situations.
6. Verify the MariaDB schema
gromox-dbop -U
current schema is gx-128 (30. Oct. 2023)
7. Wait about 5 minutes to allow the schema upgrade for the domain and user databases and the index is rebuild
Use top
or htop
to see activity on databases.
Also use journalctl -f
to see activities on this system. If you see messages like:
.... dbop_sqlite: upgrading /var/lib/gromox/user/x/y/exmdb/exchange.sqlite3 to schema EV-nn
wait until all databases are updated.
For community edition and supported edition, current schema at Oct. 2023 is EV-13.
8. Reboot the server
init 6
9. Document the current state before the distribution update
rpm -qa | sort > /root/SLES_15.4.txt
10. Switch all repositories including other 3. party repositories like backup software from 15.4 to 15.5
sed -i 's/15.4/15.5/g' /etc/zypp/repos.d/*.repo
Verify that all repositories version changed with:
cat /etc/zypp/repos.d/*.repo
Refresh repository list:
zypper refresh -f
The question from zypper should be answered as "a - trust always" if you use a German OS, answer "i -immer vertrauen"
If you see errors about repo-sle-debug-update, disable the repository with:
zypper mr -d repo-sle-debug-update
and run refresh again:
zypper refresh -f
11. Update gromox only
zypper update gromox
12. Distribution update to Open SuSE 15.5
zypper dup
13. Enable redis
It seams redis is not enabled after the upgrade
systemctl --now enable redis@grommunio.service
14. Restart MariaDB to force DB upgrade
systemctl restart mariadb
15. Reboot server to activate the new modules and new kernel
init 6
16. Document the update
rpm -qa | sort > /root/SLES_15.5.txt
17. Compare old state with current state
vim -d /root/SLES_15.5.txt /root/SLES_15.4.txt
It is unlikely that you find missing packages but if you find missing packages, reinstall them like:
zypper in <MISSING-PACKAGE>
Ignore outdated Kernel and libfmt7-7* packages and old grup2 packages.
18. Find newer sample configuration files, these usually have the extension .rpmnew
find /* -iname '*.rpmnew'
Manually migrate the changes from .rpmnew file into the original configuration file, this can be done with vim or diff. However, be careful not to overwrite or destroy the configuration of your system. Please note: we created a configuration backup in second step.
vim -d <FILE> <FILE>.rpmnew
or use diff
diff <FILE> <FILE>.rpmnew
and manually edit the configuration file to populate the changes.
This needs some knowledge about the system, overwriting incorrect variables my render your system unusable.
About /etc/postfix/master.cf, replace fifo
with unix
. The transport fifo
is outdated.
Never touch the file: /etc/postfix/main.cf
It is wise als to migrate new/updated comments from .rpmnew to the configuration file and remove the outdated comments.
After making the changes in the configuration files, delete the .rpmnew files, they are no longer needed.
Also restart the affected services or reboot the server again with init 6
.
19. Find outdated configuration files and delete them, these usually have the extension .rpmsave
find /* -iname '*.rpmsave'
Manually delete any outdated configuration files, they are no longer needed.
20. Look at the logs for errors
journalctl -f
and tail /var/log/grommunio/* -f
21. Test the system
Please note, postfix is still disabled, mail sending is not yet possible.
Repair all errors.
22. If everything works, enable postfix
systemctl enable postfix
systemctl restart postfix
and delete the snapshot
23. Now the system should be fully up and running again
Enjoy grommunio
Changes:
- Moved enable redis in its own section 14
- Added: About /etc/postfix/master.cf in section 18
- Replaced find commands with crpb's version
- Current SQLite schema at July 2023 is EV-11 for supported edition
- Current SQLite schema at Sept. 2023 is EV-12 community edition only
- Current SQLite schema at Sept. 2023 is EV-13 community edition only
- Current SQLite schema at 30. Oct. 2023 is EV-13 for both editions, today a supported edition was released
- Added information about removed repositories in step 5.