Top / Installmemo / Linux
Link †
- IBM Linux技術情報
- エラーメッセージ検索
- sysstat
- Linux入門Document (Vine3.2ベース)
ブートローダー †
Disk管理 †
Network関連 †
Kernel †
チューニング †
- martian sourceのエラーログ
発信元のIPが不正であることを示す.RFC1812によるとログに記録されることが求められるが、procファイルシステムのlog_martiansによってログへの出力をコントロールできる。/proc/sys/net/ipv4/conf/eth0/log_martians /proc/sys/net/ipv4/conf/all/log_martians
- 最大プロセス数
Linuxにおける最大プロセス数の考え方は、プロセス数+スレッド数。また、glibcに関連する場合の最大スレッド数はPTHREAD_THREADS_MAXの定義を確認。/proc/sys/kernel/threads-max
- メモリオーバーコミット(Kernel 2.6 uppper)
メモリが逼迫した状況でも、memory overcommit によるプロセスの突然死を起こしたくな い状況ではproc/sys/vm/overcommit_memory を "2" にし、
かつ overcommit_ratio を調整して "malloc_limit"値 が物理メモリ量を超えないようにすれば良いmalloc_limit[MB]= swap領域のサイズ[MB] + (物理メモリ量[MB] * overcommit_ratio / 100)
# sysctl -w vm.overcommit_ratio=99 # sysctl -w vm.overcommit_memory=2
- lowメモリ領域
> cat /proc/sys/vm/lowmem_reserve_ratio 256 256 32
- 仮想メモリ管理
/proc/sys/vm/swappiness
- Oracle
OracleをLinux上で稼働させる場合、Kernelのチューニングを行う必要がある。http://www.oracle.co.jp/2shin/no86/o35linux.htmlkernel.sysrq kernel.shmmax kernel.sem kernel.msgmax kernel.msgmni kernel.threads-max kernel.shmmni kernel.msgmnb fs.file-max net.ipv4.ip_local_port_range - CPUSpeed
http://www.carlthompson.net/Software/CPUSpeed
CPUspeedで選択できるクロック数を確認する方法% cat //sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 1600000 1400000 1200000 1000000 800000 600000
ユーザーID管理のメモ †
# chage Usage: chage [-l] [-m min_days] [-M max_days] [-W warn] [-I inactive] [-E expire] [-d last_day] user
パスワード期限表示
% chage -l user01 パスワード: Minimum: 0 Maximum: 90 Warning: 7 Inactive: -1 Last Change: 3月 07, 2012 Password Expires: 6月 05, 2012 Password Inactive: Never Account Expires: Never
# usermod 使用法: usermod [-u ユーザID [-o]] [-g グループ] [-G グループ,...] [-d ホーム [-m]] [-s シェル] [-c コメント] [-l 新規ユーザ名] [-f 無効日数] [-e 期限切れ日 ] [-p パスワード] [-L|-U] ユーザ名
- /etc/shadowファイルのフォーマット
username:passwd:last:may:must:warn:expire:disable:reservedusername passwd last may must warn expire disable reserved ユーザ名 エンコードされたパスワード 1970年1月1日から、パスワードが最後に更新された日までの日数 何日前にパスワードが変更されたと思われるか パスワードを変更しなければならない期限 パスワードの期限切れの何日前にユーザに警告するか パスワード期限切れの何日後にアカウントを抹消するか 1970年1月1日から、アカウントが抹消された日までの日数 予約フィールド
- ロック
- 状況表示
# faillog -u username
- ロックの解除
# faillog -r username
- 状況表示
- rootユーザーのログインコンソール制限
/etc/securettyに記載されたコンソールのみrootユーザーはログイン可能である。# # This file contains the device names of tty lines (one per line, # without leading /dev/) on which root is allowed to login. # tty1 tty2 tty3 tty4 tty5 tty6 # for devfs: vc/1 vc/2 vc/3 vc/4 vc/5 vc/6 ttyS0 ttyS1
Timezoneの変更 †
/etc/localtimeファイルによってデフォルトのタイムゾーンが設定される。localtimeファイルを置き換えることでタイムゾーンの変更が可能である。
# mv /etc/localtime /etc/localtime.est # cp -ip /usr/share/zoneinfo/Japan /etc/localtime
最後に/etc/sysconfig/clock を修正する。
ZONE="Asia/Tokyo"
RPM †
RPMのエラー †
- キャッシュファイルが損傷した
# apt-get update 取得:1 http://updates.vinelinux.org 4.1/i386 release [2254B] 2254B を 0s 秒で取得しました (15.4kB/s) 取得:1 http://updates.vinelinux.org 4.1/i386/main pkglist [286kB] 取得:2 http://updates.vinelinux.org 4.1/i386/main release [158B] 取得:3 http://updates.vinelinux.org 4.1/i386/plus pkglist [484kB] 取得:4 http://updates.vinelinux.org 4.1/i386/plus release [166B] 取得:5 http://updates.vinelinux.org 4.1/i386/updates pkglist [47.0kB] 取得:6 http://updates.vinelinux.org 4.1/i386/updates release [169B] 取得:7 http://updates.vinelinux.org 4.1/i386/nonfree pkglist [5713B] 取得:8 http://updates.vinelinux.org 4.1/i386/nonfree release [169B] 取得:9 http://updates.vinelinux.org 4.1/i386/main srclist [121kB] 取得:10 http://updates.vinelinux.org 4.1/i386/plus srclist [199kB] 取得:11 http://updates.vinelinux.org 4.1/i386/updates srclist [10.4kB] 取得:12 http://updates.vinelinux.org 4.1/i386/nonfree srclist [10.1kB] 1164kB を 2s 秒で取得しました (389kB/s) セグメンテーション違反ですでいます... 0%
対応-キャッシュファイルを削除する。# mv /var/cache/apt/pkgcache.bin /tmp/ # mv /var/cache/apt/srcpkgcache.bin /tmp/
- RPM DBが損傷した
表示されるメッセージ例rpmdb: PANIC: fatal region error detected; run recovery error: db4 error(-30977) from db->get: DB_RUNRECOVERY: Fatal error, run database recovery
対応# mv /var/lib/rpm/__db.001 /tmp # mv /var/lib/rpm/__db.002 /tmp # mv /var/lib/rpm/__db.003 /tmp # rpm --rebuilddb
RPMオプション †
- PRMからインストールされるファイル一覧を表示する
# rpm -qlpi パッケージ名.rpm
Tips †
- キャッシュをクリアする
1=ページキャッシュ解放
2=ダーティキャッシュ、inode解放
3=ページキャッシュとダーティキャッシュ、inode解放# echo 1 > /proc/sys/vm/drop_caches
- HDDのパーティションにラベルを付ける
# e2label /dev/hdaxx /labelname
- RAM tmpファイルシステムを使う
ファイルシステムタイプ tmpfsはメモリ上に展開される。/dev/shmにマウントされる。
実際にファイルI/Oに使うには下記のようにマウントする。(/tmpに32MB RAM上から割り当てられる)
サイズ指定しない場合は実メモリの半分が割り当てられる。# mount -t tmpfs -o size=32m tmpfs /tmp
/etc/fstabにも記述可能。/dev/shm /tmp tmpfs defaults,size=64m 0 0
- ISOイメージをマウントする
# mount -o loop /tmp/IMAGE.iso /mnt/cdrom/
- ファイルを完全消去する
$ shred --remove test.bin
- シリアルコンソール化
- inittabの追記
co:2345:respawn:/sbin/agetty -h 115200 ttyS0 vt100
- liloの修正
カーネル指定のappendオプションに次を追加console=tty0 console=ttyS0,115200
- kuduzuの更新停止
# vi /etc/sysconfig/kudzu SAFE=yes
- シリアルコンソールのログイン許可
/etc/securettyにttyS0を追加
http://www.shoshin.co.jp/c/lsi/scs/faqlinux.html - シリアルポートの設定
# stty 転送レート -F デバイス名
現状の設定値確認# stty -a -F /dev/ttyUSB0 speed 9600 baud; rows 0; columns 0; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0; -parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 -isig -icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
コントロールをすべてoffにする場合# stty 9600 raw -F /dev/ttyUSB0
- inittabの追記
Counter: 8115,
today: 1,
yesterday: 1