LoginSignup
2
0

brew用の管理者を別IDで設定することの得失

Last updated at Posted at 2018-02-27

複数人で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の応用ソフト導入の便利な道具です。

  1. brew install appli

$ brew install gcc
  1. 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.
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0