[ruby][rvm] ruby+rails環境の再構築
ここを参考に
http://d.hatena.ne.jp/mirakui/20100502/1272849327

古いバージョンのrails環境そのままで新しい環境を追加。

wwwグループでユーザ rails2 を追加し、パスワード変更

# useradd -G www rails2
# passwd rails2

rvm インストール

$ gem install rvm
$ bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-latest )

.bashrc に以下を追加

if  -s /home/rails2/.rvm/scripts/rvm  ; then source /home/rails2/.rvm/scripts/rvm ; fi

いったんrails2でログインしなおす

$ rvm install 1.8.7
$ rvm 1.8.7 --default

$ rvm gemset create rails2
$ rvm gemset use rails2

インストールするrailsのバージョン確認

$ gem list --remote 
$ gem install rails -v 2.2.2
$ rvm use 1.8.7@rails2 --default

ruby script/console でエラー

Loading development environment (Rails 2.2.2)
Readline was unable to be required, if you need completion or history install readline then reinstall the ruby.
You may follow 'rvm notes' for dependencies and/or read the docs page http://rvm.beginrescueend.com/packages/readline/ . Be sure you 'rvm remove X ; rvm install X' to re-compile your ruby with readline support after obtaining the readline libraries.
/home/rails2/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/1.8/irb/completion.rb:10:in `require': no such file to load -- readline (LoadError)
        from /home/rails2/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/1.8/irb/completion.rb:10

この辺から微妙・・・

rvm package install readline
yum install readline-devel

rvm remove 1.8.7
rvm install 1.8.7 --with-readline-dir=$rvm_path/usr


openssl が無いよエラー

/home/rails2/.rvm/gems/ruby-1.8.7-p330@rails2/gems/rails-2.2.2/lib/initializer.rb:259:in `require_frameworks':RuntimeError: no such file to load -- openssl
/home/rails2/.rvm/gems/ruby-1.8.7-p330@rails2/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:445:in `load_missing_constant':NameError: uninitialized constant AllHelper
cd /home/rails2/.rvm/src/ruby-1.8.7-p330/ext

rvm remove 1.8.7
rvm install 1.8.7 --with-readline-dir=$rvm_path/usr --with-openssl-dir=$rvm_path/usr
rvm use 1.8.7@rails2 --default
# yum install mysql-devel

$ gem install mysql
$ rvm remove 1.8.7
$ rvm install 1.8.7 --with-readline-dir=$rvm_path/usr --with-openssl-dir=$rvm_path/usr --with-mysql-config=/usr/bin/mysql_config
$ rvm use 1.8.7@rails2 --default

[dev][ubuntu]swap を拡張

root@ubuntu-vm:/etc# dd if=/dev/zero of=/swapfile bs=1024 count=524288
524288+0 records in
524288+0 records out
536870912 bytes (537 MB) copied, 3.68216 s, 146 MB/s
root@ubuntu-vm:/etc# mkswap /swapfile
Setting up swapspace version 1, size = 536866 kB
no label, UUID=bd4d2d4c-3a5d-4c56-b3b1-ff2d498ebc34
root@ubuntu-vm:/etc#  swapon /swapfile
root@ubuntu-vm:/etc# swapon -s
Filename				Type		Size	Used	Priority
/dev/sda5                               partition	915664	77824	-1
/swapfile                               file		524280	0	-2

インストールメモ

ubuntu server 8.10 をインストール

sudo su -
cd /etc/network
cp -p interfaces interfaces.org

oth0 を hdcp から static に変更し、address, netmask, gateway を設定



cd /etc
cp -p resolv.conf resolv.conf.org

resolv.conf にネームサーバのIPアドレスを追加

service /etc/init.d/networking restart
apt-get update
apt-get install ubuntu-desktop

いったんsuからログアウトして
startx

firefoxローカライズ

http://kaede.blog.abk.nu/kubuntu_ja-localize

バイナリログ

MySQL5.0で実行しています。

バイナリログの一覧表示

mysql> SHOW MASTER LOGS;
+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| mysql-bin.000001 |        98 |
+------------------+-----------+
1 row in set (0.00 sec)

リセットした後だから少ない……

バイナリログの切り替え

mysql> FLUSH LOGS;
Query OK, 0 rows affected (0.05 sec)

mysql> SHOW MASTER LOGS;
+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| mysql-bin.000001 |       141 |
| mysql-bin.000002 |        98 |
+------------------+-----------+
2 rows in set (0.00 sec)

新しいバイナリログ mysql-bin.000002 が出来た。

バイナリログの内容表示

最新のバイナリログを表示
mysql> SHOW BINLOG EVENTS;
+------------------+-----+-------------+-----------+-------------+----------------------------------------------------+
| Log_name         | Pos | Event_type  | Server_id | End_log_pos | Info                                               |
+------------------+-----+-------------+-----------+-------------+----------------------------------------------------+
| mysql-bin.000001 |   4 | Format_desc |         1 |          98 | Server ver: 5.0.45-community-nt-log, Binlog ver: 4 |
+------------------+-----+-------------+-----------+-------------+----------------------------------------------------+
1 row in set (0.02 sec)
バイナリログを指定して表示
SHOW BINLOG EVENTS IN 'mysql-bin.000001';
FROM や LIMIT も使用できる
SHOW BINLOG EVENTS IN 'mysql-bin.000001' FROM 1;
SHOW BINLOG EVENTS IN 'mysql-bin.000001' LIMIT 2,3;

バイナリログの全削除

mysql> RESET MASTER;
Query OK, 0 rows affected (0.11 sec)

mysql> SHOW MASTER LOGS;
+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| mysql-bin.000001 |        98 |
+------------------+-----------+
1 row in set (0.00 sec)


部分的に削除したい場合は

指定したログ以前を削除
PURGE MASTER LOGS TO 'mysql-bin.000011';

mysql-bin.000011 より古いバイナリログを削除。
mysql-bin.000011 自体は削除されません。

指定した時刻以前のログを削除
PURGE MASTER LOGS BEFORE '2008-02-08 15:00:00';

指定された時刻の含まれるバイナリログより古いログを削除。
日時の含まれるバイナリログ自体は削除されません。

更新ログを出力するには

  • パラメータ「--log-update」を指定してMySQLを起動する
  • 設定ファイル my.cnf に「log_update」を設定する。

クエリログを出力するには

  • パラメータ「--log」を指定してMySQLを起動する
  • 設定ファイル my.cnf に「log」を設定する。

ログファイルは ホスト名.log です。
Windows の場合は c:/mysql/data/host.log でした。
以下は show tables したところ。

C:\mysql\bin\mysqld.exe, Version: 5.0.45-community-nt-log (MySQL Community Edition (GPL)). started with:
TCP Port: 3306, Named Pipe: /tmp/mysql.sock
Time                 Id Command    Argument
080208 21:27:04	      1 Connect     ODBC@ as anonymous on test
		      1 Query       show table
080208 21:27:06	      1 Query       s
e
080208 21:27:08	      1 Query       show tables

zipファイルの作成

rubyzip というライブラリがあるのでそれを使用した。

http://x.jeez.jp/archives/date/2008/01/14 を参考にしました。

  • まずは rubyzip をインストール
wget http://downloads.sourceforge.net/rubyzip/rubyzip-0.9.1.tgz
tar zxvf rubyzip-0.9.1.tgz
cd rubyzip-0.9.1
ruby install.rb 
  • zipファイルの作成(ファイル圧縮)
# filename のファイルを生成し、
Zip::ZipFile.open(fileName, Zip::ZipFile::CREATE) do |zipfile|
  # zipfile に imageName で targetFilePath のファイルを追加する
  zipfile.add(imageName, targetFilePath)
end

窓使いの憂鬱 設定メモ

http://mayu.sourceforge.net/

移動キー系を vi ライクにするための設定
key *M0-K = *UP
で Shift + 無変換 + K などを押した時に、選択移動がうまく出来ない。

include "109.mayu" # 109
keymap Global
mod Control += 英数
key *英数 = *LeftControl

# 移動とかに使用するので無効化する
key *無変換 =

# 無変換をモディファイヤキーに設定
mod mod0 = 無変換

# 移動キーの定義
key M0-Q = C-PageUp
key M0-W = C-PageDown

key M0-K = UP
key M0-J = DOWN
key M0-H = LEFT
key M0-L = RIGHT

key S-M0-K = S-UP
key S-M0-J = S-DOWN
key S-M0-H = S-LEFT
key S-M0-L = S-RIGHT

key A-M0-K = A-UP
key A-M0-J = A-DOWN
key A-M0-H = A-LEFT
key A-M0-L = A-RIGHT

# その他
key M0-F = PageDown
key M0-B = PageUp
key M0-X = Delete
key M0-_0 = Home # 行頭へ移動
key M0-_4 = End  # 行末へ移動
key M0-変換 = 半角/全角 # 漢字入力

Amazonアソシエイトのリンク作成用に copy url plus を導入する。

  • firefox2.0 に対応していない用なので以下のページから2.0用をインストール

http://btcorp.dyndns.org/Tools/FireFoxExtensions/FF_2.0_extensions/

  • 設定ファイルを編集しやすいように ChromeEdit Plus もインストール

http://webdesigns.ms11.net/chromeditp.html

  • user.js を編集

id:picora さんの http://d.hatena.ne.jp/picora/20050117/1105938118 を参考に以下のように編集。

※NNNN は任意の正数、id:picora さんの真似をして 2 にしました。(メニューの場所)
※XXXX の部分はトラッキングID

user_pref('copyurlplus.menus.NNNN.label','Amazon-Image');

user_pref('copyurlplus.menus.NNNN.copy', '<div id="amazon_%SEL%"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/%SEL%/XXXX-22/ref=nosim"><div style="float:left;padding:5px"><img src="http://images-jp.amazon.com/images/P/%SEL%.09.MZZZZZZZ.jpg" alt="%TITLE%" border="0" /></div><div style="padding:5px;">%TITLE%</div></a><br clear="all" /></div>');
  • firefox を再起動して、amazon の該当ページの「ASIN: XXXXXXX」のXXXXXX部分を選択し、右クリック
  • 「Copy URL+」「'Amazon-Image'」を選択するとクリップボードにリンクコードがコピーされます。