解决Ubuntu 20.04升级后gnome-control-center设置程序无法打开问题

Ubuntu 20.04 系统升级后,发现gnome设置程序无法正常打开了。

在终端运行命令查看错误信息,运行以下命令:

sudo gnome-control-center

从显示的错误信息可以看出,其调用的一些so文件,需要高版本的libc6,而Ubuntu 20.04所支持的libc6版本最高为GLIBC_2.31,高于此版本编译出的库,无法正常运行。

gnome-control-center: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /usr/lib/x86_64-linux-gnu/samba/libsamba-debug.so.0)
gnome-control-center: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /usr/lib/x86_64-linux-gnu/samba/libsamba-debug.so.0)
gnome-control-center: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /usr/lib/x86_64-linux-gnu/samba/libdbwrap.so.0)
gnome-control-center: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /usr/lib/x86_64-linux-gnu/samba/libmessages-dgm.so.0)
gnome-control-center: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /usr/lib/x86_64-linux-gnu/samba/libmessages-dgm.so.0)
gnome-control-center: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /lib/x86_64-linux-gnu/libldb.so.2)
gnome-control-center: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /lib/x86_64-linux-gnu/libldb.so.2)
gnome-control-center: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /usr/lib/x86_64-linux-gnu/samba/libsamba-modules.so.0)
gnome-control-center: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /usr/lib/x86_64-linux-gnu/samba/libwinbind-client.so.0)

对于此问题有两种解决办法:

  1. 编译新版本的glibc,将其安装到单独的目录,程序运行时指定路径调用新的so文件。
  2. 对于需要调用高版本libc6的.so文件,重新安装旧版本的deb包。

    这里采用相对简单的第2种办法。

步骤一、首先用dpkg -S [文件路径],查找出.so文件分别属于哪个包,结果如下:

libwbclient0:
/usr/lib/x86_64-linux-gnu/samba/libsamba-debug.so.0 samba-libs:
/usr/lib/x86_64-linux-gnu/samba/libdbwrap.so.0
/usr/lib/x86_64-linux-gnu/samba/libmessages-dgm.so.0
/usr/lib/x86_64-linux-gnu/samba/libsamba-modules.so.0
/usr/lib/x86_64-linux-gnu/samba/libwinbind-client.so.0 libldb2:
/lib/x86_64-linux-gnu/libldb.so.2

步骤二、编辑/etc/apt/souces.list文件,将focal-updates和focal-security两行暂时注释掉,只保留focal仓库:

deb http://mirrors.ustc.edu.cn/ubuntu/ focal main
#deb http://mirrors.ustc.edu.cn/ubuntu/ focal-updates main
#deb http://mirrors.ustc.edu.cn/ubuntu/ focal-security main

步骤三、更新apt索引,然后使用apt search [包名] 查看需要安装的包的版本:

sudo apt update
sudo apt search libwbclient0
sudo apt search samba-libs
sudo apt search libldb2
// 查找后发现旧版本包为
// libldb2=2:2.0.8-2
// libwbclient0=2:4.11.6+dfsg-0ubuntu1
// samba-libs=2:4.11.6+dfsg-0ubuntu1

步骤四、使用apt install [包名]=[版本号]安装老版本包:

sudo apt install --no-install-recommends libldb2=2:2.0.8-2 libwbclient0=2:4.11.6+dfsg-0ubuntu1 samba-libs=2:4.11.6+dfsg-0ubuntu1
// 运行时会提示一些依赖包会被删除,记录这些包名,后续步骤需要装回来:
// gnome-control-center gvfs-backends libsmbclient python3-ldb ubuntu-desktop ubuntu-desktop-minimal

步骤五、将这些包标记为hold,即后续运行apt upgrade时不会被升级:

sudo apt-mark hold libldb2 libwbclient0 samba-libs

步骤六、安装回被删除的依赖包:

// 此步骤会提示gvfs等包版本不匹配,因此需要先安装指定旧版本的gvfs等包:
sudo apt install gvfs=1.44.1-1ubuntu1 gvfs-common=1.44.1-1ubuntu1 gvfs-daemons=1.44.1-1ubuntu1 gvfs-fuse=1.44.1-1ubuntu1 gvfs-libs=1.44.1-1ubuntu1
sudo apt install --no-install-recommends gnome-control-center gvfs-backends libsmbclient python3-ldb ubuntu-desktop ubuntu-desktop-minimal

步骤七、从开始菜单尝试运行gnome设置程序,确认其能正常运行。

步骤八、编辑/etc/apt/souces.list文件,恢复原来的focal-updates和focal-security源:

deb http://mirrors.ustc.edu.cn/ubuntu/ focal main
deb http://mirrors.ustc.edu.cn/ubuntu/ focal-updates main
deb http://mirrors.ustc.edu.cn/ubuntu/ focal-security main

步骤九、运行apt update和apt upgrade,更新系统:

sudo apt update
sudo apt upgrade
// 此步骤会发现被mark为hold状态的包,是不会被升级的。

步骤十、再次从开始菜单尝试运行gnome设置程序,确认其能正常运行。

至此,问题已被解决。

