再起動中...

そのうち移行するはず

PHP のバージョンをコントロールしたい on Ubuntu

まぁ、だいたい /usr/local/php-5.4.3 的なインストールをして
/usr/local/php からソフトリンクを /usr/local/php-5.4.3 に貼るよね。

具体的に記憶をたどると
/usr/local/src/php-5.4.3 に tar ボールを展開

.configure --prefix=/usr/local/php-5.4.3
make; make test; make install

だった気がする。

まぁ、そこまでやってある前提で、話を進めます。
ubuntuDebian 由来の alternatives というプログラムで
デフォルト起動のプログラムを選定しています。

そのため、まぁ、このプログラムを使えば、普段から
/usr/local/php/bin/php
を参照させるようにして、 リンクを張り替えれば幸せになるということ。

まず、/usr/local/php を alternatives に認識させよう。
ここで、/usr/bin/php は whereis php で確認している。
他の言語の場合、やはりwhereis で確認するほうが良いだろう。
最後の 1 はプライオリティだ。ここを 51 以上にすると、勝手に選ばれるようになる。

sudo update-alternatives --install /usr/bin/php php /usr/local/php/bin/php 1

まぁ、個人的には、ばかみたいに大きい値は好きじゃないので、
小さい値を入れることにした。

次に、/usr/bin/php を実行したら、/usr/lo... を実行するように設定する。

sudo update-alternatives --config php

下のように聞かれるので、 2 を押そう。

There are 2 choices for the alternative php (providing /usr/bin/php).

  Selection    Path                    Priority   Status
------------------------------------------------------------
* 0            /usr/bin/php5            50        auto mode
  1            /usr/bin/php5            50        manual mode
  2            /usr/local/php/bin/php   1         manual mode

Press enter to keep the current choice[*], or type selection number: 

このように表示が出てきたら、終わりだ。

update-alternatives: using /usr/local/php/bin/php to provide /usr/bin/php (php) in manual mode.
%php --version
PHP 5.4.3 (cli) (built: May 18 2012 20:07:19) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies

今後は、/usr/local/php-x.x.x にインストールをして、php のリンクを張りかえれば
システムワイドに使うphp のバージョンが変わるという寸法さ。
ま、似たようなことは、みんなすでにやっているだろうけど〜。

python の開発環境を作る

もはや Python の開発環境作成が面倒くさすぎて、他人には勧めないけど
必要にかられて環境を途中まで作ったので、記載しておきます。

distribute のインストール

Python のパッケージ管理ソフト

curl -O http://python-distribute.org/distribute_setup.py
sudo python distribute_setup.py
exec $SHELL

Pythonz

Python をホームディレクトリにインストールしてくれるソフト
インストールされた場所に VirtualEnv をほげほげするように Path を通すとよいらしい
(ここではやってない。各自で調べてね)

curl -kL https://raw.github.com/saghul/pythonz/master/pythonz-install | bash

.zshrc に下記の項目を記載する

[[ -s $HOME/.pythonz/etc/bashrc ]] && source $HOME/.pythonz/etc/bashrc
rehash

Python をローカルにダウンロード
(ここで、すぐ使えるわけではない)

pythonz install 3.2.3

環境を作る

pip - ライブラリをインストールするための標準ツール
virtualenv* - rbenv 的な何か

easy_install pip
sudo easy_install virtualenv
sudo easy_install virtualenvwrapper
rehash

source /usr/local/bin/virtualenvwrapper.sh

ここで、virtualenv にローカルにダウンロードした Python を使うように
指示するとうまいことやってくれるようにできるらしい。

sakura VPS で mongodb を動かす

いろいろあって Sakura の VPS にMongoDB をインストールした。
能力とか、MongoDB の落ちやすい性質を考えると、正気の沙汰とは思えないけど
テストなので淹れるっちゃ。

公式ドキュメント通りにやると、次の二つのコマンドが必要になった。

sudo yum install ld-linux.so.2 
sudo yum install libstdc++.so.6

MongoDB の起動

sudo service mongod start

MongoDB の停止

sudo service mongod stop

test 起動

mongo

A bridge too far

コーネリアス・ライアン原作の歴史映画。

たぶん三回目。
第二次世界大戦西部戦線のお話。当時の西部戦線は、ノルマンディー上陸作戦後、大きく分けて 2つのチームがドイツを目指していた。北側はモントゴメリー、南側はパットン。フランスのノルマンディーからオランダまで進軍を続けた 2つのチームは補給線に大きな問題を抱えていた。予想よりも進軍スピードが早かった、そして、撤退するドイツ軍が港を破壊していったため海からの補給が行えず、主に長大な陸上の補給路に頼らざるを得なくなっていた。そのため、必要な物資が届かなくなり始めていたのだ。

そこで、世界でも有数の港であり、破壊もされていないオランダの港にモントゴメリーは目をつけた。その港までに辿り着くまでには主に5つの橋を渡る必要があった。様々な検討を加えた結果、パラシュート部隊で奇襲を仕掛けて橋を確保、各橋を戦車部隊が素早く渡り、歩兵部隊が各橋を守り、なるべく早くパラシュート部隊を回収するという作戦を立案した。

この作戦は、結果として、モントゴメリーの立案した作戦のなかでも最低の作戦と言われることになる。

コーネリアス・ライアンの作品は、全てにおいて念密に調査した上で書かれているのがポイント。実際に、この最低の作戦の中で何があったのか、各個人の心の動きなども描かれている。

僕はこの映画を見るたびに、戦争は嫌だな…と思う。同時に戦略ゲームや Civ を辞めないのは、病気だな、想像力が足りないなぁ、と思いながら遊ぶ。このへんは、自分の中の矛盾。

あと、作戦自体も複雑だったけど、この映画自体も複雑で、正直、三回見てもわからないところが多々ある…。
# 肩の紋章で 82 か 101 かを見分ける能力は着いた。

checkinstall を使ってインストール

削除を綺麗にしたいため checkinstall を使ってパッケージを作って
インストールするようにしている。

Sakura の VPS でも使っている。
インストール方法

sudo git clone http://checkinstall.izto.org/checkinstall.git
cd checkinstall
sudo chown -R user:group src
cd src
cd checkinstall
./configure --prefix=/usr/loca
make
./checkinstall

使い方
コードを落としてきて、./configure と make をしたところで止める。
make all はしない

checkinstall -t [rpm|deb]

で、rpm なり deb が作成されるので、インストールすれば OK
まぁ、僕の手元だと毎回インストールが終わっているように見える。
rpm -ivh をしなくても…

sakura の VPS の CentOS に zsh とか git を入れた話

zsh

$ sudo yum -y install zsh

yum の -y は、質問されたら yes と答える設定

sudo

sudo を使えるようにするには、次のコマンドで編集する。

# visudo

下記の部分をコメントアウト

%wheel        ALL=(ALL)       NOPASSWD: ALL

group の編集をする。次のコマンドで編集する。

# vigr

git

git のインストール

sudo yum install git

screen

screen のインストール

sudo yum install screen

yum について

yum で uninstall するには。

sudo yum remove xxx


あれ?結局、全部 yum でインストールしたった。
この投稿は必要なのだろうか…