首页 > 系统相关 >解决Ubuntu 20.04升级后gnome-control-center设置程序无法打开问题

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

时间:2023-06-07 16:37:07浏览次数:43  
标签:control gnome lib gnu Ubuntu apt 64 linux x86

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

至此,问题已被解决。

标签:control,gnome,lib,gnu,Ubuntu,apt,64,linux,x86
From: https://www.cnblogs.com/teacat/p/17463751.html

相关文章

  • 关于ubuntu
    安装软件sudodpkg-i文件名.deb卸载软件ubuntu彻底卸载软件的常用步骤(以googlechrome为例)如果你想从Ubuntu中彻底卸载Google浏览器,你可以用命令行的方式来操作:sudoapt-getpurgegoogle-chrome-stable,这个命令会删除Chrome浏览器的软件包和配置文件。sudoapt-ge......
  • 在ubuntu上后台启动nodejs、使用pm2启动多个nodejs,
    前言很久以前淘到了一个非常简易的nodejs(聊天室)的源码,今天想把他放到我的ubuntu(server20.10)上。一、正文如果直接使用指令nodeapp.js,退出终端的时候会报错,可以使用pm2来实现后台运行!1.安装node.js和npmapt-getinstallnodejsapt-getinstallnpm安装好了之后可以使用whereisn......
  • Ubuntu升级Cmake的正确方式
     Ubuntu升级Cmake的正确方式某些软件包编译时需要高版本的Cmake,因此需要升级Cmake。不能使用sudoapt-getremovecmake卸载低版本cmake后再重装高版本,这样做会导致之前编译和安装的很多库一起被卸载!!! 正确步骤是:去https://cmake.org/files/下载所需版本的源码。也可......
  • Ubuntu开关图形界面
    systemctlset-defaultmulti-user.target#关闭图形界面systemctlset-defaultgraphical.target#打开图形界面关闭:在图形界面下终端输入sudoservicelightdmstop开启:在命令行输入:sudoservicelightdmstartubuntu20.04关闭图形界面关闭用户图形界面,使用tty登录......
  • ubuntu 16.04 chrome
    16.04如何安装googlechrome?Google’skillingChromesupportfor32-bitLinux,Ubuntu12.04,andDebian7HowshouldIgoaboutinstallingChromeonubuntu14.0432bit?faxian,googlebuzaizhichichrome32bitdela......
  • U盘安装ubuntu 16.04 遇到 gfxboot.c32:not a COM32R image boot 的解决方法
    从U盘启动的时候出现了gfxboot.c32:notaCOM32Rimage的问题,经过研究发现按下Tab键,会出现livelive-installcheckmemtesthdmainmenuhelp.输入live后会进入试用界面,live-install会进入安装界面。参考资料......
  • 使用u盘安装 Ubuntu16.04 LTS
    ubuntu16.04ios文件Universal_USB_Installer_1.9.5.2.1398068312下载地址启动Universal_USB_Installer设置如下:单击Creat:安装完成:u盘变成了这样:U盘内容如下:参考资料......
  • 1_Setting Up an Ubuntu 20.04 server for deployment
     原文:https://www.codewithharry.com/blogpost/setup-ubuntu-20-04-server/  SettingUpanUbuntu20.04serverfordeploymentWhenyoufirstcreateaserverfromanyproviderlikeLinode,DigitalOcean,etc.,youwillhavetosecureitbyexecutingseveral......
  • ubuntu如何卸载软件
     一、ubuntu卸载软件要卸载Ubuntu系统中的软件,可以通过软件中心或终端命令行实现。可以在Ubuntu的应用程序菜单中找到“Ubuntu软件中心”,搜索需要卸载的软件,然后点击卸载按钮即可。使用终端命令行卸载软件时需要打开终端,输入以下命令:sudoapt-getremove软件名其中,“软件......
  • GNOME 卸载nvidia官方闭源驱动
    系统信息KaliGNOME44.1X11Ctrl+Alt+F3进入无桌面终端,然后关掉桌面sudoservicegdm3stop卸载驱动sudonvidia-uninstall......