カテゴリー : 2016年 4月

AirMac Extreme‎ の初期化 (リセット) 方法

オフィスの AirMac Extreme‎ をたまに工場出荷状態まで初期化することがあるので、リセット方法をメモ。

AirMac Extreme のリセットボタン

AirMac Extreme のリセットボタンは、AC 電源インレットの右横にあります。

AirMac Extreme リセットボタン

AirMac Extreme リセットボタン

AirMac Extreme‎ の初期化方法

AirMac Extreme‎ を初期化する方法は「ソフトリセット」、「工場出荷時のデフォルトリセット」の2通りあります。

ソフトリセット

  1. 「アプリケーション」>「ユーティリティ」と選択し、AirMac ユーティリティを開きます。
  2. 「AirMac ユーティリティ」>「アップデートを確認」と選択します。
  3. お使いの Mac で利用可能な最新バージョンのファームウェアと AirMac ユーティリティをインストールします。
  4. ベースステーションを電源に接続します。
  5. ペン先、鉛筆の芯、または伸ばした紙クリップを使って、10 秒間、リセットボタンを押し続けます。
  6. ボタンを放すと、ベースステーションがソフトリセットされます。

工場出荷時のデフォルトリセット

  1. ベースステーションを電源から取り外します。
  2. ペン先、鉛筆の芯、または伸ばした紙クリップを使ってリセットボタンを押しながら、ベースステーションを電源に接続します。3 つの LED ランプが高速で点灯するまで、5 秒程度、ボタンを押し続けます。
  3. ボタンを放すと、ベースステーションが工場出荷時の状態にリセットされます。

以上です。

Elasticsearch を Homebrew でサクッと Mac インストールする手順

Mac に Elasticsearch をインストールしたので手順をご紹介します。

インストール可能な Elasticsearch のバージョンを確認

2016年4月26日時点での最新版 2.3.1 がインストールできそうです。

$ brew info elasticsearch
elasticsearch: stable 2.3.1, HEAD
Distributed search & analytics engine
https://www.elastic.co/products/elasticsearch
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/elasticsearch.rb
==> Caveats
Data:    /usr/local/var/elasticsearch/elasticsearch_bakorer/
Logs:    /usr/local/var/log/elasticsearch/elasticsearch_bakorer.log
Plugins: /usr/local/Cellar/elasticsearch/2.3.1/libexec/plugins/
Config:  /usr/local/etc/elasticsearch/
plugin script: /usr/local/Cellar/elasticsearch/2.3.1/libexec/bin/plugin
 
To have launchd start elasticsearch now and restart at login:
  brew services start elasticsearch
Or, if you don't want/need a background service you can just run:
  elasticsearch

Elasticsearch をインストール

brew コマンドでサクッと elasticsearch をインストールしようとすると Java が無いというエラーが発生します。Java・・・

$ brew install elasticsearch
elasticsearch: Java 1.7+ is required to install this formula.
You can install with Homebrew Cask:
  brew install Caskroom/cask/java
 
You can download from:
  http://www.oracle.com/technetwork/java/javase/downloads/index.html
Error: An unsatisfied requirement failed this build.

Java をインストール

Oracle 公式サイトから Java をインストールしてもいいんですが、楽するために Java も brew コマンドでインストールしてしまいます。

$ brew install Caskroom/cask/java
==> brew cask install Caskroom/cask/java
==> We need to make Caskroom for the first time at /opt/homebrew-cask/Caskroom
==> We'll set permissions properly so we won't need sudo in the future
Password:
==> Caveats
This Cask makes minor modifications to the JRE to prevent issues with
packaged applications, as discussed here:
 
  https://bugs.eclipse.org/bugs/show_bug.cgi?id=411361
 
If your Java application still asks for JRE installation, you might need
to reboot or logout/login.
 
Installing this Cask means you have AGREED to the Oracle Binary Code
License Agreement for Java SE at
 
  http://www.oracle.com/technetwork/java/javase/terms/license/index.html
 
==> Downloading http://download.oracle.com/otn-pub/java/jdk/8u92-b14/jdk-8u92-macosx-x64.dmg
######################################################################## 100.0%
==> Verifying checksum for Cask java
==> Running installer for java; your password may be necessary.
==> Package installers may write to any location; options such as --appdir are ignored.
==> installer: Package name is JDK 8 Update 92
==> installer: Installing at base path /
==> installer: The install was successful.
🍺  java staged at '/opt/homebrew-cask/Caskroom/java/1.8.0_92-b14' (2 files, 227M)

念の為 Java がインストールされていることを確認します。

$ java -version 
java version "1.8.0_92"
Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode)

改めて Elasticsearch をインストール

$ brew install elasticsearch
==> Downloading https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.3.1/elasticsearch-2.3.1.tar.gz
######################################################################## 100.0%
==> Caveats
Data:    /usr/local/var/elasticsearch/elasticsearch_bakorer/
Logs:    /usr/local/var/log/elasticsearch/elasticsearch_bakorer.log
Plugins: /usr/local/Cellar/elasticsearch/2.3.1/libexec/plugins/
Config:  /usr/local/etc/elasticsearch/
plugin script: /usr/local/Cellar/elasticsearch/2.3.1/libexec/bin/plugin
 
To have launchd start elasticsearch now and restart at login:
  brew services start elasticsearch
Or, if you don't want/need a background service you can just run:
  elasticsearch
==> Summary
🍺  /usr/local/Cellar/elasticsearch/2.3.1: 59 files, 29.4M, built in 1 minute 40 seconds

こちらも念の為、elasticsearch のバージョンを確認しておきます。

$ elasticsearch --version
Version: 2.3.1, Build: bd98092/2016-04-04T12:25:05Z, JVM: 1.8.0_92

elasticsearch を起動

Elasticsearch を起動してみます。

$ brew services start elasticsearch
==> Tapping homebrew/services
Cloning into '/usr/local/Library/Taps/homebrew/homebrew-services'...
remote: Counting objects: 7, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 7 (delta 0), reused 6 (delta 0), pack-reused 0
Unpacking objects: 100% (7/7), done.
Checking connectivity... done.
Tapped 0 formulae (32 files, 46.0K)
==> Successfully started `elasticsearch` (label: homebrew.mxcl.elasticsearch)

elasticsearch のプロセスが起動されていることを確認しました。

$ ps aux | grep elasticsearch
bakorer          1308   0.5  1.5  5075616 256028   ??  S     7:04PM   0:07.18 /usr/bin/java -Xms256m -Xmx1g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -Dfile.encoding=UTF-8 -Djna.nosys=true -Des.path.home=/usr/local/Cellar/elasticsearch/2.3.1/libexec -cp /usr/local/Cellar/elasticsearch/2.3.1/libexec/lib/elasticsearch-2.3.1.jar:/usr/local/Cellar/elasticsearch/2.3.1/libexec/lib/* org.elasticsearch.bootstrap.Elasticsearch start
bakorer          1327   0.0  0.0  2432772    560 s000  S+    7:04PM   0:00.00 grep --color=always elasticsearch

[おまけ] elasticsearch-head をインストール

Elasticsearch には plugin をインストールできる仕組みがあり、elasticsearch-head をインストールするとブラウザから色々と確認できるようになります。

$ /usr/local/Cellar/elasticsearch/2.3.1/libexec/bin/plugin install mobz/elasticsearch-head
-> Installing mobz/elasticsearch-head...
Trying https://github.com/mobz/elasticsearch-head/archive/master.zip ...
Downloading 
...............................................................................................DONE
Verifying https://github.com/mobz/elasticsearch-head/archive/master.zip checksums if available ...
NOTE: Unable to verify checksum for downloaded plugin (unable to find .sha1 or .md5 file to verify)
Installed head into /usr/local/Cellar/elasticsearch/2.3.1/libexec/plugins/head

管理画面の URL は http://localhost:9200/_plugin/head/ です。

elasticsearch-head を使って見れる管理画面

elasticsearch-head によって http://localhost:9200/_plugin/head/ から見れるそれっぽい管理画面

Elasticsearch を使い始めたばかりなので、これから徐々にキャッチアップしていきたいと思います。

Ansible 2 を Mac にインストールする方法

Ansible 2 系を brew コマンドを使ってサクッと Mac にインストールしました。

$ brew info ansible
ansible: stable 2.0.2.0 (bottled), devel 2.0.2.0-0.4.rc4, HEAD
Automate deployment, configuration, and upgrading
https://www.ansible.com/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/ansible.rb
==> Dependencies
Build: pkg-config ✘
Required: libyaml ✘, openssl ✘
==> Caveats
Homebrew writes wrapper scripts that set PYTHONPATH in ansible's
execution environment, which is inherited by Python scripts invoked
by ansible. If this causes problems, you can modify your playbooks
to invoke python with -E, which causes python to ignore PYTHONPATH.
$ brew install ansible
$ ansible --version
 
ansible 2.0.2.0
  config file = 
  configured module search path = Default w/o overrides

以上です。

brew update で fatal: cannot create directory at ‘.github’: Permission denied というエラーが出たときの対応方法

Mac で brew update を実行したら、

$ brew update
fatal: cannot create directory at '.github': Permission denied
Error: Failure while executing: git pull -q origin refs/heads/master:refs/remotes/origin/master

というエラーメッセージが表示されたときの対応方法をご紹介します。

/usr/local ディレクトリの permission を変更

fatal: cannot create directory at ‘.github’: Permission denied というエラーメッセージが表示されるのは /usr/local ディレクトリの permission が無いのが原因です。

chown コマンドで所有者を自分に変更しましょう。

$ ls -la /usr/local
total 112
drwxr-xr-x   24 root     wheel    816 Oct 28 08:47 .
$ sudo chown $(whoami):admin /usr/local
$ ls -la /usr/local
total 112
drwxr-xr-x   24 myname  admin    816 Oct 28 08:47 .

Homebrew の GitHub repository を master へ更新

cd `brew --prefix`
git fetch origin
git reset --hard origin/master

最後に Homebrew をアップデート

$ brew update
$ brew -v
Homebrew 0.9.9 (git revision 145155; last commit 2016-04-23)
Homebrew/homebrew-core (git revision bd06; last commit 2016-04-23)

以上です。

[Node.js] npm package の実行ファイルは node_modules/.bin にシンボリックリンクで存在する

Node.js で npm install した package の実行ファイルは node_modules/.bin ディレクトリ配下にシンボリックリンクが自動作成されます。

npm logo

(例) とある node_modules/.bin 配下

$ ls -l ./node_modules/.bin
lrwxr-xr-x  1 codenote  staff  22 Apr 21 18:11 express -> ../express/bin/express
lrwxr-xr-x  1 codenote  staff  22 Apr 21 18:11 grunt -> ../grunt-cli/bin/grunt
lrwxr-xr-x  1 codenote  staff  16 Apr 21 18:11 jade -> ../jade/bin/jade
lrwxr-xr-x  1 codenote  staff  21 Apr 21 18:12 npm -> ../npm/bin/npm-cli.js

Node.js で開発して4年以上も経つのに知らなくて、自分でもびっくりしました。

ちなみに、モジュールにコマンドが用意されていた場合のみ /path/your_project/node_modules/.bin にシンボリックリンクが作成されます。