클러스터에 속해있는 여러대의 컴퓨터를 같은 상태로 설정하기위해 같은 작업을 반복해야 할 경우가 있다. 이같이 같은 작업을 반복해 진행하는 것이 지루하기도 하지만, 실수가 발생할 가능성도 높다.
여러개의 컴퓨터에 같은 명령을 전달해 수행토록하게 하는 기구로 cluster ssh 가 있다.
여기서는 macOS에서 cluster ssh를 설치하여 cluster에 속한 컴퓨터를 동시에 설정하는 방법에 대해 정리하였다.
1. 클러스터 ssh 설치
먼저 homebrew를 설치한다.
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
그리고 csshx를 설치한다.
$ brew install csshx
2. 사용 방법
여러대의 컴퓨터에 동시에 로그인 하고자 하면 다음의 명령을 실행한다.
$ ccshX ip ip ip ip
또는
$ ccshX id@ip id@ip id@ip id@ip
제대로 실행이 되면 모니터에 여러개의 터미날 윈도우와 아래 쪽에 "Input to terminal: (Ctrl-A to enter control mode)" 표시가 되어있는 긴 붉은색 위도우가 나타나게 될 것이다.
전체 터미날에 같은 명령을 전달하려면 모니터 화면 아래에 있는 긴 위도우를 클릭하여 활성화 시키고 명령문을 입력한다.
개별 컴퓨터에만 명령을 입력하려면 원하는 컴퓨터 테미날을 클릭하고 명령어를 입력하면 된다.
3 문제해결
3.1 POSIX 에러
만약 csshx 명령을 실행하는 중에
Unimplemented: POSIX::tmpnam(): ...
와 같은 에러가 발생하면 /usr/local/bin/csshX 내의
use POSIX qw(tmpnam)
를
use File::Temp qw/ :POSIX /;
로 수정하여 준다.
3.2 No master 에러
macOS 에서 ccshx를 실행할 때
No master at /usr/local/bin/csshX ...
에러가 발생하면
macOS Terminal.app 의 setting 에서
Shells open with
를 Default login shell 로 설정해준다.