So-net無料ブログ作成

macOS Homebrew(2017/05/01) [macOS]

macOSを日々いろいろメンテナンスしている上で、一つの疑問に行き当たりました。私の使っているモデルは2013年モデルで主ストレージがSSDとなっていますが、SSDの寿命は大丈夫なのかと。Windowsだとこの辺のS.M.A.R.T情報は手軽に確認できるのですが、macOSだとそうもいかないようです。

ちょっと調べてみたところ、確認できる方法が軒並み有料ソフトウェアとなっていました。そこまでする必要ないんだけどなーといった感じです。立派なGUIやおまけ機能なんていらないので、本当にただ単にS.M.A.R.T情報が確認できれば良いのです。

あ、そうそう。
いつの間にか公式のMac OS X表記が、macOS表記に変わってますね。ここもその表記に合わせて変更しています。

話題を戻しますが、macOSだとOnyX(https://www.titanium-software.fr/en/)というソフトウェアで確認できるようです。実際にインストールしてみましたが、ダメでした。OnyXはmacOSのバージョンに合わせてインストールバイナリが用意されているので、10.12 Sierra用を導入してみたのですが、Webで解説されている画面と表示が違うのです。あるはずのS.M.A.R.Tボタンがどこにもないのです。バージョンの遷移によってなくなってしまった機能なのでしょうか。
20170501_macOS.png

困っていたところ、brewからsmartmontoolsをインストールするというWebページを見付けました(https://www.bulblub.com/2014/05/09/mac_smartmontools/)。smartmontoolsはFreeBSDでもお世話になっているほど、Unix系ではメジャーなツールです。それが本当に使えれば大変ありがたいです。

シェルでコマンドbrew install smartmontoolsを入力することでインストールできるとありますが、そもそもbrewと呼ばれるソフトウェア自体が入っていません。brewと言うとauのガラケー時代のミドルウェアを思い出しますが、そうではなくてこっちのことのようです。Webにインストール手順(スクリプト?)が1行記載されているので、その通りにします。
https://brew.sh/index_ja.html
MacBookAir:~ root$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
==> This script will install:
/usr/local/bin/brew
/usr/local/share/doc/homebrew
/usr/local/share/man/man1/brew.1
/usr/local/share/zsh/site-functions/_brew
/usr/local/etc/bash_completion.d/brew
/usr/local/Homebrew
==> The following new directories will be created:
/usr/local/Cellar
/usr/local/Homebrew
/usr/local/Frameworks
/usr/local/bin
/usr/local/etc
/usr/local/include
/usr/local/lib
/usr/local/opt
/usr/local/sbin
/usr/local/share
/usr/local/share/zsh
/usr/local/share/zsh/site-functions
/usr/local/var

Press RETURN to continue or any other key to abort
==> /usr/bin/sudo /bin/mkdir -p /usr/local/Cellar /usr/local/Homebrew /usr/local/Frameworks /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/opt /usr/local/sbin /usr/local/share /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var
Password:
Sorry, try again.
Password:
Sorry, try again.
Password:
==> /usr/bin/sudo /bin/chmod g+rwx /usr/local/Cellar /usr/local/Homebrew /usr/local/Frameworks /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/opt /usr/local/sbin /usr/local/share /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var
==> /usr/bin/sudo /bin/chmod 755 /usr/local/share/zsh /usr/local/share/zsh/site-functions
==> /usr/bin/sudo /usr/sbin/chown root /usr/local/Cellar /usr/local/Homebrew /usr/local/Frameworks /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/opt /usr/local/sbin /usr/local/share /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var
==> /usr/bin/sudo /usr/bin/chgrp admin /usr/local/Cellar /usr/local/Homebrew /usr/local/Frameworks /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/opt /usr/local/sbin /usr/local/share /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var
==> /usr/bin/sudo /bin/mkdir -p /Users/root/Library/Caches/Homebrew
==> /usr/bin/sudo /bin/chmod g+rwx /Users/root/Library/Caches/Homebrew
==> /usr/bin/sudo /usr/sbin/chown root /Users/root/Library/Caches/Homebrew
==> /usr/bin/sudo /bin/mkdir -p /Library/Caches/Homebrew
==> /usr/bin/sudo /bin/chmod g+rwx /Library/Caches/Homebrew
==> /usr/bin/sudo /usr/sbin/chown root /Library/Caches/Homebrew
==> Searching online for the Command Line Tools
==> /usr/bin/sudo /usr/bin/touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress

==> Installing Command Line Tools (macOS Sierra version 10.12) for Xcode-8.3
==> /usr/bin/sudo /usr/sbin/softwareupdate -i Command\ Line\ Tools\ (macOS\ Sierra\ version\ 10.12)\ for\ Xcode-8.3
Software Update Tool


Downloading Command Line Tools (macOS Sierra version 10.12) for Xcode
Downloaded Command Line Tools (macOS Sierra version 10.12) for Xcode
Installing Command Line Tools (macOS Sierra version 10.12) for Xcode
Done with Command Line Tools (macOS Sierra version 10.12) for Xcode
Done.
==> /usr/bin/sudo /bin/rm -f /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
==> /usr/bin/sudo /usr/bin/xcode-select --switch /Library/Developer/CommandLineTools
==> Downloading and installing Homebrew...
remote: Counting objects: 5918, done.
remote: Compressing objects: 100% (3654/3654), done.
remote: Total 5918 (delta 3323), reused 3923 (delta 2078), pack-reused 0
Receiving objects: 100% (5918/5918), 3.43 MiB | 373.00 KiB/s, done.
Resolving deltas: 100% (3323/3323), done.
From https://github.com/Homebrew/brew
 * [new branch]      master     -> origin/master
 * [new tag]         0.1        -> 0.1
 * [new tag]         0.2        -> 0.2
 * [new tag]         0.3        -> 0.3
 * [new tag]         0.4        -> 0.4
 * [new tag]         0.5        -> 0.5
 * [new tag]         0.6        -> 0.6
 * [new tag]         0.7        -> 0.7
 * [new tag]         0.7.1      -> 0.7.1
 * [new tag]         0.8        -> 0.8
 * [new tag]         0.8.1      -> 0.8.1
 * [new tag]         0.9        -> 0.9
 * [new tag]         0.9.1      -> 0.9.1
 * [new tag]         0.9.2      -> 0.9.2
 * [new tag]         0.9.3      -> 0.9.3
 * [new tag]         0.9.4      -> 0.9.4
 * [new tag]         0.9.5      -> 0.9.5
 * [new tag]         0.9.8      -> 0.9.8
 * [new tag]         0.9.9      -> 0.9.9
 * [new tag]         1.0.0      -> 1.0.0
 * [new tag]         1.0.1      -> 1.0.1
 * [new tag]         1.0.2      -> 1.0.2
 * [new tag]         1.0.3      -> 1.0.3
 * [new tag]         1.0.4      -> 1.0.4
 * [new tag]         1.0.5      -> 1.0.5
 * [new tag]         1.0.6      -> 1.0.6
 * [new tag]         1.0.7      -> 1.0.7
 * [new tag]         1.0.8      -> 1.0.8
 * [new tag]         1.0.9      -> 1.0.9
 * [new tag]         1.1.0      -> 1.1.0
 * [new tag]         1.1.1      -> 1.1.1
 * [new tag]         1.1.10     -> 1.1.10
 * [new tag]         1.1.11     -> 1.1.11
 * [new tag]         1.1.12     -> 1.1.12
 * [new tag]         1.1.13     -> 1.1.13
 * [new tag]         1.1.2      -> 1.1.2
 * [new tag]         1.1.3      -> 1.1.3
 * [new tag]         1.1.4      -> 1.1.4
 * [new tag]         1.1.5      -> 1.1.5
 * [new tag]         1.1.6      -> 1.1.6
 * [new tag]         1.1.7      -> 1.1.7
 * [new tag]         1.1.8      -> 1.1.8
 * [new tag]         1.1.9      -> 1.1.9
HEAD is now at 0c9047a Merge pull request #2562 from DomT4/you_shall_not_pass_go_get
==> Tapping homebrew/core
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core'...
remote: Counting objects: 4393, done.
remote: Compressing objects: 100% (4198/4198), done.
remote: Total 4393 (delta 37), reused 459 (delta 15), pack-reused 0
Receiving objects: 100% (4393/4393), 3.51 MiB | 1.29 MiB/s, done.
Resolving deltas: 100% (37/37), done.
Tapped 4198 formulae (4,434 files, 11MB)
==> Cleaning up /Library/Caches/Homebrew...
==> Migrating /Library/Caches/Homebrew to /Users/root/Library/Caches/Homebrew...
==> Deleting /Library/Caches/Homebrew...
Already up-to-date.
==> Installation successful!

==> Homebrew has enabled anonymous aggregate user behaviour analytics.
Read the analytics documentation (and how to opt-out) here:
  http://docs.brew.sh/Analytics.html

==> Next steps:
- Run `brew help` to get started
- Further documentation: 
    http://docs.brew.sh

簡単に言うと、FreeBSD pkgっぽい動きをするようですね。smartmontools以外にも色々と役に立ちそうなソフトウェアがあるかもしれません。brewのベースさえインストールできれば、brew install smartmontoolsでインストールできました。
MacBookAir:~ root$ brew install smartmontools
==> Downloading https://homebrew.bintray.com/bottles/smartmontools-6.5.sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring smartmontools-6.5.sierra.bottle.tar.gz
/usr/local/Cellar/smartmontools/6.5: 31 files, 1.7MB

さっそく使ってみました。
MacBookAir:~ root$ smartctl -a /dev/disk0
....
SMART Attributes Data Structure revision number: 40
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x001a   200   200   000    Old_age   Always       -       0
  5 Reallocated_Sector_Ct   0x0033   100   100   000    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   099   099   000    Old_age   Always       -       1218
 12 Power_Cycle_Count       0x0032   076   076   000    Old_age   Always       -       23852
169 Unknown_Attribute       0x0013   253   253   010    Pre-fail  Always       -       1172698040192
173 Wear_Leveling_Count     0x0032   193   193   100    Old_age   Always       -       146044289166
174 Host_Reads_MiB          0x0022   099   099   000    Old_age   Always       -       3562337
175 Host_Writes_MiB         0x0022   099   099   000    Old_age   Always       -       2240010
192 Power-Off_Retract_Count 0x0012   099   099   000    Old_age   Always       -       57
194 Temperature_Celsius     0x0022   051   051   000    Old_age   Always       -       49 (Min/Max 8/64)
197 Current_Pending_Sector  0x0022   100   100   000    Old_age   Always       -       0
199 UDMA_CRC_Error_Count    0x001a   200   200   000    Old_age   Always       -       0
240 Unknown_SSD_Attribute   0x0022   100   100   000    Old_age   Always       -       0

とりあえず致命的な問題はなさそうですね。

nice!(0)  コメント(0) 
共通テーマ:日記・雑感

MacBook Air(homeディレクトリNFS化)その4 (2013/10/30) [macOS]

結論として、homeディレクトリNFS化(SMB化も含む)はやはり失敗ですねぇ。以下の症状が治まりません。(バージョン10.9バージョンアップ前での結論です)
・アプリのアップデートがうまくいかずプロセスがフリーズする → Skype
・アプリが起動しない、あるいは終了しない(プロセスがフリーズする) → Firefox、Skype
・アプリの動作が遅い、もっさりする → 全般的になんとなく
・zipファイルの展開が異様に遅い、また出力に失敗する
・ログインした状態でサスペンドすると、復帰時に制御不能になる

というわけで、結論はダメということで。せっかくのUnix系OSなのだから、この辺はぜひとも実現できるようにして頂きたいですね。

タグ:Mac OS X
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

MacBook Air(homeディレクトリNFS化)その3 (2013/8/11) [macOS]

前回のhomeディレクトリNFS化も失敗でした。ATOK(ATOK Passport)のインストール後、ATOK Syncによる辞書の同期で必ず失敗します。まぁ、画面上は失敗したとしか表示されないので、解析するためにパケットキャプチャしてみました。
…と、それが原因で失敗しているのかは判断できませんが、とりあえずPermission関係で失敗しているログは確認できました。
・Error:NFS3ERR_NOENT
・Access Denied: LU DL XE, Allowed: RD MD XT
UIDをを揃えてみたりいろいろやってみましたが、全くのダメ。実行権限(0x20 EXECUTE)についてDeniedとなっているので、マウントオプションにexecを付けてみましたがダメ。ってか、manで確認するとnoexecオプションはあってもexecオプションがないような。ぇー本当なの??
一応、NFSv4も試してみました。オプションはちゃんと設定したつもりでしたが、なぜかめちゃめちゃスローリー。マウントしてlsを打つと5秒ぐらい待たされます。やはりこれもダメ。

というわけで、なんとなくhomeディレクトリNFS化は無理なようです。と! NFSがダメなら、SMBでマウントすることにしました。
MacBookAir:~ tarou$ cat /etc/auto_master
# add 2013/08/11
/Users/smb		auto_smb

MacBookAir:~ taro$ cat /etc/auto_smb 
taro	-fstype=smbfs,soft	://taro:taro@192.168.1.100/taro

あとは他ユーザでログインし、taro配下のディレクトリ構造を書き換えます。(ログインしている状態だと変更できないため)
MacBookAir:~ hanako$ su - taro
MacBookAir:~ taro$
MacBookAir:~ taro$ cd /Users/taro
MacBookAir:~ taro$ rm -rf *
MacBookAir:~ taro$ ln -sf Library /Users/smb/taro/Library
MacBookAir:~ taro$ ln -sf Public /Users/smb/taro/Public
MacBookAir:~ taro$ ln -sf Music /Users/smb/taro/Music
…(繰り返す)
これだとATOK Syncが動きました。またしばらく様子見です。
タグ:Mac OS X
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

MacBook Air(homeディレクトリNFS化)その2 (2013/7/28) [macOS]

前回のhomeディレクトリNFS化は失敗ですね。/User/tarou直下に書き込みできません。Dropboxインストール時に失敗して判明しました。でもauto_masterの今の構成だと、書き込みできないんですよねぇ。
NFSの構成を変えてみることにしました。マウント先を/Users/tarou/nfsにします。

これも失敗(2013/8/11)
MacBookAir:~ tarou$ cat /etc/auto_master 
#
# Automounter master map
#
+auto_master		# Use directory service
/net			-hosts		-nobrowse,hidefromfinder,nosuid
/home			auto_home	-nobrowse,hidefromfinder
/Network/Servers	-fstab
/-			-static

# add 2013/07/28
/Users/tarou/nfs		auto_nfs
MacBookAir:~ tarou$ cat /etc/auto_nfs 
Desktop		-fstype=nfs,soft,intr,nfsv3,nfc	192.168.100.6:/home/nfs/tarou/Desktop
Downloads	-fstype=nfs,soft,intr,nfsv3,nfc	192.168.100.6:/home/nfs/tarou/Downloads
Documents	-fstype=nfs,soft,intr,nfsv3,nfc	192.168.100.6:/home/nfs/tarou/Documents
Library		-fstype=nfs,soft,intr,nfsv3,nfc	192.168.100.6:/home/nfs/tarou/Library
Movies		-fstype=nfs,soft,intr,nfsv3,nfc	192.168.100.6:/home/nfs/tarou/Movies
Music		-fstype=nfs,soft,intr,nfsv3,nfc	192.168.100.6:/home/nfs/tarou/Music
Pictures		-fstype=nfs,soft,intr,nfsv3,nfc	192.168.100.6:/home/nfs/tarou/Pictures
Public		-fstype=nfs,soft,intr,nfsv3,nfc	192.168.100.6:/home/nfs/tarou/Public

もちろんこのままではちゃんとマウントされないので、ちょっとした小細工を加えます。
1. tarouアカウントを作成する(一度、tarouでログオンしてログアウトして下さい。念のため)
2. 管理者アカウントでログイン
3. ターミナルを立ち上げ、> sudo rm -rf /Users/tarou/Desktop (で、全部消す)
4. > su - tarou
5. > cd /Users/tarou
6. > ln -sf nfs/Desktop Desktop (で、全部作る)
ちゃんとログインできて、Dropboxもインストールできました。という訳でこれでしばらく様子見です。
タグ:Mac OS X
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

MacBook Air(homeディレクトリNFS化)その1 (2013/7/21) [macOS]

MacBook Air買いました。人生で初めてのMacです。でも使いこなせてません(笑)
カーネルがBSD由来ってのはいいですね。しかもMac OS X自体が、非常にうまい具合にUnixと融和しています。今のところ一番よく使うアプリがターミナルです。

Unixなんだったら、ということでやってみました。ホームディレクトリのNFS化。とりあえずざっとこんな感じです。
※2013/7/28 これは駄目でした。
MacBookAir:~ tarou$ cat /etc/auto_master 
#
# Automounter master map
#
+auto_master		# Use directory service
/net			-hosts		-nobrowse,hidefromfinder,nosuid
/home			auto_home	-nobrowse,hidefromfinder
/Network/Servers	-fstab
/-			-static

# add 2013/07/20
/Users/tarou		auto_nfs
MacBookAir:~ tarou$ cat /etc/auto_nfs 
Desktop		-fstype=nfs,soft,nfsv3,nfc	192.168.100.6:/home/nfs/tarou/Desktop
Downloads	-fstype=nfs,soft,nfsv3,nfc	192.168.100.6:/home/nfs/tarou/Downloads
Documents	-fstype=nfs,soft,nfsv3,nfc	192.168.100.6:/home/nfs/tarou/Documents
Library		-fstype=nfs,soft,nfsv3,nfc	192.168.100.6:/home/nfs/tarou/Library
Movies		-fstype=nfs,soft,nfsv3,nfc	192.168.100.6:/home/nfs/tarou/Movies
Music		-fstype=nfs,soft,nfsv3,nfc	192.168.100.6:/home/nfs/tarou/Music
Pictures	-fstype=nfs,soft,nfsv3,nfc	192.168.100.6:/home/nfs/tarou/Pictures
Public		-fstype=nfs,soft,nfsv3,nfc	192.168.100.6:/home/nfs/tarou/Public

普通にできてしまいました。とりあえず気をつける点をいくつか。
・NFS化はそれ専用のアカウントを作る。私はrootアカウントをNFS化しようとし、失敗して痛い目を見ました。(失敗したときのため。失敗すると何もできなくなります!)
・マウントオプションにnfcを付ける。Unicodeには違いないですが、WindowsやBSDと互換性がないのでおかしなことになります(なるらしい)
・ネットワーク断に要注意。省エネのサスペンドもそうでが、ネットワークが切れると強制終了する羽目になります(Waitアイコンが回り続ける)
・ログイン/ログアウトに時間が掛かるようになる。(ネットワークに接続しにいこうとしているから?)
とりあえず問題なく使えています。(そもそもNFS化しようと思ったのが、ディスクがSSDになったからなんですけどね)
タグ:Mac OS X NFS
nice!(0)  コメント(0) 
共通テーマ:日記・雑感