技術

NTPサーバー『ntpd』のインストール

CentOS 5.5 (Final) # yum install ntp時刻が大きく狂っていると正しい時刻が反映されないので、最初の一回は手動で同期しておきます。 # ntpdate ntp.nict.jp時刻が大きく狂っていたとき、突然正しい時刻に修正することは危険をともないます。時刻が飛ぶこ…

統合監視ソフトウェア『Zabbix』のインストール

ZABBIX-JPリポジトリの登録 # rpm -ivh http://www.zabbix.jp/binaries/relatedpkgs/rhel5/i386/zabbix-jp-release-5-3.noarch.rpmZABBIX-JPリポジトリの標準設定では1.6系が選択されているため、1.8系に切り替えます。 # alternatives --config zabbix-jp-r…

アマゾンウェブサービス クラウドアドバンテージセミナー

本日、ベルサール汐留で開催された『アマゾンウェブサービス クラウドアドバンテージセミナー』に参加してきました。主な目的は、昨今のソーシャル&ウェブサービスにおいて、AWSがどういう位置付けでどの程度使われているのか、を聴くためです。また先日リリ…

crontabの書き方

検証環境 CentOS release 5.6 (Final) コマンド crontabを編集するには、 $ crontab -ecrontabを表示するには、 $ crontab -l 設定例 # 12月31日の13:00に実行します。 00 13 31 12 * ~/bin/script.bash # 毎週月曜日の15:00に実行します。 00 15 * * 1 ~/bi…

MacにインストールしたMySQLをアンインストールする

Mac OS X 10.6.6 MySQL Mac OS X ver. 10.6 (x86, 64-bit), DMG Archive MySQL Sandboxを使ってみようと思い、素でインストールしてあったMySQLをアンインストールしたので、その手順をメモしておきます。なお、アンインストールしたMySQLはここからダウンロ…

Mac OS X 10.6 Snow LeopardにMySQL Sandboxをインストールする

Mac OS X 10.6.6 MySQL Sandbox 3.0.17 MySQL MySQL Community Server 5.5.10 Mac OS X ver. 10.6 (x86, 64-bit), Compressed TAR Archive ここを参考に、rootでCPANからMySQL Sandbox本体をインストールします。ソースコードからインストールする場合は、こ…

Rubyバージョン管理ツール『RVM』

概要 RVM = Ruby Version Managerとは、Wayne E. Seguin氏によって開発された、複数のRubyの処理系をインストール、共存させるためのツールです。MRI・REE・JRubyといった複数の有力な処理系が存在するとともに、1.8系から1.9系への過渡期でもある現在、複数…

MySQLのパーティショニング

パーティショニングはMySQL 5.1で追加された新機能です。 パーティショニングの種類 種類 内容 RANGE パーティションごとに範囲を指定して振り分けます。 LIST パーティションごとに格納する値で振り分けます。 HASH 1つのカラムの値を式の結果で振り分けま…

swfmillとswfmill_rubyのインストール

CentOS 5.5 (Final) swfmill 0.3.1 いろいろハマッたので、最終的にインストールに成功するまでの経緯を残しておきます。なお、swfmill 0.3.1より前のパッケージは、Flash Lite 1.xの日本語エンコーディング形式であるcp932に対応していません。0.3.1より前…

GNU AutoconfとGNU m4のインストール

概要 GNU Autoconfはシステムに最適化したconfigureファイルを生成するプログラムです。m4に依存しています。m4はUNIX系システムに標準で付属するマクロプロセッサです。GNU m4はm4 SVR4版にいくつかの機能拡張が施されています。どちらのインストールも、./…

RailsでURLエンコードする方法

ERB::Utilを使う方法 >> ERB::Util.url_encode("http://www.foobar.jp/baz/?qux=123&quux=xyz") => "http%3A%2F%2Fwww.foobar.jp%2Fbaz%2F%3Fqux%3D123%26quux%3Dxyz" CGIを使う方法 # エンコード >> CGI.escape("http://www.foobar.jp/baz/?qux=123&quux=xy…

RDocのアップデート

RDocをアップデートする Rubyと一緒にインストールされたRDocのバージョンが古いので、 # rdoc --version RDoc V1.0.1 - 20041108最新版にアップデートします。 # gem install rdoc NOTE: If you are running Ruby 1.9.2 you can ignore this message. RDoc …

ファイルの各行から一部分を切り出す cut

構文 cut -b<byte position> <filename> cut -c<char position> <filename> cut -f<field position> [-d<delimiter>] <filename>delimiterを省略するとタブ文字が区切り文字として扱われます。 例 5Byte目を切り出す $ cut -b5 access.log 5Byte目と10Byte目を切り出す $ cut -b5,10 access.log 5Byte目から10Byte目までを切り出す $ cut -b5-10 acces</filename></delimiter></field></filename></char></filename></byte>…

Gitのインストール

概要 Gitをインストールし、共有リポジトリを作成してみます。GitはLinus Benedict TorvaldsによってLinuxのソースコードを管理するために作られた分散型バージョン管理システムです。 構成 CentOS 5.5 (Final) Git 1.7.4.rc2 インストール yumパッケージで…

MySQL標準 負荷測定ツール mysqlslap

