CentOS

How to install CentOS5

友人のためにCentOS5のインストール入門を書いてみる。 インストールメディアを準備 http://www.centos.org/ からisoイメージをダウンロードして焼いておく。 32ビット版と64ビット版があるのでマシンに合わせて選ぶ。 インストール 一番面倒くさいのがパー…

MTAをSendmailからPostfixに変更する方法

今までCentOS上で、MTAをSendmailからPostfixに変更する場合は、 # system-switch-mailというRedhat固有のコマンドを使っていたが、デフォルトでは入らないので、 # yum install system-switch-mailしていたが、同僚からalternatives(これもRedhat固有)と…

C言語でprefork型のデーモンを書く(4): init スクリプト

prefork して、シャットダウン可能なデーモン本体ができたので、次はinit スクリプトを用意する。 適当なサンプルは、/etc/init.d/ 以下にたくさんあるのでそれを参考に書いてみた。 デーモン起動時に /var/run/my_prefork_daemon.pid が自動作成されるのを…

C言語でprefork型のデーモンを書く(3): デーモン化

prefork して、シグナルで綺麗に終了できるようになったので次はデーモン化する。デーモンをkill しやすいように プロセスIDをファイルに書いておくwrite_pid()関数と、デーモン化関数daemonize()を追加している。 my_prefork_daemon.c デーモン化の処理が入…

C言語でprefork型のデーモンを書く(2): 非デーモン prefork シグナルハンドラ付き

1つの親プロセスとたくさんの子プロセスという構成。親プロセスに SIGTERM を送ると、すべての子プロセスをきれいに終了させた後で終了するようにシグナルハンドラを追加したサンプル。 my_prefork_signal.c シグナルハンドラ付きのソース #include <stdio.h> #includ</stdio.h>…

C言語でprefork型のデーモンを書く(1): 非デーモン prefork サンプル

Cで書かれた prefork デーモン(daemon)のちょうど良いサンプルが見つからなかったので自分で書く。 ちょうど良いお手本がないので PerlのソースをCに移植した。 プラットフォームはCentOS5.2。 my_prefork.c ただの prefork のサンプル(デーモン化はしてい…

いらないデーモンの一括削除(改)

Perl のワンライナーで、-a オプション(AWK風に使える)を使って以前書いた、「 いらないデーモンの一括削除 - Sleepless geek in Seattle」 を改良した。いらないデーモンを指定して削除するのではなく、必要なデーモンを指定してそれ以外を削除するように…

MySQL のGDBによるデバッグ環境構築メモ

MySQL5.1からは、自作のストレージエンジンや自作の関数用のAPIが公開されている。 自作のストレージエンジンは気軽には作れないと思うが、自作の関数については検討の価値ありだと思う。 その際に役立つかもしれないデバッグ環境の構築メモ。その前に、ここ…

MySQL のソースビルド

最近 が評判が良いので読んでいる。そこにMySQLのソースレポジトリへのアクセス方法が書かれている。 とりあえず、レポジトリをローカルに作ってテストしてみたのでそのときのメモ。 環境設定 Understanding MySQL Internals によると、以下の手順でローカル…

iSCSI SAN サーバーの構築メモ

EMC、NetAppなど、iSCSIのSANがいい感じ、でも高い。それならオープンソースで、ということでiSCSI Enterprise Target を入れてみた。OSはCentOS5.2 インストール http://iscsitarget.sourceforge.net/ から、最新版のソースをダウンロード。RPMの作成はその…

シェルは使わせずに scp/sftp のみ公開したい場合

うちのサーバー(CentOS5)はわけあってWEBサーバーが立てられないが、ファイルをダウンロードさせてあげる必要があり、scpだけを許可する方法を探したらrssh (restricted secure shell) というのがあったので使ってみた。 install rpmforgeのレポジトリが入っ…

Perl でsetuid されたCGIの実行

CentOS5.1で、setuidされたPerlのCGIを実行したところ、見慣れないエラーが出て失敗する。 Can’t do setuid (cannot exec sperl)ググったところ、どうやら、CentOSに付属されているperlでは、setuidされたCGIは実行できず、別途、setuid用のperlをインストー…

CentOS5.1 でXen

実サーバーの数だけホットスタンバイ機を用意するのはコスト的に許されない場合に、Xenで共通ホットスタンバイ機を用意するのはいいアイデアかも知れない。ということでXenのインストール方法をメモ。 Xenのインストール # yum groupinstall Virtualization …

CentOS5.1 用のApache1.3のRPM作成

checkinstall というプログラムを使えば、ソースファイルから任意のプラットフォーム向けのRPMやdebファイルを作成するできるらしい。実に胡散臭い。でも試してみたのでそのときのメモ。 準備 checkinstall のRPMを rpmfind.net などから探してインストール…

CentOS5.1 上に iSCSI SAN をセットアップした時のメモ

iSCSI SAN の使い方としては、まず、iSCSIハードの初期化を行い、iSCSI Initiator というソフトを使って、リモートハードディスクを検出してからマウントする。 Windowsの場合は、iSCSI Initiator がMicrosoftのサイトからダウンロードできる。WindowsXP Pro…