さまざまなLinux構成を切り替える方法は?

さまざまなLinux構成を切り替える方法は?

私のRaspberry Pi 3にはいくつかの異なるユースケースがあります。現在、メディアセンター、オーディオストリーミング、ハッキング目的、オフィスワークショップなどで構成されています。すべての設定はデフォルトのRaspbianディストリビューションに基づいています。

これらの構成には異なる(システム)サービスが必要ですそしてさまざまな/etcサービスプロファイル。例:私のオフィスでは、必要なWiFiネットワークパスワードでネットワークマネージャを設定し、ハッカーステーションではネットワークマネージャを無効にし、循環MACアドレスと静的IPを設定したいと思います。時にはPiヘッドレスが好きなときもあり、時にはGUIが必要な場合もあります。など。

要点は、サービスが異なるだけでなく、目的によってサービスプロファイルも異なることです。

私の質問は:同じLinux環境で設定(サービス+プロファイル)間で「切り替える」方法は何ですか?理想的には、別の「モード」に切り替えるために(ターミナル)コマンドを実行したいと思います。

すでに試しました:

  • マルチブートグラブを使用したさまざまなパーティション:多くのスペース/オーバーヘッドを占有します。簡単な移行には適していません。
  • ランレベルを使用して差別化します。他の設定ファイルを受け入れないでください。
  • サービスを停止し、設定ファイルをコピー/変換し、サービスを再起動するために独自の「スイッチスクリプト」を作成しました。閉じたけど、車輪を再発明しているように感じます。

「すぐに利用可能な」ソリューションに関する提案はありますか?私はこのような欲求を持つ最初の人であるか、唯一の人であるとは想像できません。

答え1

systemdでターゲットを作成し、おそらくgitに/ etc /を保存すると、あなたが望むものと似たものが生成されるように聞こえます。ターゲットを変更し、gitブランチを切り替え、すべてを切り替える前にほとんどのサービスを無効にする中間ターゲットを望むことができます。

答え2

次のフォルダにマウントされた "config"パーティションはどうですか?

/mnt/config/setup1/etc
/mnt/config/setup2/etc
/mnt/config/setup3/etc
/mnt/config/etc -> /mnt/config/setup1/etc

次に、systemdサービスを作成し、起動プロセスの最初に/mnt/config/etcを/ etcにコピーします。 /mnt/config/.../etcフォルダに別のものを置きます。設定を変更して再起動するには、シンボリックリンクを更新してください。

関連情報