gpt4 book ai didi

ubuntu - 防止 apt 覆盖手动安装的包

转载 作者:行者123 更新时间:2023-12-04 18:44:43 24 4
gpt4 key购买 nike

Ubuntu Bionic 提供 Protobuf 3.0.0,我想使用最新版本 3.6.1。

我已经构建了 Protobuf 源代码并使用前缀 /usr 安装它们,因此文件最终位于官方 Ubuntu 包放置它们的相同位置。

但是,如果我随后发出 apt-get install protobuf-compiler,它将用旧版本覆盖我的 protoc 二进制文件。 (实际上,protobuf-compiler 被指定为我使用 mk-build-deps 构建的包的构建依赖项。)

我试过使用 apt-mark manual protobuf-compiler 告诉 apt 我已经手动安装了它,但它告诉我我不能那样做因为没有安装包。 (它是如何确定的?我不知道。)

同样,apt-mark hold 不会阻止二进制文件被覆盖。

安装此软件的正确方法是什么?让 apt 了解依赖性已得到满足,而不是让它用旧版本覆盖我的新版本?

最佳答案

一个简单的解决方案可能是简单地更改 protobuf-compiler 3.6.1 的安装目录。

您可以安装到其他目​​录,而不是安装到 /usr。在我的工作 PC(我没有 sudo 权限)上,我安装到我创建的名为 /data/local_installs 的目录中。然后更新路径环境变量

export PATH=/data/local_installs:$PATH

然后你就可以开始了。

使用这种方法,您不必担心 apt 正在做什么,因为 protobuf-compiler 保存在 /data/local_installs 将始终在 /usr

apt 受控版本之前的路径中找到

关于ubuntu - 防止 apt 覆盖手动安装的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54699030/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com