複数台のMacを管理するのにあたって、GUIのアプリのインストールとその後のアップデートを一気に行うツールがないかを探していたところ、homebrew-caskというhomebrewの拡張を見つけました。そこでこれらを自分のMacに導入した時のメモをまとめます。
準備
Xcode Command Line Toolのインストール
homebrewやhomebrew-caskを動かすためにはXcode Command Line Toolが必要なので導入しました。以下からダウンロードできます。
https://developer.apple.com/downloads/index.action
OS毎に異なるのでOSに合わせたものを導入します。
これはGUIでないとインストールできないようですが、もしコマンドラインからダウンロード&インストールの仕方をご存知の方は教えていただけると幸いです。
homebrewとhomebrew-caskをインストール
Xcode Command Line Toolが入ったので、次にhomebrewとhomebrew-caskを導入します。
なおこのページでは特に断りがない場合、行頭の%
はプロンプトを示します。実際にコマンドを入力する時はプロンプト以降を入力してください。
% ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
% brew install caskroom/cask/brew-cask
homebrew-fileをインストール
homebrewやhomebrew-caskでインストールしたパッケージを管理できるように、homebrew-fileをインストールします。これを使うことでgithubに置いたBrewfile(brew用のMakefileのようなもの)との連携も可能となります。
% brew tap rcmdnk/file
% brew install brew-file
homebrew-versionsをインストール
homebrew-caskを入れただけでは、Adobe ReaderやFirefoxなどは英語版が入ってしまいます。しかしこのhomebrew-versionをインストールしておけば、日本語版を入れることができるようになります。
% brew tap caskroom/homebrew-versions
上記作業後にインストール可能パッケージを調べると、例えばAdobe Readerの場合だと以下のように日本語版Adobe Reader(adobe-reader-ja)がインストールできます。
% brew cask search adobe-reader
==> Exact match
adobe-reader
==> Partial matches
adobe-reader-de adobe-reader-fr adobe-reader-ja adobe-reader-pt
環境設定
アカウントを追加してもインストールしたパッケージが利用できるように、パッケージを~/Applicationではなく/Applicationからのシンボリックリンクにするため、以下の設定を行いました。
% export HOMEBREW_CASK_OPTS=--appdir=/Applications
パッケージの導入
brew caskコマンドでパッケージを導入していきます。なおインストール済のパッケージをbrew caskで導入しなおす場合は、アプリケーションフォルダ内のファイルを削除してアンインストールしておくのがよさそうです。
% brew cask install [パッケージ名]
% brew cask install adobe-reader-ja
このように必要なパッケージをインストールします。
インストール後、以下の作業を行います。
github側の準備
githubのアカウントを作る
githubのアカウントを持っていなかったので、この作業にあたって作ることにしました。すでに持っている人はスキップしてください。
githubに公開鍵を登録する
githubにsshでアクセスする場合、github上に自分の公開鍵を登録する必要があります。ssh-keygen
コマンドで作成します。これもすでに実施済の方はスキップしてください。
% cd
% ssh-keygen
% cat .ssh/id_rsa.pub
githubの管理画面から、Settings→SSH keys→Add SSH keyとクリックします。
Title
欄は任意の名前、Key
欄にcat .ssh/id_rsa.pub
の内容をコピー&ペーストします。
Brewfileを入れるためのレポジトリを作る
githubのWeb画面にログインして、Brewfileを保管するためのレポジトリを作成します。今回は"hBrewfile"というレポジトリを作りました。
レポジトリの初期化を行う
レポジトリの初期化をするために以下のコマンドを実行します。
レポジトリ名はhBrewfile
としました。
% echo "# Brewfile" >> README.md
% git init
% git add README.md
% git commit -m "first commit"
% git remote add origin https://github.com/s5601026/hBrewfile.git
% git push -u origin master
空のBrewfileをgithubのBrewfileレポジトリに登録する。
下記のようにコマンドを実行します。
% brew file set_repo -r [githubのユーザ名]/[レポジトリ名]
私のgithubのユーザ名はs5601026
、レポジトリ名はhBrewfile
なので以下のようになります。
% brew file set_repo -r s5601026/hBrewfile
Brewfile編集
以下のコマンドでBrewfileを編集します。初めて実行した場合は内容が空かと思いますが、その時はそのまま終了させてください。
% brew file edit
そして内容が空の場合は、以下のコマンドを実行して現在の状態を反映させます。
% brew file init
これで準備完了です。
運用
普段の運用では以下のような作業を行います。
パッケージのアップデート
homebrewとhomebrew-caskで入れたパッケージのアップデートは以下のように行います。
% brew file update && brew file cask_upgrade -C
最新版のみ残す場合はcask_upgrade
の後に-C
をつけます。
なお、古いバージョンも残す場合は以下のコマンドを利用します。
% brew cask update
パッケージのアンインストール方法
以下のコマンドでパッケージのアンインストールができます。また、brew file edit
を実行して、アンインストールしたパッケージの記載を削除します。
% brew cask uninstall [パッケージ名]
% brew file edit
homebrew-caskでインストールできる導入済パッケージの一覧作成
以下のコマンドで、すでにGUIでインストールして導入済だがhomebrew-caskでインストール可能なパッケージの一覧がわかります。
% brew file casklist
結果は~/Caskfileに記載されるので、lessコマンドなどを使って中身を見ましょう。
% less ~/Caskfile
感想
homebrew-caskもhomebrew-fileも、とても使いやすくてイイですね!私は元々FreeBSDやCentOS等のUNIX系OSを触っていたので、MacOSも(ある程度)それと同じような感覚で管理できるのはすばらしいと思いました。
謝辞
実施にあたってはhomebrew-caskだけでは実現が結構面倒だったと思われますが、homebrew-fileのおかげで少ない労力で実現しました。homebrew-fileを作成されたrcmdnkさんに感謝いたします。
参考資料
http://joker.hatenablog.com/entry/2014/11/09/014607
http://joker.hatenablog.com/entry/2015/01/28/123159
http://rcmdnk.github.io/blog/2014/08/26/computer-mac-homebrew/
http://rcmdnk.github.io/blog/2014/09/01/computer-mac-homebrew/
http://brew.sh/index_ja.html
http://www.task-notes.com/entry/20150316/1426474800
http://qiita.com/yaotti/items/a8e9f5de8dcca81d3214