GNU/Linux >> Linux の 問題 >  >> Linux

*bsdの下の/etcのバージョン管理?

/etcを配置するためのターンキーソリューションは何ですか バージョン管理下、さまざまなユニス下?ターンキーは必ずしも基本インストールの一部を意味するわけではありませんが、次の機能があれば便利です。

  • メタデータ(所有権、権限)を管理するためにVCSコマンドにフックします。
  • パッケージマネージャーとの統合(インストールの前後に自動的に実行され、アップグレードをインテリジェントに処理します);
  • アップストリームファイルバージョンをブランチとして扱います。
  • 事前に入力された無視リスト;
  • いくつかの基盤となるVCS(特に分散型VCS)のサポート。

私はDebianとその派生物の下でetckeeperを使用しています。アップストリームバージョンを追跡しないことを除いて、上記のすべての機能を備えています。特に*BSDでの代替案について学びたいです。

承認された回答:

Gentooの下で、パッケージによって引き起こされた/etcへの変更を管理するツール (dispatch-confと呼ばれます )変更を追跡するためのrcsをサポートしていますが、それはそれほど強力ではありません。

私は自分の/etcをバージョン管理する傾向があります git経由 特に、さまざまなブランチを使用することで、/etcを保持できるためです。 可能な限り多くのものを1つの場所に保持しながら、異なるディストリビューションで可能な限り類似しています(明らかに失敗する一部の領域では、たとえば、apache構成は異なるディストリビューション間で実際に異なります)。これは次のように機能します:

  • masterがいます デフォルトの構成ファイルを使用してリポジトリを作成します。

  • 今、私は新しいディストリビューションと連絡を取り、masterに基づいて新しいブランチを作成します ディストリビューションの名前(この例ではdebian)に基づいて分岐します。

  • Debianは、私のmasterとは異なる場所にいくつかの設定ファイルを保持しています だから私はgit mv file new_loc 。そして、すべてが順調です。

  • masterに切り替えます 特定の構成ディレクティブを追加したので、そのファイルを変更します。

  • masterをマージするとき 私のdebianに ブランチ移動したファイルが変更されるので、基本的にはmaster内のほとんどのものを変更できます ブランチを作成し、「配布」ブランチの変更をマージする必要があります(通常、配布ブランチと目的ブランチが混在する傾向があります。Debianサーバーは明らかにDebianワークステーションといくつかの違いがありますが、機能は引き続き機能します)。

    >

つまり、基本的にはmasterに「一般的な構成」があります そして(オブジェクト指向プログラミング用語で言うと)それらを私のブランチに継承します(お互いから継承することもできます)。

それとは別に、git の「チェリーピック」コミットのメカニズム(この場合は/etc/に変更されます) )特定の構成の一部のみが必要な場合は、非常に役立ちました。

関連:UNIXコマンドを非常に短い間隔で正確に実行し、時間の経過とともにタイムラグを累積することはありませんか?

さて、あなたのアイデアのいくつかに:

  • さらにパッケージマネージャーの統合が必要な場合は、おそらくこれにラッパースクリプトを使用します(現時点では使用していません)。
  • アップストリームバージョンをブランチとして扱うと、gitで正常に機能します 、これは、masterに(部分的に)マージすることがある別のブランチです。
  • gitの無視リストはファイル.gitignoreです。 それがカバーされるようにあなたのレポで。

Linux
  1. / etc / motdはどのように更新されますか?

  2. CentOS / RHEL :削除された /etc/passwd ファイルから回復する方法

  3. /etc の下に隠しディレクトリがあっても安全ですか?

  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. Linux の /etc/init.d と /etc/rcX.d ディレクトリの間の接続は何ですか?

  3. 推奨される使用方法に従って、Web サイトは /var/ または /usr/ に配置する必要がありますか?

  1. 〜/ .profile、〜/ .bashrc、〜/ .bash_profile、〜/ .gnomerc、/ etc / bash_bashrc、/ etc / screenrcの違い…?

  2. grpck コマンド – /etc/group および /etc/gshadow ファイル内の破損したエントリまたは重複したエントリを削除します。

  3. 私のLinuxシステムの下で全員に環境変数を設定する方法は?