mysqlslapはMySQL専用の簡易な負荷測定ツールです。MySQL 5.1.4からは標準で提供されているため、これ以降のバージョンがインストールされていれば追加のソフトウェアをインストールすることなく実行できます。またmysqlslap自身はMySQLのクライアントとして…

telnetコマンドでメールを送信する

$ telnet mail.foobar.jp 587 Trying 192.168.10.19... Connected to mail.foobar.jp (192.168.10.19). Escape character is '^]'. 220 mail.foobar.jp ESMTP HELO foobar.jp 250 mail.foobar.jp MAIL FROM: mail_from@foobar.jp 250 ok RCPT TO: mail_to@fo…

TCPポートで接続できるかを確認する

$ telnet TCPポートで接続できるかを確認するには、telnetコマンドが便利です。 $ telnet 192.168.10.19 25 Trying 192.168.10.19... Connected to 192.168.10.19 (192.168.10.19). Escape character is '^]'. 220 192.168.10.19 ESMTP Postfix たとえば、サ…

ネームサーバーに問い合わせを行う dig(とnslookup)

digとはdomain information groperの略で、ネームサーバーに問い合わせを行い、その応答結果を表示するコマンドです。digとよく似た機能を提供するコマンドにnslookupがあります。その違いは、nslookupがネームサーバーからの応答を見やすいように加工して表…

MuninによるNginxの監視

Muninのプラグインリポジトリ Munin Exchange からプラグインをダウンロードします。 # cd /usr/share/munin/plugins # wget http://exchange.munin-monitoring.org/plugins/nginx_status/version/3/download -O nginx_status # wget http://exchange.munin-…

Ruby Enterprise Editionのインストール

環境 CentOS 5.5 (Final) Amazon Linux 2010.11.1 (beta) 念のため、既存のyumパッケージをアップデートしておきます。 # yum check-update # yum update 開発ツール一式(GCCなど)をインストールします。 # yum groupinstall "Development Tools" ビルドに…

新しいユーザーを作成する

環境 CentOS 5.5 (Final) Amazon Linux 2010.11.1 (beta) fooユーザーを作成します。 # adduser foo # id foo uid=500(foo) gid=501(foo) groups=501(foo) wheelグループに追加します。usermod -Gの第一引数には、いま所属しているグループも含めて所属させ…

pacoのインストール

概要 ソースコードからインストールした場合の欠点は、ソフトウェアが管理されないことです。そのため、何がインストールされているのかわからなくなったり、アンインストールできなくなったり、、、インストール時のログを残しておいてそこから読み解くとい…

rpmやyumでパッケージの内容を確認する方法

rpmコマンドでパッケージの内容を確認するには rpm -qlp <rpmパッケージ> 例えば # rpm -qlp mysql-bench-5.5.8-1.el5.remi.x86_64.rpm /usr/share/sql-bench /usr/share/sql-bench/Data /usr/share/sql-bench/Data/ATIS /usr/share/sql-bench/Data/ATIS/aircraft.txt /usr/</rpmパッケージ>…

ApacheBenchによる負荷テスト

ApacheBench(以下、ab)はApacheに付属する負荷テストツールです。負荷テストツールとしてはJMeterなどが有名ですが、abはApacheがインストールされていれば使えるという手軽さから、ちょっとした性能測定に重宝します。よく使うオプションは同時接続数とリ…

パッチファイルの作り方

diff -Nuprd FROM_DIR TO_DIR > PATCH_FILE -u unifiedフォーマットで出力する -p --show-c-function 各変更を含むCの関数名を表示する -r --recursive ディレクトリを再帰的に比較する -N --new-file 存在しないファイルは空とみなす -d --minimal できるだ…

MySQL server has gone away

ステージング環境の挙動がおかしいので調べてみると、"MySQL server has gone away"というエラーが発生していました。どうやらクローズされたコネクション上でクエリを実行しようとすると、このエラーが発生するようです。もう少し詳しく調べてみました。 A.…

bz2

インストール bz2はlibbz2をRubyから扱うためのライブラリです。bz2をインストールするには、あらかじめbzip2-develパッケージをインストールしておく必要があります。 $ sudo yum install bzip2-devel $ sudo gem install bz2 --no-ri --no-rdocbzip2-devel…

RubyGems

$ gem install <gemパッケージ> --no-rdoc --no-riドキュメントが必要ない場合、--no-rdocと--no-riを指定することでインストール時間を短縮することができます。 --no-rdoc RDoc形式のドキュメントを生成しない --no-ri RIコマンドで読めるドキュメントを生成しない $ gem </gemパッケージ>…

cache_fuプラグイン

インストール cache_fu*1プラグインはActiveRecordの結果をmemcachedにキャッシュしてくれるプラグインです。GitHubで公開されています。 ruby script/plugin install git://github.com/defunkt/cache_fu.git 使い方 サーバーの一覧を取得します。 >> CACHE.…

ミリ秒の精度で時刻を表示する

ちょっと“実行時間を確認したい”ときに便利なTime.nowですが、秒の精度でしか表示できません。 >> Time.now => Sat Oct 30 01:46:23 +0900 2010 ボトルネックを探しているときなど、秒だと精度が足りないというときは、Time#usec*1を組み合わせることでマイ…