Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Etckeeperのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Etckeeper
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:設定管理]] [[en:Etckeeper]] {{Related articles start}} {{Related|Git}} {{Related|Cron}} {{Related articles end}} [http://etckeeper.branchable.com/ Etckeeper] は {{ic|/etc}} をバージョン管理します。 == インストール == {{Pkg|etckeeper}} パッケージを[[インストール]]してください。 == 設定 == 使用するバージョン管理システム (デフォルトは [[git]]) などのオプションは {{ic|/etc/etckeeper/etckeeper.conf}} で設定できます。 Etckeeper は {{ic|etckeeper.conf}} で {{ic|LOWLEVEL_PACKAGE_MANAGER}} あるいは {{ic|HIGHLEVEL_PACKAGE_MANAGER}} として [[pacman]] を使うことをサポートしています。 == 使用方法 == 設定後、{{ic|/etc}} のリポジトリを初期化する必要があります: # etckeeper init ''etckeeper'' バージョン 1.18.3-1 現在、パッケージのインストール・アップデート・削除時に pre-install と post-install の [[pacman#フック|pacman フック]]が自動的に実行されるようになっています。手動で[[#ラッパースクリプト|ラッパースクリプト]]を設定する必要はありません。 {{ic|/etc}} への他の変更を記録したい場合、手動で変更をコミットするか (使用するコマンドは {{man|8|etckeeper}} の man ページを見てください)、あるいは以下のように定期的に記録するようにしてください。 === systemd === パッケージにはサービス・タイマーユニットが付属しています。{{ic|etckeeper.timer}} を[[systemd/タイマー#管理|有効化]]することで使えます。 タイマーの使い方について詳しくは [[systemd/タイマー]]を見てください。ユニットを編集したい場合は [[systemd#ユニットファイルの編集]]を参照してください。 === Cron === 配布されているソースには [https://git.joeyh.name/index.cgi/etckeeper.git/tree/debian/cron.daily cron スクリプト] が含まれています。スクリプトを使うことで定期的に自動コミットできます。 例えば、1日毎に実行するには: # [[cron]] をインストール・有効化してください。 # {{ic|/etc/cron.daily/''script_name''}} としてスクリプトを作成。 # ''root'' でファイルに実行権限を付与 ({{ic|# chmod u+x /etc/cron.daily/''script_name''}})。 詳しくは [[cron#Cronie]] や [[cron]] を見てください。 === Incron === {{ic|/etc}} のファイルに変更が加えられたときに [[incron]] を使って自動的に変更をコミットするように設定することもできます。{{man|7|inotify}} によるファイルシステム通知を利用します。 詳しくは [http://inotify.aiken.cz/?section=incron&page=doc&lang=en] や {{man|8|incrond}} を見てください。 === リモートリポジトリに自動プッシュ === {{Warning|etckeeper のリポジトリを誰でもアクセスできるリモートリポジトリにプッシュしてしまうと、パスワードハッシュや秘密鍵などの機密情報が漏洩する可能性があります。気をつけて使ってください。}} {{ic|/etc/.git}} のローカルバックアップを作るだけでなく、コミットするたびに GitHub などのリモートリポジトリに変更を自動的にプッシュすることもできます。 まず、{{ic|etc/.git}} を編集してリモートの GitHub リポジトリを追加: # git remote add origin ''<nowiki>https://github.com/user/repo.git</nowiki>'' そして、フックを使用・設定してプッシュするようにしてください。 ==== etckeeper に付属しているフックを使う ==== {{ic|/etc/etckeeper/etckeeper.conf}} の {{ic|PUSH_REMOTE}} オプションを編集して、etckeeper からプッシュしたいリモートリポジトリの名前を指定してください。例: PUSH_REMOTE="''origin''" スペースで区切ることで複数のリモートリポジトリを追加できます。 ==== カスタムフックを使う ==== {{ic|/etc/etckeeper/commit.d/40github-push}} ファイルを作成 (実行権限を付与してください): #!/bin/sh set -e if [ "$VCS" = git ] && [ -d .git ]; then cd /etc/ git push origin master fi ラッパースクリプトやエイリアスを実行するたびに、GitHub リポジトリに自動的に変更がコミットされます。 === ラッパースクリプト === 頻繁に実行するコマンドの変更を追跡したい場合 (例: {{ic|''command''}})、シンプルなラッパースクリプトで自動化できます。例えば、以下のファイルを作成: {{hc|/usr/local/bin/checketc.sh|2= #!/bin/bash etckeeper pre-install ''command'' etckeeper post-install}} 作成したら実行可能権限を付与してください。また、bash のエイリアスや関数で Etckeeper のコマンドを呼び出すこともできます。詳しくは [[Bash#エイリアス]]を見てください。 {{Note|Etckeeper バージョン 1.18.3-1 以前では Pacman による変更を追跡するのに上記のラッパースクリプトが必要でした。現在 Pacman はフックによってコマンドを自動的に実行します。}}
このページで使用されているテンプレート:
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Related articles start
(
ソースを閲覧
)
テンプレート:Man
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Related
(
ソースを閲覧
)
テンプレート:Related articles end
(
ソースを閲覧
)
テンプレート:Related articles start
(
ソースを閲覧
)
テンプレート:Warning
(
ソースを閲覧
)
Etckeeper
に戻る。
検索
検索
Etckeeperのソースを表示
話題を追加