解决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. Mac启用或停用root用户

    1.选取苹果菜单 () >"系统偏好设置",然后点按"用户与群组"(或"帐户"). 2.点按 ,然后输入管理员名称和密码. 3.点按 ...

  2. pip安装MySQLdb报错mysql_config not found

    报错EnvironmentError: mysql_config not found解决方法 1.sudo apt-get install python-setuptools 2.sudo apt-g ...

  3. FLink09的RichFlatMap和RichMap使用

    一.数据源配置 pom文件:https://www.cnblogs.com/robots2/p/16048648.html 二.RichFlatMap代码,输入单行输出多行 package net.x ...

  4. 使用python实现一个可自动部署hexo博客的gitee webhook

    文章首发在我的博客:https://blog.liuzijian.com/post/af1f30e3-c846-650e-9a3f-34e326bf950d.html hexo博客想在提交后自动部署, ...

  5. 腾讯ima接入deepseek-r1,借用别人脑子用用成真了~

    大家好,我是汤师爷! 最近,腾讯发布了一款ima产品,主打用AI来帮你搜索信息.管理知识库. 说实话,一开始用混元大模型,感觉不咋地,很鸡肋的. 不过最近腾讯把DeepSeek R1接进来了,一下子解 ...

  6. 使用VS Code开发微信小程序

    .MathJax, .MathJax_Message, .MathJax_Preview { display: none } 使用VS Code开发微信小程序 微信开发工具 结构 缺点 VS Code ...

  7. Javascript Object对象转Map

    1. Object对象 const data = { "banana": [ { "color": "yellow", "coun ...

  8. yarn的安装与配置(秒懂yarn用法)

    安装和配置Yarn可以通过以下步骤完成: 安装Node.js:首先,确保已经安装了Node.js.可以通过在终端中运行node -v来检查是否已安装.如果没有安装,可以从Node.js官方网站(htt ...

  9. 幻兽帕鲁/Palworld/支持网络联机 v0.1.5.1

    游戏介绍 在广阔的世界中收集神奇的生物"帕鲁",派他们进行战斗.建造.做农活,工业生产等,这是一款支持多人游戏模式的全新开放世界生存制作游戏. 注意事项 先启动STEAM客户端,在 ...

  10. Ansible - [09] 高级语法

    error 处理机制 默认 ansible 在遇到 error 会立刻停止 playbook [root@control ansible]# cat ~/ansible/error.yml --- - ...