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

Azure Pipeline在Ubuntu 18.04容器安装sudo遇权限拒绝问题求助

解决Azure Pipeline中Ubuntu 18.04容器安装sudo权限拒绝问题

问题原因

你遇到的权限拒绝错误,是因为执行apt-get命令的当前用户并非root,而修改系统软件包必须拥有root权限。虽然ubuntu:18.04镜像默认用户是root,但Azure Pipeline在运行容器任务时,可能默认使用了非root身份执行步骤,导致无法获取dpkg锁文件。

解决方法

方法1:在script步骤中以root身份执行命令

容器内默认存在root用户,你可以通过su切换到root后执行安装命令,同时建议先更新软件源索引(避免包找不到的问题):

steps:
- script: |
    su - root -c "apt-get update && apt-get install -y sudo"
  displayName: 'Install sudo'

方法2:配置容器以root用户启动

直接在container配置中指定以root用户运行容器,后续所有步骤都会以root身份执行,无需每次切换:

pool: 
  vmImage: ubuntu-latest
container:
  image: ubuntu:18.04
  options: --user root
dependsOn: ImpactedProjects
condition: eq(dependencies.ImpactedProjects.outputs['ImpactAnalysis.Project.Loyalty.QueryCachePopulator.AzureFunction.BddTests'], 'True')
steps:
- script: |
    apt-get update && apt-get install -y sudo
  displayName: 'Install sudo'

额外提示

安装sudo后,后续需要root权限的命令就可以通过sudo前缀执行。另外,apt-get install建议加上-y参数,避免交互等待确认。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 13:05:59