Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Etckeeperのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Etckeeper
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:システム管理]] [[en:Etckeeper]] Etckeeper は {{ic|/etc}} をバージョン管理します。 == インストール == Etckeeper は[[公式リポジトリ]]の {{Pkg|etckeeper}} パッケージで[[pacman|インストール]]できます。 == 設定 == メインの設定ファイルは {{ic|/etc/etckeeper/etckeeper.conf}} です。このファイルで使用する VCS などの設定ができます。 お好きな VCS (デフォルトは git) を設定したら、次を実行することで {{ic|/etc}} リポジトリを初期化できます: # etckeeper init == 使用方法 == Etckeeper は {{ic|etckeeper.conf}} で {{ic|LOWLEVEL_PACKAGE_MANAGER}} として pacman の使用をサポートしています。pacman にはフック機能が存在しないため {{ic|HIGHLEVEL_PACKAGER_MANAGER}} として pacman を使うことは不可能です。そのため、手動で変更をコミットするか、以下のどれかの方法を使用する必要があります。 === Pacman フック === {{Pkg|pacman}} 5.0.0 から、[[pacman]] にはフックのサポートが追加されています [https://projects.archlinux.org/pacman.git/tree/NEWS?h=v5.0.0]。トランザクションの前後に etckeeper を自動的に実行するには、以下の2つのフックファイルを作成してください。まずは hooks ディレクトリを作成する必要があります: # mkdir -p /etc/pacman.d/hooks {{hc|/etc/pacman.d/hooks/etckeeper-pre.hook|2= [Trigger] Operation = Install Operation = Upgrade Operation = Remove Type = Package Target = * [Action] Description = Etckeeper Pre-install Depends = etckeeper When = PreTransaction Exec = /usr/bin/etckeeper pre-install}} {{hc|/etc/pacman.d/hooks/etckeeper-post.hook|2= [Trigger] Operation = Install Operation = Upgrade Operation = Remove Type = Package Target = * [Action] Description = Etckeeper Post-install Depends = etckeeper When = PostTransaction Exec = /usr/bin/etckeeper post-install}} pacman のフックに関する詳細は {{ic|man alpm-hooks}} を参照。 === systemd === パッケージにはサービスとタイマーユニットが含まれています。{{ic|etckeeper.timer}} を[[systemd/タイマー#管理|有効化]]してください。 タイマーの詳細は [[systemd/タイマー]]を、付属のユニットを編集する場合は [[systemd#ユニットファイルの編集]]を見て下さい。 === Cron === 配布されているソースの {{ic|debian/cron.daily}} に cron スクリプトが存在します。このスクリプトを使用することで定期的に変更を自動コミットすることができます。毎日スクリプトを実行するには、cron をインストール・有効化してから、etckeeper をビルドした srcdir からスクリプトを {{ic|/etc/cron.daily}} にコピーして実行可能属性を付与してください (例: {{ic|chmod +x /path/to/script}})。 === ラッパースクリプト === 以下のようなスクリプトを PATH が通っているどこかに配置して、実行可能属性を付与し、{{ic|pacman -Syu}} の代わりにスクリプトを実行することで、etckeeper が他のシステムで使っているような自動コミット機能をエミュレートすることができます。 #!/bin/bash etckeeper pre-install pacman -Syu etckeeper post-install もしくは {{ic|~/.bashrc}} に簡単なエイリアスを追加してください: alias pkg-update='sudo etckeeper pre-install && sudo pacman -Syu && sudo etckeeper post-install' あるいは関数を使うことで pacman や pacman のラッパーに引数を指定することもできます: Pacman () { sudo etckeeper pre-install && sudo pacman "$@" && sudo etckeeper post-install; } 関数を使うときは、通常通りに pacman にフラグを付けて実行しますが、大文字の "P" を使うようにします。例: Pacman -Syu Pacman -R foo {{Warning|Do not name your wrapper script "pacman" and rely on it appearing earlier in the PATH than {{ic|/usr/bin/pacman}}. One of the etckeeper pre-install hooks calls pacman without specifying its path, so your script will be invoked recursively without end.}} === Incron === 上記のスクリプトの代わりに、{{ic|/etc}} のファイルに変更が加えられたときに etckeeper を使って自動的に変更をコミットするように incron を設定することもできます。 === リモートリポジトリに自動的にプッシュ === {{Warning|etckeeper のリポジトリを誰でもアクセスできるリモートリポジトリにプッシュすることで、パスワードハッシュや秘密鍵などの機密情報が漏洩する可能性があります。気をつけて使って下さい。}} {{ic|/etc/.git}} のローカルバックアップを作ることを第一歩として、etckeeper ではさらにコミットするたびに Github などのリモートリポジトリに変更を自動的にプッシュすることができます。実行可能ファイル {{ic|/etc/etckeeper/commit.d/40github-push}} を作成: #!/bin/sh set -e if [ "$VCS" = git ] && [ -d .git ]; then cd /etc/ git push origin master fi {{ic|etc/.git}} に移動してリモートの Github リポジトリを追加: # git remote add origin https://github.com/user/repo.git これで上記のラッパースクリプトやエイリアスを実行するたびに、自動的に Github リポジトリに変更がコミットされるようになります。
このページで使用されているテンプレート:
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Related articles start
(
ソースを閲覧
)
テンプレート:Man
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Related
(
ソースを閲覧
)
テンプレート:Related articles end
(
ソースを閲覧
)
テンプレート:Related articles start
(
ソースを閲覧
)
テンプレート:Warning
(
ソースを閲覧
)
Etckeeper
に戻る。
検索
検索
Etckeeperのソースを表示
話題を追加