| サーバ構築メモ | 
Since 2002-05-12  
 
 | 
umountできない場合
fuser -mv /mnt/cdrom
色変えるエスケープシーケンス
#!/usr/bin/perl
# Ex.) tail -f /var/log/messages | ./thisscript
&init();
while (<stdin>) {
        chomp();
        if ( /hogehoge/ ) { 
                print "\033[${BLUE}m". $_ . "\033[0m\n";
        }
        elsif ( / fugafuga / ) {
                print "\033[${RED}m". $_ . "\033[0m\n";
        }
        else {
                print $_ . "\n";
        }
}
sub init() {
        $BLACK  = 30;
        $RED    = 31;
        $GREEN  = 32;
        $BROWN  = 33;
        $BLUE   = 34;
        $PURPLE = 35;
        $CYAN   = 36;
        $LGRAY  = 37;
#       戻す    = 0
#       下線    = 4
#       点滅    = 5
#       逆転    = 6
#       非表示  = 7
#       背景青  = 44
#
#Black       0;30     Dark Gray     1;30
#Blue        0;34     Light Blue    1;34
#Green       0;32     Light Green   1;32
#Cyan        0;36     Light Cyan    1;36
#Red         0;31     Light Red     1;31
#Purple      0;35     Light Purple  1;35
#Brown       0;33     Yellow        1;33
#Light Gray  0;37     White         1;37
# \033[44;1;31m って組み合わせて使うこともできるけど、 \033[44m\033[1;31m って2回に分けて設定した方がいいみたいっす。
}
 を借りて色々インストールしていると、コンパイルが通らないので修正ポイントをメモφ(.. )
を借りて色々インストールしていると、コンパイルが通らないので修正ポイントをメモφ(.. )#!/usr/bin/perl
@text = ('aaa', 'bbb', 'ccc', 'ddd', 'eee');
@num  = (3, 5, 2, 1, 4);
@text = @text[sort { $num[$a] <=> $num[$b] } 0..$#text];
foreach (@text) {
	print $_ . "\n";
}
#!/usr/bin/perl
use Jcode;
# $outcode = 'jis';
# $outcode = 'euc';
$outcode = 'sjis';
while (<stdin>){
    s/%([0-9a-fA-F][0-9a-fA-F])/pack("C", hex($1))/egi;
    if ( /utf/i ) {
        Jcode::convert(\$_, $outcode, 'utf8');
    }
    else {
        Jcode::convert(\$_, $outcode);
    }
    print;
}
#!/usr/bin/perl
use Jcode;
# $outcode = 'jis';
# $outcode = 'euc';
$outcode = 'sjis';
$euc1  = '[\x00-\x7F]'; # 1 byte ASCII
$euc2  = '(?:[\x8E\xA1-\xFE][\xA1-\xFE])'; # 2bytes EUC
$euc3  = '(?:\x8F[\xA1-\xFE][\xA1-\xFE])'; # 3bytes EUC
$EUC   = "(?:${euc1}|${euc2}|${euc3})";
$sjis1 = '[\x00-\x7F\xA1-\xDF]'; # 1 byte SJIS
$sjis2 = '(?:[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC])'; # 2 byte SJIS
$SJIS  = "(?:${sjis1}|${sjis2})";
while (<stdin>){
        s/%([0-9a-fA-F][0-9a-fA-F])/pack("C", hex($1))/egi;
        $incode = '';
        if ( /utf/i ) {
                $incode = 'utf8';
        }
        elsif ( /^${EUC}*$/ ) {
                $incode = 'euc';
        }
        elsif ( /^${SJIS}*$/ ) {
                $incode = 'sjis';
        }
        elsif ( /\x8E[\xA6-\xDF]/ ) { # 上の条件に引っかからなかった場合の半角カナチェック
                $incode = 'euc';
        }
        elsif ( /[\xA6-\xDF]/ ) {
                $incode = 'sjis';
        }
        Jcode::convert(\$_, $outcode, $incode); # 半角カナは半角のまま
        # Jcode::convert(\$_, $outcode, $incode, 'z'); # 半角カナを全角に変換
        print;
}
acl my-network {
    localhost;
    192.168.0.0/24;
    192.168.1.1;
}
のような感じで、自身で管理してるホスト・ネットワークのアドレスを並べて、options {
    ・・・
    allow-recursion { my-network; };
}
と設定する。acl secondary {
    localhost;
    192.168.0.0/24;
    192.168.1.1;
    10.1.1.1;
}
のような感じで、セカンダリDNSサーバのアドレスを並べて、
acl secondary {
zone "hogehoge-foo.com" {
    ・・・
    allow-transfer { secondary; };
}
として、secondary に登録されているアドレスには、余計な情報を返さないようにする。| 戻る トップページへ戻る | Yesterday: |