Linux
メモ
- linux alternatives
- LVS
- Linux on IBM servers
- Linux LD_PRELOAD
- Linux LVM
- Linux MD
- Linux loopback
- Linux md-RAID 修復
ネットワーク
Duplex が合わないとき
- /etc/module.conf に初期設定を書く
- ドライバによって書式が違う。
- ドライバによって指定できない時がある。
tg3 で duplex が合わないとき
- 標準ドライバ tg3 は /etc/modules.conf で接続パラメータを設定できない
- init.d などで対処
- 例1 /usr/rc.local
/sbin/ethtool -s eth0 speed 100 duplex full autoneg off
- 例2 /usr/init.d に起動スクリプトを用意し、 chkconfig で認識させ、service で起動・終了させる
netdump
その他
Linux 時計がずれる・おそい
- 起動時にACPIがエラー
ACPI-1134: *** Error: Method execution failed [\_SB_.PCI0.USB1._PRW] (Node c1489400), AE_AML_NO_RETURN_VALUE
- 再起動しても1日以内に発生する
- http://ubuntuforums.org/showthread.php?t=34803
- IBM サポートから最新のBIOSを入手したらなおった
- ない場合は acpi=off noapic を GRUB の起動パラメータに追加せよ
- 起動パラメータは kernel アップグレード時に引き継がれないので注意
- テスト機 モデル番号 8183-81J
- http://www-06.ibm.com/jp/domino05/pc/download/download.nsf/jtechinfo/MIGR-51058
- 更新後BIOS バージョン 2AKT51A
- 更新後、特に問題は発生していない
- VMware上のゲストOSでも発生する。対策は VMware のページに。
Linux タイムゾーン変更
- 設定確認
[vi-admin@vma21 vmware][192.168.107.105]$ date Tue Jun 12 21:34:26 EDT 2012
- EDT --> 米国東海岸
- 設定ファイル確認
[vi-admin@vma21 vmware][192.168.107.105]$ ls -li /etc/localtime /usr/share/zoneinfo/US/Eastern 95378 -rw-r--r-- 1 root root 3519 Jun 18 2010 /etc/localtime 574494 -rw-r--r-- 3 root root 3519 Nov 5 2008 /usr/share/zoneinfo/US/Eastern [vi-admin@vma21 vmware][192.168.107.105]$ md5sum /etc/localtime /usr/share/zoneinfo/US/Eastern e4ca381035a34b7a852184cc0dd89baa /etc/localtime e4ca381035a34b7a852184cc0dd89baa /usr/share/zoneinfo/US/Eastern
- ファイルは異なるが内容は同じ
- 設定バックアップ
[vi-admin@vma21 vmware][192.168.107.105]$ sudo cp -p /etc/localtime /etc/localtime.2012061301 Password: [vi-admin@vma21 vmware][192.168.107.105]$ sudo mv /etc/localtime /etc/localtime.orig
- 設定実施
[vi-admin@vma21 vmware][192.168.107.105]$ sudo ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
- 変更後設定確認
[vi-admin@vma21 vmware][192.168.107.105]$ date Wed Jun 13 11:29:13 JST 2012
- JST --> 日本時間
swap 操作
- swap 状況
cat /proc/swaps
- 領域を指定して swap 開始
swapon /dev/hda2
- /etc/fstab にある swap を全て開始
swapon -a
- 領域を指定して swap 停止
swapoff /dev/hda2
- 使用量に応じてコマンドが完了するまでに時間が必要
- swap を全て停止
swapoff -a
- swap領域作成
mkswap /dev/hda2
- swap領域作成+LABEL
mkswap -L /dev/hda2
コンソール画面のスクリーンセーバをオフにしたい
さっそくコンソールにて、
setterm -blank 0 setterm -store
したところ、うまくいきました。
lvm2 snapshot 関連
- snapshot 作成
/usr/sbin/lvcreate --size 128m --snapshot --name LogVol02_test /dev/VolGroup00/LogVol02
- マウント
mount /dev/VolGroup00/LogVol02_test /mnt
- snapshot 状況
/usr/sbin/lvs
- snapshot 削除
umount /mnt /usr/sbin/lvremove /dev/VolGroup00/LogVol02_test
SCSI
SCSIバスの再検索
- SCSI - Hot add, remove, rescan of SCSI devices
- http://www.ibm.com/developerworks/wikis/display/LinuxP/SCSI+-+Hot+add,+remove,+rescan+of+SCSI+devices
- SCSI情報の取得
# cat /proc/scsi/scsi
- どのSCSIバスか? /sys/class/scsi_host/host*
- SCSIバスの再検索
# echo "- - -" > /sys/class/scsi_host/host0/scan
- SCSIデバイスの削除
# echo 1 > /sys/bus/scsi/drivers/sd/0\:0\:6\:0/delete
SCSIデバイスの追加と削除
cat /proc/scsi/scsi
- SCSIデバイスの追加
echo "scsi add-single-device 1 0 0 0" > /proc/scsi/scsi
- 番号: ホストアダプタ番号(scsi0,scsi1)、チャネル番号、デバイス番号(SCSI-ID)、論理ユニット番号(LUN)
- SCSIデバイスの削除
echo "scsi remove-single-device 1 0 0 0" > /proc/scsi/scsi
BD/DVD/CD 操作
ISOイメージのマウント
mount -t iso9660 -o loop ibm_sw_srapp_9.00-jp_anyos_i386.iso /mnt
BD/DVD のマウント
mount /dev/dvd-sr0 /mnt
CD メディア情報
cdrwtool -d /dev/cdrom -i
CD-R 書き込み
cdrwtool -d /dev/cdrom -f data.iso
DVD メディア情報
dvd+rw-mediainfo /dev/dvdrw-sr0
BD/DVD フォーマット
dvd+rw-format -blank /dev/dvdrw-sr0 dvd+rw-format -blank=full /dev/dvdrw-sr0
BD/DVD 書き込み
- 新規書き込み
growisofs -Z /dev/dvdrw-sr0 -R -J distfiles/gcc-4.2.0.tar.bz2 distfiles/gcc-4.2.3.tar.bz2
- 追加書き込み
growisofs -M /dev/dvdrw-sr0 -R -J distfiles/gcc-4.2.0.tar.bz2 distfiles/gcc-4.2.3.tar.bz2
- ディレクトリ指定書き込み
growisofs -M /dev/dvdrw-sr0 -R -J -graft-points distfiles=distfiles/gcc-4.2.0.tar.bz2 distfiles=distfiles/gcc-4.2.3.tar.bz2
- 標準入力での書き込みファイル指定
find /data/testrsync/distfiles/openoffice.org3/ -type f | growisofs -M /dev/dvdrw-sr0 -R -J -graft-points -path-list -
参考サイト
Linuxプロセスの起動時刻を調べる方法 / Qiita
正しく知るには、以下のとおりに計算する必要があるとのこと。
まず、/proc/statのbtimeから、Linuxがブートした時刻(Epoch秒)を取得します。
sed -n 's/^btime //p' /proc/stat 1394520435
そしてLinuxがブート後、プロセスが起動するまでにOSのタイマーが割り込んだ回数が/proc//statの22番目(starttime)から参照できます。
awk '{print $22}' /proc/667/stat 4441
これを1秒あたりのクロック数(getconf CLK_TCKの値)で割ると秒数を得られます。
getconf CLK_TCK 100
クロック数は100なので、ブートして44秒後(4441を100で割った値)にプロセスが起動したことなります。
ということで、Linuxがブートした時刻(Epoch秒)とプロセスが起動するまでの秒数を足すと、プロセスが起動した時刻がわかります。
awk 'BEGIN{print strftime("%Y-%m-%d %H:%M:%S", 1394520435+44)}' 2014-03-11 15:47:59