weblog of key_amb

主にIT関連の技術メモ

2012-01-01から1年間の記事一覧

Miエディタの設定

MacではMiというエディタを使っている。 設定方法を忘れないようにメモしておく。 バージョン 2.1.12 設定 項目 設定方法 行折り返し mi > モード設定 > デフォルト > 行折り返し 制御文字の表示 mi > モード設定 > 表示 設定が反映されないときは、ドキュメ…

GTags for Vim

以前、ctagsというのを使っていたのだが、久しぶりに調べてみたら、GTagsというのがあるらしい。 どうも2つあるようで、別物のようだ。 どちらもctagsのようにタグを生成して、関数を検索したり定義箇所にジャンプできたりすると思う。 google-gtags http://…

Macで画面ロック

諸事情でMacで作業する頻度が上がって来た。 ので、そろそろ作業環境を快適にしないと。。とりあえず、席を立つたびに画面ロックかけるのがめんどくさいのでショートカットキーでできるようにした。 スマートにスクリーンロックを実行する「LockTight」に方…

Q4M - queue_stats() function

Q4M 0.9.7 で queue_stats() という function が導入されたそうな。 mysql> select queue_stats('t'); +-----------------------------------------------------------------+ | queue_stats('t') | +-----------------------------------------------------…

正規表現Tips

正規表現の少し高度なTipsをここにまとめる予定。 (?:...)で括りつつメモリしない 以下、例。 #!/usr/bin/perl my $regexp = '^(?:sato|suzuki|tanaka)\.ichiro$'; ()で括りたいが、後方参照したくないときや、高速化したいときに使う。 それ以外はふつうの(…

Unix系シェルの特殊コマンド(記号)

Linuxのシェルでは、記号がふつうにコマンドとして使えることがある。 そういうのはなかなかぐぐっても出て来なかったりする。 この記事ではそういう特殊な(?)コマンドをまとめる。 : 本来コマンドなのかも定かでないが、ファイルを空にするときに使われる…

シェルスクリプトでの関数の使い方

例 $ vi test_function.sh #!/bin/bash function func() { echo "hogehoge" } func $ ./test_function.sh hogehoge 関数名の前につける"function"は省略可能。 参考 関数の使用方法 - UNIX & Linux コマンド・シェルスクリプト リファレンス

Postfixのログ設定

MTA

筆者の環境はCentOS 5系である。 main.cfの設定 postfixのログはsyslogdで記録される。 /etc/postfix/main.cf でsyslogのfacilityを設定する。 syslog_facility = mail上記はデフォルト設定のため、特に指定しない場合、上記が適用される。 syslog設定 /etc/…

tcpdumpの出力の見方

TCPパケットの場合 例として次のようにtcpdumpコマンドを実行して、出力が得られた場合を取り上げる。 hostname:~# tcpdump host hotta and port www 11:26:59.113561 hotta.1036 > server2.www: S 120396:120396(0) win 8192 (DF) 11:26:59.113561 server2.…

LighttpdにおけるRemote IPによるアクセス制御

Apacheでは mod_access モジュールの "Allow from" や "Deny from" ディレクトリで、サーバにアクセスできるクライアントのIPアドレスを制御することができる。Lighttpdでは url.access-deny と $HTTP["remoteip"] を組み合わせてこれを実現する。 例えば、1…

pidofコマンド - プロセス数の監視

特定のプロセスの数を数えたり、まとめてプロセスをkillしたりするときに便利。 pidof sshd pidof screen 応用 プロセス数の監視に使うことができる。 例えば、以下の様なコマンドを実行するNagiosプラグインを作れば、監視に利用することができる。 # fcgi…

TCP/UDPポート番号

目にしたものをここにまとめていく。 番号 プロトコル 用途 53 TCP,UDP DNS 参考 TCPやUDPにおけるポート番号の一覧 - Wikipedia Service Name and Transport Protocol Port Number Registry

gitでリモートのリポジトリを変更する

リポジトリが移行したときなど、リモートのリポジトリのURLを変更したいときがある。 そんなときは、以下のようにしてURLを変更することが出来る。 git remote set-url <name> <newurl>originのurlを変更するには、次のようにする。 git remote set-url origin <newurl> 参考 gitで</newurl></newurl></name>…

sysctlコマンド

sysctlコマンドはカーネルパラメータの修正に用いる。 変更できるパラメータは /proc/sys/ 以下にリストされているものである。 使い方 /sbin/sysctl -w {キー}={値}以下に例を挙げる。 /sbin/sysctl -w kernel.domainname="example.com"OSが再起動してもこ…

Linuxでのavahi-daemonの停止

CentOS 5でavahi-daemonが自動起動するようになっているが、これはApple方式の自動デバイス検出機能で、サーバ用途ではまず使うことはないだろう。 このdaemonはマルチキャストを行うので、動かしておくとよくないことが起こることもある。 というわけで、落…

httpd.confことはじめ

