You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Cloud Shell执行sudo mkdir /etc/ansible报错sudo命令未找到

解决Azure Cloud Shell中无法使用sudo创建/etc/ansible的问题

我懂你现在遇到的问题——在Azure Cloud Shell里想跑sudo mkdir /etc/ansible结果直接报sudo: command not found,确实头疼。你已经调研得很清楚了:Cloud Shell默认就是普通用户权限,压根不支持sudo,而且除了$HOME目录外的操作都是临时的,重启就没。不过既然你已经在~/ansible这个$HOME下的目录里,完全可以绕开系统级的/etc/ansible,用自定义配置的方式搞定,具体步骤如下:

  1. 在当前用户目录下创建Ansible专属配置目录
    既然$HOME是持久化的,我们直接在这儿建自己的配置结构就行:

    # 如果你已经在~/ansible目录下,直接执行这个
    mkdir -p etc
    # 或者用绝对路径确保准确
    mkdir -p ~/ansible/etc
    
  2. 创建自定义Ansible配置文件
    接下来创建ansible.cfg文件,用来告诉Ansible使用我们自己的目录:

    touch ~/ansible/etc/ansible.cfg
    

    编辑这个文件,添加基础配置(可以根据你的需求补充更多项):

    [defaults]
    # 指定清单文件的路径,你可以后续在~/ansible下创建inventory文件
    inventory = ~/ansible/inventory
    # 指定角色存放的路径
    roles_path = ~/ansible/roles
    # 禁用主机密钥检查(可选,方便测试)
    host_key_checking = False
    
  3. 让Ansible识别自定义配置
    我们需要告诉Ansible去哪里找这个配置文件,有两种方式:

    • 临时生效:适用于当前会话
      export ANSIBLE_CONFIG=~/ansible/etc/ansible.cfg
      
    • 永久生效:下次登录Cloud Shell自动加载,把配置加到bashrc里
      echo 'export ANSIBLE_CONFIG=~/ansible/etc/ansible.cfg' >> ~/.bashrc
      source ~/.bashrc
      
  4. 验证配置是否生效
    执行以下命令,查看输出里的config file项是否指向你刚才创建的文件:

    ansible --version
    

    如果显示类似config file = /home/peter/ansible/etc/ansible.cfg,就说明配置成功了,接下来你就可以在~/ansible目录下管理所有Ansible相关的文件、清单和角色了。

额外提醒:因为$HOME目录是Azure Cloud Shell唯一持久化的区域,所以你在这里创建的所有内容都会被保留,完全不用担心重启后丢失,也不需要任何sudo权限。

内容的提问来源于stack exchange,提问作者peter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:39:46