写在前面
一般glibc的更新要慎重,因为不同的glibc版本编译出来的C++等库是不能互相链接的,存在兼容性问题,甚至可能导致系统挂掉。
- 查看glibc版本:
ldd --version
我的系统只是个人使用,也没有太多已经编译的库,为了与上游保持同步,也就更新了。
看最后,更新出问题了,好在解决了。
问题描述
- 我的系统是Manjaro kde, 安装在Virtualbox虚拟机中,距离上次更新应该有两三个月了。今天是20231020.
- 更新命令
sudo pacman -Syyu --noconfirm
, 下载完成之后检查的时候发生如下错误后停止:glibc-locales: 文件系统中已存在 /usr/lib/locale/zh_TW.utf8/LC_PAPER glibc-locales: 文件系统中已存在 /usr/lib/locale/zh_TW.utf8/LC_TELEPHONE glibc-locales: 文件系统中已存在 /usr/lib/locale/zh_TW.utf8/LC_TIME glibc-locales: 文件系统中已存在 /usr/lib/locale/zu_ZA.utf8/LC_ADDRESS glibc-locales: 文件系统中已存在 /usr/lib/locale/zu_ZA.utf8/LC_COLLATE glibc-locales: 文件系统中已存在 /usr/lib/locale/zu_ZA.utf8/LC_CTYPE glibc-locales: 文件系统中已存在 /usr/lib/locale/zu_ZA.utf8/LC_IDENTIFICATION glibc-locales: 文件系统中已存在 /usr/lib/locale/zu_ZA.utf8/LC_MEASUREMENT glibc-locales: 文件系统中已存在 /usr/lib/locale/zu_ZA.utf8/LC_MESSAGES/SYS_LC_MESSAGES glibc-locales: 文件系统中已存在 /usr/lib/locale/zu_ZA.utf8/LC_MONETARY glibc-locales: 文件系统中已存在 /usr/lib/locale/zu_ZA.utf8/LC_NAME glibc-locales: 文件系统中已存在 /usr/lib/locale/zu_ZA.utf8/LC_NUMERIC glibc-locales: 文件系统中已存在 /usr/lib/locale/zu_ZA.utf8/LC_PAPER glibc-locales: 文件系统中已存在 /usr/lib/locale/zu_ZA.utf8/LC_TELEPHONE glibc-locales: 文件系统中已存在 /usr/lib/locale/zu_ZA.utf8/LC_TIME 发生错误,没有软件包被更新。
解决方案
-
参考
-
[solved] pacman fails to update because of glibc-2.38
里面提到可- 先运行:
sudo pacman -S --overwrite '/usr/lib/locale/*/*' glibc glibc-locales
- 再运行:
pacman -Syu
- 先运行:
- Linux(manjaro)安装glibc指定版本
-
[solved] pacman fails to update because of glibc-2.38
-
但是我尝试第一句的时候出错:
正在解析依赖关系... 正在查找软件包冲突... 错误:无法准备事务处理 (无法满足依赖关系) :: 安装 glibc (2.38-7) 破坏依赖 'glibc=2.37' (lib32-glibc 需要)
这时尝试同时更新
lib32-glibc
成功:sudo pacman -S --overwrite '/usr/lib/locale/*/*' glibc glibc-locales lib32-glibc
【第一步】 -
再运行:
pacman -Syu --noconfirm
【第二步,完成】-
更新完成无error,但是光标悬浮到桌面的文件、文件夹图标会隐藏,变成下图;关机时在关机、重启按钮上也会消失,重启依旧。进入系统设置也偶尔会闪烁
-
解决办法:关闭Manjaro虚拟机系统,
Virtualbox - 设置 - 显示 - 屏幕
文章来源:https://www.toymoban.com/news/detail-784172.html- 方法一:取消勾选
启用3D加速
,然后进入虚拟机就好了 - 方法二:勾选
启用3D加速
,调大显存,我原来设置的16M(总共128M),修改为64M后不再闪烁,32M都不行。
所以,看起来是升级系统后占用增加,之前分配给虚拟机的资源不够了,缺啥补啥就行:内存、CPU、显存。
文章来源地址https://www.toymoban.com/news/detail-784172.html - 方法一:取消勾选
-
到了这里,关于Manjaro/arch linux glibc 更新 发生错误,没有软件包被更新 glibc-locales: 文件系统中已存在 /usr/lib/locale/ | virtualbox 闪烁的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!