3文字の.comドメインを探してみた

3文字の.comドメインが欲しいので探してみました。

3文字のドメインを総当たりでwhoisを使い空きがないか探した。
phpで総当たりで検索するコードを書いた。

以下ソース

[sourcecode language='php'] <?php $a = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'); $d = array('com');

foreach($a as $ac1){ foreach($a as $ac2){ foreach($a as $ac3){ foreach($d as $dc){ $domain = $ac1.$ac2.$ac3.'.'.$dc; $result = shell_exec('whois '.$domain); if(preg_match('/No\ match/', $result)){ print('not match : '.$domain."\n"); }else{ print($domain."\n"); } } } } } [/sourcecode]

結果は、一つも空きがありませんでした。

やっぱり.comの3文字ドメインはあいていないですね。

でもほかの地域ドメインの2文字をとることができました。

皆さんも探してみてはいかがですか?

SolarisにソースからApache、PHPを入れてみた

Solaris10ソースコードからコンパイルして、ApachePHPを入れてみました。
そのときのインストールメモです。
まずはじめに、pkg-getをいれた。
pkg-getはLinuxでいうと、yum、apt-getみたいなものです。

はじめにwgetが必要なので、ftpで取得しインストールします。

# ftp ftp.sunfreeware.com
Password:you@domain1.com
ftp> cd pub/freeware/intel/10
250 CWD command successful.
ftp> get wget-1.9.1-sol10-intel-local.gz
ftp> exit

# gzip -d wget-1.9.1-sol10-intel-local.gz
# pkgadd -d ./wget-1.9.1-sol10-intel-local
# PATH=$PATH:/usr/local/bin

次にpkg-getを入れます。

# wget http://www.blastwave.org/pkg_get.pkg
# pkgadd -d pkg_get.pkg
# PATH=$PATH:/opt/csw/bin

簡単なpkg-getの使い方です。

  • パッケージ情報の取得・更新
  • # pkg-get -U

  • インストール可能なパッケージの一覧表示
  • # pkg-get -a

  • インストール可能なパッケージの説明表示
  • # pkg-get -D

  • インストール可能なパッケージの検索
  • # pkg-get -D キーワード

  • インストール済みパッケージとカタログのバージョン比較
  • # pkg-get -c

  • インストール済みパッケージの表示(ソフトウェア名のみ)
  • # pkg-get -l

  • パッケージのインストール
  • # pkg-get -i ソフトウェア名

  • インストール済みパッケージのアップグレード
  • # pkg-get -u

次に先ほどインストールしたpkg-getを使い、必要なパッケージをインストールします。
以下のGNU版が必要です。

pkg-getでインストールします。

# pkg-get -i gcc3 gmake flex bison gm4 autoconf automake gzip gtar gsed libtool libxml2

bin、libの名前がLinuxの時と異なるので、シンボリックリンクを張ります。

# cd /usr/sfw/bin
# ln -s gmake make
# ln -s gar ar

# cd /usr/lib
# rm libxml2.so
# ln -s /opt/csw/lib/libxml2.so

また/usr/bin/xml2-configのバージョン/プレフィックスを適宜書き換えます。

!# /bin/sh

prefix=/opt/csw

…

   --version
 echo 2.6.26

…

後は、Linuxの時と同じようにインストールできます。

Apache

# wget http://www.meisei-u.ac.jp/mirror/apache/httpd/httpd-2.2.4.tar.gz
# tar zxvf httpd-2.2.4.tar.gz
# cd
# ./configure
# make

PHP

# wget http://jp.php.net/distributions/php-5.2.3.tar.gz
# tar zxvf php-5.2.3.tar.gz
# cd php-5.2.3
# /configure --with-libxml-dir=/opt/csw/lib --with-apxs2=/usr/local/apache2/bin/apxs

以上で、ApachePHPをインストールできました。

.screenrcの設定

GNU screen の.screenrcの設定についてまとめてみました。

現在私が使用している設定一覧です。

エスケープをCtrl+tに変更します。
デフォルトでは、Ctrl+aになっていますが、行の先頭に移動とかぶっているので、変更しています。

escape ^t^t

Puttyを全画面で表示するとウインドウタイトルが表示されないので、ステータスを画面の左下に表示されるようにします。

hardstatus off

Ctrl+t w でウインドウの一覧が表示さるようになります。

bind w windowlist -b

スクロールバックを10000行までできるようにします。Ctrl+t Esc でカーソルキーを使いスクロールバックできるようになります。

defscrollback 10000

画面の下に現在の時間とウインドウをタブみたいに表示します。

caption always "%{b RK} %y/%m/%d(%D)%c:%s %{bu dr} | %-w%{=bu CK}%n %t%{-}%+w"

ファンクションキーでウインドウを切り替えられるようにします。

bindkey -k k1 select 0
bindkey -k k2 select 1
bindkey -k k3 select 2
bindkey -k k4 select 3
bindkey -k k5 select 4
bindkey -k k6 select 5
bindkey -k k7 select 6
bindkey -k k8 select 7
bindkey -k k9 select 8
bindkey -k k; select 9

