SSH를 사용하여 Linux에 Java 설치
문제
SSH를 사용하여 많은 컴퓨터에 Java를 설치하고 싶습니다.
for c in computers
do
scp jre--.rpm $c
ssh $c 'sudu -s; chmod a+x jre--.rpm ; ./jre--.rpm; echo "success!"'
done
문제는 Java 설치 중에 "통지"를 읽고 "예"를 입력해야한다는 것입니다. 어떻게해야하나요? "기대"보다 쉬운 방법이 있습니까? 그리고 Bash 스크립트에 맞는 방법이 아니라면?
정말 감사합니다
해결책 2
기대는 갈 길입니다 (감사합니다 http://www.dnmouse.org/java.html):
for c in computers
do
scp jre--.rpm $c
ssh -t $c 'sudo -s; yum -y install expect; sudo chmod a+x jre--.rpm'
ssh -t $c '/usr/bin/expect -c \
"set timeout -1; spawn ./jre-6u13-linux-x64-rpm.bin; sleep 1; send -- q\r; sleep 1; send -- yes\r; expect eof"
echo "success!"'
done
다른 팁
먼저 필요한 키 스트로크를 다음과 같은 파일에 기록하십시오.
cat > keystrokes
때리다 Ctrl 키+씨 KeyStrokes 녹음이 완료되면. 파일 내용을 확인하십시오. 탭과 같은 일부 키는 제대로 기록되지 않을 수 있지만 여전히 텍스트 편집기로 파일을 편집 할 수 있습니다. 콘솔에서 아래로 스크롤하는 경우 (예 : 출력을 읽을 때 more
) 일반적으로 우주선으로 수행 할 수 있습니다.
이미 RPM에서 수행 한 것처럼이 파일을 SCP 할 수 있습니다. 다음으로 KeyStrokes 파일의 내용을 설치 프로그램의 표준 입력으로 파이프하십시오.
cat keystrokes | ./someinstaller
편집하다: 작동하지 않아서 죄송합니다. 어쩌면 당신은 볼 수 있습니다 예상하다, 이것은 이런 종류의 것을 위해 설계된 유닉스 도구입니다. 나는 그것이 대부분 포함된다고 생각합니다 GNU/Linux 분포. 파이썬에 익숙하다면 선호 할 수 있습니다 pexpect 대신에.
제휴하지 않습니다 StackOverflow