vbotka.linux_postinstall

linux_postinstall

品質 ビルド状況 ドキュメント状況 GitHubタグ

Ansibleロール。 Linuxを構成します:acpi、エイリアス、apparmor、apt、承認されたキー、autofs、 自動アップグレード、Bluetooth、cron、debsums、dnsmasq、fstab、gpg、gpsd、グループ、grub、ホスト名、hosts、chrony、iptables、kvm、latex、libvirt、lid、logrotate、モデムマネージャー、モジュール、netplan、networkd、networkmanager、nfsd、パッケージ、パスワード、pm-utils、postfix、rc.local、repos、resolvconf、サービス、smart、speech-dispatcher、ssh、sshd、sudoers、スワップ、sysctl、systemd、timesyncd、タイムゾーン、tlp、udev、ufw、ユーザー、virtualbox、wpa_gui、wpa_supplicant、xen、xorg.conf.d、zfs(進行中...)

ドキュメントはreadthedocs.ioで確認できます。

このロールとドキュメントは進行中です。もしタスクのドキュメントが不足している場合は、使用方法を理解するためにsource codeを確認してください。機能が不足している場合は、ロールconfig_lightを検討してください。さまざまなも見てください。 config_lightでできないことがあれば、新しいタスクを作成してください。

自由にフィードバックを共有したり問題を報告してください。

貢献を歓迎します。

サポートされているプラットフォーム

このロールは以下の環境で開発およびテストされています。

他のプラットフォームのサポートは進行中です。一部のタスクはCentOSでもサポートされています。vars/defaultsの変数を調整し、自分の環境でタスクをテストすることをお勧めします。

要件

ロール

コレクション

  • ansible.posix
  • ansible.utils
  • community.general

ロール変数

デフォルトや例はvarsで確認してください。

ワークフロー

  1. ロールとコレクションをインストールします。

ロールをインストール

shell> ansible-galaxy role install vbotka.linux_postinstall
shell> ansible-galaxy role install vbotka.ansible_lib
shell> ansible-galaxy role install vbotka.linux_lib

ansible.posixおよびcommunity.generalは主要なansibleパッケージに含まれています。 もし不足していたら以下でインストールします。

shell> ansible-galaxy collection install ansible.posix
shell> ansible-galaxy collection install ansible.utils
shell> ansible-galaxy collection install community.general
  1. 変数を変更します。例えば、vars/main.ymlで。
shell> editor vbotka.linux_postinstall/vars/main.yml
  • OS固有の変数はvars/defaultsを参照
  • vars/main.yml.sampleに例があります
  • vars/flavorsにFlavor固有の変数をカスタマイズまたは追加します
  • lp_flavors_enable: trueを有効にすることができます。これはプレイブックを遅くします
  • 必要に応じて、カスタマイズしたOS固有の変数をvarsディレクトリに配置します
  • 名前付け規則と優先順位については、tasks/vars.ymlを参照
  • OS固有の変数はvar/main.ymlの変数を上書きします
  1. インベントリを作成します。
shell> cat hosts
[group1]
host1.example.com
[group1:vars]
ansible_user=admin
ansible_connection=ssh
ansible_python_interpreter=/usr/bin/python3.8
ansible_perl_interpreter=/usr/bin/perl
  1. プレイブックを作成します。
shell> cat lp.yml
- hosts: group1
  become: yes
  become_user: root
  become_method: sudo
  roles:
    - vbotka.linux_postinstall
  1. プレイブックを実行します。
shell> ansible-playbook lp.yml

ベストプラクティス

プレイブックの構文をチェックします。

shell> ansible-playbook lp.yml --syntax-check

変数を確認します。オプションでフレーバーを検出して保存します。

shell> ansible-playbook lp.yml -t lp_vars

チェックモードでプレイブックを実行します。

shell> ansible-playbook lp.yml --check

すべてが正しければ、プレイブックを2回実行します。2回目の実行で、すべてのタスクがOKで、変更・到達不可能・失敗が0となるはずです。

shell> ansible-playbook lp.yml

パッケージの自動インストール

変数lp_*_packagesにリストされたパッケージは、変数lp_*_installが有効な場合にtasks/packages.ymlで自動的にインストールされます。例えば、

lp_libvirt_install: true
lp_libvirt_packages:
  - libvirt0
  - libvirt-bin
  - libvirt-daemon
  - libvirt-daemon-driver-storage-rbd
  - libvirt-daemon-system
  - virtinst

lp_libvirt_packagesにリストされたパッケージは、以下でインストールされます。

shell> ansible-playbook lp.yml -t lp_packages_auto -e lp_packages_auto=true

以下を参照してください:

サービスの自動管理

変数lp_service_autoは、タスクservice.ymlによって自動的に管理されるサービスのリストを含みます。サービスはlp_<service>: trueが設定されている場合にtask service.ymlによって管理されます。lp_<service>: falseを設定すると、そのサービスの管理が無効になります。変数lp_<service>_enablelp_<service>_stateはサービスの有効化と状態を制御します。例えば、サービスudevは、lp_udev: trueに設定すると、lp_service_autoにリストされているため、有効化され、開始されます(デフォルトで)。

lp_udev: true
lp_udev_enable: true
lp_udev_state: started

どのサービスが管理されるかを確認するには、以下のコマンドを実行します。

shell> ansible-playbook lp.yml -e lp_service_debug=true -t lp_service_debug

以下を参照してください:

OSインストール後の推奨設定

  1. ユーザー、sudoers、永続ネットワークインターフェースを設定します。
ansible-playbook lp.yml -t lp_vars
ansible-playbook lp.yml -t lp_hostname
ansible-playbook lp.yml -t lp_groups
ansible-playbook lp.yml -t lp_users
ansible-playbook lp.yml -t lp_sudoers
ansible-playbook lp.yml -t lp_udev
ansible-playbook lp.yml -t lp_netplan
ansible-playbook lp.yml -t lp_wpasupplicant
ansible-playbook lp.yml -t lp_reboot -e 'lp_reboot=true lp_reboot_force=true'
  1. ファイアウォールを設定します。例えばiptablesを。
shell> ansible-playbook lp.yml -t lp_iptables
  1. パッケージのインストールをテストします。
shell> ansible-playbook -t lp_packages -e 'lp_package_install_dryrun=true' lp.yml
  1. パッケージをインストールします。
shell> ansible-playbook -t lp_packages lp.yml
  1. その他のタスクをチェック、インストール、設定します。
shell> ansible-playbook lp.yml --check
shell> ansible-playbook lp.yml

Ansible lint

ansible-lintを実行する際には、*.ansible-lint.local*設定ファイルを使用してください。一部のルールが無効になっている場合があり、一部の警告が無視されることがあります。設定ファイル内のメモを参照してください。

shell> ansible-lint -c .ansible-lint.local

ライセンス

ライセンス

著者情報

ウラジミール・ボトカ

参考文献

プロジェクトについて

Configure Linux.

インストール
ansible-galaxy install vbotka.linux_postinstall
ライセンス
bsd-2-clause
ダウンロード
446
所有者