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

Ubuntu 22.04上Azure Device Update脚本更新遇错误0x30500005

Azure Device Update脚本更新报错ADUC_ERC_SCRIPT_HANDLER_MISSING_SCRIPTFILENAME_PROPERTY解决方法

问题描述

在Ubuntu 22.04系统上使用Azure Device Update执行设备更新时,apt类型(microsoft/apt:1)更新可正常运行,但使用脚本类型(microsoft/script:1)时,收到错误代码810549253(0x30500005),对应错误常量为ADUC_ERC_SCRIPT_HANDLER_MISSING_SCRIPTFILENAME_PROPERTY,提示脚本处理程序缺少脚本文件名属性。

待执行脚本(script_test.sh)

#!/bin/bash

# 创建目录
mkdir -p /home/azureuser/this_was_create_by_adu

# 在目录内创建指定内容的文本文件
echo "this file was generated by adu" > /home/azureuser/this_was_create_by_adu/generated_file.txt

# 确认消息
echo "Directory and file have been created successfully."

原导入清单(script_test.importmanifest.json)

{
  "updateId": {
    "name": "script",
    "provider": "me",
    "version": "7.0.0"
  },
  "compatibility": [
    {
      "manufacturer": "hp",
      "model": "elite"
    }
  ],
  "createdDateTime": "2024-10-23T09:33:11Z",
  "files": [
    {
      "filename": "script_test.sh",
      "hashes": {
        "sha256": "lHKs3UsbWJAE3Svz3KwPCWibEofSPisKfB2rsbyIM4E="
      },
      "sizeInBytes": 328
    }
  ],
  "instructions": {
    "steps": [
      {
        "files": [
          "script_test.sh"
        ],
        "handler": "microsoft/script:1",
        "handlerProperties": {
        "installedCriteria": "1.0",
        },
        "type": "inline"
      }
    ]
  },
  "manifestVersion": "5.0"
}

错误日志

2024-11-05T15:39:52.8793Z 5742[7981] [I] Try to load a handler for current update manifest version 5 (handler: 'microsoft/update-manifest:5') [GetUpdateManifestHandler:114]
2024-11-05T15:39:52.8793Z 5742[7981] [I] Loading handler for 'microsoft/update-manifest:5'. [LoadUpdateContentHandlerExtension:208]
2024-11-05T15:39:52.8794Z 5742[7981] [I] Loading extension 'microsoft/update-manifest:5'. Reg file : /var/lib/adu/extensions/update_content_handlers/microsoft_update-manifest_5/content_handler.json [LoadExtensionLibrary:85]
2024-11-05T15:39:52.8794Z 5742[7981] [D] Determining contract version for 'microsoft/update-manifest:5'. [LoadUpdateContentHandlerExtension:303]
2024-11-05T15:39:52.8794Z 5742[7981] [D] Got 1.0 contract version for 'microsoft/update-manifest:5' handler [LoadUpdateContentHandlerExtension:331]
2024-11-05T15:39:52.8794Z 5742[7981] [D] Caching new handler for 'microsoft/update-manifest:5'. [LoadUpdateContentHandlerExtension:340]
2024-11-05T15:39:52.8797Z 5742[7981] [I] Action 'Download' complete. Result: 0 (failed), 810549253 (0x30500005) [ADUC_Workflow_WorkCompletionCallback:890]
2024-11-05T15:39:52.8797Z 5742[7981] [I] WorkCompletionCallback: Download failed. Going to state Failed [ADUC_Workflow_WorkCompletionCallback:1016]
2024-11-05T15:39:52.8797Z 5742[7981] [I] Setting UpdateState to Failed [ADUC_Workflow_SetUpdateStateHelper:1088]

