繁体   English   中英

sudo:aws:找不到命令

[英]sudo: aws: command not found

在我的 Centos 机器上安装了 aws cli 2。 添加

PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin"

/etc/environment 大多数情况下 aws 命令都可以成功调用。 但是,当使用sudo aws时,它显示 command not found。 以下是所有场景。 任何想法?

[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

不确定您是如何安装 CLI 的,以及为什么需要 sudo for aws cli

假设您在机器上具有 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

或者,您可以简单地使用可用于centos非 root 用户的aws cli路径更新root路径。

要找出 aws cli 的路径,您可以使用which命令

$ which aws
/usr/local/bin/aws
export PATH=<AWS CLI PATH>:$PATH 

在 Linux 上安装、更新和卸载 AWS CLI 版本 2

First of all, install awscli correctly using pip : you may have installed it with apt ,but although the awscli package is available in repositories for other package managers such as apt and yum , these are NOT produced, managed, or supported by AWS . 因此,如果您没有安装 pip,请尝试重新安装awscli ,如下所示:

sudo pip install awscli --force-reinstall --upgrade

否则,如果您使用捆绑安装程序安装了awscli而没有 sudo ,您必须知道这会将AWS CLI安装到默认位置(~/.local/lib/aws)并在~/bin/aws创建符号链接 (symlink) ~/bin/aws 确保~/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

如有任何疑问,请访问官方文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM