刷新ConfigMgr 2007二级站点的软件包失败
【 文章作者 Yan Cui】
我们在尝试为ConfigMgr 2007 辅助站点(Secondary Site)的DP刷新包时都会在distmgr.log中看到以下错误:
The compressed files for package <package ID> hasn't arrived from site <Site Code> yet, will retry later.
但有趣的是,你能看到PCK文件和PKG文件都已经从父站点复制了。
*.PKG ->%SCCM_Install_DIR%\inboxes. Box\distmgr.box\<PackageID>.PKG
*.PCK ->本地压缩包的存储位置: SMSPKG\<PackageID>.PCK
如果你在ConfigMgr 2007辅助站点上看到这个,你可能遇到了*.PKG文件问题。为了能给你更好的展示这个问题,让我们先了解下SCCM辅助站点上的包刷新过程
步骤1:当上层站点发生刷新时,一个PKG文件会通过站点间通信(site-site commutation)发送给子辅助站点。在inboxes\distmgr.box\incoming\ 文件夹中,分发管理器(Distribute Manager)会把这个文件命名为如<随即ID>.PKG。
在这一阶段,这个PKG文件包含了一个指向PCK文件(或父站点PKG文件)的路径
步骤2.分发管理器获得这个PKG文件,路径会被替换成空值,或被存在inboxes\distmgr.box\ 下的<packageID>.PKG文件中的本地PCK存储路径替换掉
这个案例的问题是辅助站点的 DP不能找到inboxes\distmagr.box 下<PackageID>.PKG中的这个地址。这就是日志中错误的原因。
The compressed files for package <package ID> hasn't arrived from site <SiteCode> yet, will retry later.
*如上图所示,在站点代码后的字段中,没有包含指向PCK文件的UNC路径。
好了,我们快接近本问题真正的原因了,让我们看下解决方案吧:
1. 在你的辅助站点上,停止SMS组件服
2. 停止SMS_Executive服务
3. 在软件包创建的源站点上,为这个辅助站点执行刷新DP的操作.
4. 在辅助站点上,复制inboxes\distrmgr.box\incoming\ 下的<PKGID>.PKG文件(备份此文件)
5. 现在我们使用支持二进制编辑的编辑器(例如Ultra Edit)打开存在问题的PKG文件(inboxes\distrmgr.box\<PKGID>.Pkg)
6. 在编辑器中查找Site Code.
7. 在Site code后留下0(十六进制为0x00)
8. 在0x00后输入PCK共享地址的位置”UNC共享”.
9. 保存变化,并替换掉inboxes\distrmgr.box\下的<PackageID>.Pkg文件
10. 重新启动SMS组件服务
11. 将分发管理器设置回运行态
12. 观察distmgr.log文件,确认PCK文件被解压了。
另外,我还想说一下,在辅助站点中,<PackageID>.Pkg文件一直放在 inboxes\distrmgr.box\中,这是正常行为。但这一过程在主站点上DP是不同的,过程完成后,你无法在主站点的inboxes\distrmgr.box\ 中找到PKG文件
[本博文仅供参考,微软公司对其内容不作任何责任担保或权利赋予]