apt
私はAnsibleのモジュールのような特定の設定マネージャモジュールに自分自身をラベル付けしたくありませんyum
。
展開に拘束されない構成管理ソフトウェアはありますか?それとも少なくとも1つありますか?リリース独立コード次のパッケージをインストールします。アーキテクチャLinuxしかも?
Arch Linux に LAMP をインストールするのに適した Ansible Galaxy の役割が見つからず、次の Debian 用 Bash スクリプトが Arch で動作しないため、この質問をします。
#!/bin/bash
apt update -y
apt upgrade ufw sshguard unattended-upgrades wget curl git zip unzip tree -y
ufw --force enable
ufw allow 22,25,80,443
apt upgrade lamp-server^ ssmtp -y
apt upgrade python-certbot-apache -y
apt upgrade php-{cli,curl,mbstring,mcrypt,gd} phpmyadmin -y
ベストアンサー1
技術的には、Ansibleは次のようになります。エージェントがないため、ルーター、スイッチ、サーバーなどを管理するために使用します。
あなたが求めるものは次のとおりです。package
基準寸法Arch Linuxはサポートされていますか? Archがサポートされているかどうかをテストするのはあまりにも怠惰ですが、そうでない場合は常にあります。pacman
基準寸法...それでも動作しない場合は...いつでも独自のモジュールを作成できます。
しかし、あなたが言うのはランニングのより大きな問題です。プロダクションのさまざまなディストリビューション。長期的に管理が難しい場合があります。そのため、本番環境で複数のディストリビューションを実行しないことをお勧めします。これは、管理の観点(純粋にコードのみ)で多くの作業が必要なためです。この問題を解決する最も確実な方法は、Ansibleを次のものとwhen
組み合わせて使用することです。os_family
:
apt:
name: apache2
when: ansible_facts['os_family'] == "Debian"
pacman:
name: nginx
when: ansible_facts['os_family'] == "Archlinux"
私は本番環境でDebianサーバーとCentOSサーバーを管理する必要がある状況に直面しました。最終的に私は次の理由で純粋なDebianを使うことにしました。
- CMのコードベースが半分に減少しました(配布判別の問題に対するすべてのロジックが削除されました)。
- テストは痛みが少なくなります。 CMコードをテストしないと、間違っています。
それにもかかわらず、次のような重要な違いも発見されます。
httpd
一部のパッケージは(RHEL)とapache2
(Debian)の名前が異なります。- 「デフォルト」設定ディレクトリ
/etc/default
(Debian)と/etc/sysconfig
(RHEL)は異なります。 - 他の初期化システムが
systemd
主に使用されている。 - たとえば、Windows用WinRMにはSSHはありません。
構成管理システムは、環境をコードに抽象化する方法でこれを実行するための論理/条件を提供します。あなた自身。