Hi
That directory is purely meant for user-modules and by default is empty as nor we, nor Zabbix ship user-modules with the agent. And I don't see that changing in the near future. So currently indeed only user-files will be located there.
Robin
Michael Tremer schreef op ma 12-04-2021 om 11:52 [+0100]:
Hello,
I agree, /etc isn’t exactly the best place for it, but it comes with a couple of benefits:
- We will include those files in the backup (or at least should be
doing so)
- We have control over /usr/lib/zabbix and can do whatever we need
there (I was assuming that there are some system files in there - if that is wrong and there is nothing in this directory apart from user files, we can leave it as /usr/lib/zabbix)
-Michael
On 12 Apr 2021, at 11:50, Robin Roevens robin.roevens@disroot.org wrote:
(forgot to reply to all :-))
Hi
In theory, I think I could move the modules dir from current /usr/lib/zabbix to /etc/zabbix_agentd/modules for example.
However modules are not planin text config files but rather binary (possibly user-created and compiled) libraries that plug into the agent to extend it's functionality. So I assume a user will probably have the source code of the binary library some place else and could probably easily re-deploy the compiled modules after the backup is restored in a recovery situation. But I figured, as it is in a way a configuration of the agent instance, it should also be backed up, not requiring users to re-deploy those after a recovery. But moving binary files into /etc/... feels a bit awkward.. but technically it could be done.
Robin
Michael Tremer schreef op ma 12-04-2021 om 11:26 [+0100]:
Hello,
So, this is slightly more complicated.
The usual way how we do things is to back up any kind of configuration, uninstall everything, install the new package and then restore the configuration.
Having custom files in a system directory is probably going to break this.
Is there any way to have custom scripts in /etc/zabbix/… or something similar?
-Michael
On 10 Apr 2021, at 22:13, Robin Roevens robin.roevens@disroot.org wrote:
Hi Adolf
Indeed, I should have explicitly mentioned the modules-dir; the original /usr/lib/modules which was removed from the rootfile and the custom one, introduced by Alex, but not backed up until now: /usr/lib/zabbix/. I have been digging in the mailinglist archives to find out why Alex was using /usr/lib/zabbix/ and thus I was 'deep' into the modules- dirs saga that I considered it 'common knowledge' at that point in time where I committed this change. But of course, it is no common knowledge for you guys :-) I will try to pay more attention to such things in the future.
Regards Robin
Adolf Belka schreef op vr 09-04-2021 om 21:36 [+0200]:
Hi Robin,
The patches seem fine to me, although again my lack of zabbix knowledge means I can't comment on specifics easily.
Only minor general point I had was that the commit message might have more clearly specified that the modules-dir is /usr/lib/zabbix. I had to read through the whole patch to come to that conclusion.
Overall these look good patches for your first input.
Regards,
Adolf
On 07/04/2021 22:44, Robin Roevens wrote:
- Add agent modules-dir to backup
- Remove original, not used agent modules dir from rootfile
- Delete agent modules dir only when empty on uninstall
thus keeping possible user deployed custom module files but removing it if unused.
Signed-off-by: Robin Roevens robin.roevens@disroot.org
config/backup/includes/zabbix_agentd | 3 ++- config/rootfiles/packages/zabbix_agentd | 4 ++-- src/paks/zabbix_agentd/install.sh | 2 ++ src/paks/zabbix_agentd/uninstall.sh | 5 +++++ src/paks/zabbix_agentd/update.sh | 1 + 5 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/config/backup/includes/zabbix_agentd b/config/backup/includes/zabbix_agentd index cba18d772..d3305cb96 100644 --- a/config/backup/includes/zabbix_agentd +++ b/config/backup/includes/zabbix_agentd @@ -1,2 +1,3 @@ /etc/sudoers.d/zabbix -/etc/zabbix_agentd/* +/etc/zabbix_agentd/ +/usr/lib/zabbix/ diff --git a/config/rootfiles/packages/zabbix_agentd b/config/rootfiles/packages/zabbix_agentd index 4420bda05..a938f2605 100644 --- a/config/rootfiles/packages/zabbix_agentd +++ b/config/rootfiles/packages/zabbix_agentd @@ -8,8 +8,8 @@ etc/zabbix_agentd/zabbix_agentd.d etc/zabbix_agentd/zabbix_agentd.d/userparameter_pakfire.con f usr/bin/zabbix_get usr/bin/zabbix_sender -usr/lib/modules -usr/lib/zabbix +#usr/lib/modules +#usr/lib/zabbix usr/sbin/zabbix_agentd #usr/share/man/man1/zabbix_get.1 #usr/share/man/man1/zabbix_sender.1 diff --git a/src/paks/zabbix_agentd/install.sh b/src/paks/zabbix_agentd/install.sh index e1450a1d8..b98230ea1 100644 --- a/src/paks/zabbix_agentd/install.sh +++ b/src/paks/zabbix_agentd/install.sh @@ -41,6 +41,8 @@ ln -sf ../init.d/zabbix_agentd /etc/rc.d/rc6.d/K02zabbix_agentd # Create additonal directories and set permissions mkdir -pv /var/log/zabbix chown zabbix.zabbix /var/log/zabbix +mkdir -pv /usr/lib/zabbix +chown zabbix.zabbix /usr/lib/zabbix restore_backup ${NAME} start_service --background ${NAME} diff --git a/src/paks/zabbix_agentd/uninstall.sh b/src/paks/zabbix_agentd/uninstall.sh index edff3b818..b771d1f63 100644 --- a/src/paks/zabbix_agentd/uninstall.sh +++ b/src/paks/zabbix_agentd/uninstall.sh @@ -26,5 +26,10 @@ stop_service ${NAME} make_backup ${NAME} remove_files +# Remove agent modules dir if empty +if [ -z "$(ls -A /usr/lib/zabbix/)" ]; then + rmdir /usr/lib/zabbix +fi
# Remove init-scripts and symlinks rm -rfv /etc/rc.d/rc*.d/*zabbix_agentd diff --git a/src/paks/zabbix_agentd/update.sh b/src/paks/zabbix_agentd/update.sh index 7fc1c96fb..68bba4f80 100644 --- a/src/paks/zabbix_agentd/update.sh +++ b/src/paks/zabbix_agentd/update.sh @@ -22,6 +22,7 @@ ########################################################### #### #### ######### # . /opt/pakfire/lib/functions.sh +extract_backup_includes ./uninstall.sh ./install.sh
-- Dit bericht is gescanned op virussen en andere gevaarlijke inhoud door MailScanner en lijkt schoon te zijn.
-- Dit bericht is gescanned op virussen en andere gevaarlijke inhoud door MailScanner en lijkt schoon te zijn.