安装到 /usr 的系统包是否允许通过安装到 /usr/local 的源包来破坏?

安装到 /usr 的系统包是否允许通过安装到 /usr/local 的源包来破坏?

从源代码安装到前缀后,我的/usr/bin/vlc二进制文件被破坏了。根据我的经验,安装到前缀不会影响二进制文件,但也许这只是偶然。vlc/usr/local/usr/local/usr/bin/[binary]

据我所知,安装的效果/usr/local可能是(不稳定的)共享库在(稳定的)共享库之前从 加载/usr/。那么,Ubuntu 是否强制软件包维护者仅从 加载动态库/usr/

类似资源此处的手册页BLSF 在 /usr/local 与 /usr 上的位置FHS 对 Debian 的解释我认为回答了这个问题,因为它没有定义不同前缀的二进制文件之间的互操作性。

这与路径查找优先级(对于二进制文件、共享库等)的功能无关,这对我来说很清楚,而是与它们在 Ubuntu 中的使用(约束、定义、(伪)标准)有关。

答案1

根据我的经验,安装/usr/local不会影响二进制文件/usr/bin/[binary],但也许这只是偶然。

你应该多去 Ask Ubuntu 逛逛。:)

使用sudo pip install(安装到 )/usr/local会破坏各种 Python 应用程序,这是 IME 迄今为止看到的最常见的 Python 问题。如果您安装的 PyPi 包已经包含系统包,则可能会破坏使用系统包的任何程序。就在几周前,我遇到了由于-installed插件而导致的apt-get-installed中断的情况。certbotpipcertbot

软件包不应该正式安装任何东西/usr/local(CA 证书除外),因为这是系统管理员的领域 - 但这是唯一的限制。显然,如果系统管理员要充分利用所/usr/local提供的权力,那么其他地方的东西/usr就必须能够影响他们。这并不是说他们被“允许被破坏”通过源安装;而是系统管理员被信任知道他们安装的东西/usr/local会产生什么影响。

相关内容