ソフトウェアエンジニア現役続行

雑多なことを綴ります

Linux

Linuxに移行

Windows XP Proを使っていた既存のPCにLinuxを入れることにしました。Windowsの環境を削除するのはもったいないので、パーティション分割して、片方にはWindowsを残し、もう片方にLinuxをインストールすることにしました。 まずパーティションを分割するので…

自宅メールサーバーの構築

勉強を兼ねて、自宅でメールサーバーを構築してみました。1台のlinuxマシンにpostfixとdovecotを入れました。主な作業は以下の3点です。 dovecotの設定(/etc/dovecot.conf) postfixの設定(/etc/postfix/main.cf) OP25B対応(/etc/postfix/main.cf) OP25…

yesコマンドの使い方

Unix系OSにはyesコマンドという、ずっと「y」を出力しつづけるコマンドがあります。 [Oswald ~]$ yes y y y y y y 使い道としては、対話的に返答を求めるコマンドに対して、yで返答しつづけることが出来ます。例えば、「rm -i *」とすると、対話的に返答を求…

シャットダウンプロセスの仕組み

Linuxの起動プロセスの仕組みに関する記述はよく見ることが出来ますが、シャットダウンプロセスの仕組みに関する記述はあまりないので、ここに記しておきます。 poweroffコマンドが呼ばれると、Linuのランレベルが0になります。rebootコマンドの場合はランレ…

HTTPSプロキシの仕組み

例えば、以下のようなネットワークを考えます。 ┌──────────┐ ┌─────────┐ ┌───────────┐ │ クライアントPC │ <───> │ プロキシサーバ │ <───> │ HTTPSサーバ │ └──────────┘ └─────────┘ └───────────┘ 192.168.1.40 192.168.1.2 https_server.j…

dhclientとリースファイル

「dhclient -l lease_file」でリースファイルの出力先を指定できます。 (デフォルトは/var/lib/dhclientディレクトリにdhclient-eth0.leasesというファイル名で記録されます)←eth0のところにインタフェース名が入ります。 以前、CentOS 5.1でサーバを立て…

cronスクリプトをバックグラウンドで実行するときの注意点

cronスクリプトの中でアンパサンド(&)を使ってコマンドをバックグランド処理しようとしても、このコマンドが終了するまでcronは次の処理に移行しません。 どういうことかというと、例えば以下のスクリプトをcronに登録します。/etc/cron.hourly/sleep15.s…

keepalivedがnopreemptモードでは正しく動かない

keepalivedというVRRPを実装したオープンソースモジュールがあります。Linux上で動きます。VRRPには、preemptモードとnopreemptモードがあるのですが、keepalivedではnopreemptモードが正しく動きません。FAULT状態のマシンが障害から回復したとき、そのマシ…

タイムアウトを設定してsystem関数を使いたい

LinuxのC言語では「タイムアウトを設定してsystem関数を使いたい」と思っても、これが思うように出来ません。「プロセスをforkさせて、子プロセスでsystem関数を実行して、親プロセスがタイムアウト時に子プロセスを殺せば良い」と思うかも知れませんが、そ…