내 대학 실험실에서 모든 컴퓨터가 LAN에 연결되어 있으므로 한 컴퓨터에서 모든 컴퓨터로 '스파이더'소프트웨어를 설치하고 싶습니다.
가능합니까?
Ubuntu동일한 사용자 이름 (CSLAB)와 같은 passwrod (E201) 내 대학 연구실의 각 컴퓨터에있는 모든 컴퓨터가 동일한 LAN에 연결되어 있습니다. 각 컴퓨터 사용자의 관리자가되는 방법은 무엇입니까?
내 대학 실험실에서 모든 컴퓨터가 LAN에 연결되어 있으므로 한 컴퓨터에서 모든 컴퓨터로 '스파이더'소프트웨어를 설치하고 싶습니다.
가능합니까?
Ubuntu동일한 사용자 이름 (CSLAB)와 같은 passwrod (E201) 내 대학 연구실의 각 컴퓨터에있는 모든 컴퓨터가 동일한 LAN에 연결되어 있습니다. 각 컴퓨터 사용자의 관리자가되는 방법은 무엇입니까?
답변:
이를 위해 내가 선호하는 솔루션은 Ansible ( https://www.ansible.com/ )입니다. 가능한 많은 컴퓨터에서 모든 종류의 구성 또는 설치를 자동화 할 수 있습니다. Ansible의 또 다른 장점은 대부분의 구성 및 설치 작업을 수행하기 위해 이미 강력한 스크립트를 많이 제공 한 커뮤니티입니다.
이것은 Ansible을 시작하고 실행 하는 데 매우 이해 하기 쉬운 자습서처럼 보입니다 .
그러나 이것이 여러 컴퓨터에서 실행하려는 일회성 명령 인 경우 Bash로 스크립팅하는 것이 좋습니다 .
간단한 명령 몇 개만 실행하면 복잡한 자동화 소프트웨어 (예 : ansible, salt 또는 puppet)를 구성하지 않으려는 경우 사용할 수 있습니다 clusterssh.
명령 행 창을 열어 설치
sudo apt-get install clusterssh
이제 다음과 같이 여러 호스트에 대한 연결을 열 수 있습니다
clusterssh -l username labhost1 labhost2 labhost3
clusterssh는 명령을 입력 할 수있는 창과 연결하는 각 호스트에 대해 하나의 터미널 창을 제공하므로 실제로 어떤 일이 발생하는지 확인할 수 있습니다!
이 예에서는 오른쪽에 "apt-get update"가 있고 왼쪽에 모든 클러스터 터미널이있는 명령 창을 볼 수 있습니다.
호스트 중 하나에 문제가 있으면 즉시 오류 메시지를보고 해당 터미널을 클릭하여 상황을 해결하십시오.
clusterssh연결할 목록을 작성할 수도 있습니다. 좋아하는 편집기를 열고$HOME/.clusterssh/clusters
collegelab labhost1
collegelab labhost2
collegelab labhost3
그런 다음
clusterssh -l username collegelab
추가 자료
ansible inventory -a 'shell command goes here'
pssh.... 그러나 clusterssh를 사용하면 즉각적인 피드백과 문제가있을 경우 중지 / 재조정 할 수 있는 방법이 있습니다. 이것은 일에 대한 대안적인 방법 일뿐입니다. 개인적으로 저는 소프트웨어 자동화 (예 : ansible)를 선호합니다.
clusterssh또는 ansible그것을 위해?
ssh-copy-id하거나 이와 유사한 방법 으로 각 컴퓨터의 authorized_keys 파일에 넣으십시오 .
다음은 네트워크에있는 컴퓨터의 모든 호스트 이름 또는 IP 주소를 알고 있고 공개 키 인증을 사용한다고 가정 한 매우 기본적인 순차적 솔루션입니다. 자세한 내용은 여기를 참조하십시오-https: //man.openbsd.org/ssh-keygen.1
hosts.txtfor i in `cat hosts.txt`; do ssh $i apt-get --assume-yes install spyder; echo ; done
hosts.txt파일