行われた提案に従って / etcをソース管理下に置く ETCKEEPERをインストールしました。
かなり良さそうですが、いくつか質問があります。
実行したコマンドを変更メッセージに入れる方法はありませんか。したがって、apt-get install widgetを実行する場合、コミットメッセージの最初の行をinstallwidgetのようにします。あまり役に立たないaptrunの後に/ etcの変更をコミットするよりも
普通のユーザーからbzrリポジトリに問い合わせられるようにしたいと思います。しかし、。bzrディレクトリの保護によって妨げられています。これをa + rに変更する際の落とし穴はありますか
drwx ------ 6ルートルート4096Aug 30 13:00 .bzr
ファイル(etckeeperコントロールから/ etc/shadow /など)を削除する際の落とし穴はありますか?
ショートログではなく完全なbzrログを見ると、aptrunの後に/ etcで変更をコミットするの後に、変更されたパッケージのリストが続くことがわかります。少なくとも、それは私のUbuntuラップトップとサーバーでの動作です。ほとんどの場合、「Sudoapt-getupgrade」コミットメッセージよりも便利だと思います。
通常のユーザーとしてbzrログにアクセスできない理由は、bzrリポジトリがシャドウリポジトリへのフルアクセス権を持っているためです。おそらくこれを止める最大の落とし穴は、bzrリポジトリからファイルを削除しても、古いリビジョンでも引き続き利用できることです。 svndumpfilter | svnadmin --import
に沿って使用できるブードゥーがおそらくいくつかありますが、bzrの場合ですが、私は試していません。
あなたが試みるかもしれない1つの選択肢はSudo su
です。または、新しいユーザーとグループを作成し、そのユーザーをそのグループに入れ、グループに.bzrへのアクセスを許可し、bzrの対象となる操作のためにそのユーザーにsu
を与えることができます。
実行したコマンドを変更メッセージに入れる方法はありませんか。
Etckeeperがどのように機能するかを理解することは、バージョン管理システムがどのように機能するかを理解する必要があることを意味します。 VCSシステムでは、リポジトリの概念、基本的にはすべての変更のデータベース、現在変更を行っている作業ディレクトリがあります。
Etckeeperは、実際にはいくつかのDVCSバックエンドの1つを使用でき、bzr、git、およびhgをサポートできます。どのバックエンドを使用しても、すべて同じように機能します。私はgitに非常に精通しているので、バックエンドとしてgitを使用します。
Etckeeperを使用すると、作業ディレクトリはほとんどの場合/etc
になりますが、他のディレクトリにも使用できます。作業ディレクトリの現在の状態に関するすべてがコミットされると、作業ディレクトリはcleanであると見なされます。あるファイルに変更を加え、その変更をリポジトリにコミットしたい場合は、コマンドetckeeper commit "Your log message here"
を実行します。 etckeeper unclean && echo $
のようなコマンドを実行すると、リポジトリがクリーンな状態にあるかどうかを確認できます。
背景がわからなくなったので、etckeeperがどのように接続して、aptの機能を追跡できるようにするかについて説明します。 etckeeperがインストールされると、構成ファイルが/etc/apt/apt.conf.d/05etckeeper
のapt構成に追加されます。これによりいくつかのフックが設定されるため、aptがパッケージのインストールを要求されると、インストールが開始される前にコマンドが実行され、インストールが完了した後にコマンドが実行されます。インストール前およびインストール後のコマンドが何を実行するかを正確に確認するには、/etc/etckeeper/pre-install.d
および/etc/etckeeper/post-install.d
ディレクトリのスクリプトを確認してください。
基本的に、作業ディレクトリがクリーンでない場合、プレインストールコマンドはコミットを実行します。これが気に入らない場合は、何かを変更した後、手動でコミットを実行することを忘れないでください。自動コミットに強く反対する場合は、/etc/etckeeper/etckeeper.conf
ファイルを調整し、AVOID_COMMIT_BEFORE_INSTALL=1
行のコメントを解除できます。この変更を行うと、aptを実行する前に手動でコミットする必要があります。自動コミットが本当に気に入らない場合は、新しいバージョンにある毎日の自動コミットを無効にすることもできます。
普通のユーザーからbzrリポジトリに問い合わせられるようにしたいと思います。
それは私の意見では非常に悪い考えです。/etcには、エンドユーザーが読み取れないファイルがたくさんあります。生活を楽にしたい場合は、bzrまたはetckeeperを使用するときにアカウントにパスワードの入力を求めないようにSudoを設定できます。
ファイル(etckeeperコントロールから/ etc/shadow /など)を削除する際の落とし穴はありますか?
これを行う正しい方法は、選択したDVCSバックエンドの無視機能を使用することです。 gitを使用してファイルを/etc/.gitignore
に追加する場合、同じことを行う必要がある/etc/.bzrignore
があると思いますが、それを確認するためにbzrエキスパートが必要になる場合があります。個人的には、/etc/shadow
ファイルを追跡するのが好きだと思います。これにより、誰かの悪が、パスワードが無効になっているはずのサービスアカウントを変更して、それを許可するパスワードを変更したかどうかを知ることができます。ログインに使用されます。