:::: MENU ::::
Browsing posts in: Mac

コマンドラインで Macのバージョン確認

普通にMacを目の前にして、GUIにてMacのバージョンを確認するには、アップルメニューから「このMacについて」を選択するだけですけど、SSHで遠隔ログインしている時に、あれ?バージョン確認ってどうやるんだろうと思ったのでメモ。

ターミナルから、sw_versと打つだけ。

$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.9.5
BuildVersion: 13F34

/System/Library/CoreServices/SystemVersion.plistを読んで表示しているよう。


Mac OS X でネットワークの優先順

iMacを使ってて、素朴な疑問!

UTPケーブルで有線接続して、WiFiで無線接続している場合、時にはVPN接続する場合、ネット接続ではどちらが優先されるんだろう?とふと考えてしまいました。

答えは、アップルの公式ページに書いてありました。
http://support.apple.com/kb/PH7119?viewlocale=ja_JP&locale=ja_JP

  1. アップルメニュー>「システム環境設定」と選択し、「ネットワーク」をクリックします。
  2. 「アクション」ポップアップメニュー(歯車のアイコン)から「サービスの順序を設定」を選択します。
  3. 「Ethernet」などのサービスをリストの一番上にドラッグします。
  4. 「OK」をクリックしてから「適用」をクリックして、新しい設定を有効にします。

リスト上位から優先され、VPN接続する場合は、上位に持っていく必要がないとの事で、疑問が解決してスッキリです。


cpコマンドで複数のファイルを一括でシムリンク

Linux/Macなどでシンボリックシンク(シムリンク)を張る際に、通常だと”ln -s file1 files2″みたいに行います。
しかし、複数のシムリンクを作成する際に、lnではワイルドカードが使えないので、一つ一つでの作業となり面倒です。

達人になると、findとxargもしくはforループなどのインラインコマンドやシェルスクリプト,perl,rubyで簡単なプログラムを書くのでしょうけど、もっと簡単な方法はないのだろうかと思っていました。

(CentOS6.xのLinuxの場合で説明)
たとえば、Muninのプラグインファイルをシムリンク張る際に、
大元のファイルは、/usr/share/munin/plugis/に入っており、この中から有効にしたいファイルを/etc/munin/plugins/へシムリンクを作成します。
今回は、postgress関連のシムリンクを張ってみます。

まず、postgress関連のファイルを確認すると、

$ ls /usr/share/munin/plugins/postgres_*
/usr/share/munin/plugins/postgres_autovacuum
/usr/share/munin/plugins/postgres_bgwriter
/usr/share/munin/plugins/postgres_cache_
/usr/share/munin/plugins/postgres_checkpoints
/usr/share/munin/plugins/postgres_connections_
/usr/share/munin/plugins/postgres_connections_db
/usr/share/munin/plugins/postgres_locks_
/usr/share/munin/plugins/postgres_oldest_prepared_xact_
/usr/share/munin/plugins/postgres_prepared_xacts_
/usr/share/munin/plugins/postgres_querylength_
/usr/share/munin/plugins/postgres_scans_
/usr/share/munin/plugins/postgres_size_
/usr/share/munin/plugins/postgres_streaming_
/usr/share/munin/plugins/postgres_transactions_
/usr/share/munin/plugins/postgres_tuples_
/usr/share/munin/plugins/postgres_users
/usr/share/munin/plugins/postgres_xlog

これらのファイル全部を一つ一つlnコマンドでシムリンク張るのは、かなり面倒ですよね。

そこで、Linux/Unixを触ったことがある方なら誰でもご存じのcpを使います。
そう、ファイルをコピーするコマンドのcpです。

では、早速作業してみましょう。

# cd /etc/munin/plugins/
# cp -s /usr/share/munin/plugins/postgres* .

 cpコマンドに-sの引数をつけてやるだけで、あら不思議、簡単にシムリンクが張れます。

尚、シムリンク作成出来るcpは、FreeBSDやSoralisなど違うプラットフォームまたはバージョンによっては、使えないかもしれませんので、バージョンを確認し、man cpで-sが使えるか確認しましょう。

$ cp –version
cp (GNU coreutils) 8.4

作業後に、シムリンクが張れているか確認してみると、まとめてシムリンクが張られ作成されることが確認できました↓

postgres_autovacuum -> /usr/share/munin/plugins/postgres_autovacuum
postgres_bgwriter -> /usr/share/munin/plugins/postgres_bgwriter
postgres_cache_ -> /usr/share/munin/plugins/postgres_cache_
postgres_checkpoints -> /usr/share/munin/plugins/postgres_checkpoints
postgres_connections_ -> /usr/share/munin/plugins/postgres_connections_
postgres_connections_db -> /usr/share/munin/plugins/postgres_connections_db
postgres_locks_ -> /usr/share/munin/plugins/postgres_locks_
postgres_oldest_prepared_xact_ -> /usr/share/munin/plugins/postgres_oldest_prepared_xact_
postgres_prepared_xacts_ -> /usr/share/munin/plugins/postgres_prepared_xacts_
postgres_querylength_ -> /usr/share/munin/plugins/postgres_querylength_
postgres_scans_ -> /usr/share/munin/plugins/postgres_scans_
postgres_size_ -> /usr/share/munin/plugins/postgres_size_
postgres_streaming_ -> /usr/share/munin/plugins/postgres_streaming_
postgres_transactions_ -> /usr/share/munin/plugins/postgres_transactions_
postgres_tuples_ -> /usr/share/munin/plugins/postgres_tuples_
postgres_users -> /usr/share/munin/plugins/postgres_users
postgres_xlog -> /usr/share/munin/plugins/postgres_xlog

