2012-09-11 4 views
0

테스트 목적으로 구성된 EC2 시스템 생성을 자동화하고 있습니다. 생성/설정은 ssh 연결 (다양한 OS에 대해 동일한 로직)을 통해 이루어집니다. Windows (Windows 2003 Server)에는 ssh가 사전 구성된 cygwin이 있으므로 ssh를 설치할 수 있습니다.cygwin/ssh를 통해 Windows에 Java JDK를 설치할 수 없습니다.

구성의 일부로, 주어진 버전의 Java SDK를 설치해야합니다. exe 설치 프로그램 (jdk-6u34-windows-i586.exe)을 컴퓨터에 업로드하고/s 매개 변수 (자동 설치)와 함께 실행합니다. Windows 바탕 화면 (원격 데스크톱) 또는 원격 데스크톱의 cygwin에서 실행해도 완벽하게 작동합니다. 하지만 내가 ssh를 사용하여 cygwin에서 ssh를 통해 실행하면 실패합니다. (가) 실패

은 설치 이후, 그것은 c:\Documents and Settings\Administrator\Application Data\Sun\Java\jdk1.6.0_34에 내용의 부분적으로 추출물 매우 이상한 것 같다 다음은 종료 코드 67 실패합니다. 종료 전에 추출되는 파일의 수는 다양합니다.

프로그래밍 방식으로 Java 및 Jsch을 사용하여이 명령을 실행하면 오류 메시지 initgroups: Permission denied이 오류 스트림에 인쇄됩니다. ssh를 통해 수동으로 연결할 때이 메시지가 표시되지 않습니다. 관련이있는 경우 확실하지 않습니다 (검색 할 때이 오류가 완전히 다른 상황에서 발생하여 어떤 도움이되지 않음을 알았습니다).

나는 왜 이런 일이 일어나고 (어떻게 고칠 것인가/해결할 수있는) 모든 설명을 환영합니다. EC2 윈도우 머신에 주어진 JDK를 안정적으로 자동 설치하는 다른 힌트도 환영합니다. 감사.

+1

'/ s' (자동 모드) 매개 변수없이 시도 했습니까? 문제를 디버그하기위한 자세한 정보를 제공 할 수 있습니다. –

+0

SSH를 "크로스 플랫폼"솔루션으로 사용하는 것이 이상하게 보입니다. Ant 또는 다른 플랫폼 (예 : Python) 스크립팅 도구를 사용해 보는 것이 좋습니다.이 도구는 크로스 플랫폼을위한 도구입니다. Cygwin은 기껏해야 색다른 편이며 유닉스 시스템의 쉘 터미널을 적절하게 대체 할 수 없다고 말하기까지합니다. 하나처럼 취급하면 가치가있는 것보다 더 많은 문제가 발생할 수 있습니다. –

+0

좋은 지적. '/ s'없이 실행하면 결과는 같습니다. 실제 스크립팅에는 ssh/cygwin을 사용하지 않습니다. 그것은 단지 방법 일뿐입니다. 대상 컴퓨터에서 파일, exec 등을 복사하는 간단한 작업을 수행하는 방법입니다. 우리가 파이썬이나 파이썬을 사용한다면 어쨌든 어떻게 든 시작해야 할 것입니다. – Michal

답변

0

일부 버전의 Windows에서는 의도적 인 구조적 분리가 있었지만 서비스는 UI에 액세스 할 수 없다는 것이 밝혀졌습니다.

cygwin ssh-daemon이 서비스로서 실행 중이기 때문에 UI 호출을하거나 UI 기반 프로그램을 시작할 수 없습니다. JDK 설치 관리자는 UI 기반 (금지 된 UI-ish를 자동 모드에서도 수행하는 것처럼 보였습니다)이었습니다.

원격 데스크톱 세션에서 동일한 프로그램을 실행하면 UI에 액세스 할 수 있으므로 문제가 없습니다.

관련 문제