PermissionError: [Errno 13] Permission denied: '/opt/stack/.cache/pip/wheels/a7/c1/ea/cf5bd31012e735dc1dfea3131a2d5eae7978b251083d6247bd'

PermissionError: [Errno 13] Permission denied: '/opt/stack/.cache/pip/wheels/a7/c1/ea/cf5bd31012e735dc1dfea3131a2d5eae7978b251083d6247bd'

我正在按照说明进行操作 from this tutorial to install devstack。当我键入 ./stack.sh 时,我收到以下错误:

Exception:
Traceback (most recent call last):
  File "/opt/stack/requirements/.venv/lib/python3.6/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/opt/stack/requirements/.venv/lib/python3.6/site-packages/pip/commands/install.py", line 342, in run
    requirement_set.prepare_files(finder)
  File "/opt/stack/requirements/.venv/lib/python3.6/site-packages/pip/req/req_set.py", line 380, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "/opt/stack/requirements/.venv/lib/python3.6/site-packages/pip/req/req_set.py", line 554, in _prepare_file
    require_hashes
  File "/opt/stack/requirements/.venv/lib/python3.6/site-packages/pip/req/req_install.py", line 281, in populate_link
    self.link = self._wheel_cache.cached_wheel(self.link, self.name)
  File "/opt/stack/requirements/.venv/lib/python3.6/site-packages/pip/wheel.py", line 68, in cached_wheel
    self._cache_dir, link, self._format_control, package_name)
  File "/opt/stack/requirements/.venv/lib/python3.6/site-packages/pip/wheel.py", line 129, in cached_wheel
    wheel_names = os.listdir(root)
PermissionError: [Errno 13] Permission denied: '/opt/stack/.cache/pip/wheels/a7/c1/ea/cf5bd31012e735dc1dfea3131a2d5eae7978b251083d6247bd'

stack 用户按照教程正确配置会出现什么问题?

来自文档:

Since this user will be making many changes to your system, it should have sudo privileges

使用 sudo ./stack.sh

再试一次 运行

搜索了一下,我发现我们必须将堆栈用户与堆栈目录相关联:

sudo chown -R stack:stack /opt/stack

我有同样的错误。除了 sudo chown -R stack:stack /opt/devstack 你还应该包括 sudo chown -R stack:stack /opt/stack.

这解决了我的问题。

解决安装openstack时的权限错误,

我们必须将权限授予堆栈用户。

要授予堆栈用户权限,命令如下

$sudo chown -R stack:stack /opt/stack

或者如果上述命令不起作用,那么您应该尝试

$sudo chown stack:stack /opt/stack