解决Ubuntu 20.04升级后gnome-control-center设置程序无法打开问题的更多相关文章

  1. 如何解决ubuntu 12.04重启后出现waiting for network configuration和网络标志消失问题

    如何解决ubuntu 12.04重启后出现waiting for network configuration和网络标志消失问题 作为菜鸟的我在学着设置网络后,重启电脑后显示 waiting forne ...

  2. Ubuntu 20.04 手动安装 sublime_text 并建立搜索栏图标(解决 Ubuntu 20.04 桌面图标无法双击打开问题)

    下载sublime_text_3离线程序包 wget https://download.sublimetext.com/sublime_text_3_build_3211_x64.tar.bz2 #x ...

  3. Ubuntu 14.04 升级后 VPN 无法连接的问题

    如果不知道怎么配置 VPN Server(IPSEC + L2TP),可以看这篇文章(英文). 问题表现: 将 Ubuntu 12.04 通过自动更新 —— do-release-upgrade —— ...

  4. 解决ubuntu 20.04、22.04 即新版本 fcitx 无法使用的问题

    前提 已在系统设置中将fcitx设置为默认 fcitx开机自启 配置的过程不在本文讨论范围之内 开机自启可通过安装gnome-tweaks配置实现 问题分析流程 手动启动fcitx时提示设置XMODI ...

  5. 彻底解决Ubuntu 14.04 重启后DNS配置丢失的问题

    最近得到一个比较好用的DNS,每次重启后都修改DNS配置文件 /etc/resolv.conf 重启就会失效 从网上得知 /etc/resolv.conf中的DNS配置是从/etc/resolvcon ...

  6. OpenCV4.4.0 安装测试 Installation & Examination (Ubuntu18.04, Ubuntu 20.04)

    OpenCV4.4.0 安装测试 Installation & Examination (Ubuntu18.04, Ubuntu 20.04) 单纯简单的 OpenCV 安装配置方法,在这个地 ...

  7. 内网 Ubuntu 20.04 搭建 docusaurus 项目(或前端项目)的环境(mobaxterm、tigervnc、nfs、node)

    内网 Ubuntu 20.04 搭建 docusaurus 项目(或前端项目)的环境 背景 内网开发机是 win7,只能安装 node 14 以下,而 spug 的文档项目采用的是 Facebook ...

  8. ubuntu 20.04 基于kubeadm部署kubernetes 1.22.4集群及部署集群管理工具

    一.环境准备: 集群版本:kubernetes 1.22.4 服务器系统 节点IP 节点类型 服务器-内存/CUP hostname Ubuntu 20.04 192.168.1.101 主节点 2G ...

  9. Windows10 + Ubuntu 20.04 LTS 双系统安装 (UEFI + GPT)(图文,多图预警)

    版权声明:本文为CSDN博主「ZChen1996」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/ZChen1 ...

  10. Ubuntu 20.04上通过Wine 安装微信

    没有想过会在一个手机软件上花这么多心思,好在今天总算安装成功,觉得可以记录下这个过程,方便他人方便自己. 首先介绍下我使用过的其他方法,希望可以节省大家一些时间: Rambox Pro:因为原理是网页 ...

随机推荐

  1. 镇海-APIO联合总结

    镇海考试见此处:https://www.cnblogs.com/british-union/p/liankao.html 考的是湖南省队集训,除了第一天有点头昏导致体验很差之外体验非常好,剩下两次考试 ...

  2. 【忍者算法】从公路跑步到链表成环:探索环形链表检测|LeetCode第141题 环形链表

    从公路跑步到链表成环:探索环形链表检测 生活中的环形 想象两个人在环形跑道上跑步,一个跑得快,一个跑得慢.如果他们一直跑下去,快的跑者一定会从后面追上慢的跑者.这就是我们今天要讨论的环形链表问题的现实 ...

  3. [SDOI2015] 序列统计 题解

    乘法并不容易用 FFT 或 NTT 维护,考虑在模意义下化乘为加. 化乘为加主要有两种方法:\(\log\) 和 \(\gamma\)(指标),由于在取模意义下,所以使用后者. 那剩下的部分就是快速幂 ...

  4. [SDOI2008] 洞穴勘测 题解

    似乎所有的线段树分治题都能被 \(LCT\) 平替掉? 一眼动态树,直接 \(LCT\). Connect x y 操作用 \(link(x,y)\) 实现,Destroy x y 操作用 \(cut ...

  5. Golang 实现本地持久化缓存

    // Copyright (c) 2024 LiuShuKu // Project Name : balance // Author : liushuku@yeah.net package cache ...

  6. 最优化方法之AdaGrad、RMSProp、Adam

    结论: 1.简单来讲,设置全局学习率之后,每次通过,全局学习率逐参数的除以历史梯度平方和的平方根,使得每个参数的学习率不同 2.效果是:在参数空间更为平缓的方向,会取得更大的进步(因为平缓,所以历史梯 ...

  7. VMware虚拟机上安装Kali Linux详细教程

    1.Kali Linux简介 Kali Linux是一个基于Debian的开源Linux发行版,集成了精心挑选的渗透测试和安全审计的工具,供渗透测试和安全设计人员使用,面向各种信息安全任务:如渗透测试 ...

  8. ESP AT指令使用记录

    一.前言 本篇文章主要用于记录自己在使用AT指令时候的流程,记录一些资料与程序等.如果能帮到你,请给我点个赞. 二.背景知识 ESP-AT是什么? ESP-AT 是乐鑫开发的可直接用于量产的物联网应用 ...

  9. MSBuild属性

    MSBuild 属性 MSBuild属性是键值对的集合,提前声明好这些属性之后,整个项目的生成都可以引用这些属性. 属性名不区分大小写. 属性都是写在 PropertyGroup 标签中. 1.声明属 ...

  10. Web前端入门第 16 问:学会使用开发者工具调试 HTML 页面

    HELLO,这里是大熊学习前端开发的入门笔记. 本系列笔记基于 windows 系统. 有没有好奇,前面文章中的截图是怎么来的?怎样查看 HTML 的渲染结果? Web 开发者的照妖镜 曾经火狐( F ...