LAN経由で接続された40のラボコンピュータにJava 1.7などの標準パッケージをインストールする必要があります。
各システムのユーザースペースに何かをインストールするためのシェルスクリプトを作成すると、基本的に各システムで作業を実行してユーザースペースに抽出できることがわかりますが、あるシステムから別のシステムにパッケージをインストールするscp
にはどうすればよいですか?ルートアクセスが必要なシステム?
はい、各システムにはrootアクセス権がありますが、単一のシステムでネットワークインストールを制御してネットワークインストールを自動化する方法がわかりません。
ベストアンサー1
まず、SSHキーを使用してログインを自動化し、ループからインストールコマンドを実行するスクリプトを作成する必要があります。また、他のすべてのシステムにログインできるシステムを使用する必要があります。
まずcd
、ホームディレクトリに移動してSSHキーを作成します。
cd
mkdir -p .ssh
cd .ssh
キーを生成して他のすべてのシステムにコピーする
ssh-keygen
公開鍵をリモートシステムにコピーする
ssh-copy-id -i ~/.ssh/id_rsa.pub root@remotesys1
ssh-copy-id -i ~/.ssh/id_rsa.pub root@remotesys2
...
ssh-copy-id -i ~/.ssh/id_rsa.pub root@remotesys40
Remotesys1のDNSがない場合は、IPを使用できます。
すべてのシステム名またはIPを含むファイルを生成します。systems.txt
remotesys1
remotesys2
..
remotesys40
次のスクリプトを実行し、「./install.sh」をインストールしたコマンドに変更します。
for system in $(cat systems.txt ) ; do echo $system ; ssh $system "./install.sh" ; done