/etc
さまざまなユニークでバージョン管理するためのどのターンキーソリューションがありますか?ターンキーが必ずしも基本インストールの一部を意味するわけではありませんが、次の機能があれば良いでしょう。
- VCSコマンドに接続してメタデータ(所有権、権限)を管理します。
- パッケージマネージャとの統合(インストール前後の自動実行、インテリジェントなアップグレード処理)
- アップストリームファイルのバージョンを分岐として扱います。
- 事前入力された無視リスト。
- さまざまな基本的なVCS(特に分散VCS)をサポートしています。
私は使うマネージャーをお待ちくださいDebianとその派生物から。アップストリームバージョンを追跡しないことを除いて、上記のすべての機能があります。代わりに、特に* BSDについて知りたいです。
ベストアンサー1
Gentooでは、パッケージによる変更を管理するツール/etc
(rcsと呼ばれるdispatch-conf
)が変更を追跡するためにrcsをサポートしていますが、それほど強力ではありません。
私はviaの/etc
バージョンを管理する傾向がありますgit
。特に、別のブランチを使用すると、できるだけ多くの/etc
アイテムを1つの場所に維持しながら、他のリリースでできるだけ似ている可能性があるためです(一部の明らかな失敗の場合、Apacheの構成などの領域はディストリビューションによって異なります)。分布。仕組みは次のとおりです。
私の
master
リポジトリにはデフォルトの設定ファイルが含まれています。これで新しいディストリビューションに触れているので、
master
ディストリビューション名(この場合はdebian)に基づいて私のブランチに基づいて新しいブランチを作成しました。Debianはいくつかの設定ファイルを出て別の場所に保存するので、
master
1つを作成しましたgit mv file new_loc
。master
特定の設定ディレクティブを追加しながら再度切り替え、そのファイルを変更しました。master
ブランチにマージするとdebian
移動されたファイルが変更されるため、デフォルトでマイmaster
ブランチのほとんどのエントリを変更し、「配布」ブランチ(通常はより傾向がある)の変更のみをマージできます(配布ブレンドとターゲットブランチ) 、DebianサーバーとDebianワークステーションの間には明らかにわずかな違いがありますが、機能はまだ機能しています。
だから基本的に私は「共通構成」を持っていてmaster
(オブジェクト指向プログラミング用語で)それを私のブランチに継承します(互いに継承することもできます)。
それに加えて、git
コミット「チェリー選択」メカニズム(この場合に変更される/etc/
)は、特定の構成の一部のみが必要な場合に非常に便利です。
それでは、いくつかの考えをしましょう。
- さらにパッケージマネージャの統合が必要な場合は、ラッパースクリプトを使用できます(現在は使用していません)。
- 上流のバージョンをブランチがうまく機能すると考えると、時には
git
(部分的に)マージする別のブランチにすぎません。master
- gitの無視リストはリポジトリのファイルなので、上書きされました
.gitignore
。