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

如何在Azure App Service中通过启动命令安装包并解决报错

启动命令安装软件包失败,但SSH手动执行正常的问题排查与解决

尝试通过启动命令安装两个软件包时控制台报错,但在SSH中手动运行相同命令却能正常执行。控制台报错详情如下:

2024-06-23T21:13:54.129973640Z 注意:/home目录以外的任何数据都不会被持久化
2024-06-23T21:13:54.449210327Z 启动OpenBSD安全Shell服务器:sshd。
2024-06-23T21:13:54.449244227Z 正在运行 oryx create-script -appPath /home/site/wwwroot -output /opt/startup/startup.sh -bindPort 8080 -startupCommand '/home/start.sh; apache2-foreground;'
2024-06-23T21:13:54.558009274Z 在'/home/site/wwwroot/oryx-manifest.toml'找不到构建清单文件
2024-06-23T21:13:54.559142283Z 无法在清单中找到操作ID,正在生成操作ID...
2024-06-23T21:13:54.559917389Z 构建操作ID:4d038af9-0ec6-4199-8974-471088a62879
2024-06-23T21:13:55.055261448Z 正在将输出脚本写入'/opt/startup/startup.sh'
2024-06-23T21:13:55.238603476Z E: 更新命令不接受参数
2024-06-23T21:14:15.474124654Z E: 无法获取 http://deb.debian.org/debian-security/pool/updates/main/d/dbus/libdbus-1-3_1.12.24-0+deb10u1_amd64.deb 404 Not Found [IP: 151.101.190.132 80]
2024-06-23T21:14:15.478284583Z E: 无法获取 http://deb.debian.org/debian-security/pool/updates/main/d/dbus/dbus_1.12.24-0+deb10u1_amd64.deb 404 Not Found [IP: 151.101.190.132 80]
2024-06-23T21:14:15.478300083Z E: 无法获取 http://deb.debian.org/debian-security/pool/updates/main/d/dbus/dbus-user-session_1.12.24-0+deb10u1_amd64.deb 404 Not Found [IP: 151.101.190.132 80]
2024-06-23T21:14:15.478305483Z E: 无法获取 http://deb.debian.org/debian-security/pool/updates/main/f/ffmpeg/libavutil56_4.1.10-0+deb10u1_amd64.deb 404 Not Found [IP: 151.101.190.132 80]
2024-06-23T21:14:15.478309783Z E: 无法获取 http://deb.debian.org/debian-security/pool/updates/main/f/ffmpeg/libswresample3_4.1.10-0+deb10u1_amd64.deb 404 Not Found [IP: 151.101.190.132 80]
2024-06-23T21:14:15.478313883Z E: 无法获取 http://deb.debian.org/debian-security/pool/updates/main/f/ffmpeg/libavcodec58_4.1.10-0+deb10u1_amd64.deb 404 Not Found [IP: 151.101.190.132 80]
2024-06-23T21:14:15.481242303Z E: 无法获取 http://deb.debian.org/debian-security/pool/updates/main/c/curl/libcurl3-gnutls_7.64.0-4+deb10u3_amd64.deb 404 Not Found [IP: 151.101.190.132 80]
2024-06-23T21:14:15.481260603Z E: 无法获取 http://deb.debian.org/debian-security/pool/updates/main/p/poppler/libpoppler82_0.71.0-5+deb10u1_amd64.deb 404 Not Found [IP: 151.101.190.132 80]
2024-06-23T21:14:15.481284403Z E: 无法获取 http://deb.debian.org/debian-security/pool/updates/main/p/python3.7/libpython3.7_3.7.3-2+deb10u4_amd64.deb 404 Not Found [IP: 151.101.190.132 80]
2024-06-23T21:14:15.481289003Z E: 无法获取部分归档文件,也许可以运行apt-get update或者尝试添加--fix-missing参数?
2024-06-23T21:14:17.427880704Z E: 无法获取 http://deb.debian.org/debian-security/pool/updates/main/d/dbus/libdbus-1-3_1.12.24-0+deb10u1_amd64.deb 404 Not Found [IP: 146.75.74.132 80]
2024-06-23T21:14:17.428726110Z E: 无法获取 http://deb.debian.org/debian-security/pool/updates/main/d/dbus/dbus_1.12.24-0+deb10u1_amd64.deb 404 Not Found [IP: 146.75.74.132 80]
2024-06-23T21:14:17.429575816Z E: 无法获取部分归档文件,也许可以运行apt-get update或者尝试添加--fix-missing参数?

报错关键点分析

  • 更新命令参数错误:日志中E: 更新命令不接受参数说明启动脚本里的apt-get update被错误添加了多余参数,导致命令执行失败。
  • 源地址失效:大量404错误是因为Debian 10(buster)的安全源已被官方归档,原deb.debian.org/debian-security路径不再提供对应版本的软件包。
  • 环境差异:SSH手动执行正常,大概率是因为SSH会话中已经提前更新过源列表,或者启动脚本的执行环境与SSH会话存在上下文差异(比如环境变量、工作目录等)。

解决方法

1. 修正apt-get update命令

检查启动脚本中的命令,确保apt-get update后没有多余参数,正确格式为:

apt-get update

2. 替换为归档源

将debian-security源替换为官方归档源,执行以下命令更新源列表:

echo "deb http://archive.debian.org/debian-security buster/updates main" > /etc/apt/sources.list.d/debian-security.list
apt-get update

3. 调整启动脚本逻辑

在安装软件包前先确保源已更新,完整的安装命令示例:

apt-get update && apt-get install -y 软件包名称1 软件包名称2

4. 提前到构建阶段(可选)

如果使用Oryx部署,可将软件包安装步骤放在构建阶段完成,避免每次启动时重复执行安装操作,提升服务启动效率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 22:15:53