LAN 内には 100 台以上のコンピュータがあり、すべて Linux オペレーティング システムであり、すべてのコンピュータが同じ構成および同じシステム (ユーザー名とパスワードを含む) を持ち、IP アドレスが自動的に割り当てられます。これらのコンピュータ上で特定のコマンドを実行したり、特定のソフトウェアのインストール、特定のファイルのコピー、一括シャットダウンなどの特定の操作を実行したりするタスクが存在します。一つ一つ手動で操作しなければならない場合、時間も手間もかかりますし、複数の操作が必要な場合はさらに手間がかかります。
オンライン同時通訳とは何ですか?これは、コンピュータにインストールして設定し、「Lenovo ネットワーク同時通訳」などのソフトウェアを使用して、システムをそのままコピーすることを意味します。これは、システムをインストールするときに非常に便利です。 1 台のコンピュータで同時通訳 将来的には、すべてのコンピュータにオペレーティング システムがインストールされ、非常に便利になります。同時通訳では、すべてのコンピューターがまったく同じハードウェアを備えている必要があります。Lenovo のコンピューターにインストールされているシステムを創設者のコンピューターに移すと、必ず問題が発生します。システムのアップロードも、ハード ドライブのサイズによっては非常に時間がかかり、30G のハード ドライブの場合は 100 台以上のコンピュータに転送するのに 2 時間以上かかります。一つずつ!ただし、システムが転送されていて、ソフトウェアをインストールし忘れていることが判明した場合、またはまだ若干の変更を加える必要がある場合は、同時に再転送することもできますが、速度が遅すぎて、 2回転送すると半日かかります。現時点では、ssh を使用して各コンピューターを制御し、特定のコマンドを実行できます。
まず、ssh リモート ログインのプロセスを思い出してください。最初にコマンド ssh username@192.168.1.x を実行します。初めてログインするとき、システムは接続を継続するかどうかを尋ねます。 「yes」を入力して待ちます。しばらくすると、パスワードを入力するよう求められます。パスワードを正しく入力すると、リモート コンピュータにログインできるようになり、コマンドを実行できるようになります。私たちは、人間とコンピューターの対話が 2 つあることに気付きました。1 つは「はい」と入力し、もう 1 つはパスワードを入力することです。 2 つの対話があるため、特定のコマンドを使用するだけでタスクを完了することはできません。人間とコンピューターの対話を自動対話に変えることを検討できます。Python の pexpect モジュールは、自動対話の実現に役立ちます。次のコードは、pexpect を使用して自動対話型ログインを実現し、コマンドを実行する関数です。