我试图运行一个软件包wal-e
我已经安装了sudo python3 -m pip install wal-e[aws,azure,google,swift]
的用户 root .
我可以使用envdir /etc/wal-e.d/env wal-e backup-fetch /var/lib/postgresql/9.6/main LATEST
作为用户root
完美地运行此命令。
但是,当我sudo su - postgres
然后运行envdir /etc/wal-e.d/env wal-e backup-fetch /var/lib/postgresql/9.6/main LATEST
时,我收到错误
Traceback (most recent call last):
File "/usr/local/bin/wal-e", line 7, in <module>
from wal_e.cmd import main
ImportError: No module named 'wal_e.cmd'
我用usermod -aG sudo postgres
授予用户postgres
完全的sudo权限。 此外,wal-e
包也安装在同一位置。
当我跑ls -la
时,我得到
-rwxr-xr-x 1 root root 211 Sep 20 14:24 /usr/local/bin/wal-e
我也在 Ubuntu 16.04.3 上
如何像root
用户一样运行命令?
我必须对 wal-e 运行严格的设置过程才能使包正常运行。
实际上,它归结为在安装和创建用户postgres
之前在我正在使用的计算机上安装所有必要的依赖项。如果用户是在安装所有依赖项之前创建的,则会出现权限错误。