Linux/Unixを10年以上も触っているに、cpコマンドでシムリンクが作成できるのを初めて知りました。お恥ずかしい・・


MacのターミナルにてSolaris上のviでxtermエラーが出るときの対処

MacのターミナルやiTermにて、SunOS(Solaris)にログインし、viを起動すると、下記のエラーが出ることが多々あるのでメモ。

$ vi
xterm-256color: Unknown terminal type I don't know what kind of terminal you are on - all I have is 'xterm-256color'. [Using open mode]

Mac側ではxterm-256colorなのですが、Solaris側ではxterm-256colorって知らんよ!って事なので、Mac側の環境変数TERMを変更してあげればOKです。

Solaris10で使用可能なterminfoは、下記のようにして調べることが出来ます。

$ ls /usr/share/lib/terminfo/x
x1700 x1750 xitex xpcterm xtalk xtermc xterms
x1720 x820 xl83 xpcterms xterm xtermm

(ちなみに、Linuxでは/usr/share/terminfo/xです。)

これを元に、Mac側のターミナルで、環境変数を設定

$ vim ~/.bash_profile
$ export TERM=xterm
$ source ~/.bash_profile

Macにインストールしたnpmをアップグレード

Macでhomebrewを利用して、インストールしたnodeをアップグレード。

homebrewでアップデートしても、バージョンが古かったので、別の方法を使用。

$ npm -v
1.2.32
$ node -v
v0.10.12

$ sudo npm cache clean -f
$ sudo npm install -g n
....
npm http 200 https://registry.npmjs.org/n/-/n-1.2.9.tgz
/usr/local/share/npm/bin/n -> /usr/local/share/npm/lib/node_modules/n/bin/n

$ /usr/local/share/npm/lib/node_modules/n/bin/n stable
     install : v0.10.29
       mkdir : /usr/local/n/versions/0.10.29
       fetch : http://nodejs.org/dist/v0.10.29/node-v0.10.29-darwin-x64.tar.gz
   installed : v0.10.29

$ node -v
v0.10.29

 


Macでlastcommを使うには

Linuxでは、個々のコマンド履歴が記録されて表示が出来るlastcommと言うコマンドがあります。

Macでも利用しようとしたら、lastcommは存在するが、記録されていない(デフォルトでONになってない)ようなので、利用可能にする。

$ sudo mkdir /var/account
$ sudo touch /var/account/acct
$ sudo accton /var/account/acct

この後、lastcommを実行し、下記のように表示されればOKです。

$ lastcomm
ls – root ttys000 0.00 secs (null) (0:00:00.00)
sudo -S root ttys000 0.00 secs Mon Jul 28 14:33 (0:00:00.00)
accton -S root ttys000 0.00 secs Mon Jul 28 14:33 (0:00:00.00)


QNAPで挙動不審なAFP接続

QNAP内のネットワークサービスでMac用にAppleネットワークのAFP接続があります。

これを有効にして、共有したいフォルダをAFP接続したいのだが、なぜか接続が出来ない。
設定項目に「DHX2認証サポート」が有効になっているので、このチェックを外してみたところ、ゲストアクセスが可能となった。

しかし、今度は、ユーザーによるログインが出来なくなってしまった。

再度、DHX2認証サポートにチェックを入れて有効にしたところ、ゲストでもユーザーによるログインでも可能になった。

何だったんだ!?
何か挙動不審な動作で原因不明…


Macのトラックパッドでジェスチャーが効かなくなった場合の対処

Macでトラックパッドを利用している時に、突然、3本指や4本指のマルチジェスチャー効かなくなる事が、時々生じます。

Mac上のシステム環境設定からトラックパッドを選んで、チェックを付け直すと症状が改善される場合がありますが、直らない時も多々あります。

なので、ターミナル上から下記のコマンドを実行する方が、私的には簡単です。

$ killall Dock

 

尚、管理者でなく、ユーザー権限で実行して構いません。


wrkのインストール

ベンチマークツールのwrkをインストールしました。

Macでは、brewパッケージで簡単に導入できます。

$ brew install wrk

Linuxでは、パッケージが用意されていないので、githubのリポジトリを利用してインストールします。

$ cd /tmp
$ git clone https://github.com/wg/wrk.git
$ cd wrk/
$ make
$ sudo cp wrk /usr/local/bin/.

使い方

$ wrk -t スレッド数 -c 接続数 <url>

Usage: wrk <options> <url>
  Options:
    -c, --connections <N>  Connections to keep open
    -d, --duration    <T>  Duration of test
    -t, --threads     <N>  Number of threads to use

    -s, --script      <S>  Load Lua script file
    -H, --header      <H>  Add header to request
        --latency          Print latency statistics
        --timeout     <T>  Socket/request timeout
    -v, --version          Print version details

  Numeric arguments may include a SI unit (1k, 1M, 1G)
  Time arguments may include a time unit (2s, 2m, 2h)

 


HomebrewでのXcodeライセンスの警告

久しぶりにbrewをアップグレードしようと思ったらxcodeライセンスの警告がでた。

$ brew upgrade
Warning: You have not agreed to the Xcode license.
Builds will fail! Agree to the license by opening Xcode.app or running:
    xcodebuild -license

仰せの通りに、sudoにて

$ sudo xcodebuild -license

英文でズラズラと同意書が表示されるので、最後に”agree”と入れて同意しましょう。

….
….
By typing 'agree' you are agreeing to the terms of the software license agreements. Type 'print' to print them or anything else to cancel, [agree, print, cancel]   agree

その後は、いつも通りに、brew upgradeが有効になります。


ページ:1234567