オペレーティングシステム全体の連続インストールマクロを記録する方法はありますか?

オペレーティングシステム全体の連続インストールマクロを記録する方法はありますか?

新しくインストールされたLinuxディストリビューションは、ユーザーのニーズに合わせて使用​​するために(たとえば、1年以内に)幅広いカスタマイズを受けています。私たちがインストールするすべてのアプリケーションは、内部構成ファイルを削除または変更し、依存関係をインストールする/etcアプリケーションをインストールし、いくつかのsystemdサービスを作成するなどのタスクを実行します。

環境を再インストールする必要がある場合は、新しいインストールですべての変更を再実行するのに多くの時間と労力が必要です。

インストールでマクロを記録できる場合は、マクロを実行してコピーできます。精密同じ設定。そのようなマクロ記録ユーティリティはすでにありますか?または、システム管理者はこの特定の問題をどのように解決できますか?

答え1

ディストリビューションを切り替えるオプションがある場合は、次のものを使用できます。Kickstart自動インストールメカニズムCentOS用。

キックスタート構成ファイルの構文は、インタラクティブインストールに通常必要なすべてを指定するディレクティブを提供します。また、ターゲットシステムに対してカスタム変更を実行するためのシェルスクリプトコードを含むプリインストールおよびポストインストールセクションを追加できます。これにより、通常手動で実行されるほとんどの管理タスクをかなり「直感的で」繰り返し可能な方法で自動化できます。

答え2

Debian の場合、これは役に立ちます。

https://wiki.debian.org/DebianInstaller/Preseed

私達は習慣を使用しましたDebian PXE イメージDebianサーバー設定用の設定ファイルと設定ファイル。システム単位のファイルのインストールなどの詳細な調整部分には、次のものを使用することをお勧めします。アンシプール人形または他の構成管理ツール。

ansibleを使用すると、ワークステーションのすべての構成を保存するPlaybookというものがあります。 1 台のサーバーまたは 500 台のサーバーに新しいサービスをデプロイしても、数分で新しいサービスをデプロイしたりシステムを変更したりできます。

構成は以下の例に似ており、ディストリビューションに合わせて簡単に調整できます。

- name: Logwatch | Make sure logwatch and its dependencies are installed
  package:
    name: "{{item}}"
    state: present
  with_items:
    - logwatch

- name: Logwatch | Configure logwatch's cronjob
  cron:
    user: root
    cron_file: "{{ default_crontab }}"
    name: logwatch
    job: /usr/sbin/logwatch --format {{ logwatch_format }} --range {{ logwatch_range }} --detail {{ logwatch_detail }}
    minute: 0
    hour: 8
    day: "*/7"
  tags: cron

関連情報