2024-11-05T15:39:52.8797Z 5742[7981] [D] [ADUC_D2C_Message_SendAsync:526] ==== MULTI-LINE LOG BEGIN ====
Queueing message (t:0, c:0x64006e50, m:{"deviceUpdate":{"__t":"c","agent":{"lastInstallResult":{"stepResults":{"step_0":{"resultCode":0,"extendedResultCodes":"00000000","resultDetails":null}},"resultCode":0,"extendedResultCodes":"30500005,A0000FFF","resultDetails":""},"state":255,"workflow":{"action":3,"id":"aebe0066-67ba-4d78-a247-2656d91dd7c8"}}}})2024-11-05T15:39:52.8797Z 5742[7981] [D] [ADUC_D2C_Message_SendAsync:526] ==== MULTI-LINE LOG END ====

2024-11-05T15:39:52.8815Z 5742[7981] [I] Workflow is Complete. [ADUC_Workflow_AutoTransitionWorkflow:758]
2024-11-05T15:39:53.2803Z 5742[5742] [D] context:0xb6b015a0 [DefaultIoTHubSendReportedStateCompletedCallback:205]
2024-11-05T15:39:53.2803Z 5742[5742] [D] D2C message processed successfully (t:0, r:0, content:0xb8465da0 ) [DefaultIoTHubSendReportedStateCompletedCallback:233]
2024-11-05T15:39:53.2803Z 5742[5742] [D] Send message completed (status:3) [OnUpdateResultD2CMessageCompleted:64]
2024-11-05T15:39:53.2804Z 5742[5742] [D] context:0xb6b01640 [DefaultIoTHubSendReportedStateCompletedCallback:205]
2024-11-05T15:39:53.2804Z 5742[5742] [D] D2C message processed successfully (t:1, r:0, content:0xb843b8c0 ) [DefaultIoTHubSendReportedStateCompletedCallback:233]
2024-11-05T15:39:53.2804Z 5742[5742] [D] Send message completed (status:3) [OnUpdateResultD2CMessageCompleted:64]
2024-11-05T15:39:53.2804Z 5742[5742] [D] Sending D2C message (t:0, retries:0). [ProcessMessage:390]

2024-11-05T15:39:53.2804Z 5742[5742] [D] [ADUC_D2C_Default_Message_Transport_Function:580] ==== MULTI-LINE LOG BEGIN ====
Sending D2C message:
{"deviceUpdate":{"__t":"c","agent":{"lastInstallResult":{"stepResults":{"step_0":{"resultCode":0,"extendedResultCodes":"00000000","resultDetails":null}},"resultCode":0,"extendedResultCodes":"30500005,A0000FFF","resultDetails":""},"state":255,"workflow":{"action":3,"id":"aebe0066-67ba-4d78-a247-2656d91dd7c8"}}}}2024-11-05T15:39:53.2804Z 5742[5742] [D] [ADUC_D2C_Default_Message_Transport_Function:580] ==== MULTI-LINE LOG END ===

解决方法

1. 修正导入清单

错误原因是脚本处理程序需要明确指定要执行的脚本文件名,需在handlerProperties中添加scriptFileName属性,值为脚本文件名script_test.sh。修正后的清单如下:

{
  "updateId": {
    "name": "script",
    "provider": "me",
    "version": "7.0.0"
  },
  "compatibility": [
    {
      "manufacturer": "hp",
      "model": "elite"
    }
  ],
  "createdDateTime": "2024-10-23T09:33:11Z",
  "files": [
    {
      "filename": "script_test.sh",
      "hashes": {
        "sha256": "lHKs3UsbWJAE3Svz3KwPCWibEofSPisKfB2rsbyIM4E="
      },
      "sizeInBytes": 328
    }
  ],
  "instructions": {
    "steps": [
      {
        "files": [
          "script_test.sh"
        ],
        "handler": "microsoft/script:1",
        "handlerProperties": {
          "installedCriteria": "1.0",
          "scriptFileName": "script_test.sh"
        },
        "type": "inline"
      }
    ]
  },
  "manifestVersion": "5.0"
}

2. 确保脚本具备可执行权限

上传脚本前,执行以下命令添加可执行权限:

chmod +x script_test.sh

之后重新计算脚本的SHA256哈希值,替换清单中hashes.sha256字段的值,确保文件完整性校验通过。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 13:12:32