複数人で1台のMacintoshを利用する場合、IDを分けて導入するソフトを決める場合があります。
何台、何十台のMacintoshを管理する場合に、どの機器に何を入れるかの管理を分担することがあります。
<この項は書きかけです。順次追記します。>
Homebrew(自家醸造)
複数人、複数台のどちらの場合も、とても強力な道具がHomebrew(自家醸造)です。
Homebrewは、brew(醸造)というコマンドを使い、導入するソフトウェア間の整合性を図るものです。
brew自体の導入
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew 自体はrubyで記述しています。導入もrubyです。macOS にはrubyが導入されています。ネットが繋がっていれば、上記命令を実行してbrewを導入しましょう。
brew install
brew installで導入するのは、主にコマンドとして利用できるソフトです。
該当するソフトに必要な道具、ライブラリを同時に導入します。
また道具、ライブラリの版が古いものであれば、新しいものを導入します。
brew cask install
brew cask installで導入するのは、主にアプリケーションフォルダにアイコンを生成し、アイコンをクリックすれば起動するソフトです。
ソフト導入ソフト brew
brewはmacosの応用ソフト導入の便利な道具です。
- brew install appli
例
$ brew install gcc
- brew cask install os-appli
例
$ brew cask install java
コンパイラ、コマンドラインツール
コンパイル済みのものがうまく入らない場合には、コンパイルするため、X-code及び道具類が必要となる
Apple StoreでXcode検索。AppleのWebで検索すると。
https://itunes.apple.com/us/app/xcode/id497799835?mt=12&ign-mpt=uo=2
「view in Apple Store」
Xcodeが入ったら、次のコマンドを事項して道具類を整備する。
xcode-select --install
brew管理者用ID
システム管理者権限は与えないが、アプリ導入権限を与えたいという時に、brew管理者用 IDを設けることがあります。brew_managerという名前だとします。
$ su brew_manager
$ password:xxxxxxxx
$ brew update
得
権限の細分化で作業分担ができる。
関連するシステムの更新が円滑に実施できる。
brewの機能の専門家を養成できる。
失・課題
順次記録中です。
1 brew管理者のID, Passowordを忘れる
毎日使うIDでないと、ついついbrew管理者のID, passwordを忘れる。
IDは
$ ls -al /usr/local/Cellar
total 0
drwxrwxr-x 92 brew_manager admin 3128 2 27 09:50 .
drwxrwxr-x 20 administrator brew 680 10 17 18:58 ..
drwxr-xr-x 3 brew_manager admin 102 9 28 10:39 ant
drwxr-xr-x 5 brew_manager admin 170 11 9 11:06 apr
drwxr-xr-x 5 brew_manager admin 170 11 9 11:06 apr-util
...
とすれば分かる。
2. 慌ててsudoで処理
* snip *
tar: Error exit delayed from previous errors.
Error: Failure while executing: tar xzf /Users/brew_manager/Library/Caches/Homebrew/openssl-1.0.2n.sierra.bottle.tar.gz
Warning: Bottle installation failed: building from source.
==> Downloading https://www.openssl.org/source/openssl-1.0.2n.tar.gz
Already downloaded: /Users/brew_manager/Library/Caches/Homebrew/openssl-1.0.2n.tar.gz
Error: Permission denied @ dir_s_mkdir - /usr/local/Cellar/openssl/1.0.2n
こんな時、調べてみるとadministratorの所有のフォルダ、ファイルができている。
元に戻すには、brew_manager以外のファイル・フォルダができているフォルダに移動し
$ sudo chown brew_manger *
##3. その他困った時
まず
$ brew update
次に
$ brew upgrade
``
そして
$ brew doctor
または
$ brew cleanup
問題があった時には、報告するように要請が出ることがある。
機密事項を含んでいなければ、積極的にご協力ください。
https://github.com/Homebrew/brew/blob/master/docs/Troubleshooting.md
# 現時点でのまとめ
## 台数と人数
### 人数
同じ機材を何人以上で使うか。二人で使うときから、brewは便利です。一人で使うときでも、頼りにしています。
### 台数
機材を何台管理するか。二台で使うときから、いえ一台だけでも便利です。
一台を一人で使っていても、複数のアプリが、別々の版の同じソフトウェアが必要な場合には工夫が要ります。
21台の機材を、研修用に同じ状態に保ちたいのは至難の技。
## 複数の版
python、tcl/tkのようなスクリプト言語では、版によって機能が違うと、複数の版が必要になることがあります。
brew installでソフトが入ったからといってすぐに有効になるとは限りません。
brew install tcl-tk
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/tcl-tk-8.6.8.sierra.bottle.
######################################################################## 100.0%
==> Pouring tcl-tk-8.6.8.sierra.bottle.tar.gz
==> Caveats
This formula is keg-only, which means it was not symlinked into /usr/local,
because tk installs some X11 headers and macOS provides an (older) Tcl/Tk.
If you need to have this software first in your PATH run:
echo 'export PATH="/usr/local/opt/tcl-tk/bin:$PATH"' >> ~/.bash_profile
echoコマンドと、
$ source ~/.bash_profile
をしないと有効になりません。
Macintoshでtcl/tk そのままでも動くのに罠5つに嵌った
https://qiita.com/kaizen_nagoya/items/0bebb8e5a757a7d1b9f2
##使い方
研修のコースごとにIDを振り、他のコースの影響を受けないようにしている。
それぞれに管理の仕方が違うが、brewで導入できるものはbrewで導入することに統一したい。
それぞれのコースの管理者が、システムの管理者とは限らない。
# 参考資料
## 基礎
homebrewとは何者か。仕組みについて調べてみた
https://qiita.com/omega999/items/6f65217b81ad3fffe7e6
##いろんなソフトを入れてみた
Macintosh OS XにEclipseを導入する(5つの壁+1)
https://qiita.com/kaizen_nagoya/items/b17f03db00aceee41a80
MacintoshにWiresharkを導入する5つの壁
https://qiita.com/kaizen_nagoya/items/69eb2d357a125f5368e1
MacintoshにLaTeXを導入する7つの利点と導入方法
https://qiita.com/kaizen_nagoya/items/75be26d34a7432d5700b
Macintoshでtcl/tk そのままでも動くのに罠5つに嵌った
https://qiita.com/kaizen_nagoya/items/0bebb8e5a757a7d1b9f2
MacintoshでCoqide
https://qiita.com/kaizen_nagoya/items/0314ca15130bdfa9dce2
R(データマイニング入門) Raspbian(Raspberry PI),Mac OSX, docker/ubuntu 6段階。データ取得・導入・起動・実行・描画・一括実行。
https://qiita.com/kaizen_nagoya/items/e8417310129c2425af59
大川知、鈴木大郎 著「コンパイラ 言語処理系の基礎からyacc/lexまで」近代科学社(2008)のソースをMacintoshで実行(java版)
https://qiita.com/kaizen_nagoya/items/1606e97b7f10bf8fe519
brewインストールパッケージメモ
https://qiita.com/ichiro-arai/items/03c9a44cf0862b285420
##不具合対策
MacにHomebrewをインストールする手順とWarningの解決方法
https://qiita.com/unsoluble_sugar/items/6ac1848ba1933ac05c76
brewで管理しているソフトウェアで何かあった時のトラブルシューティングメモ
https://qiita.com/sayama0402/items/d206d5458a3bf6e55140
brew update実行時に、tapエラーがでるときの対処方法
https://qiita.com/saicologic/items/c90a2d79105275b2f2dd
brew update実行時に、Permission deniedになる場合の対処方法
https://qiita.com/saicologic/items/0673f9c8e918312232d8
brew upgrade で Error: Calling Formula.md5 is disabled! 出た時の対処
https://qiita.com/masahixixi/items/2e7e7c1058baa4b5e75c
brewコマンドを実行するとbad interpreterと言われる問題の解決方法
https://qiita.com/pugiemonn/items/b3073855911ba88c0f10
brew update で to_sym エラーが出た時の対処方法
https://qiita.com/hshimo/items/e2ea3c21d8b150e3a055
brew updateがNo such file or directoryで失敗したとき
https://qiita.com/justin999/items/f09c77a17427dbb454ef
Fix brew update error
https://qiita.com/liubin/items/b9f27e75d6a49cc73f2f
まず、brew update; brew upgrade; brew doctorをして欲しい。
goreleaserでHomebrewのFormulaを自動生成する
https://qiita.com/knqyf263/items/53dd0d0916afc5472281
<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>
# 文書履歴
ver 1.00 初稿 20180227
ver 1.01 参考文献追記 20180304
ver 1.02 参考文献追記 20180325
### 最後までおよみいただきありがとうございました。
いいね 💚、フォローをお願いします。
#### Thank you very much for reading to the last sentence.
Please press the like icon 💚 and follow me for your happy life.