应用场景
硬件/整机信息:全平台全架构
OS版本信息:桌面专业版全版本
软件信息:安天智甲终端防御系统
软件名称:cn.antiy.www
软件版本:4.6.9及之前历史版本
问题现象
项目定制镜像预装了安天智甲终端防御系统4.6.9版本后,执行系统更新时虽然应用商店中现存同样的4.6.9版本安天软件,但是由于预装包的md5值与商店版本安装包相比发生了改变(集成商给出的版本指定了服务器信息),系统更新时仍然会自动覆盖安装一遍安天智甲,由于安天智甲升级失败将导致系统更新失败,安天智甲软件状态将变为iF未正确配置状态而无法正常使用,并且无法卸载无法重装,其他同时跟随系统更新的软件包也可能会变为未正确配置状态而受到影响。
问题分析
1,为了方便调查问题,手动单独测试安天智甲4.6.9版本覆盖安装时的报错提示如下:
- uos@uos-PC:~$ sudo apt install cn.antiy.www
- 下列软件包将被升级:
- cn.antiy.www
- 升级了 1 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
- 需要下载 110 MB 的归档。
- 解压缩后会消耗 0 B 的额外空间。
- 获取:1 https://professional-store-packages.chinauos.com/appstore eagle/appstore arm64 cn.antiy.www arm64 4.6.9 [110 MB]
- 已下载 110 MB,耗时 28秒 (3,933 kB/s)
- (正在读取数据库 … 系统当前共安装有 193962 个文件和目录。)
- 准备解压 …/cn.antiy.www_4.6.9_arm64.deb …
- stop service [kisdaemon], pid[17643].
- stop service [kisspyer], pid[17645].
- stop service [IEPMonitor], pid[17647].
- stop service [kiscore], pid[17649].
- stop service [peri_manager], pid[17653].
- 正在解压 cn.antiy.www (4.6.9) 并覆盖 (4.6.9) …
- 正在设置 cn.antiy.www (4.6.9) …
- bash: /opt/apps/cn.antiy.www/files/init.sh: 没有那个文件或目录
- dpkg: 处理软件包 cn.antiy.www (—configure)时出错:
- 已安装 cn.antiy.www 软件包 post-installation 脚本 子进程返回错误状态 127
- 正在处理用于 deepin-app-store (6.2.0.38-1) 的触发器 …
- begin triggered appstore
- end triggered appstore
- 在处理时有错误发生:
- cn.antiy.www
- E: Sub-process /usr/bin/dpkg returned an error code (1)
- uos@uos-PC:~$ dpkg -l |grep cn.antiy.www
- iF cn.antiy.www 4.6.9 arm64 Antiy’s IntelligenceEndpoint Security solution has been designed specifically to address the needsof organizations for protection against commodity threats, advanced and complexthreats, you can enjoy the highest levels of security against even the mostcomplex cyberthreats without tying up valuable resources.
- uos@uos-PC:~$
- 2,此时的安天智甲软件状态将变为iF未正确配置状态而无法正常使用,并且无法卸载无法重装:
- uos@111111:~$ sudo dpkg -P cn.antiy.www
- 正在卸载 cn.antiy.www (4.6.9) …
- bash: /opt/apps/cn.antiy.www/files/uninstall.sh: 没有那个文件或目录
- dpkg: 处理软件包 cn.antiy.www (—purge)时出错:
- 已安装 cn.antiy.www 软件包 pre-removal 脚本 子进程返回错误状态 127
- bash: /opt/apps/cn.antiy.www/files/init.sh: 没有那个文件或目录
- dpkg: 清理时出错:
- 已安装 cn.antiy.www 软件包 post-installation 脚本 子进程返回错误状态 127
- 在处理时有错误发生:
- cn.antiy.www
- 3,解压安天智甲4.6.9版本安装包查看其软件内容,发现此问题根本原因在于其postinst内容将调用安装包软件中的某个init.sh初始化脚本,而postrm内容将删除安装包全部主体软件,这样当系统更新升级时或者手动单独升级/覆盖安装安天智甲4.6.9版本时,dpkg先执行旧版本的postrm将安天智甲全部主体软件删除了,然后覆盖拷贝新版本文件内容(实际上未拷贝因为/var/lib/dpkg/info/中的安天相关文件内容未变化)后执行postinst调用初始化文件init.sh失败而导致安装失败。
- uos@111111:~$ cat Desktop/client_10.34.100.23_80_1_1_1/DEBIAN/postinst
- #! /bin/bash
- bash /opt/apps/cn.antiy.www/files/init.sh
- uos@111111:~$ cat Desktop/client_10.34.100.23_80_1_1_1/DEBIAN/postrm
- #! /bin/bash
- rm -rf /opt/apps/cn.antiy.www/*
复制代码 解决办法
将此软件自身设计问题反馈给安天厂家后,经过对方研发调整推出了新版本5.0.0的安天智甲终端防御系统,调整了postrm脚本内容,改为清除dpkg相关信息记录文件,经测试新版本5.0.0不存在无法升级/覆盖安装的问题,同时也请安天方面推进更新应用商店中的安装包版本。
- uos@uos-PC:~$ cat client_10.34.100.23_80_1_1_1/DEBIAN/postrm
- #! /bin/bash
- rm -rf /var/lib/dpkg/info/cn.antiy.www.*
复制代码 对于新制作的定制镜像而言:
当相关技术人员仍然获取到存在问题的低版本安装包时,请技术人员跟总集反馈此问题,申请更换为已签名的高版本5.0.0及以上的版本安装包。
当前应用商店中安天智甲版本4.6.9存在无法升级更新的故障,不建议参与定制镜像预装或者项目上安装使用。
对于现存客户环境而言:
执行系统更新失败后未影响其他系统软件,只影响安天智甲导致其无法运行无法卸载的情况,可以手动解压原安装包拷贝opt/apps/cn.antiy.www/目录下文件至对应安装目录,或者手动创建卸载时会调用的对应脚本空文件后再执行卸载(需要sudo权限):
uos@uos-PC:~$ sudo mkdir /opt/apps/cn.antiy.www/files
uos@uos-PC:~$ sudo touch /opt/apps/cn.antiy.www/files/init.sh
uos@uos-PC:~$ sudo touch /opt/apps/cn.antiy.www/files/uninstall.sh
uos@uos-PC:~$ sudo dpkg -P cn.antiy.www
执行系统更新失败后导致桌面环境无法登陆的情况:
1,ctrl+alt+F2进入终端界面,用帐号密码登陆
2,进行修复,执行后所有其它的软件包会完成更新,有升级故障的软件包会还原为为原有的低版本
sudo apt install —fix-broken -y
(如果有提示cn.antiy.www相关报错,请先卸载安天智甲后再执行)
3,手动卸载存在升级故障的cn.antiy.www软件包后再执行系统更新操作。
注意:卸载低版本4.6.9安天智甲终端防御系统之前可以先确认下授权信息,如果是正式永久授权的情况,请先和集成商联系协商如何保证永久授权的情况下解决版本升级的问题。
|
|
|
|
|
版权说明:论坛帖子主题均由合作第三方提供并上传,若内容存在侵权,请进行举报