実践しているLinux環境設定の管理方法

今回は使用している各PC、サーバでLinuxの環境設定をどのように管理、同期しているか紹介します。

環境設定の管理方法

Linuxにおけるユーザ毎の環境設定ファイルはホームディレクトリに隠しファイルとして配置されています。
通常これらはテキストファイルとなっているため、Gitなどを使用して簡単に管理する事ができます。

GitHubを利用した設定ファイルの管理

今回実際に行っているGitHubを利用した設定ファイルの管理、同期方法を紹介します。

GitHubでリポジトリを作成

まずGitHubでリポジトリを作成します、使った事のある方は読み飛ばしてください。

GitHubを使用した事がない方は、まずアカウント作成から始めてください。
リポジトリの作成は、ログインを行った後以下の方法で行います。

  1. 右上の【➕】から【New Repository】をクリックします
  2. 【Repository name】にわかりやすい名前(今回は linux_environments と指定)を入力します
  3. 設定ファイルを公開したくない方は 【Private】、公開しても良い方は 【Public】にチェックを入れます
  4. 入力が完了したら 【Create repository】をクリックして完了です

ローカルにリポジトリを複製

GitHubではGitというツールを使用してファイルを管理します。
Gitについて知りたい方は公式ページを参照してください。

今の環境設定をリポジトリと同期するために、まずローカルにリポジトリを複製します。
複製する際に、 {user_name} にGitHubのアカウント名を入力します。
( linux_environments の部分は Repository name で入力した名前に変更してください)

cd ~/
git clone https://{user_name}@github.com/{user_name}/linux_environments.git

管理する設定ファイルをコピー

管理対象とする設定ファイルをリポジトリ内にコピーします。
今回の説明では以下のファイルを対象としますが、必要に応じて管理するファイルを変更してください。

  • .bashrc
    shell起動時に一度実行されるファイル
    環境変数の設定に使用される
  • .vimrc
    vimに関する設定が書き込まれたファイル
  • .tmux.conf
    tmuxに関する設定が書き込まれたファイル
cd linux_environments
cp ~/.bashrc ./
cp ~/.vimrc ./
cp ~/.tmux.conf ./

コピーした設定ファイルをGitHubにアップロード

コピーした設定ファイルをGitHubにアップロードします。
git add の後には先程コピーしたファイル名を入力します。

git add .bashrc .vimrc .tmux.conf
git commit -m "Initial commit"
git push origin master

同期する別環境で設定ファイルをダウンロード

同期させる別環境で設定ファイルを複製し、反映します。

cd ~/
git clone https://{user_name}@github.com/{user_name}/linux_environments.git
cd linux_environments
cp .bashrc ~/
cp .vimrc ~/
cp .tmux.conf ~/

複製し、ホームディレクトリへ反映後ターミナルを再起動すれば完了です。

設定ファイルの変更と同期

設定ファイルを変更した場合、各環境に同期する必要があります。
今回は .bashrc を変更したものとして説明します。

設定変更した環境

設定変更したファイルをローカルのリポジトリへコピーし、GitHubへアップロードします。

cd linux_environemnts
cp ~/.bashrc ./
git add .bashrc
git commit -m "Change .bashrc"
git push origin master
設定を反映させる環境

変更されたファイルを各環境へ反映させます。
この作業は作業するサーバへログインした際に実施しています。

.bashrc にローカルリポジトリを更新し、ホームディレクトリへ反映させるスクリプトを書いておけば自動的に同期させる事も可能です

cd linux_environments
git pull origin master
cp .bashrc ~/ # ここをすべてのファイルを対象にし ".bashrc" に書き込めば自動的に同期可能です

後書き

今回は実際に行っているLinux環境の設定ファイルをどのように管理しているか紹介しました。
今後機会があれば実際に使用している環境の設定を一部公開しようと思います。