From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Tremer To: development@lists.ipfire.org Subject: Re: [PATCH 2/4] [V2] zabbix_agentd: Fix agent modules directory Date: Mon, 12 Apr 2021 11:52:55 +0100 Message-ID: <0BCB9613-A55B-4A52-B141-0308A899582C@ipfire.org> In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7007343183347454935==" List-Id: --===============7007343183347454935== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hello, I agree, /etc isn=E2=80=99t 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 w= as 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 wrote: >=20 > (forgot to reply to all :-)) >=20 > Hi >=20 > In theory, I think I could move the modules dir from current > /usr/lib/zabbix to /etc/zabbix_agentd/modules for example. >=20 > 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.=20 > But moving binary files into /etc/... feels a bit awkward.. but > technically it could be done. >=20 > Robin >=20 > Michael Tremer schreef op ma 12-04-2021 om 11:26 [+0100]: >> Hello, >>=20 >> So, this is slightly more complicated. >>=20 >> 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. >>=20 >> Having custom files in a system directory is probably going to break >> this. >>=20 >> Is there any way to have custom scripts in /etc/zabbix/=E2=80=A6 or someth= ing >> similar? >>=20 >> -Michael >>=20 >>> On 10 Apr 2021, at 22:13, Robin Roevens >>> wrote: >>>=20 >>> Hi Adolf >>>=20 >>> 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. >>>=20 >>> Regards >>> Robin >>>=20 >>> Adolf Belka schreef op vr 09-04-2021 om 21:36 [+0200]: >>>> Hi Robin, >>>>=20 >>>> The patches seem fine to me, although again my lack of zabbix >>>> knowledge means I can't comment on specifics easily. >>>>=20 >>>> 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. >>>>=20 >>>> Overall these look good patches for your first input. >>>>=20 >>>> Regards, >>>>=20 >>>> Adolf >>>>=20 >>>> 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. >>>>>=20 >>>>> Signed-off-by: Robin Roevens >>>>> --- >>>>> 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(-) >>>>>=20 >>>>> 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.conf >>>>> 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 >>>>> =20 >>>>> 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 >>>>> =20 >>>>> +# 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 @@ >>>>> =20 >>>>> ############################################################### >>>>> #### >>>>> ######### >>>>> # >>>>> . /opt/pakfire/lib/functions.sh >>>>> +extract_backup_includes >>>>> ./uninstall.sh >>>>> ./install.sh >>>>> =20 >>>>=20 >>>=20 >>>=20 >>> --=20 >>> Dit bericht is gescanned op virussen en andere gevaarlijke >>> inhoud door MailScanner en lijkt schoon te zijn. >>>=20 >>=20 >>=20 >=20 >=20 > --=20 > Dit bericht is gescanned op virussen en andere gevaarlijke > inhoud door MailScanner en lijkt schoon te zijn. >=20 --===============7007343183347454935==--