web-dev-qa-db-ja.com

Linuxファイルのバージョン管理?

廃止する古いアルファサーバーのVMS環境からLinux環境に移行しています。私が克服できなかった1つの課題は、ファイルのバージョン管理です。 VMSは、バージョンフラグを使用して、同じファイルの複数のコピーを保持します。 Source Forgeで複数のオプションを見つけましたが、主要な本番環境でこれらのいずれかを使用した経験のある人は見つかりませんでした。これが必要な理由は、他のシステムからのフィードでは一意のファイル名が考慮されないためです。私達は私達の範囲をできるだけ軽く保つように努めています。

どんな助けでも大歓迎です。

利用できるように見える2つの主なものは次のとおりです。

  • 帰り道
  • EtcKeeper-1つだけまたは複数のディレクトリに適用できるかどうかは不明です。

エンタープライズ環境でこれらを使用したことはありますか?他に検討すべきオプションはありますか?

11
DaffyDuc

この機能がまだ必要であると確信している場合は、実際のバージョン管理ファイルシステムを調べます。それらのほとんどは、タイトルが バージョン管理ファイルシステム というタイトルのWikipediaでカバーされています。これは、Linuxに関するその記事のオプションのリストです。

抜粋

バージョン管理をサポートする主流のLinuxファイルシステムはありませんが、多くの実験的/研究的であまり知られていないソリューションがサポートしています。

3
slm

copyfs を使用して、ファイル階層内のファイルの体系的なバージョン管理を提供できます。 Copyfsはすべてのファイルのすべてのバージョンを保持します。それはあなたの選択の基礎となるファイルシステムを使用してファイルの内容を保存します。

Etckeeperは適切なツールではありません。これは、システム構成ファイルディレクトリ(/etc)でより適切に機能するように設計された リビジョンコントロールシステム の上のレイヤーです。要件によっては、Subversion、git、Mercurialなどのリビジョン管理システムを使用できる場合があります。これらは、ファイルの新しいバージョンが表示されたときにワークフローにコミットアクションを挿入できる場合に役立ちます。

別の方法としては、ファイルの名前を変更したり、ファイルを移動したりする方法があります。Linuxには、ファイルの作成やクローズなどのファイルシステムイベントに対応するための inotify 機能があります。

この質問が出されてから数年後を見ると、上記のバージョン管理ファイルシステムは、私が知る限り、積極的に開発または保守されていません(間違っている場合は修正してください)。現状はサーバー/クラウドバックアップのようで、サーバーアプリでバージョン管理を維持します。私のバックアップの問題については、これは理にかなっていると思います。オフサイトバックアップ、バージョン管理、および大容量ストレージのコストの問題を1つのソリューションにまとめます。自分のファイルシステムのスペースを占有していたすべてのドキュメントの複数のバージョンを持つことは、もはや意味がありません。

軽負荷(小さなファイル)の場合、スケジュールされたコミットまたは自動コミットを使用したGithubが機能します。

より大きなものについては、 githubが役立ちます

Gitは、バックアップツールとして機能するように適切に設計されていません。ただし、Arq、Carbonite、Mozy、CrashPlanなど、チェックする価値のあるバックアップを実行するために特別に設計された多くのソリューションがあります。

私がこれを書いているとき、それらの推奨されるCrashPlanとMozyにはLinux用のアプリがあります。どちらもバージョン管理をサポートしていますが、購入する前に制限時間を確認してください。

2
Jason