micro typeでの準備

perl5 on AMI Linux t1.micro

awsを使ってapi.hakoniwa.com用の環境を作ってみようと思いました.試しに作ってみたときのメモです.用意したインスタンスは,

AMI: Amazon Linux AMI ID ami-2272864b (x86_64)
Name: Basic 64-bit Amazon Linux AMI 1.0

です.まずはインスタンスsshして

$ ssh -i .ssh/awskey -o ServerAliveInterval=5 ec2-user@ec2- ... amazonaws.com

後は普段通りにperl5をインストールします.

$ sudo yum update
$ sum yum groupinstall 'Development Tools'
$ sudo yum install git
$ curl -LO http://xrl.us/perlbrew
$ chmod +x perlbrew
$ ./perlbrew install
$ /home/ec2-user/perl5/perlbrew/bin/perlbrew init

ここまでできたら,~/.bashrcに以下の行を追加します.

source /home/ec2-user/perl5/perlbrew/etc/bashrc

さらに作業を続けます.

$ . .bashrc
$ perlbrew install perl-5.12.2
$ perlbrew switch perl-5.12.2
$ curl -L http://cpanmin.us/ | perl - App::cpanminus
$ cpanm  App::cpanoutdated
$ cpanm  App::pmuninstall
$ cpan-outdated | cpanm

これでperl5がインストールできました.

perl6 on AMI Linux t1.micro

使うつっもりはまだないですが,JPerl Advent Calendar 2010 Perl6 Tracを読んでperl6にも興味を持ちました.perl5をインストールしたついでにperl6のインストール方法もまとめてみました.AMIは上と同じようにt1.microを使っています.

$ sudo yum update
$ sudo yum groupinstall 'Development Tools'
$ sudo yum install git
$ sudo yum install libicu-devel

m1.typeの環境ではperl6作成の時にメモリがたりず,oom killerが発動します.そのためswap領域を追加しておきます.

$ sudo dd if=/dev/zero of=/myswap0 bs=1M count=2048
$ sudo mkswap /myswap0
$ sudo swapon /myswap0

これで,/proc/swapsを見ると以下のようになっているはずです.

Filename                    Type          Size     Used     Priority
/myswap0                                file          2097148     0     -1

次にbootした時にもswapを使えるようにするためには/etc/fstabに以下の行を追加しておきます.

/myswap0     swap     swap     defaults     0     0

これで準備ができました.AMI Linuxにはperl5が入っているので,そのまま使えば…と思ったのですが,perl6を作る際にエラーが出たので上と同じようにインストールしました.

$ curl -LO http://xrl.us/perlbrew
$ chmod +x perlbrew
$ ./perlbrew install
$ /home/ec2-user/perl5/perlbrew/bin/perlbrew init
## Add next line to the ~/.bashrc
source /home/ec2-user/perl5/perlbrew/etc/bashrc
$ . .bashrc
$ perlbrew install perl-5.12.2
$ perlbrew switch perl-5.12.2

さぁこれでperl6を作る準備ができました.

$ git clone git://github.com/rakudo/rakudo.git
$ cd rakudo
$ perl Configure.pl--gen-parrot
$ make
$ make install

Configure.plには15分ぐらい,makeには7時間ぐらいかかります.これでできるperl6はrakudo環境のみでrakudo starディストリビューションに入っているモジュールが入っていません(ファイルははいってるんだけど,ライブラリパスとは違う場所に入っていたり,そもそもなかったり).そのため公開されているモジュールを使ってみよう - JPerl Advent Calendar 2010 Perl6 Trackで紹介されているneutroコマンドを使って必要なモジュールをインストールする必要があります.
といっても,モジュールがないことに気づいてrakudo starに切り替えてそのあとにneutroのことを知ったので,実際に試していません.もし違っていたら,ここの文章を書き直すようにします.