AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 791847
Accepted
Stephen M -on strike-
Stephen M -on strike-
Asked: 2016-07-26 08:58:56 +0800 CST2016-07-26 08:58:56 +0800 CST 2016-07-26 08:58:56 +0800 CST

未经许可安装和卸载 Java

  • 772

客户提供了一个 Windows Server 2012R2 实例用作我们的服务器。今天早上(7 月 25 日)我重新连接到盒子以更改我的密码,并立即提示 Java 安装成功并卸载旧版本的 Java。

这是令人震惊的,因为我们的服务器应用程序是基于 Java 的,并且当前运行在旧版本的 Java 上(这对我们的目的来说很好),如果您删除它正在使用的版本,卸载旧版本的 Java 可能会导致我们的服务器应用程序失败!

当然,我拒绝删除旧版本的 Java,但我和我的同事对我什至被提示感到不安。如果其他人在不知道我们的 Java 依赖关系的情况下登录,他们可能会删除旧版本。

我检查了我的 Java 更新设置,发现它被设置为检查,但在下载之前会提示。(因为我什至禁用了检查。)

我们进一步调查并在事件查看器中发现,在 7 月 20 日中午左右,盒子上安装了新版本的 Java(8 更新 101),显然我已经完成了(或者使用我的用户 ID 完成了)。但是,我们知道我没有这样做,因为那天我在黄石国家公园度假,没有网络!我的用户 ID 是具有管理员权限的 AD 帐户,但名为“smmccants”并且没有共享密码。我确实在服务器上运行了一个会话(我通常断开连接而不是注销)。

今天早上(2016 年 7 月 25 日上午 10:00 之前)重新连接并与 Java 对话框交互时,我无法在事件查看器中找到任何有趣的东西。

我们想了解发生了什么,并在未来防止它发生。关于这如何自动发生以及我们应该在哪里寻找线索的任何想法?

以下是我在 EventViewer 中找到的日志。

2016 年 7 月 20 日上午 11:59:44 来自事件查看器(来源:MsiInstaller):

开始 Windows 安装程序事务:C:\Users\smmccants\AppData\LocalLow\Oracle\Java\jre1.8.0_101\jre1.8.0_101full.msi 客户端进程 ID:87064

来自 MsiInstaller 于 2016 年 7 月 20 日上午 12:00:29:

产品:Java 8 Update 101 -- 安装成功完成

-

Windows Installer 安装的产品。产品名称:Java 8 Update 101。产品版本:8.0.1010.13。产品语言:1033 制造商:甲骨文公司。安装成功或错误状态:0。

-

结束 Windows 安装程序事务:C:\Users\smmccants\AppData\LocalLow\Oracle\Java\jre1.8.0_101\jre1.8.0_101full.msi。客户端进程 ID:87064

-

开始 Windows Installer 事务:{4A03706f-666A-4037-7777-5F2748764D10}。客户端进程 ID:87064

然后从 RestartManager (不管是什么......):

开始会话 0 - 2016-07-20T17:00:29.904899600Z

最后,我们得到一个新的时间戳 7/20/16 12:00:39 和 MsiInstaller 报告:

产品:Java Auto Updater -- 删除成功完成。

谁下令删除,他们是如何通过我的用户帐户进行删除的?可能是 Java 8 Update 101 安装过程的一部分。

Windows Installer 删除了该产品。产品名称:Java 自动更新程序。产品版本:2.8.77.3 产品语言:1033 制造商:Oracle Corporation。删除成功或错误状态:0。

-

结束 Windows 安装程序事务:{4A03706f-666A-4037-7777-5F2748764D10}。客户端进程 ID:87064

-

开始 Windows 安装程序事务:C:\Users\smmccants\AppData\LocalLow\Oracle\Java\jre1.8.0_101\au.msi。客户端进程 ID:87064

现在中午 12:00:40

产品:Java Auto Updater -- 安装成功完成。

-

Windows Installer 安装了产品。产品名称:Java 自动更新程序。产品版本 2.8.101.13。产品语言:1033。制造商:甲骨文公司。安装成功或错误状态:0。

-

结束 Windows 安装程序事务:C:\Users\smccants\AppData\LocalLow\Oracle\Java\jre1.8.0_101\au.msi。客户端进程 ID:87064。

-

开始 Windows 安装程序事务:{26A24AE4-039D-4Ca4-87B4-2F83218077F0}。客户端进程 ID:87064

现在我们倒退一秒到下午 12:00:39 来获取来自 RestartManager 的一条消息:

结束会话 0 开始于 2016-07-20T17:00:29.904899600Z

现在在下午 12:00:40 重新启动管理器:

开始会话 0 - 2016-07-20T17:00:40.326806900Z

-

结束会话 0 开始于 2016-07-20T17:00:29.904899600Z

现在我们在下午 12:01:07 看到真正可怕的 MsiInstaller 消息:

产品:Java 8 Update 77 -- 删除成功完成。

-

Windows Installer 删除了该产品。产品名称:Java 8 Update 77。产品版本:8.0.770.3。产品语言:1033。制造商:甲骨文公司。删除成功或错误状态:0。

下一条消息记录在 SYSTEM 用户下,而不是我。

结束 Windows 安装程序事务:{26A24AE4-039D-4Ca4-87B4-2F83218077F0}。客户端进程 ID:87064

这就是我发现的全部。

java windows-server-2012-r2 uninstall
  • 1 1 个回答
  • 2907 Views

1 个回答

  • Voted
  1. Best Answer
    Stephen M -on strike-
    2017-06-28T05:48:54+08:002017-06-28T05:48:54+08:00

    我们还没有看到问题再次发生。我们做了两件事来帮助缓解这种行为:

    1. 将 Java AutoUpdate 设置为从不检查更新。
    2. 编写了我们的服务启动代码,以便更智能地了解在哪里可以找到 Java。我们可以硬编码一个 Java 版本的路径,但如果它不存在,它将查询注册表以查找安装的另一个版本。这样,删除旧版本不应该破坏我们的服务器。
    • 1

相关问题

  • jvm性能调优技巧/资源?

  • Linux 服务器上的多个*几乎*相同的进程

  • 您认为 Linux 服务器上的 Java 是个问题吗?[关闭]

  • 如何定期复制 SVN 存储库而不会丢失目标标签和分支?

  • GlassFish 更改 Web 服务的端口

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve