簡體   English   中英

無法通過cygwin / ssh在Windows上安裝Java JDK

[英]Unable to install Java JDK on Windows via cygwin/ssh

為了進行測試,我將自動創建已配置的EC2計算機。 創建/配置通過ssh連接完成(各種OS的邏輯相同)。 在Windows(Windows 2003 Server)上,有cygwin和ssh預先配置,因此我可以在那里ssh。

作為配置的一部分,我需要安裝給定版本的Java SDK。 我將exe安裝程序(jdk-6u34-windows-i586.exe)上傳到計算機,並使用/ s參數運行它(靜默安裝)。 當我從Windows控制台(在遠程桌面)或什至通過cygwin在遠程桌面中運行此程序時,它運行完美。 但是當我ssh到那里並通過ssh在cygwin中運行時,如果失敗。

失敗似乎很奇怪,因為安裝程序會將其內容部分提取到c:\\Documents and Settings\\Administrator\\Application Data\\Sun\\Java\\jdk1.6.0_34 ,然后失敗, 退出代碼為67 退出之前提取的文件數量有所不同。

使用Java和Jsch編程方式執行此Jsch ,該命令還將打印錯誤消息initgroups: Permission denied錯誤流的initgroups: Permission denied 通過ssh手動連接時,我沒有看到此消息,所以不確定是否相關(在谷歌搜索時,我發現此錯誤發生在完全不同的上下文中,這對我沒有幫助)。

我歡迎任何解釋,為什么會發生(以及如何解決/解決它)。 也歡迎其他提示,以提示如何在EC2 Windows計算機上可靠地自動安裝給定的JDK。 謝謝。

事實證明,Windows(與某些版本)存在一些故意的架構分離,即服務無法訪問UI。

由於cygwin ssh守護程序作為服務運行,因此無法進行UI調用或啟動基於UI的程序。 JDK安裝程序是基於UI的(即使在靜默模式下,它似乎也執行UI樣的操作),因此被禁止。

從遠程桌面會話運行相同文件時,由於可以訪問UI,因此一切正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM