homebrewを入れ直してみた

DjangoMacにいれるためにhomebrewを入れ直してみた

mac環境

OS X (10.9.2)

なぜ入れ直そうとしたか?

brew doctorを実行するとエラーが出まくっていたので、環境が壊れている気がしたので、入れ直そうと思った。

$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry and just ignore them. Thanks!

参考サイト

homebrew環境の構築。パッケージ管理ナシ環境はもう限界 - aremokoremo

やっとこと

本当に参考サイトと変わらないですが。。。

まずhomebrewがはいっているか確認

$ brew --version
0.9.5

うーんはいってる。

とりあえず参考サイトみながら削除

$ cd `brew --prefix`
$ sudo rm -rf Cellar
$ brew prune
$ sudo rm `git ls-files`
$ sudo rmdir Library/Homebrew Library/Aliases Library/Formula Library/Contributions
$ sudo rm -rf .git
$ rm -rf ~/Library/Caches/Homebrew
$ sudo rm -rf ~/Library/Logs/Homebrew
$ sudo rm -rf /Library/Caches/Homebrew

再インストールを実行

$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

うまく行ったと思ったら。。

From https://github.com/Homebrew/homebrew
 * [new branch]      master     -> origin/master
error: unable to create symlink Library/Aliases/0mq (Permission denied)
error: unable to create symlink Library/Aliases/4store (Permission denied)
error: unable to unlink old 'Library/Aliases/Secret Rabbit Code' (Permission denied)
error: unable to create symlink Library/Aliases/ag (Permission denied)
error: unable to create symlink Library/Aliases/alut (Permission denied)
error: unable to create symlink Library/Aliases/android (Permission denied)

Permission denied....

sudoを付けたら行けるかと思ってやってみたら

$ sudo ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
Don't run this as root!

ぐぐぐぐ

参考サイトを読み進めると/user/local以下のパーミッションが悪い説

$  ls -l /usr/
drwxrwxr-x    19 root  admin    646  9 17 13:29 local
drwxr-xr-x     4 root  wheel    136  7  2 14:50 standalone

ということで権限を変更

$ sudo chown -R ${USER} /usr/local

もう1回入れようとするとエラーになるので注意

$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
It appears Homebrew is already installed. If your intent is to reinstall you
should do the following before running this installer again:
    rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup

削除して再度実行したらうまくいった!

vimのクリップボード(set paste)

弊社メンバーから教えてもらったので、メモのためこちらに記載

set paste

一番楽で環境依存や、リモート・ローカルを問わず、ローカル環境のOSのクリップボードの内容を張れる。

  1. :set paste でペーストモード(auto indent / 入力支援等を一時的にoffにできる)に変更
  2. ペースト
  3. :set nopaste でペーストモードを抜ける

Tips: on/offのbooleanなsettingに関しては、 :set paste! のように末尾に!をつけるとtoggleになる。 :set paste の場合は特に一時的にペーストモード → 即ペーストモード解除を行うので、1.の :set paste! にしておくと、 3.で↑カーソルキーで履歴を一個さかのぼるだけで入力できるというすごさ。。。

ぼくはこれしか知らなかったがまだまだああるらしい

Ruby(rbenv)の設定方法

最近Railsの勉強を始めたので、勉強した内容を記載してみようと思います。 使うの以下のチュートリアルを使ってみる。

Ruby on Rails チュートリアル:実例を使って Rails を学ぼう

Railsを始める前にRubyをインストールする そのために、rbenvをいれる。

$ cd
$ git clone git://github.com/sstephenson/rbenv.git .rbenv
  • bash_profileの設定
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ exec $SHELL
$ source .bash_profile
$ mkdir -p ~/.rbenv/plugins
$ cd ~/.rbenv/plugins
$ git clone git://github.com/sstephenson/ruby-build.git
  • Rubyのインストール
rbenv install 1.9.3-p194

これで環境の設定は完了!

Elasticsearchの集計機能について調べてみた

『サーバ/インフラエンジニア養成読本 ログ収集〜可視化編』 出版記念!執筆者が語る大講演会! で大谷さん(@johtani)がelasticsearchの集計機能について話していたので、少し調べてみた。

集計機能(aggregation)

Aggregations elasticsearchには検索だけでなく結果を多段で分析をすることができるらしい (残念ながらKibana3はサポート外)

Bucketing

(マニュアルの翻訳) * 集約されているドキュメントから何らかの形で抽出された値に基づいて、この家族のコンピュート·メトリクスにおける集計。 値は、典型的には、(フィールドデータを用いて)文書​​のフィールドから抽出されるが、スクリプトを使用して生成することができる。

mentrics

  • バケット集計は集計が行うメトリクスなどの分野にわたってメトリックを計算しませんが、その代わりに、彼らは文書のバケットを作成します。 各バケットは、現在のコンテキスト内でドキュメントがその中に「落ちる」か否かを判断する(集約タイプに応じて)判定基準に関連している。 換言すれば、バケットは、効果的に文書セットを定義する。 バケット自身に加えて、 bucket集計は、各バケットに"に落ちた」との文書の数を計算して返します。

結構すごいなーと思った。使い方とかはもっと調べないといけないので、追記するかもでー

サーバから記憶媒体に通信するプロトコル

サーバから記憶媒体に通信する方法を調べたので、忘れないようにメモメモ

iSCSI(アイスカジー)

アイスカジーって読めなかった。。。

  • 記憶装置とコンピュータの通信に使うSCSIコマンドを、IPネットワーク経由で送受信するためのプロトコルTCP/IPでハードディスクに接続できることが強み。

Fibre Channel 【 ファイバーチャネル 】 FC

  • コンピュータと周辺機器を結ぶためのデータ転送方式の一つ。主に、高い性能が必要なサーバで、コンピュータ本体と外部記憶装置を接続するのに利用されている。機器の接続には同軸ケーブル光ファイバーを使う。光ファイバーだとめっさはやい

H/Wの世界は奥が深い

参考

iSCSIとは - 意味/解説/説明/定義 : IT用語辞典

Fibre Channelとは 〔 ファイバーチャネル 〕 【 FC 】 - 意味/解説/説明/定義 : IT用語辞典

pyenvを入れてみた

仕事でpythonを使うことが増えてきたので、pyenvを入れてみた

pyenv

pyenvは、ローカルディレクトリ毎に のバージョンを指定できるツールです。

yyuu/pyenv · GitHub

インストール

Mac

MacではHomebrewを使っていれるとマニュアルに書いてあったので、ためしてみたい

$ brew update
$ brew install pyenv

が、、、、

$ brew install pyenv
Error: pyenv-20140602 already installed
To install this version, first `brew unlink pyenv'
Warning: It appears you have MacPorts or Fink installed.
Software installed with other package managers causes known problems for
Homebrew. If a formula fails to build, uninstall MacPorts/Fink and try again.

そういえば、昔pyenv入れたの忘れてた。。。

ということで一度削除して再度入れ直すことにした

$ brew unlink pyenv
Unlinking /usr/local/Cellar/pyenv/20140602... 0 symlinks removed
$ brew install pyenv
==> Downloading https://github.com/yyuu/pyenv/archive/v20140705.tar.gz
######################################################################## 100.0%
==> Caveats
To enable shims and autocompletion add to your profile:
  if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi

To use Homebrew's directories rather than ~/.pyenv add to your profile:
  export PYENV_ROOT=/usr/local/opt/pyenv
==> Summary
🍺  /usr/local/Cellar/pyenv/20140705: 287 files, 2.6M, built in 30 seconds

うまくいった

$ sudo yum install bzip2-devel
$ pyenv local system
$ pyenv rehash
$ pyenv uninstall 2.7.6
$ pyenv install 2.7.6

2.7.6のセットアップが完了!

AWSにElasticsearchをインストールしてみた

AWSにElasticSearchをインストールしてみた AWSのOSはAmazon Linuxをつかってます

  • RPMを取得してインストール
wget 'https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.3.2.noarch.rpm'
sudo rpm -ivh ./elasticsearch-1.3.2.noarch.rpm
sudo /usr/share/elasticsearch/bin/plugin -install elasticsearch/elasticsearch-cloud-aws/2.3.0
  • ElasticSearchを起動
sudo service elasticsearch restart
$  cat /var/log/elasticsearch/elasticsearch.log
[2014-09-06 07:58:50,101][INFO ][node                     ] [Conan the Barbarian] version[1.3.2], pid[1777], build[dee175d/2014-08-13T14:29:30Z]
[2014-09-06 07:58:50,101][INFO ][node                     ] [Conan the Barbarian] initializing ...
[2014-09-06 07:58:50,113][INFO ][plugins                  ] [Conan the Barbarian] loaded [cloud-aws], sites []
[2014-09-06 07:58:52,901][INFO ][node                     ] [Conan the Barbarian] initialized
[2014-09-06 07:58:52,901][INFO ][node                     ] [Conan the Barbarian] starting ...
[2014-09-06 07:58:52,960][INFO ][transport                ] [Conan the Barbarian] bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/172.31.4.218:9300]}
[2014-09-06 07:58:52,975][INFO ][discovery                ] [Conan the Barbarian] elasticsearch/4LHaG6gdQEaLrT_RMkNXsA
[2014-09-06 07:58:55,995][INFO ][cluster.service          ] [Conan the Barbarian] new_master [Conan the Barbarian][4LHaG6gdQEaLrT_RMkNXsA][ip-172-31-4-218][inet[/172.31.4.218:9300]], reason: zen-disco-join (elected_as_master)
[2014-09-06 07:58:56,022][INFO ][http                     ] [Conan the Barbarian] bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/172.31.4.218:9200]}
[2014-09-06 07:58:56,022][INFO ][node                     ] [Conan the Barbarian] started
[2014-09-06 07:58:56,033][INFO ][gateway                  ] [Conan the Barbarian] recovered [0] indices into cluster_state

次回設定ファイルとかをいじって実際に検索できるようにしたい