未定义的符号、混合存储库、Linux 完整性以及修复整个发行版

未定义的符号、混合存储库、Linux 完整性以及修复整个发行版

在尝试更新/升级到 Bookworm 时遇到这个问题,让我对 Linux 的完整性有了一些思考,因为发行版/存储库不断增加,因此库可能足够多样化,从而给简单用户带来严重问题。

 /usr/libexec/gvfsd-trash: symbol lookup error: /usr/libexec/gvfsd-trash: undefined symbol: g_unix_mount_point_at
  1. 我的源列表中有不同的存储库,以及一些旧的存储库,例如 Ubuntu、debian 和它们的许多旧版本。
  2. 我不知道我不能混合它们(我选择了强制选项并覆盖文件)
  3. 通过删除较旧的软件包和 ubuntu 存储库,通过执行“sudo apt upgrade”,很多之前不可用的软件包已经可以安装(!!!)。为什么?
  4. 这在我的系统中造成了 glibc、gvfs、systemd 严重冲突,并且很多undefined symbols
  5. 请注意,我几乎删除了所有文件/usr/local/usr/libexec文件夹。然后重新安装了几乎所有内容sudo apt install --reinstall package。这修复了许多未定义的错误,但没有修复关机时的 gvfs 未定义错误和 libsystemd-252.so。

因此,我的想法是:

  1. 为什么 Linux 不禁止甚至不检测您有冲突的存储库?
  2. 我认为 Linux 在“类似版本”之间具有很好的互联互通性。
  3. 我认为库“包含”每个相关存储库的所有内容,并且每种风格只需选择要调用的“函数”。
  4. 为什么不存在sudo apt install --fix-upgrade debian-bookworm

我的问题:

  1. Linux 如何检测要安装特定库的哪个版本?
  2. 这不应该遵循“主要”风格吗?我知道可能存在自制风格或优化,但从用户的角度来看呢?
  3. 因此,就我的情况而言,debian 开发人员告诉我“祝你好运,解决 irq 通道中的混乱问题”。但是,他们给了我一些有用的信息。
  4. 那么,就我而言,是什么决定了安装此“gvfs 版本”会产生这些未定义的符号?
  5. 为什么 Linux 不打印消息“您有这些未针对 Bookworm 测试的库?”或“您有这些比 Bookworm 版本高 / 低的库?”或sudo apt --fix-libraries for bookworm?

我已经在一个非常新的系统中安装了 bookworm 和所有商品。我想将几乎整个 /usr/ 文件夹复制到旧机器中。这样可以吗?

相关内容