Linux

2012-02-13, old

備忘録(古いもの)

あるポートを使用してるプロセスを調べる

# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
httpd 2246 root 3u IPv4 2918 TCP *:http (LISTEN)

CD-Rを焼く

atapi接続CR-RWドライブの場合、scsiエミュレーションを行う。/etc/lilo.confに以下を追加する。

append="acpi=off hdc=ide-scsi"

設定を反映する。

# /sbin/lilo

イメージを作成して書き込み。

# mkisofs -r -J -o $1.img ./$1.gz
# cdrecord -eject dev=0,0 speed=12 ./$1.img

CD-RWのデータを消去

# cdrecord -eject dev=0,0 speed=12 blank=all

=== HDDフォーマット
{{{
# fdisk /dev/hdb
# mke2fs -j /dev/hdb
#mount -t ext3 /dev/hdb /mnt/hdd

再起動後もマウントしたい場合は、/etc/fstabに以下を追加する。

dev/hdb /backup ext3 defaults 1 2
,/dev/hdb,マウントするデバイス
,/backups,マウントポイント
,ext3,ファイルシステム
,defaults,オプション
,1,dumpの要否。0のときdumpをおこなわない。
,2,fsckの要否。/(ルート)には1をそれ以外には2を設定する。0のときfsckを行わない。

マウススピード調節

マウスのスピードを変更する。1つめの値が加速値、2つめの値は加速値が適用されるまでの閾値。

# xset m 1/1000 1

設定をリセットする。

# xset m

複数のファイルの中から文字列を検索する

cソースの中から文字列「hogehoge」を検索するには。

解1

$ find . -print -name \\*.c -exec grep hogehoge \{\} \\;

解2

$ find . -name \*.c -print | xargs grep hogehoge

ホスト名を変更する

hostnameコマンドでホスト名を変更しても反映されない。

/etc/hosts
/etc/sysconfig/network

を書き換えて強引に更新。

bash設定ファイルの意味

.bash_profile ログイン時だけに実行される
.bashrc 新しいシェルが起動したときにも実行される
.bash_logout ログアウト時に実行される

コンソールログインできないユーザの作成

# useradd -s /bin/false username

作成済みのユーザーアカウントを変更するには、usermodコマンドでシェルを変更する。

# usermod -s /bin/false username

言語設定

言語が日本語だとリモート接続がメンドクサイので英語にしちゃう。

alias eng='LANG=C LANGUAGE=C LC_ALL=C'
alias jp='LANG=ja_JP.eucJP'
unset LANG

最も単純なNAT設定

ipv4フォワーディングを有効にする。

/etc/sysctl.conf
net.ipv4.ip_forward = 1

iptablesのnatテーブルを設定する。

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# /etc/rc.d/init.d/iptables save

ntpでサーバの時刻を合わせる

ntpdate -s clock.nc.fukuoka-u.ac.jp && clock -w

※よく分からないまま、このコマンドをcrontabに登録したりしないで下さい。継続的に時刻合わせを実施したい場合、ntpdの設置などを検討し、適切なロードバランスが行われるようにして下さい。

DNSスキャンスクリプト

#!/bin/bash

declare -i a=1
while [ ( $a -lt 255 ) ]; do
    host 133.6.112.$a | grep com
    a=a+1
done

**リディレクション ,n, ,0,標準入力 ,1,標準出力 ,2,標準エラー出力

,[n][|]word,nで表すファイルディスクリプタへの出力が,wordで表すファイルに出力される。{br}nが省略されると,1,つまり標準出力と見なされる。{br}noclobberオプションが指定されているとファイル上書きが禁止されるが,{br}>|はそれを無視して強制的に上書きする。 ,[n]>>word,nで表すファイルディスクリプタへの出力が,wordで表すファイルに出力される。{br}ファイルが存在するときは,そこに追加される。 ,<<[-]word,wordのパターンが現れるまで入力する。 ,&>word,標準出力と標準エラー出力の両方をwordに出力する。 ,[n]<&word, ,[n]>&word,nで表すファイルディスクリプタへの出力が,wordで表すファイルと合わせて出力される。 ,[n]<>word,入出力の両方にwordで表すファイルが使われる。

リモートのXサーバに接続する

:他のホストからの接続を許可する。 :local$ xhost + :サーバにログインしDISPLAY変数をセットする。 :remote$ export DISPLAY=ローカルマシンのアドレス:0.0 2005-3-6追記 sshにXオプションをつけてログインすればexportの必要はない。 :local$ ssh -X hogehoge.com

あるファイルが存在するかどうかをメールで通知するスクリプト

:#! /bin/bash :FILE=/var/log/somefiles :ADDRESS[0]=aaa@lumber-mill.info :ADDRESS[1]=bbb@lumber-mill.info : :if [ -e $FILE ]; then : MESSAGE="file exist. $FILE." :else : MESSAGE="Can't find $FILE!" :fi : :for TO in $\{ADDRESS[@]\}; do : mail -s "$MESSAGE" $TO << EOF :$MESSAGE :. :EOF :done

CD-Rのベリファイ

:$ cd /mnt/cdrom :$ star -cPM . > /dev/null これでいいの?

この記事は役に立ちましたか?