解决Ubuntu 20.04升级后gnome-control-center设置程序无法打开问题
解決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)
對于此問題有兩種解決辦法:
- 編譯新版本的glibc,將其安裝到單獨的目錄,程序運行時指定路徑調用新的so文件。
- 對于需要調用高版本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设置程序无法打开问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Vue相关笔记
- 下一篇: 29.1K star!免费接入GPT-4