在我的 Centos 机器上安装了 aws cli 2。已添加
<块引用>PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin"
到/etc/environment
。大多数情况下 aws 命令可以成功调用。但是,当使用 sudo aws
时,它显示未找到命令。以下是所有场景。有什么想法吗?
[centos@ip-172-20-x-x ~]$ aws --version
aws-cli/2.1.28 Python/3.8.8 Linux/3.10.0-1160.11.1.el7.x86_64 exe/x86_64.centos.7 prompt/off
[centos@ip-172-20-x-x ~]$ sudo su
[root@ip-172-20-x-x centos]# aws --version
aws-cli/2.1.28 Python/3.8.8 Linux/3.10.0-1160.11.1.el7.x86_64 exe/x86_64.centos.7 prompt/off
[root@ip-172-20-x-x centos]# sudo aws --version
sudo: aws: command not found
[root@ip-172-20-x-x centos]# cat /etc/environment
PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin"
[root@ip-172-20-x-x centos]# sudo env
HOSTNAME=ip-172-20-x-x.ap-southeast-1.compute.internal
TERM=xterm
HISTSIZE=1000
USERNAME=root
MAIL=/var/spool/mail/centos
LANG=en_US.UTF-8
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
LOGNAME=root
USER=root
HOME=/root
SHELL=/bin/bash
SUDO_COMMAND=/bin/env
SUDO_USER=root
SUDO_UID=0
SUDO_GID=0
XDG_SESSION_ID=20
答案 0 :(得分:0)
不确定您如何安装 CLI,以及为什么 aws cli
需要 sudo。
假设您在机器上拥有 sudo 权限,可以使用以下命令进行安装,从帖子中我可以看到您已经在根路径中拥有 /usr/local/bin
。
安装命令在新解压的aws目录中使用了一个名为install的文件。默认情况下,所有文件都安装到 /usr/local/aws-cli,并在 /usr/local/bin 中创建符号链接。该命令包括 sudo 以授予对这些目录的写权限
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
或者,您可以简单地将 root
路径更新为 aws cli
非 root 用户可用的 centos
路径。
要找出 aws cli 的路径,您可以使用 which
命令
$ which aws
/usr/local/bin/aws
export PATH=<AWS CLI PATH>:$PATH
Installing, updating, and uninstalling the AWS CLI version 2 on Linux
答案 1 :(得分:0)
首先,使用 awscli
正确安装 pip
:您可能已经使用 apt
安装了它,但是尽管 awscli
软件包在其他软件包管理器的存储库中可用例如 apt
和 yum
,AWS 不生产、管理或支持这些。
因此,如果您没有安装 pip,请尝试重新安装 awscli
,如下所示:
sudo pip install awscli --force-reinstall --upgrade
否则,如果您使用捆绑安装程序安装了 awscli
,但没有使用 sudo,您必须知道这会将 AWS CLI
安装到默认值位置 (~/.local/lib/aws)
并在 ~/bin/aws
处创建符号链接(symlink)。确保 ~/bin
在您的 PATH
环境变量中以使符号链接起作用,如下所示:
$ echo $PATH | grep ~/bin // See if $PATH contains ~/bin (output will be empty if it doesn't)
$ export PATH=~/bin:$PATH // Add ~/bin to $PATH if necessary
如有任何疑问,请访问 official documentation。