惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LINUX DO - 热门话题
Stack Overflow Blog
Stack Overflow Blog
B
Blog
WordPress大学
WordPress大学
Project Zero
Project Zero
P
Palo Alto Networks Blog
阮一峰的网络日志
阮一峰的网络日志
博客园 - 司徒正美
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
小众软件
小众软件
T
Tailwind CSS Blog
Forbes - Security
Forbes - Security
F
Full Disclosure
SecWiki News
SecWiki News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hacker News: Ask HN
Hacker News: Ask HN
C
Check Point Blog
Microsoft Security Blog
Microsoft Security Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
F
Fortinet All Blogs
Cisco Talos Blog
Cisco Talos Blog
G
Google Developers Blog
J
Java Code Geeks
Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recorded Future
Recorded Future
O
OpenAI News
Spread Privacy
Spread Privacy
MongoDB | Blog
MongoDB | Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
C
Cybersecurity and Infrastructure Security Agency CISA
S
Securelist
V
Vulnerabilities – Threatpost
Y
Y Combinator Blog
IT之家
IT之家
U
Unit 42
腾讯CDC
S
Security Affairs
C
Cisco Blogs
Schneier on Security
Schneier on Security
The Last Watchdog
The Last Watchdog
B
Blog RSS Feed
宝玉的分享
宝玉的分享
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
S
Security @ Cisco Blogs
Cyberwarzone
Cyberwarzone
T
The Blog of Author Tim Ferriss

博客园 - 茶猫的学习笔记

WSL2 中使用 Arch Linux Beyond Compare 4 便携版 添加右键菜单 [Ubuntu 20.04] 修复‘systemd-shutdown[1]: waiting for process: crond’需等待1分半钟的问题 Canon LBP2900安装Linux驱动的方法 CentOS8 安装 simple-scan 的方法 CentOS8 缺少 libglade2 安装包的回避方法 CentOS8 使用 aliyun 阿里云 镜像站点的方法 CentOS7或CentOS8 开机自动启用网卡的设置方法 CentOS7或CentOS8 安装VirtualBox Guest Addon缺少kernel-headers的解决办法 KDE-解决.docx .xlsx .pptx文档默认由Ark打开的问题 树莓派-Ubuntu Mate开启ssh服务 树莓派-CentOS-Minimal arm版的设置 树莓派-Ubuntu Mate开启远程桌面xrdp服务 树莓派-为Ubuntu Mate更换国内源 [转] CentOS 5.x 键盘布局改为日语 Debian/Ubuntu安装WPS (转) Vmware中Linux或macOS客户端如何回收硬盘空间 OS X 10.11:在exFAT分区的外置硬盘上使用Time Machine。 OS X 10.11:如何完全停用Time Machine。
解决Ubuntu 20.04升级后gnome-control-center设置程序无法打开问题
茶猫的学习笔记 · 2023-06-07 · via 博客园 - 茶猫的学习笔记

解决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设置程序,确认其能正常运行。

至此,问题已被解决。