RHEL8.0升级包后图形化界面进入异常,提示 “Oh no! Something has gone wrong.Logout!”

本文详细记录了在RHEL8系统上因更新导致图形界面异常的排查及解决过程,涉及日志分析、依赖检查及包更新策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 问题背景

近期遇到一个问题,RHEL8.0因为扫出漏洞,根据漏洞做了更新,重启后,发现图形化界面进入异常,提示“Oh no! Something has gone wrong.Logout!”,此时,ssh远程登录正常。

2 排查过程

2.1 日志

ssh登录,查看 messages 日志,从日志中可以查看到以下错误信息(还有其他的错误日志,但是后面排查了才发现此为关键日志)。

/usr/libexec/gdm-x-session[37969]: gbm: failed to open any driver (search paths /usr/lib64/dri)
/usr/libexec/gdm-x-session[37969]: gbm: Last dlopen error: /usr/lib64/dri/vmwgfx_dri.so: undefined symbol: amdgpu_bo_list_create_raw
/usr/libexec/gdm-x-session[37969]: failed to load driver: vmwgfx
/usr/libexec/gdm-x-session[37969]: gbm: failed to open any driver (search paths /usr/lib64/dri)
/usr/libexec/gdm-x-session[37969]: gbm: Last dlopen error: /usr/lib64/dri/kms_swrast_dri.so: undefined symbol: amdgpu_bo_list_create_raw
/usr/libexec/gdm-x-session[37969]: failed to load driver: kms_swrast
/usr/libexec/gdm-x-session[37969]: gbm: failed to open any driver (search paths /usr/lib64/dri)
/usr/libexec/gdm-x-session[37969]: gbm: Last dlopen error: /usr/lib64/dri/swrast_dri.so: undefined symbol: amdgpu_bo_list_create_raw
/usr/libexec/gdm-x-session[37969]: failed to load swrast driver
/usr/libexec/gdm-x-session[37969]: couldn't get display device

根据查到的错误日志的信息,初步判断为 drvier 加载失败,导致图形化界面无法启动,会话关闭退出。

2.2 从报错出发

/usr/libexec/gdm-x-session[37969]: gbm: Last dlopen error: /usr/lib64/dri/kms_swrast_dri.so: undefined symbol: amdgpu_bo_list_create_raw

根据以上报错,查询到相关的解决方案,更新 libdrm 至最新版 libdrm-2.4.100-1.el8.x86_64,安装后需重启 gdm 服务,这个是图形化界面管理服务,重启系统实际上也是重启了此服务。所以重启服务也可以重现到以上问题。

参考链接 https://access.redhat.com/solutions/5212951

安装后重启服务,则一直卡在以下画面,查看 messages 日志,可以看到一直在刷着相关的信息,即类似不断重启 gdm 的过程。由此可见,仅安装 libdrm 还不足以解决问题。

2.3 检查更新的包

因为更新包之前是正常的,所以确认是此次更新导致,再加上按照官方的方案处理,还是存在问题,可能还是包的问题。

首先,根据 /usr/lib64/dir/ 目录确认相关的包,为 mesa-dri-drivers-19.3.4-2.el8.x86_64 。

rpm -qf /usr/lib64/dri/kms_swrast_dri.so 

尝试查询该包的相关依赖,因为把所需要升级的包都放到一个目录,配置成 repo 源,所以直接使用 yum 查询。

但这种方式所查询到的依赖,是不全的,这在后面的排查中才发现。

yum deplist mesa-dri-drivers | grep provider | sort | uniq 

进入更新包所在目录,确认 mesa- 相关的包,以及当前系统中相关名称的包,可以确定,只安装了两个,其他几个没有安装。

所以尝试将升级几个版本较低的相关的包,升级到统一版本,经过测试,还需要其他的依赖,包列表如下。

libdrm-2.4.100-1.el8.x86_64.rpm
libglvnd-1.2.0-6.el8.x86_64.rpm
libglvnd-egl-1.2.0-6.el8.x86_64.rpm
libglvnd-gles-1.2.0-6.el8.x86_64.rpm
libglvnd-glx-1.2.0-6.el8.x86_64.rpm
mesa-libEGL-19.3.4-2.el8.x86_64.rpm
mesa-libgbm-19.3.4-2.el8.x86_64.rpm
mesa-libGL-19.3.4-2.el8.x86_64.rpm
mesa-libglapi-19.3.4-2.el8.x86_64.rpm

安装完成之后,因为前面一直在重试,所以也不需要另外重启服务了,问题恢复。

 

2.3 其他方法

此问题其实还有一个更简单的方法,卸载导致问题的包,重新找回原来版本的包安装回去即可。

rpm -e --nodeps llvm-libs-9.0.1-4.module+el8.2.0+5887+847e8a86.x86_64
rpm -e --nodeps mesa-dri-drivers-19.3.4-2.el8.x86_64
rpm -e --nodeps mesa-filesystem-19.3.4-2.el8.x86_64
rpm -ivh llvm-libs-7.0.1-1.module+el8+2560+c32c7af1.x86_64.rpm
rpm -ivh mesa-dri-drivers-18.3.1-2.el8.x86_64.rpm
rpm -ivh mesa-filesystem-18.3.1-2.el8.x86_64.rpm

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值