○ その他

・ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
・設定ファイルで "#" で始まる行はコメントとして解釈されます

◯rootあてに送られる管理メールをメールサーバに転送します

・postfix → sendmailに入れ替えています
・/etc/aliasesを修正します

:/etc/aliases

#root: marc
root: luna@mail.528p.com

[root@earth:~]
# newaliases
# service sendmail restart

・CentOSのsendmailはlibwrapが有効になっています
・/etc/hosts.allowでsendmailへのアクセスを制限します

ALL: 127.0.0.1
sendmail: 192.168.0.

◯cron.dailyの実行時間を変更します

・cronie-anacron → cronie-noanacron に入れ替えています
・毎日午前4時に実行するように設定されています
・サーバ毎に実行時間をずらします (例では午前2時)

:/etc/cron.d/dailyjobs

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
02 2 * * * root [ ! -f /etc/cron.hourly/0anacron ] && run-parts /etc/cron.daily
22 2 * * 0 root [ ! -f /etc/cron.hourly/0anacron ] && run-parts /etc/cron.weekly
42 2 1 * * root [ ! -f /etc/cron.hourly/0anacron ] && run-parts /etc/cron.monthly 

◯ls | less のパイプ処理でカラー表示にする

・/etc/bashrcまたは~/.bashrcに追記します
・"less -X" オプションは、画面をクリアしない設定

alias ll='ls -l --color=always'
alias l.='ls -d .* --color=always'
alias ls='ls --color=always'
alias less='less -RX'

・ただし、ファイルに出力する場合は、--color=noを付けます

$ ls --color=no > homedir.txt

◯lsのカラー表示を変更する

[sola@earth:~]

・デフォルトの設定ファイルをコピーします

# cp /etc/DIR_COLORS ~/.dir_colors

・設定ファイルの修正

# vi .dir_colors

・設定を反映させます

# eval `dircolors ~/.dir_colors -b`

◯bashでビープ音を鳴らす

・例、コマンドの終了を知らせる

[sola@earth:~]
$ echo $'\a'
$ bzip2 xen-4.0-testing.hg.tar ; echo $'\a'

◯空のファイルをつくる、ファイルを空にする

・空のファイルをつくる

[sola@earth:~]
$ touch test.txt

・空のファイルをつくる、ファイルを空にする

$ echo -n > test.txt
$ cat /dev/null > test.txt

◯catコマンドで制御文字を表示する

・DOS形式の改行コードがLINUXの表示で ^M (CR相当) に変換された例
・端末で制御文字の ^M を入力するには、(Ctrl+V),(Ctrl+Shift+M) と連続して入力します

[sola@earth:~]
$ cat -v robots.txt
User-agent: *^M
Disallow: /cgi-bin/^M
Disallow: /tmp/^M
Disallow: /cache/^M
Disallow: /class/^M
Disallow: /include/^M
Disallow: /install/^M
Disallow: /kernel/^M
Disallow: /language/^M
Disallow: /templates_c/^M

◯manコマンドの表示内容をファイルに保存

・manコマンドの出力をcolコマンドに渡して制御コードを取り除きます

[sola@earth:~]
$ man nkf | col -bfx > nkf.1.txt

◯バックアップファイルの検索と削除

・最後尾に〜文字のつくパックアップファイルを検索します
・確認を取りながら削除します (y or n)

[sola@earth:~]
$ find . -name '*~' -ok rm {} \;
< rm ... ./.gnupg/pubring.gpg~ > ? y

◯文字列を検索しファイルごとに表示するスクリプト

・適当な名前を付けて、/usr/local/binに保存します(例 findstring)
・使い方 "findstring foo hogehoge" 第1引数に文字列 第2引数にディレクトリ名
・日経Linuxのスクリプト記事を修正しています

#!/bin/bash

dir="$2"
[ -z "$dir" ] && dir=". "
[ -z "$1" ] && exit 1

for filename in `find $dir` ;
do
    if ! expr match "$filename" '/dev' > /dev/null && \
    ! expr match "$filename" '/proc' > /dev/null ;
    then
        str=`grep -n "$1" $filename`
        if [ $? -eq 0 ] ;
        then
            echo "File: $filename"
            echo "$str"
            echo "----"
        fi
    fi
