Hatena::Grouparaistudy

czk-htnの日記

2010-05-11

[] LFS 番外編 $LFSのマウント 07:28

lfs ユーザで $LFS 以下をマウント、アンマウントするには sudo 権限を与えておく必要がある。root になって /etc/sudoers を編集する。

# visudo
lfs     ALL=STORAGE

これで mount, unmount コマンドが実行できるようになる。

lfs ユーザに戻り、sudo で mount する。

$ sudo mount -v -t ext3 /dev/sdb2 $LFS
$ sudo mount -v -t ext3 /dev/sdb1 $LFS/boot

[] LFS part4 07:28

5.4. Binutils-2.20 - 1回め

標準ビルド単位(Standard Build Unit; SBU)値をtimeを用いて計測する。

$ cd $LFS/sources
$ tar xjf binutils-2.20.tar.bz2
$ mkdir -v ../binutils-build
$ cd ../binutils-build
$ time { ../binutils-2.20/configure \
    --target=$LFS_TGT --prefix=/tools \
    --disable-nls --disable-werror \
    && make && make install; } 

...

real    3m45.427s
user    1m30.113s
sys     1m39.119s

概ね4分。ということで SBU = 4。

binutils でインストールされたファイルを確認してみる。

$ find /tools/ -type f |xargs file
/tools/lib64/libiberty.a:                                 current ar archive
/tools/bin/x86_64-lfs-linux-gnu-size:                     ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
/tools/bin/x86_64-lfs-linux-gnu-strip:                    ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
/tools/bin/x86_64-lfs-linux-gnu-readelf:                  ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
/tools/bin/x86_64-lfs-linux-gnu-ar:                       ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
/tools/bin/x86_64-lfs-linux-gnu-ranlib:                   ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
/tools/bin/x86_64-lfs-linux-gnu-addr2line:                ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped/tools/bin/x86_64-lfs-linux-gnu-objdump:                  ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped/tools/bin/x86_64-lfs-linux-gnu-objcopy:                  ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped/tools/bin/x86_64-lfs-linux-gnu-ld:                       ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped/tools/bin/x86_64-lfs-linux-gnu-strings:                  ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped/tools/bin/x86_64-lfs-linux-gnu-c++filt:                  ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped/tools/bin/x86_64-lfs-linux-gnu-as:                       ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped/tools/bin/x86_64-lfs-linux-gnu-nm:                       ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped/tools/bin/x86_64-lfs-linux-gnu-gprof:                    ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
/tools/share/info/configure.info:                         data
/tools/share/info/standards.info:                         data
/tools/share/info/bfd.info:                               data
/tools/share/info/as.info:                                data
/tools/share/info/gprof.info:                             data
/tools/share/info/binutils.info:                          data
/tools/share/info/ld.info:                                data
/tools/share/man/man1/x86_64-lfs-linux-gnu-ar.1:          troff or preprocessor input text
/tools/share/man/man1/x86_64-lfs-linux-gnu-c++filt.1:     troff or preprocessor input text
/tools/share/man/man1/x86_64-lfs-linux-gnu-nlmconv.1:     troff or preprocessor input text
/tools/share/man/man1/x86_64-lfs-linux-gnu-windres.1:     troff or preprocessor input text
/tools/share/man/man1/x86_64-lfs-linux-gnu-nm.1:          troff or preprocessor input text
/tools/share/man/man1/x86_64-lfs-linux-gnu-objcopy.1:     troff or preprocessor input text
/tools/share/man/man1/x86_64-lfs-linux-gnu-as.1:          troff or preprocessor input text
/tools/share/man/man1/x86_64-lfs-linux-gnu-ld.1:          troff or preprocessor input text
/tools/share/man/man1/x86_64-lfs-linux-gnu-ranlib.1:      troff or preprocessor input text
/tools/share/man/man1/x86_64-lfs-linux-gnu-objdump.1:     troff or preprocessor input text
/tools/share/man/man1/x86_64-lfs-linux-gnu-size.1:        troff or preprocessor input text
/tools/share/man/man1/x86_64-lfs-linux-gnu-readelf.1:     troff or preprocessor input text
/tools/share/man/man1/x86_64-lfs-linux-gnu-strip.1:       troff or preprocessor input text
/tools/share/man/man1/x86_64-lfs-linux-gnu-strings.1:     troff or preprocessor input text
/tools/share/man/man1/x86_64-lfs-linux-gnu-dlltool.1:     troff or preprocessor input text
/tools/share/man/man1/x86_64-lfs-linux-gnu-windmc.1:      troff or preprocessor input text
/tools/share/man/man1/x86_64-lfs-linux-gnu-addr2line.1:   troff or preprocessor input text
/tools/share/man/man1/x86_64-lfs-linux-gnu-gprof.1:       troff or preprocessor input text
/tools/x86_64-lfs-linux-gnu/bin/nm:                       ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
/tools/x86_64-lfs-linux-gnu/bin/ar:                       ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
/tools/x86_64-lfs-linux-gnu/bin/strip:                    ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
/tools/x86_64-lfs-linux-gnu/bin/as:                       ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
/tools/x86_64-lfs-linux-gnu/bin/objdump:                  ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
/tools/x86_64-lfs-linux-gnu/bin/objcopy:                  ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
/tools/x86_64-lfs-linux-gnu/bin/ranlib:                   ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
/tools/x86_64-lfs-linux-gnu/bin/ld:                       ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/i386linux.xu:   ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_i386.xdc:   ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_i386.xu:    ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/i386linux.xbn:  ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_x86_64.xdc: ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/i386linux.x:    ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_x86_64.xdw: ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/i386linux.xr:   ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_l1om.x:     ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_l1om.xn:    ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_x86_64.xu:  ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_x86_64.xr:  ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_i386.xr:    ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_l1om.xbn:   ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_i386.xsw:   Palm OS dynamic library data "/* Script for --shared -z combr"
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_i386.xw:    ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_i386.xdw:   ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_x86_64.xd:  ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_i386.xsc:   ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_x86_64.xs:  ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_x86_64.xsc: ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_i386.xs:    ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_l1om.xdw:   ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_l1om.xsc:   ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_x86_64.xw:  ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_x86_64.x:   ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_l1om.xdc:   ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_i386.xc:    ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_l1om.xw:    ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/i386linux.xn:   ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_i386.x:     ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_x86_64.xn:  ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_l1om.xs:    ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_x86_64.xc:  ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_i386.xn:    ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_l1om.xd:    ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_x86_64.xbn: ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_x86_64.xsw: Palm OS dynamic library data "/* Script for --shared -z combr"
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_i386.xbn:   ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_l1om.xsw:   Palm OS dynamic library data "/* Script for --shared -z combr"
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_l1om.xc:    ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_l1om.xr:    ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_l1om.xu:    ASCII C program text
/tools/x86_64-lfs-linux-gnu/lib/ldscripts/elf_i386.xd:    ASCII C program text

