HanXHX.debian_bootstrap

Ansible Debian/Devuan/Ubuntu/Raspbian ブートストラップ

Ansible Galaxy GitHub Workflow Status (with branch)

この役割は、Debian/Devuan/Ubuntu/Raspbian ホストをブートストラップします:

  • APT の設定(sources.list)
  • 最小限のパッケージをインストール(vim, htop など)
  • 必要に応じて Intel/AMD マイクロコードをインストール
  • NTP デーモンのインストールと設定 (OpenNTPd または NTP)
  • グループやユーザーを追加し、SSH キーと sudoers を設定
  • root 用の bashrc と vimrc を展開
  • 一部の代替設定を更新
  • システムの設定:ホスト名、タイムゾーン、ロケール
  • 必要に応じて systemd を削除、無効化
  • sysctl のチューニング

サポートされるバージョン

OS 動作 安定版(アクティブサポート)
Debian Stretch (9) はい いいえ
Debian Buster (10) はい はい
Debian Bullseye (11) はい はい
Debian Bookworm (12) はい はい
Devuan Ascii (2) はい いいえ
Raspbian Stretch (9) 実験的 いいえ
Raspbian Buster (10) 実験的 いいえ
Raspbian Bullseye (11) 実験的 いいえ
Ubuntu Bionic (18.04) はい いいえ
Ubuntu Focal (20.04) 実験的 いいえ
Ubuntu Jammy (22.04) 実験的 いいえ

要件

役割変数

APT 設定

これらの変数は、APT を設定するためのホスト名を定義します(通常のリポジトリとバックポート):

  • dbs_apt_default_host: リポジトリホスト。これはこの役割でインストールされた最後のものを新しいもので置き換えることができます。
  • dbs_apt_use_src: "deb-src" リポジトリをインストールするかどうか(デフォルト:false)
  • dbs_apt_components: sources.list で使用するコンポーネント(デフォルト:"main contrib non-free non-free-firmware")

役割のセットアップ

  • dbs_set_hostname: true の場合、ホスト名を変更します。
  • dbs_clean_hosts: true の場合、/etc/hosts ファイルを管理します。
  • dbs_set_locale: true の場合、ロケールを設定します。
  • dbs_set_timezone: true の場合、タイムゾーンを設定します。
  • dbs_set_ntp: true の場合、OpenNTPd をインストールして設定します。
  • dbs_set_apt: true の場合、APT リポジトリを設定します。

システム設定

  • dbs_hostname: システムホスト名
  • dbs_hostname_use_strategy: ホスト名を設定するための戦略 (hostname モジュールで "use" を確認してください)。ホスト名の設定に失敗した場合のみ、この変数を更新する必要があります(例:LXC)。
  • dbs_default_locale: デフォルトのシステムロケール
  • dbs_locales: インストールされたロケールのリスト
  • dbs_timezone: システムのタイムゾーン。 "標準" のタイムゾーンが必要な場合、接頭辞 "Etc/" を使用する必要があります(例:"Etc/UTC")。
  • dbs_sysctl_config: カーネルパラメータのハッシュ、詳細は default/main.ymlを参照。
  • dbs_use_systemd: false に設定すると systemd を削除します(永続的)。
  • dbs_use_dotfiles: root の dotfiles(bashrc, screenrc, vimrc)を上書きします。
  • dbs_uninstall_packages: アンインストールするパッケージのリスト。

代替

  • dbs_alternative_editor
  • dbs_alternative_awk

NTPd

  • dbs_ntp_hosts: NTP サーバーのホスト名リスト
  • dbs_ntp_pkg: NTP を提供するために使用されるパッケージ:"openntpd" または "ntp"

グループ

  • dbs_groups: グループのリスト

各行にはいくつかのキーがあります:

  • name: (M) システム上のユーザー名
  • system: (O) はい/いいえ(デフォルト:いいえ)
  • state: (O) 存在する/存在しない(デフォルト:存在する)

(M) 必須 (O) オプション

ユーザー

  • dbs_users: ユーザーのリスト

各行にはいくつかのキーがあります:

  • name: (M) システム上のユーザー名
  • password: (O) ハッシュ形式のパスワード(ansible ドキュメント参照)
  • clear_password: (O) プレーン形式のパスワード(推奨されません)
  • update_password: (O) 常に / 作成時
  • shell: (O) デフォルトは /bin/bash
  • comment: (O) デフォルトは空文字列
  • sudo: (O) ブール値(true = sudo 可能)
  • group: (O) メイングループ(デフォルトは name でパスワードなし)
  • groups: (O) カンマ区切りのグループリスト
  • createhome: (O) はい/いいえ
  • system: (O) はい/いいえ(デフォルト:いいえ)
  • ssh_keys: (O) SSH 公開鍵のリスト
  • state: (O) 存在する/存在しない(デフォルト:存在する)

(M) 必須 (O) オプション

注意:

  • password が指定された場合、clear_password は使用されません!
  • clear_passwordupdate_password = 常に(デフォルト)とは非冪等です。

詳細については、ansible ユーザーモジュールのドキュメントを参照してください。

読み取り専用変数

  • dbs_packages: インストールするパッケージのリスト
  • dbs_microcode_apt_distribution: マイクロコードをインストールするパッケージの場所
  • dbs_distro_packages: インストールする特定のパッケージのリスト(OS バージョンに関連)
  • dbs_is_docker: ブール値。現在が Docker コンテナであれば true。

依存関係

なし。

例 Playbook

- hosts: servers
  roles:
     - { role: HanXHX.debian_bootstrap }

Docker に関する情報

Docker の制限により、これらの機能は無効化されています:

  • systemd の削除
  • ホスト名の設定
  • sysctl の設定

この役割の開発とテスト方法

Vagrant の方法

Vagrant + VirtualBox または Docker をインストールします。

vagrant up debian-bullseye # VirtualBox 使用時
vagrant up docker-debian-bullseye # Docker 使用時

Molecule の方法

インストール:

pip install molecule molecule[docker]

実行:

molecule -vv -c molecule/_shared/base.yml converge -s ubuntu-22.04

ライセンス

GPLv2

寄付

このコードが役に立ったり、プロジェクトに使用した場合は、ビールをごちそうしていただけると嬉しいです :beers:

  • ビットコイン: 1BQwhBeszzWbUTyK4aUyq3SRg7rBSHcEQn
  • イーサリアム: 0x63abe6b2648fd892816d87a31e3d9d4365a737b5
  • ライトコイン: LeNDw34zQLX84VvhCGADNvHMEgb5QyFXyD
  • モネロ: 45wbf7VdQAZS5EWUrPhen7Wo4hy7Pa7c7ZBdaWQSRowtd3CZ5vpVw5nTPphTuqVQrnYZC72FXDYyfP31uJmfSQ6qRXFy3bQ

暗号通貨は持っていないですか? :star: このプロジェクトは感謝の気持ちを表す方法でもあります! :sunglasses:

著者情報

プロジェクトについて

Normalize and prepare a Debian/Devuan/Ubuntu Linux server

インストール
ansible-galaxy install HanXHX.debian_bootstrap
ライセンス
gpl-2.0
ダウンロード
6.5k
所有者
CEO/CTO/SRE triplestack.fr / daemonit.com