複数のCentosマシンにパッケージをインストールする

複数のCentosマシンにパッケージをインストールする

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

おすすめ記事