#contentsx
***Link [#s9564d90]
-[[IBM Linux技術情報>http://www.ibm.com/developerworks/jp/views/linux/libraryview.jsp]]
-[[エラーメッセージ検索>http://ossmpedia.org/]]
-[[sysstat>http://perso.orange.fr/sebastien.godard/]]
-[[Linux入門Document>http://www.lain.org/winglab/Works/book.html]] (Vine3.2ベース)
***ブートローダー [#mee0352a]
-[[Grub>Installmemo/Grub]]
***Disk管理 [#md4bfea8]
-[[LVM,Filesystem>Installmemo/Linux/storage]]
-[[Software RAID>Installmemo/Linux/SoftwareRAID]]
-[[Storage Area Network(SAN)>Installmemo/Linux/SAN]]
-[[iSCSI>Installmemo/Linux/iSCSI]]
***Network関連 [#f777a483]
-[[Installmemo/Linux/Network]]
-[[Installmemo/Linux/L-05A]]
-[[Installmemo/Linux/Firewall]]
***Kernel [#d0d4bdf4]
-[[Kernel Build>Installmemo/Linux/Kernel]]
***チューニング [#iae792a6]
-IPv4関連
http://www.linux.or.jp/JF/JFdocs/kernel-docs-2.4/networking/ip-sysctl.txt.html
--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のチューニングを行う必要がある。
,kernel.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,
http://www.oracle.co.jp/2shin/no86/o35linux.html
-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管理のメモ [#xb8e7e02]
# 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:reserved
,username,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の変更 [#v521534b]
/etc/localtimeファイルによってデフォルトのタイムゾーンが設定される。localtimeファイルを置き換えることでタイムゾーンの変更が可能である。
# mv /etc/localtime /etc/localtime.est
# cp -ip /usr/share/zoneinfo/Japan /etc/localtime
最後に/etc/sysconfig/clock を修正する。
ZONE="Asia/Tokyo"
**RPM [#ufad3d5e]
***RPMのエラー [#l38c1314]
-キャッシュファイルが損傷した
# 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オプション [#i6fa1c5b]
-PRMからインストールされるファイル一覧を表示する
# rpm -qlpi パッケージ名.rpm
**Tips [#bd6ab050]
-キャッシュをクリアする
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
----
#counter