done

◯ipcalcでネットワークアドレスやブロードキャストアドレスを計算します

・/bin/ipcalcはinitscriptsに含まれます

[sola@earth:~]
$ ipcalc --help
Usage: ipcalc [OPTION...]
 -b, --broadcast  Display calculated broadcast address
 -h, --hostname   Show hostname determined via DNS
 -m, --netmask    Display default netmask for IP (class A, B, or C)
 -n, --network    Display network address
 -p, --prefix     Display network prefix
 -s, --silent     Don't ever display error messages

・"PREFIX" で計算する場合

$ ipcalc -bmnp 192.168.0.1/24
NETMASK=255.255.255.0
PREFIX=24
BROADCAST=192.168.0.255
NETWORK=192.168.0.0

・"NETMASK" で計算する場合

$ ipcalc -bmnp 192.168.0.1 255.255.255.0
NETMASK=255.255.255.0
PREFIX=24
BROADCAST=192.168.0.255
NETWORK=192.168.0.0



◯mcのインストール

・gpm-develを要求されます(GUIでのマウス操作)
・configureを実行してspecファイルをつくります

# cd ~/src
[root@earth:~/src]
# mkdir mc
# tar jxf mc-4.8.19.tar.bz2
# cd mc-4.8.19
[root@earth:~/src/mc-4.8.19]
# ./configure
# cp contrib/dist/redhat/mc.spec ~/rpmbuild/SPECS
# cd ~/src
[root@earth:~/src]
# cp mc-4.8.19.tar.bz2 ~/rpmbuild/SOURCES
# rm -rf mc-4.8.19
# cd ~/rpmbuild/SPECS
[root@earth:~/rpmbuild/SPECS]

・mc.specの修正(下記参照)

# vi mc.spec

# rpmbuild -ba --clean --rmsource --define 'dist .mn' mc.spec
# mv mc.spec ~/src/mc
# cd ../RPMS/i686
[root@earth:~/rpmbuild/RPMS/i686]

・作成されたパッケージ
 mc-4.8.19-1.mn.i686.rpm

# rm *debuginfo*
# mv *.rpm ~/src/mc
# cd ../../SRPMS
[root@earth:~/rpmbuild/SRPMS]

・作成されたパッケージ
 mc-4.8.19-1.mn.src.rpm

# mv *.rpm ~/src/mc

・インストール

# cd ~/src/mc
[root@earth:~/src/mc]
# rpm -Uvh mc-4.8.19-1.mn.i686.rpm

・または

# cd ~/src/mc
[root@earth:~/src/mc]
# yum localinstall mc-4.8.19-1.mn.i686.rpm

:~/rpmbuild/SPECS/mc.spec

・省略

License:        GPL3+
Group:          System Environment/Shells
Source0:        %{name}-%{mc_tarball}.tar.bz2

・省略