/bin (/tools/x86_64-lfs-linux-gnu/bin) の下のファイルに注目してみる。

ar
create, modify, and extract from archives:
as
the portable GNU assembler.:
ld
The GNU linker:
nm
list symbols from object files:
objcopy
copy and translate object files:
objdump
objdump - display information from object files.:
ranlib
generate index to archive.:
strip
Discard symbols from object files.:

コンパイルが終わったら作業ディレクトリを消しておく。

$ cd $LFS/sources
$ rm -rf binutils-build/ binutils-2.20/

[] LFS part5 07:28

5.5. GCC-4.4.3 - 1回め

gccのTARファイルを展開したディレクトリにmpfrとgmpも展開する。ビルドは専用ディレクトリ(gcc-build)を作成し、そこで行う。

$ cd $LFS/sources
$ tar xjf gcc-4.4.3.tar.bz2
$ cd gcc-4.4.3
$ tar xjf ../mpfr-2.4.2.tar.bz2
$ mv -v mpfr-2.4.2 mpfr
$ tar xjf ../gmp-5.0.0.tar.bz2
$ mv -v gmp-5.0.0 gmp
$ mkdir -v gcc-build
$ cd gcc-build
$ ../gcc-4.4.3/configure \
    --target=$LFS_TGT --prefix=/tools \
    --disable-nls --disable-shared --disable-multilib \
    --disable-decimal-float --disable-threads \
    --disable-libmudflap --disable-libssp \
    --disable-libgomp --enable-languages=c
$ make && make install

...

real    20m38.935s
user    8m12.243s
sys     5m53.496s

gccはSBUが5なので予定通り20分ほどで完了。

LFSの説明にある通り、libgcc_eh.a が作成されないので libgcc.a へのシンボリックリンクを作成する。

$ $LFS_TGT-gcc -print-libgcc-file-name
/mnt/lfs/tools/bin/../lib/gcc/x86_64-lfs-linux-gnu/4.4.3/libgcc.a
$ ln -vs libgcc.a `$LFS_TGT-gcc -print-libgcc-file-name | sed  's/libgcc/&_eh/'`
トラックバック - http://araistudy.g.hatena.ne.jp/czk-htn/20100511

2010-03-08

[] ssh 接続時にパスワード入力を省略する 06:59

Leopard → Linux (VMWare) へssh接続する際にパスワード(パスフレーズ)を省略する。


