Hi Adam,
Yes, that one appears to do the trick. All is green and I can once
again relax. :-)
Thank you very much!
Cheers,
Jaap
Quoting Adam Goryachev via Xymon <xymon at xymon.com>:
On 28/7/2022 19:46, Jaap Winius via Xymon wrote:
Hi folks,
My systems mostly run the Debian 11 xymon-client and hobbit-plugins
packages for amd64 and armhf. However, I've now got a few arm64
systems (for the Odroid N2+) and have run into a problem. After
installing a few missing dependencies for this architecture
(libyaml-tiny-perl, libfile-slurp-perl and lsof), the libs check
now says:Couldn't check for string '4.9.277-arm64' in
/boot/vmlinuz-4.9.277-arm64. Can't check kernel version!Seeing as there's nothing wrong with my systems, how can I get
Xymon to ignore this issue, or better yet, run the kernel version
properly?Thanks,
Jaap
In my case, looks like I made two small changes:
???? my $kernel_image_release = $1;
???? my $kernel_image_read_command = "strings '$newest_kernel_image'"; -??? if (
dpkg --print-architecture=~ /sparc/) { +??? if (-x '/usr/bin/dpkg' anddpkg --print-architecture=~
/(sparc|arm64)/) { ??????? $kernel_image_read_command = "zcat -f --stdout
'$newest_kernel_image' | strings"; ???? }-??????????? if ($kernel_image_version =~ /^(Linux version
)?\Q$running_kernel_release\E \(.*\) \Q$running_kernel_version\E$/) { +??????????? if ($kernel_image_version =~ /^(Linux version
)?\Q$running_kernel_release\E \(.*\) \Q$running_kernel_version\E/) {In addition, you will need to create these two files:
$ cat /etc/kernel/postinst.d/statoverride #!/bin/sh version="$1"
passing the kernel version is required
[ -z "${version}" ] && exit 0 echo "Checking /boot/vmlinuz-${version}" dpkg-statoverride --list /boot/vmlinuz-${version} if
dpkg-statoverride --list /boot/vmlinuz-${version} > /dev/nullthen ?? ?echo "Override found - skipping" ?? ?exit 0 else ?? ?dpkg-statoverride --update --add root adm 0640 /boot/vmlinuz-${version} fi exit 0$ cat /etc/kernel/postrm.d/statoverride #!/bin/bash version="$1"
passing the kernel version is required
[ -z "${version}" ] && exit 0 echo "Checking /boot/vmlinuz-${version}" dpkg-statoverride --list /boot/vmlinuz-${version} if
dpkg-statoverride --list /boot/vmlinuz-${version} > /dev/nullthen ?? ?echo "No override found - skipping" ?? ?exit 0 else ?? ?dpkg-statoverride --remove /boot/vmlinuz-${version} fi exit 0Finally, since these will only run during kernel package
installation/removal, you should run the postinst script manually
for currently installed kernels.I do also modify the default permissions for xymon to add it to the
adm group, this provides access to /var/log files as well as the
above kernel images which are group adm and permission 640, so you
either need to do that as well or adjust the permissions assigned in
the postinst so that xymon will have read access.Hope that helps