bar_1

contents_map

ラベル 調べる の投稿を表示しています。 すべての投稿を表示
ラベル 調べる の投稿を表示しています。 すべての投稿を表示

2014年5月18日日曜日

Mac にインストールされている Command Line Tools (CLT) のバージョンを調べるには


Mac にインストールされている Command Line Tools (Command Line Developer Tools; CLT) のバージョンを調べるにはどうしたらいいだろうか?


  • pkgutil を使う方法

  • brew を使う方法

の 2 つの方法についてここでは説明しよう。




pkgutil を使う方法


パッケージ ID を指定して、pkgutil コマンドを実行する:

$ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
package-id: com.apple.pkg.CLTools_Executables
version: 5.1.0.0.1.1396320587
volume: /
location: /
install-time: 1399979620
groups: com.apple.FindSystemFiles.pkg-group com.apple.DevToolsBoth.pkg-
group com.apple.DevToolsNonRelocatableShared.pkg-group

ちなみに、バージョンの末尾の 1396320587 という値は、

$ ruby -e 'p Time.at(1396320587)'
2014-04-01 11:49:47 +0900

というふうに、日付と時刻を意味する。

詳細を知りたい場合は、pkgutil(1) (すなわち man -S 1 pkgutil を実行) を読んでみるといい。

brew を使う方法


brew --config でもいい。CLT 以外の情報を調べるのにも使える。

$ brew --config
HOMEBREW_VERSION: 0.9.5
ORIGIN: https://github.com/Homebrew/homebrew.git
HEAD: 14c59f40e95f1766f7d067287e821bd66112911e
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
CPU: dual-core 64-bit penryn
OS X: 10.9.2-x86_64
Xcode: 5.0.2
CLT: 5.1.0.0.1.1396320587
GCC-4.2: build 5666
Clang: 5.0 build 500
X11: 2.7.5 => /opt/X11
System Ruby: 1.8.7-358
Perl: /usr/bin/perl
Python: /usr/bin/python
Ruby: /Users/honyarara/.rbenv/shims/ruby

内部では pkgutil を実行しています。

最新の CLT を使っているにもかかわらず、brew のワーニング “A newer Command Line Tools release is available” が出たときはどうするか? → brew update を何回か実行すればいい。


2007年11月19日月曜日

Investigate between PID and Descriptor.

素性が悪く、ある程度の規模のシステムである場合、アプリケーション・プログラム個別の振る舞いを調べるために、下記のようなことを調べたくなることがある:
  • あるファイルやソケット使用しているプロセスは、どいつ(ら)なのか?
  • あるプロセス使用している、ファイルやソケットはどいつ(ら)なのか?


前者を調べるには、fuser(1)コマンドが利用できる。
一方、後者をlsof(1)コマンドを利用する。
これらのコマンドでは、/procファイルシステムなどカーネルに近いデータにアクセスするため、rootで実行する必要がある。
fuserは、Linux, Solarisともにデフォルトで利用できる。
lsofは、すくなくともSolarisにデフォルトで用意されてはいないようだ。ソースコードは、ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/
から入手できる[1]。移植性がよく考慮されたソースコードは、コンパイルが非常に楽だ。
[1] http://docs.sun.com/source/819-3789-10/methodology_security_toolkit.html#50597890_marker-829146