要はクライアント側の公開鍵をサーバ側に登録してあげればOK。

まずはクライアント(Leopard)側で公開鍵(と秘密鍵)を作成する。

$ ssh-keygen
$ ls -l ~/.ssh/
total 16
-rw-------  1 uekikazuki  staff  1675  3  8 22:57 id_rsa
-rw-r--r--  1 uekikazuki  staff   406  3  8 22:57 id_rsa.pub

作成した公開鍵を sshサーバ(CentOS) に登録する。

まずはscpでファイルをコピーし、次に authorized_keys2 ファイルに追加する。

以下で ssh 接続する際は当然ながらパスワードが聞かれる。場合によっては

leopard$ scp ./.ssh/id_rsa.pub user@172.16.80.133:/home/user/.ssh/id_rsa.pub_leopard
leopard$ ssh -l user 172.16.80.133

The authenticity of host '172.16.80.133 (172.16.80.133)' can't be established.
RSA key fingerprint is a9:1c:56:fd:b1:ad:14:39:ca:83:18:00:e1:6f:35:6e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.80.133' (RSA) to the list of known hosts.

centos$ cd ~/.ssh/
centos$ cat id_rsa.pub_leopard >> authorized_keys2
centos$ chmod 600 authorized_keys*
centos$ exit

再び ssh でサーバにログインする。今度はパスワードを求められなければOK。

$ ssh -l user 172.16.80.133

CarbonEmacs 上で tramp を使ってリモートホストのファイルを修正する際も、パスワードを求められなくなるので、とても快適。

トラックバック - http://araistudy.g.hatena.ne.jp/czk-htn/20100308

2010-03-07

[] CentOS で Kernel ソースを入手する 07:10

HowTos/I need the Kernel Source - CentOS Wiki

$ sudo yum install rpm-build redhat-rpm-config unifdef
$ cd 
$ mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
$ echo '%_topdir %(echo $HOME)/rpmbuild' > .rpmmacros
$ rpm -i http://mirror.centos.org/centos/5/updates/SRPMS/kernel-2.6.18-164.11.1.el5.src.rpm
$ cd ~/rpmbuild/SPECS
$ rpmbuild -bp --target=`uname -m` kernel-2.6.spec 2> prep-err.log | tee prep-out.log

ソースファイルが含まれたTARボール(linux-2.6.18.tar.bz2)が展開されて、多くのパッチが適用される。パッチ適用されたカーネルソースコードは rpmbuild/BUILD/kernel-2.6.18 に展開されるのでエディタで参照する。


確認は VMWare上の CentOS-5.4(x86_64) で読んでいる。CarbonEmacsにTrampをインストールして ssh 経由で参照すると楽チン。

MellyMelly2011/12/24 09:44Hey, subtle must be your mddlie name. Great post!