Ctrl+t 2 で画面を分割することができます。Ctrl+t oで分割した画面の移動、Ctrl+t 0で現在の画面を消す、Ctrl+t 1 で一画面に戻すことができます。

bind 2 split
bind o focus
bind 1 only
bind 0 remove

Ctrl+t r で分割した画面サイズを変更できます。jで1行大きく、kで1行小さくすることができます。

bind r eval 'echo "Resize window"' 'command -c resize'
bind -c resize ^] command
bind -c resize j eval 'resize +1' 'command -c resize'
bind -c resize k eval 'resize -1' 'command -c resize'

またログイン時にscreenが起動するように、.zprofileに以下の用に記述します。

if [ -x which screen ]; then
screen -d -R
fi

これで、デタッチされたセッションがあればアタッチ、デタッチされたセッションがなければ新規にセッションを生成します。スクリーンはzshと一緒に使用すると、コマンドの履歴の共有をでき非常に便利です。

Windowsに必ず入れるソフトウェア7選

インストールした後に私が必ず入れるソフトウェアをあげてみました。
これでWindowsXPを快適に使えると思います。

  1. CraftLaunch
  2. CraftLaunchはコマンドランチャです。
    キーボードのみで様々なアプリケーションを起動できます。

  3. XKeymacs
  4. XKeymacsWindowsキーバインドEmacs風にできます。
    また自分で様々な設定もでき、私はCtrl+EnterでEscにしています。

  5. Putty
  6. PuTTY ごった煮版を使っています。いわずとしれた、SSHクライアントです。これがなければ何もできません。

  7. Opera
  8. Operaはウェブブラウザ。とっても快適。

  9. 紙copi
  10. 紙copiはメモや下書きをするとき使っています。この記事も紙copiで下書きしています。

  11. avesta
  12. avestaはタブファイラです。マウスジェスチャを使えるので、だいぶ便利です。

  13. LaTeX
  14. LaTeXは大学のレポートを書くのに使用。Wordは使い方がわかりません。

自動バックアップスクリプト

現在、自宅のサーバで動かしている。自動バックアップスクリプト。 バックアップリストをtar.gzで圧縮し、ローカルにあるtera stationにftpで転送している。

昔どこかで、見たものを改造し使っています。

[sourcecode language='bash']

!/bin/bash

#

setting

#

LANG=C

backup list

BACKUPLIST=/etc/backup/backuplist [ ! -s $BACKUPLIST ] && echo "$BACKUPLIST is not found" && exit 1

no backuplist

BACKUPNOLIST=/etc/backup/backupnolist

back up dir

BACKUPDIR=/backup

FTP

FTPDIR=/backup FTPHOST=192.168.0.1 FTPID=id FTPPASS=pass

backup generation

BACKUPGEN=10

error mail

ERRORMAIL=error@localdomain

set timestamp

TIMESTAMP=date +"%Y%m%d"

touch backup log

BACKUPLOG=backup.$TIMESTAMP.log touch $BACKUPDIR/$BACKUPLOG chmod 400 $BACKUPDIR/$BACKUPLOG

do backup

BACKUP=backup.$TIMESTAMP.tar.gz echo "date backup start" >> $BACKUPDIR/$BACKUPLOG tar zcvfP $BACKUPDIR/$BACKUP -T $BACKUPLIST -X $BACKUPNOLIST >> $BACKUPDIR/$BACKUPLOG 2>&1 [ $? -ne 0 ] && cat $BACKUPDIR/$BACKUPLOG | mail -s "BACKUP ERROR" $ERRORMAIL && exit 1 echo "date backup end" >> $BACKUPDIR/$BACKUPLOG

compression log

gzip -c $BACKUPDIR/$BACKUPLOG > $BACKUPDIR/$BACKUPLOG.gz rm $BACKUPDIR/$BACKUPLOG

remove old tar

if [ $(ls $BACKUPDIR/backup..tar.gz|wc -l) -gt $BACKUPGEN ]; then OLDBACKUPCNT=expr $(ls $BACKUPDIR/backup..tar.gz|wc -l) - $BACKUPGEN for file in ls -t $BACKUPDIR/backup.*.tar.gz|tail -n $OLDBACKUPCNT do rm -f $file done fi

remove old log

if [ $(ls $BACKUPDIR/backup..log.gz|wc -l) -gt $BACKUPGEN ]; then OLDBACKUPCNT=expr $(ls $BACKUPDIR/backup..log.gz|wc -l) - $BACKUPGEN for file in ls -t $BACKUPDIR/backup.*.log.gz|tail -n $OLDBACKUPCNT do rm -f $file done fi

ftp

/usr/bin/ftp -n -v $FTPHOST << EOF user $FTPID $FTPPASS put $BACKUPDIR/$BACKUP $FTPDIR/$BACKUP put $BACKUPDIR/$BACKUPLOG.gz $FTPDIR/$BACKUPLOG.gz quit EOF [/sourcecode]

これをcronで動かせば簡単に毎日バックアップをとれます。