Apacheの設定ファイルである httpd.conf の基本的な書き方をこの記事にまとめる予定。 コメント # で始めるとコメントを記述することが出来る。 Includeディレクティブ 参考 Apache2/5.httpd.confの編集 - Ground-SunLight

ServerAliasにワイルドカードを使う

hogehoge.com だけでなく、任意のサブドメインについても同じVirtualHostでサーブしたいなーなんてときには、ServerAliasでワイルドカードを使うといいだろう。 || ServerName hogehoge.com ServerAlias *.hogehoge.com DocumentRoot /var/www ||< ** 参考 -…

SPFレコードとその設定

SPF は Sender Policy Framework の略で、電子メールにおける送信ドメイン認証の1つである。 差出人のメールアドレスのなりすましを検出することができる。SPFに対応したメールサーバを構築するときは、利用するドメインのゾーンファイルに、使用するIPアド…

mysqldumpコマンド

オプション オプション 意味 --no-create-info,-t CREATE TABLE文を省略する --no-data,-d データのダンプを省略する。DDLだけ出力したいときに便利 --events,-E イベントをダンプする --routines,-R 関数とプロシージャをダンプする コマンド実行例 # デー…

RPMパッケージをインストールせずに展開する

RPMパッケージに含まれるファイルのリストは、rpmコマンドでわかるが、実際に中身を展開してみたいときには、rpm2cpio というコマンドが用意されている。 || rpm2cpio xxx.rpm | cpio -id ||< 展開せず、ファイルの一覧だけほしい場合は、rpm -ql でよい。 |…

ディレクトリのdiffを取る

diffコマンドはファイル同士だけでなく、ディレクトリの比較もすることができる。 || $ diff dir1/ dir2/ dir1だけに発見: 1.dat 共通の下位ディレクトリー: dir1/dir1-1とdir2/dir1-1 dir1だけに発見: dir1-2 ||< 同名のファイルについては差分を表示してく…

Linuxの時刻合わせ

Linuxの時計にはハードウェアクロックとシステムクロックがある。 ハードウェアクロックは hwclock コマンドでアクセスできる。 システムクロックは date コマンドでアクセスできる。 システムクロックの表示・変更 date # 表示 date -s "10/05 18:00 2012" …

showmountコマンド

NFSサーバで、ディレクトリを共有しているクライアントの一覧を表示する。 aオプションをつけると、クライアントのホスト名と共有しているディレクトリ名が表示される。 showmount showmount -a 過去のマウント情報が残る 過去にマウントしていたホストの情…

git diff の使い方

Git

この記事にまとめる予定。 Options Option 意味 --word-diff 単語単位で差分を見る Tips patchコマンドで取り込めるdiffを生成するには、--no-prefixオプションをつける。 git diff --no-prefix <リビジョンA>..<リビジョンB> > patch.diff patch --dry-run …

Linuxホスト名、IPアドレス変更

以下、永続的な変更の手順である。 ホスト名の変更は /etc/sysconfig/network を書き換える。 ネットワークセグメントが変わる場合、デフォルトゲートウェイも変更の必要があるだろう。 # vi /etc/sysconfig/network HOSTNAME=ホスト名 GATEWAY=デフォルトゲ…

MySQL binlogの削除

PURGE MASTER LOGS構文を使う。 以下の手順でやればよい。 手順 1. どこまでbinlogを削除していいか調べる。 Slave側でSHOW SLAVE STATUSを実行する。Master_Log_Fileが現在参照中のbinlog。 mysql > SHOW SLAVE STATUS; : Master_Log_File: mysql00-bin.000…

DNSの逆引き/正引き

DNS

正引き ... ホスト名 => IPアドレスを引くこと 逆引き ... IPアドレス => ホスト名を引くこと 正引き Aレコードを用いる。 コマンドとしては、Linuxであれば host, nslookup などが使える。 逆引き PTRレコードを用いる。 逆引きを設定していないIPアドレス…

Gitにおけるファイルパーミッションの変更

Git

git 1.7.2.2はファイルパーミッションの変更を検知してくれるようだ。 $ chmod +x hoge.sh $ git diff diff --git a/hoge.sh b/hoge.sh old mode 100644 new mode 100755

MySQLのINFORMATION_SCHEMA DB

MySQLのINFORMATION_SCHEMA DBで、各種情報を参照することができる。 よく見るものを以下に挙げる。 Table名 内容 COLUMNS カラム名 EVENTS イベント情報 PARTITIONS パーティショニング情報 PROCESSLIST プロセス情報 Tips INFORMATION_SCHEMAの情報を使っ…

Linuxにおけるファイルのタイムスタンプ (atime/ctime/mtime)

Linuxのファイルには3つのタイムスタンプがある。 atime ... 最終アクセス日時 mtime ... 最終変更日時 ctime ... 最終ステータス変更日時 ** タイムスタンプの表示 |sh| ls -lu # atimeの表示 ls -l # mtimeの表示 ls -lc # ctimeの表示 ||< または、statコ…