cwprlrczwucwprlrczwu2011/12/25 01:48rv2l6T , [url=http://iypuslygczkc.com/]iypuslygczkc[/url], [link=http://aeyqdxamlfsj.com/]aeyqdxamlfsj[/link], http://pnmuclkstgcl.com/

hsxczehzhsxczehz2011/12/27 01:35qVdiOO <a href="http://jccsazehqdhh.com/">jccsazehqdhh</a>

rqvlvwfdjrqvlvwfdj2011/12/27 19:00ZFMclm , [url=http://rxubrlzzgafu.com/]rxubrlzzgafu[/url], [link=http://wlqcwqytkxyo.com/]wlqcwqytkxyo[/link], http://sevxsklnpxnd.com/

トラックバック - http://araistudy.g.hatena.ne.jp/czk-htn/20100307

2010-02-20

[] checkinstall で ruby-1.8.7 をインストール 07:18

ruby 1.8.7 をRPMインストールするために checkinstall をインストールする。

参考:【インフォシーク】Infoseek : 楽天が運営するポータルサイト

rpm-build

checkinstall が内部で用いる rpmbuild コマンドをインストールする。

$ sudo yum install rpm-build

checkinstall

一度 tar+gz をインストールした後、checkinstall自身でRPMを作成し再度上書きインストールする。

$ cd ~/Desktop/
$ wget http://www.asic-linux.com.mx/~izto/checkinstall/files/source/checkinstall-1.6.2.tar.gz
$ tar xzf checkinstall-1.6.2.tar.gz
$ cd checkinstall-1.6.2
$ make
$ sudo make install
$ sudo /usr/local/sbin/checkinstall --fstrans=no --exclude=/selinux
$ sudo rpm -Uvh /usr/src/redhat/RPMS/x86_64/checkinstall-1.6.2-1.x86_64.rpm

ruby-1.8.7

ruby を 1.8.7 にバージョンアップ

$ cd ~/Desktop/
$ wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p249.tar.gz
$ tar xvzf ruby-1.8.7-p249.tar.gz 
$ cd ruby-1.8.7-p249
$ ./configure --prefix=/usr
$ make
$ sudo /usr/local/sbin/checkinstall --fstrans=no --exclude=/selinux
$ sudo rpm -Uvh /usr/src/redhat/RPMS/x86_64/ruby-1.8.7-p249-1.x86_64.rpm

・・・けど、

トラックバック - http://araistudy.g.hatena.ne.jp/czk-htn/20100220

2010-02-19

[] redMine on CentOS-5.4 (x86_64) 10:00

まず ruby と mysql をインストールする。

$ sudo yum install ruby
$ sudo yum install rdoc
$ sudo yum install mysql
$ sudo yum install mysql-server

バージョン確認。

$ ruby --version
ruby 1.8.5 (2006-08-25) [x86_64-linux]
$ mysql --version
mysql  Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (x86_64) using readline 5.1

ruby のライブラリをインストールするために gem をインストール。その後 rake, rack をインストール。

(追記)後述するよう rack は1.0.1を入れ直すことになる。

$ cd ~/Desktop/
$ wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
$ tar xzf rubygems-1.3.5.tgz 
$ cd rubygems-1.3.5
$ sudo ruby setup.rb 
$ which gem
/usr/bin/gem
$ sudo gem install rake
$ sudo gem install rack

(日本語を使うため、このタイミングでMySQLデータベースの文字コードを utf8 にしておく必要がある。2/10のメモを参照のこと。)

$ sudo vi /etc/my.cnf
[mysqld]
default-character-set=utf8
skip-character-set-client-handshake
$ sudo /etc/rc.d/init.d/mysqld start
$ mysqladmin -u root password 'new-password'
$ mysql -u root -p
mysql> create database redmine;
mysql> grant all on *.* to redmine@"localhost" identified by "redmine";
mysql> exit
$ cd ~/Desktop
$ wget http://rubyforge.org/frs/download.php/69052/redmine-0.9.2.tar.gz
$ tar xzf redmine-0.9.2.tar.gz
$ cd redmine-0.9.2
$ cp config/database.yml.example config/database.yml
$ vi config/database.yml
user: redmine
password: redmine
$ rake db:migrate
(in /home/kazuki/Desktop/redmine/redmine-0.9.2)
rake aborted!
RubyGem version error: rack(1.1.0 not ~> 1.0.1)

(See full trace by running task with --trace)

rackというRubyライブラリのバージョンが一致しないようだ。1.0.1にダウングレードすればいいのか?

$ sudo gem install rack --version 1.0.1
$ rake db:migrate
(in /home/kazuki/Desktop/redmine/redmine-0.9.2)
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
rake aborted!
no such file to load -- mysql

(See full trace by running task with --trace)

MySQLライブラリが必要ということで。

$ sudo gem install mysql
ERROR:  Error installing mysql:
        mysql requires Ruby version >= 1.8.6

CentOS 5.4 には 1.8.5 までしかRPMが提供されていない。

rubyのmysqlライブラリを古いバージョンをインストールする。

$ sudo yum install gcc ruby-devel mysql-devel
$ sudo gem install mysql --version '= 2.7' -- --with-mysql-lib=/usr/lib64/mysql
$ cd ~/Desktop/redmine-0.9.2
$ rake db:migrate RAILS_ENV=production
(in /home/kazuki/Desktop/redmine/redmine-0.9.2)
rake aborted!
A key is required to write a cookie containing the session data. Use config.action_controller.session = { :key => "_myapp_session", :secret => "some secret phrase" } In config/environment.rb

(See full trace by running task with --trace)
[kazuki@localhost redmine-0.9.2]$ vi config/environment.rb 

ユニークなセッションキーを設定する。

  config.action_controller.session = { :key => "_myapp_session", :secret => "1b28680754cf06f6807b160f7a16e89a" }
end
$ script/server -e production

(80番ポートで立ち上げる場合は root 権限が必要)
$ sudo script/server -p 80 -e production

http://localhost:3000/ で画面が表示されたら成功。画面右上の「ログイン」からユーザー admin (パスワードも admin)でログインする。ログインしたら再度画面右上の「My account」から表示言語を日本語にしておく。次に画面左上の「管理」から


ちなみに日本語を使うためにMySQLデータベースの文字コードを utf8 にしておく必要がある。2/10のメモを参照のこと。

トラックバック - http://araistudy.g.hatena.ne.jp/czk-htn/20100219