linux関連のメモメモ
mailxでSMTP-AUTH with Submission
mailx -v -s "$EMAIL_SUBJECT" -S smtp-use-starttls -S ssl-verify=ignore -S smtp-auth=login -S smtp=smtp://smtp.gmail.com:587 -S from="$FROM_EMAIL_ADDRESS($FRIENDLY_NAME)" -S smtp-auth-user=$FROM_EMAIL_ADDRESS -S smtp-auth-password=$EMAIL_ACCOUNT_PASSWORD -S ssl-verify=ignore $TO_EMAIL_ADDRESS
で、-S部分を~/.mailrcに設定しておけばいつでも利用可能!
vi ~/.mailrc set smtp-use-starttls set ssl-verify=ignore set smtp-auth=login set smtp=smtp://smtp.gmail.com:587 set from="$FROM_EMAIL_ADDRESS($FRIENDLY_NAME)" set smtp-auth-user=$FROM_EMAIL_ADDRESS set smtp-auth-password=$EMAIL_ACCOUNT_PASSWORD set ssl-verify=ignore
このほかにもmailx君は多数の設定項目があるので 詳しくはmanとかWebとか参考するのがよい
Linux上からBIOS情報読むのってどうだっけ?
dmidecode
いっぱい出るから要注意。(笑
dmidecode -s KEYWORD → KEYWORDの文字列を有しているDMI情報のみを表示 有効なKEYWORDは以下 bios-vendor bios-version bios-release-date system-manufacturer system-product-name system-version system-serial-number system-uuid baseboard-manufacturer baseboard-product-name baseboard-version baseboard-serial-number baseboard-asset-tag chassis-manufacturer chassis-type chassis-version chassis-serial-number chassis-asset-tag processor-family processor-manufacturer processor-version processor-frequency 例えば # dmidecode -s baseboard-product-name X7SPA-HF とか、 TYAN Toledo i3210W/i3200R S5211 とか
ちなみにこれ、dmidecodeっていうRPMパッケージに含まれている。そのままやんけ。/usr/sbin/dmidecodeが実行バイナリ君です。
viを開いた時にタブが4文字で行数表示させて自動インデントする設定
$ cd $ vi .exrc set tabstop=4 set number set autoindent
vi hogehogeでファイルを開いた後に編集文字コードを変更
:e ++enc=sjis
たったこれだけでUTF-8環境でShift_JISファイルの編集ができる
マウントしたDVDからyumを実行する方法
vi /etc/yum.repo.d/CentOS-Media.repo baseurl=file:///media/ ←追加 file:///media/CentOS/ mount /dev/cdrom /media yum --disablerepo=\* --enablerepo=c5-media install package-name便利ぃぃ。
CentOSではyumコマンドでパッケージRPMをインストールできる。インストール先はリポジトリサーバーと呼ばれる箇所から引っ張ってくる。このリポジトリで便利なものがあるのでメモ。各々インストール後は/etc/yum.repos.dにリポジトリファイルがインストールされるので、必要箇所を修正する必要がある。
CentOS5 x86の場合 # rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
CentOS5 x86の場合 # rpm -Uhv http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
CentOS5 x86の場合 # rpm -Uhv http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
# wget http://wing-net.ddo.jp/wing/wing.repo
初回起動時にSetup Agentが実行される
実行後は
cat /etc/sysconfig/firstboot RUN_FIRSTBOOT=NOが作成される
linuxの暗号化パスワード文字列作成方法
# openssl passwd -1 <パスワード文字列> $1$DTebWsys$NaW9CZiczjVglHhxHuQWA/色んなところで使えるかもね。
EL6系のやつ
#!/bin/perl #SHA-512の文字列を生成 #引数に元となる文字列を指定 #saltは乱数16文字で設定 ## yum install perl-String-Random use String::Random; my $input = $ARGV[0]; if ( $input eq "" ){ print "not input. exit...\n"; exit 1; } ##perl -e 'print crypt("Red Hat", "\$6\$salt\$") . "\n"' my $rand = String::Random->new(); my $salt = $rand->randregex('\w{16}'); my $str = crypt("$input", "\$6\$$salt\$"); print $str . "\n";
rpm -qpl hoge.rpm | hoge.rpmファイルの中身を表示 |
RPMからファイルを取り出す 直接取り出しできないので一度RPMをcpioに解凍してから取り出す
# mkdir /tmp/hoge; cd /tmp/hoge # rpm2cpio hoge.rpm | cpio -id # ls
cpio -id | カレントディレクトリに全て解凍 |
cpio -i hoge.spec | hoge.specを解凍 |
/var/lib/logrotate.status | ログローテートステータスファイル |
このステータスファイルに日時情報が含まれているので適宜修正して実行する必要あり
テストモード
# logrotate -dv ローテート設定ファイル
ext3ファイルシステムの制限値?
# df -iT Filesystem Type Iノード I使用 I残り I使用% マウント位置 /dev/mapper/VolGroup00-LogVol00 ext3 1270464 97617 1172847 8% / /dev/sda1 ext3 26104 39 26065 1% /boot tmpfs tmpfs 64436 1 64435 1% /dev/shm
CPU利用率について
OID .1.3.6.1.4.1.2021.10.1.5.1と.1.3.6.1.4.1.2021.10.1.5.2はCPU Load AverageのLoadInt
つまり、この値は100%率で正数化された値が入っていることになる
100で1%を表すことになる
LoadAverageは待ちプロセス数なので、コア数以上になるという事は待ちプロセスが発生していることを意味する
Linuxは起動後、物理メモリの空き領域を自動的にCacheとBufferに割り当てる
各プロセスのメモリ利用量に応じてCacheとBufferを調整する
各プロセスは処理が完了すれば利用していたメモリ空間を開放する
$ free total used free shared buffers cached Mem: 515488 508924 6564 0 147968 172972 -/+ buffers/cache: 187984 327504 Swap: 1048568 60 1048508この場合は以下となる
TOPコマンドで表示される各意味
VIRT(kb) | タスクが使用している仮想メモリ量 = SWAP + RES |
---|---|
RES(kb) | タスクが使用しているスワップされない物理メモリ量 = CODE + DATA |
SWAP(kb) | 総仮想メモリイメージのうちスワップアウトされた量 |
%MEM | 物理メモリ占有率 = RES |
psコマンドで表示される各意味
RSS | 物理メモリ |
---|---|
VRS | 仮想メモリ |
SNMPでは次のようになる
snmpwalk -v 2c -c public localhost .1.3.6.1.4.1.2021.4 UCD-SNMP-MIB::memIndex.0 = INTEGER: 0 UCD-SNMP-MIB::memErrorName.0 = STRING: swap UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 4194296 UCD-SNMP-MIB::memAvailSwap.0 = INTEGER: 4194296 UCD-SNMP-MIB::memTotalReal.0 = INTEGER: 4149624 UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 2955112 UCD-SNMP-MIB::memTotalFree.0 = INTEGER: 7149408 UCD-SNMP-MIB::memMinimumSwap.0 = INTEGER: 16000 UCD-SNMP-MIB::memShared.0 = INTEGER: 0 UCD-SNMP-MIB::memBuffer.0 = INTEGER: 196204 UCD-SNMP-MIB::memCached.0 = INTEGER: 755744 UCD-SNMP-MIB::memSwapError.0 = INTEGER: 0 UCD-SNMP-MIB::memSwapErrorMsg.0 = STRING: free -k total used free shared buffers cached Mem: 4149624 1192940 2956684 0 196204 755744 -/+ buffers/cache: 240992 3908632 Swap: 4194296 0 4194296
メモリ解放の魔法。kernel2.6.16からできるようになったらしい。メモリのゴミを解放してくれるんだそうだ。つまり空きメモリが増えるって事です。
# free total used free shared buffers cached Mem: 506124 496912 9212 0 273392 127848 -/+ buffers/cache: 95672 410452 Swap: 2097144 0 2097144 # sysctl -w vm.drop_caches=1 vm.drop_caches = 1 # free total used free shared buffers cached Mem: 506124 106804 399320 0 252 16900 -/+ buffers/cache: 89652 416472 Swap: 2097144 0 2097144う~ん。空き容量が9212から399320になった。すごい魔法だ…
これは原因があるのです。ページキャッシュ等のデータで最後にアクセスされてからある程度時間が経って解放可能な状態のメモリ空間を保持し続けてます。これを手動で解放するのがdrop_cacheです。1ではページキャッシュのみを解放し、3ではSlabキャッシュも解放します。Slabキャッシュはディレクトリのメタデータ情報を格納するdentryやファイルのメタデータ情報を格納するinode構造体などをキャッシュしているカーネル内のメモリ領域です。
setquotaはコマンドラインによるquotaエディタ
# setquota -u ユーザ名 block-softlimit block-hardlimit inode-softlimit inode-hardlimit filesystem # setquota -T -u ユーザ名 block-grace inode-grace filesystem ユーザgarakutaの/homeにソフトリミット100MB、ハードリミット200Mを実施 # setquota -u garakuta 1024000 2048000 0 0 /home
echo出力で色出し
export SETCOLOR_SUCCESS="echo -en \\033[1;32m" →緑 export SETCOLOR_ERROR="echo -en \\033[1;31m" →黄 export SETCOLOR_WARNING="echo -en \\033[1;33m" →赤 export SETCOLOR_NORMAL="echo -en \\033[0;39m" →白
$SETCOLOR_SUCCESS echo "色つき文字"
$SETCOLOR_NORMAL
これでコンソールに色が出せる!
$1はサーバ名/IPアドレス $2はユーザ名 $3はパスワード #!/bin/bash ## MAIN DC_DIR=httpdocs BK_DIR=/home/hos/BKDATA/ cd ${BK_DIR} ### START ftp -i -v -n $1<<END user $2 $3 cd ${DC_DIR} ascii mget *.html quit END ### EXIT wget -mck --passive-ftp ftp://FTPサーバ名/ディレクトリ名 --ftp-user=FTPユーザ名 --ftp -password=FTPパスワード
clockの設定内容
# cat /etc/sysconfig/clock ZONE="Asia/Tokyo" UTC=false ARC=false
ZONE | ゾーンファイル名、/usr/share/zoneinfoディレクトリを参照する |
UTC | tureならハードウェアクロックは世界標準時にセット、falseならローカル時間 |
ARC | falseなら標準UNIXエポックが使用中、その他の値は不明… |
仮想化等でコピーした時のホスト名変更
/etc/hosts 127.0.0.1 [FQDN名] [host名] localhost.localdomain localhost /etc/sysconfig/network HOSTNAME=[FQDN名]