%{_libexecdir}/mc/mc*sh
%{_libexecdir}/mc/extfs.d/*
%{_libexecdir}/mc/fish/*
%{_libexecdir}/mc/ext.d/*

%{_mandir}/man1/*
%lang(es) %{_mandir}/es/man1/mc.1

・省略

%config(noreplace) %{_sysconfdir}/mc/*edit*
%config(noreplace) %{_sysconfdir}/mc/mc.ext
%config(noreplace) %{_sysconfdir}/mc/mc.menu
#%config(noreplace) %{_sysconfdir}/mc/mc.menu.*
%config(noreplace) %{_sysconfdir}/mc/sfs.ini
%config(noreplace) %{_sysconfdir}/mc/mc.keymap
#%config(noreplace) %{_sysconfdir}/mc/mc.keymap.*
%config(noreplace) %{_sysconfdir}/mc/mc.*.keymap

%dir %{_datadir}/mc
%{_datadir}/mc/*

・省略

・mcの起動オプションの設定
・/etc/bashrcまたは~/.bashrcにaliasを記述します
・"-a" LANG環境によって、枠の表示が崩れる場合に指定
・"--skin" /usr/share/mc/skins,のサンプルを読込ます
・(gotarは黒画面)

 alias mc='mc --skin=gotar -a'
 alias mcedit='mcedit --skin=gotar -a'

◯nkfのインストール

・fedoraのspecファイルを修正して使います
・copyrightを入れ替えます

# cd ~/src
[root@earth:~/src]
# mkdir nkf
# cp nkf-2.1.4.tar.gz ~/rpmbuild/SOURCES
# cp nkf.copyright ~/rpmbuild/SOURCES
# cp nkf.spec ~/rpmbuild/SPECS
# cd ~/rpmbuild/SPECS
[root@earth:~/rpmbuild/SPECS]
# rpmbuild --ba --clean --rmsource --define 'dist .mn' nkf.spec
# mv nkf.spec ~/src/nkf
# cd ../RPMS/i686
[root@earth:~/rpmbuild/RPMS/i686]

・作成されたパッケージ
 nkf-2.1.4-1.mn.i686.rpm
 perl-NKF-2.1.4-1.mn.i686.rpm

# rm *debuginfo*
# mv *.rpm ~/src/nkf
# cd ../../SRPMS
[root@earth:~/rpmbuild/SRPMS]

・作成されたパッケージ
 nkf-2.1.4-1.mn.src.rpm

# mv *.rpm ~/src/nkf

・インストール

# cd ~/src/nkf
[root@earth:~/src/nkf]
# rpm -Uvh perl-NKF* nkf-2.1.4-1.mn.i686.rpm

・または

# cd ~/src/nkf
[root@earth:~/src/nkf]
# yum localinstall perl-NKF* nkf-2.1.4-1.mn.i686.rpm

nkf.copyright

・Copyright はオリジナルのnkf.cに記載されています
・nkf --version で表示されます

nkf.spec

・fedoraのspecファイルを修正しています



◯rpmbuildのカスタマイズ

・/usr/lib/rpmの中をいろいろ探ると仕組みがわかる?ような気がする
・自分なりにカスタマイズできることがわかるだけで良いです
・ソースファイルのインストールは省略

:nkf.specの一部 (例)

Name: nkf
Epoch: 1
Version: 2.0.8b
Release: 5%{?dist}

・上記の記述をふまえて /etcに自分用の設定ファイルをつくる

/etc/rpmrc
optflags: pen3 %{__global_cflags} -m32 -march=pentium3 -mtune=atom -fasynchronous-unwind-tables

/etc/rpm/macros.dist
%dist .C62

・上記の設定でrpmbuildを実行します

# cd ~/rpmbuild/SPECS
[root@earth:~/rpmbuild/SPECS]
# rpmbuild -bb --target pen3 nkf.spec
# cd ../RPMS/pen3
[root@earth:~/rpmbuild/RPMS/pen3]
# ls
nkf-2.0.8b-5.C62.pen3.rpm

・新しく~/rpmbuild/RPMS/pen3ディレクトリがつくられ
・pentium3にカスタマイズされたパッケージが作られると思う
・"--target"になにも指定しないとデフォルトのi686パッケージがつくられる



◯フレームバッファ

・CUI環境でフレームバッファを利用して解像度を変更します
・kernelのオプションに"vga=数値"を設定して起動します

:カーネルモード番号

解像度 色数 16進数 10進数 備考
640x480 (256色) 0x301 769
640x480 (32,000色) 0x310 784
640x480 (64,000色) 0x311 786
640x480 (16,000,000色) 0x312 786
800x600 (256色) 0x303 771
800x600 (32,000色) 0x313 787
800x600 (64,000色) 0x314 788
800x600 (16,000,000色) 0x315 789
1024x768 (256色) 0x305 773
1024x768 (32,000色) 0x316 790
1024x768 (64,000色) 0x317 791
1024x768 (16,000,000色) 0x318 792
1280x1024 (256色) 0x307 775
1280x1024 (32,000色) 0x319 793
1280x1024 (64,000色) 0x31A 794
1280x1024 (16,000,000色) 0x31B 795

○ Copyright(c) 528p.com All Rights Reserved.