Linux系をよく触っていると頻繁に/etc配下のファイルを編集することになるよね。
そういった/etc配下をgitでバージョン管理しようってのが、"etckeeper"というツールなんだけど、
ちょっとした設定でGitHubにアップロードすることができるそうな。
というわけで、早速手持ちのRaspberryPi4にetckeeperをインストール、GitHubへアップロードをやってみた。
GitHubにリポジトリ作成
既にGitHubのアカウントを持っている前提で。
GitHubの自分のアカウントページにアクセスして、
画面右上の+ボタンから「New repository」をクリックする。
専用のリポジトリを作成する。
適当にリポジトリ名を入力して、「Private」(非公開)でOK。
SSH鍵の生成とGitHubに登録
サーバからGitHubへはSSHでアクセスすることになる。
なので、SSH鍵を生成し、GitHubに登録する必要がある。
※登録手順はこちらも参照。
鍵を生成する場合はRaspberryPiで以下のコマンドを実行。
sudo su mkdir ~/.ssh cd ~/.ssh ssh-keygen -t rsa -b 4096 chmod 600 id_rsa ir_rsa.pub cat id_rsa.pub
id_rsa.pubの内容をコピーする。
次にGitHubの自分のプロファイル設定ページにアクセスする。
左側の「SSH and GPG keys」をクリックして、
「New SSH key」をクリックする。
Titleに適当な名前、
Keyにコピーした内容をペーストして、「Add SSH key」で登録。
あとは~/.ssh/configに以下を追記する。
cat ~/.ssh/config Host github github.com HostName github.com IdentityFile ~/.ssh/id_rsa User git
確認ということでsshコマンドでGitHubにアクセスできればOK。もちろんユーザーはrootユーザー。
ssh -T github Hi pipiron! You've successfully authenticated, but GitHub does not provide shell access.
etckeeperインストール
次にetckeeperをインストールする。
あ、EPELリポジトリを登録してる前提なので、EPEL登録してなかったら登録してくださいw
gitコマンドもインストール済みという前提なので、gitもなければgitもインストール。
sudo apt install etckeeper
etckeeper設定
設定。
まずは初期化。
/etc配下のファイルを触るので、rootユーザーにsuしたほうが楽かも。
sudo su etckeeper init cat /etc/etckeeper/etckeeper.conf
etckeeper.confを編集する。
まずは以下の通りになっていることを確認する。
VCS="git"
そのまま一番最後の行に以下を書く。
PUSH_REMOTEが空欄になっているはずなので、"origin"を追記する。
PUSH_REMOTE="origin"
リモートリポジトリ登録
gitコマンドでpushできるようにリモートリポジトリを登録する。
xxxx=GitHubユーザー名
hogehoge=作成したリポジトリ名
と読み替えてください。
git remote add origin git@github.com:xxxx/hogehoge.git
あとは以下のコマンドを実行してGitHubにアップロードされる。
git push -u origin master Warning: Permanently added the ECDSA host key for IP address '13.114.40.48' to the list of known hosts. Enumerating objects: 1471, done. Counting objects: 100% (1471/1471), done. Delta compression using up to 4 threads Compressing objects: 100% (955/955), done. Writing objects: 100% (1471/1471), 1.88 MiB | 1.54 MiB/s, done. Total 1471 (delta 87), reused 0 (delta 0) remote: Resolving deltas: 100% (87/87), done. To github.com:pipiron/etckeeper.git * [new branch] master -> master Branch 'master' set up to track remote branch 'master' from 'origin'.
んで、GitHub上になんかできてたらOK。
毎日実行するための設定
/etc/etckeeper/dailyを編集して、日時でgit pushするようにする。
etckeeper commit "daily autocommit" >/dev/null
と、なっているところを以下に変える。(1行追加)
etckeeper commit "daily autocommit" >/dev/null git push -u origin master
以上!終わり。
GitHubは全く使わないので、使い方とかよくわからん・・・w
また暇があったら勉強してみようかな〜。
というか、Raspberry Piのバックアップなら、
その都度SDの中身を丸々バックアップすればいいかと。
0 件のコメント:
コメントを投稿