SysAK 2.2.0版本导致运行DNF命令发生段错误,如何处理?

SysAK(System Analyse Kit)是阿里云操作系统提供的一个全方位的系统运维工具集,可以覆盖系统的日常监控、线上问题诊断和系统故障修复等常见运维场景。本文为您介绍Alibaba Cloud Linux 2/3系统的SysAK 2.2.0版本导致运行DNF(Dandified Yum)命令发生段错误的问题。

说明

段错误(Segmentation Fault)是指在程序运行过程中,当尝试访问内存时违反了系统的内存访问规则而引发的一种错误。

问题描述

在安装了sysak-2.2.0-1.al7.x86_64.rpm版本的Alibaba Cloud Linux实例中运行dnf命令时,提示如下报错。

Segmentation fault

问题原因

SysAK监控在初始化阶段会依赖于特定的YAML配置文件,所以该监控工具在其自有的运行环境中集成了libyaml的.so动态链接库,旨在确保对YAML配置的支持。然而,这种集成方式无意中给系统造成一种假象,即libyaml已作为全局库安装并可供所有应用程序调用。当用户尝试通过DNF包管理器进行软件操作时,由于系统未能检测到实际全局安装的libyaml库,导致DNF在运行过程中因缺失必要的libyaml支持而触发段错误。

解决方案

  1. 运行以下命令,升级SysAK版本。

    sudo yum update -y sysak
  2. (可选)运行以下命令,确认SysAK版本高于2.2.0。

    sudo rpm -qa sysak