Manjaro:崩溃和恢复后新 SSD 上的权限问题

Manjaro:崩溃和恢复后新 SSD 上的权限问题

我的 SSD 坏了。我所有的项目都存储在 HDD 上(并且运行顺利,没有任何问题),所以我只是购买了另一个 SSD 并安装了新操作系统(Manjaro,旧的操作系统是 Fedora,如果有的话)。

我的一些项目使用了 pip 全局包,所以我不得不重新安装它们。但我不能只输入“pip install package-name”,因为它抛出了
ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/lib/python3.7/site-packages/Django-2.2.7.dist-info'

检查权限显示所有者可以修改和执行内容,所以我不明白出了什么问题。

另外,我的发行版中预装了 pip 和 python,这有点奇怪,它不能按预期工作。系统也几乎是新的,所以我不认为我破坏了什么。

毕竟,我通过在 virtualenv 中安装以前的全局包来“修复”了这个问题。我能够安装它们,但由于缺乏权限而导致错误(至少正如谷歌所说),我无法使用它们。

例如 libsass,如果我尝试“导入 sass”,则会收到此错误:

ImportError: /mnt/data/Projects/Work/transport/venv/lib/python3.7/site-packages/_sass.cpython-37m-x86_64-linux-gnu.so: failed to map segment from shared object

这里对类似问题的答案提到 /tmp 中缺乏权限,所以我按照 /tmp 的答案进行了操作,并且它没有改变任何内容。我什至尝试将硬盘上的权限设置为777,但仍然不起作用。

更新:显然无法启动任何带有 .so 的 pip 包的 python 项目。他们都给出了相同的错误: failed to map segment from shared object

Upd2:好的,似乎硬盘上的权限有问题。例如,如果我将项目复制到主目录或 HDD 之外的任何位置,它就可以工作,并且不会出现“无法从共享对象映射段”的情况。此外,即使我递归地为项目目录设置 777 权限(对于 venv 以及包括这些 .so 在内的所有包),如果项目目录位于 HDD 上,我仍然会收到此错误,我会失去理智。除非使用 sudo,否则我仍然无法全局安装 pip 包。

答案1

这个问题太原始了,我认为它甚至不值得回答。实际上,我的硬盘在我的新系统上安装了 noexec 标志。这导致了所有这些问题。

相关内容