文書の過去の版を表示しています。
−目次
未整理のメモ
ここには、取りあえずのTipsを適当に置いておく。
dd
ddコマンドにkill -USR1 を送ると、現在の転送状態が表示される。 知らなかった。
Adobeの無料フォント
- ここで配られている。
VirtualBox
VirtualBoxを利用していると、たまにDisk容量を増やしたくなることがある。というわけで、MacOS-X上のVirtualBoxでWindows Vistaを動かしているDiskを拡張する方法。
- VirtualBoxの設定コンソールで、新規Diskを作成する
- VirtualBoxのCommandLine toolで以下を実行
VBoxManage clonehd ~/VirtualBox¥ VMs/OriginalDisk.vdi ~/VirtualBox¥ VMs/NewDisk.vdi –existing
- Virtualboxの設定コンソールで、Storageの設定を、OriginalDisk.vdiからNewDisk.vdiに切り替える
- Windows Vistaを起動→コントロールパネル→管理ツール→コンピュータの管理→ディスクの管理を選択
- 起動したDiskを右クリック→ボリュームの拡張を選択し、容量を増やす
これだけ。
英語の数字の表記
英語と米語でbillionの意味が違うというのは何となく覚えていたが、なんとこういうことだったのか?というのが出てたので転記しておく。
なお、塵劫記の写本次第で変化があるらしい。ここでは万進を前提(1万単位で表記が変わる)を採用しているものとする。
Number of zeros | U.S. & scientific community | Other countries | 日本 |
---|---|---|---|
3 | thousand | thousand | 千 |
6 | million | million | 百 万 |
9 | billion | 1000 million (1 milliard) | 十 億 |
12 | trillion | billion | 一 兆 |
15 | quadrillion | 1000 billion | 千 兆 |
18 | quintillion | trillion | 百 京 |
21 | sextillion | 1000 trillion | 十 垓 |
24 | septillion | quadrillion | 一 秄 |
27 | octillion | 1000 quadrillion | 千 秄 |
30 | nonillion | quintillion | 百 穣 |
33 | decillion | 1000 quintillion | 十 溝 |
36 | undecillion | sextillion | 一 澗 |
39 | duodecillion | 1000 sextillion | 千 澗 |
42 | tredecillion | septillion | 百 正 |
45 | quattuordecillion | 1000 septillion | 十 載 |
48 | quindecillion | octillion | 一 極 |
51 | sexdecillion | 1000 octillion | 千 極 |
54 | septendecillion | nonillion | 百 恒河沙 |
57 | octodecillion | 1000 nonillion | 十 阿僧祇 |
60 | novemdecillion | decillion | 一 那由他 |
63 | vigintillion | 1000 decillion | 千 那由他 |
66 | vigintillion | 百不可思議 | |
69 | 1000 vigintillion | 十無量大数 | |
69 - 120 | |||
303 | centillion | ||
600 | centillion |
しかし、これだとその人の背景を知らないと正しい数字を理解できないかも。困ったものである。
SVNでRepositoryを作成
これも毎回調べているので、メモにしておく。
# mkdir /path/to/repos # svnadmin create /path/to/repos # cd /path/to # svn import data file:///path/to/repos -m "Initial Import"
CVSでRepositoryを作成
毎回調べているので、メモにしておく。
# mkdir /path/to/repos # cvs -d /path/to/repos init # cd /path/to/data # cvs import -m "Strings" modulename vendorTag ReleaseTag
例
# mkdir /REPOS/CVSroot/MUNCHKIN # cvs -d /REPOS/CVSroot/MUNCHKIN init # cd ~/Work/code/munchkin # cvs import -m "Munchkin initial" munchikin seirios 1.0
TCP Stream に file を cat する
普通は、こんな事をする必要がないんだが、どうしてもこの手を使わないといけないことがあったので、やり方のメモ。
- netcatをinstallする
- catしたいファイルを作成する(for ex. t)
- nc server port < t
これでなんとかなる。
対ARP Spoofing
ちょっと気になったのでARP Spoofing対策手法を調べてみた。
本当は、Xen Domain 0 の bridgeを使って、pfで色々頑張るか、bpfで頑張るのが筋だと思うんだけど、今の状態では難しいので、staticにarpを切る方法を。
# see man arp(8)
# arp -s hostname MACaddrs もしくは # arp -f filename # cat filename hostname1 MACaddr1 hostname2 MACaddr2 .... #
として、MAC Addressをstaticに書いておくのがよさそう。ただ、VRRPとかRIPで頑張っている場合などはちょっと問題。
まぁ、defaultを見てMACアドレス書き換えるような奴が現れたら考えよう。
そうそう、当然だけど、ICMP Router RedirectはDomain0で防御するのが吉です。
Web Redirect
いつも忘れてしまうので、メモ
取りあえず、5秒で http://some.where/URL/に飛ぶようにするMETA Tag.
<META HTTP-EQUIV="Refresh" CONTENT="5; URL=http://some/where/URL/" />
OSの安全性
ISO/IEC 15408でOSに関する安全性が規定されている。
もともとはTCSEC/ITSECであり、これが統合され、ISO/IEC15408 Common Criteria(CC)として定義された。
CCはセキュリティの評価基準であり、7段階の評価保証レベル(Evaluation Assurance Level / EAL)が規定されている。
CCは日本でも取り込まれ、JISECとして公表されている。
CC EAL | ITSEC | TCSEC | Description |
EAL1 | E0-E1 | D-C1 | 機能テスト |
EAL2 | E1 | C1 | 構造化テスト |
EAL3 | E2 | C2 | 方式的テスト、及びチェック |
EAL4 | E3 | B1 | 方式的設計、テスト及びレビュー |
EAL5 | E4 | B2 | 準形式的設計、及びテスト |
EAL6 | E5 | B3 | 準形式的検証済み設計、及びテスト |
EAL7 | E6 | A | 形式的検証済み設計、及びテスト |
RAID
昔書いたRAID規格の整理表。
実質RAID50/51はいらないかなぁ。まぁ、メモって事で。
http://ja.wikipedia.org/wiki/RAID | |
規格 | 説明 |
RAID0 | 耐故障性のないディスクアレイ方式。複数のディスクをつなげて単純に1台に見せる。コンキャットネートディスク(Concat)ということもある。 |
RAID1 | 二重化(ミラーリング/Mirror)方式。複数台のディスクを完全に同期させ、同一の情報を持つ完全なコピーとして動作させる。耐障害性に優れているが、効率は悪い。また、RAIDの最大の弱点であるコントロー>ラーの故障にも対応しやすい。RAID1は最低でも2台のHDDが必要である。 |
RAID1+0 | RAID0によってConcatしたDiskをRAID1によってMirrorすることによって作られるディスク。大容量で、完全に二重化されているため、耐障害性に優れている。なお、RAID0とRAID1を組み合わせて利用する場合、先にRAID1を用いてMirrorしたDiskをRAID0を用いてConcatするべきである。これは、Concatするディスクがすでに二重化されているためにRAID0を構成する全ディスクの耐故障性が高まってるからである。 |
RAID2 | ビット単位での専用誤り訂正符号ドライブ方式。ハミングコードを用いたECCによる冗長化機構を利用しているため、全RAID中もっとも耐障害性に優れている。現在のHDDの信頼性は、ECCを用いる必要があるほど低くないため、RAID2を利用することはなく、市販製品もない。 |
RAID3 | ビット・バイト単位での専用パリティードライブ方式。RAID2における誤り訂正符号作成方式を排他的論理和(XOR)によってパリティーに変換する手法に置き換え、演算コストを低減した物である。最低3台のHDDを利用し、1台を誤り訂正政府号に割り当て、残り複数台にデータを記録する。RAID5によって効率・性能が大幅に改善されたため、現在ではRAID3は利用されない。 |
RAID4 | ブロック単位での専用パリティードライブ方式。RAID2,RAID3と同様、最低3台のHDDが必要となる。RAID3では、ビット・バイト単位で誤り訂正を行うため、I/O効率が低い。この問題をブロック単位で扱うことによって改善した物である。RAID5によって効率・性能が大幅に改善されたため、現在ではRAID4は利用されない。 |
RAID5 | ブロック単位でのパリティー分散記録方式。RAID5は複数のハードディスクに誤り訂正符号データと共に分散させて記録することで、RAID3、RAID4のボトルネックを回避する方式であルーターだし、読み出しは>高速に行えるが、パリティー計算を行う必要があるため書き込みは遅くなる。RAID5は耐故障性、読み出し速度の面から、現在最も利用されているRAID手法である。 |
RAID5+0 | RAID10と同様にRAID5で構成されたディスクをConcatすることで、耐故障性の高い巨大なディスクを作成する手法。近年ではHDDの大容量化が進み、RAID 50を必要とする局面はあまり無くなっている。 |
RAID5+1 | RAID5で構成されたディスクセットをRAID1でMirrorする手法。近年HDDの大容量化が進んだため、HDD1台が故障した場合のRAID5の復旧に時間がかかるようになっている。この問題を回避するため、完全に冗長化された仕組みをもってディスクを構成する場合にRAID51を用いる。 |
RAID6 | フロック単位での複数パリティー分散方式。HDDを最低4台必要とする。RAID5では、同時に2台の>ディスクが故障した場合(復旧中にディスクが故障する場合も含む)対応ができない。この問題に対応するため>に開発された。パリティー情報を複数作成するため、RAID 5よりもさらに書き込みが遅くなる。 |
機器故障率とMTBF
MTBF
Mean Time Between Failureの略であり、機器もしくはパーツ単位での単体平均故障時間を表す。
MTBFが長いほど機器は故障しにくいことを意味する。
このMTBFを用いて、機器の保守対応や予備機材購入、システムの冗長化手法を数値化して検討することが可能になる。
機器故障率
機器の故障確率はMTBFを元に計算できる。
MTBFが同一の機器の場合、単体MTBFを機器数で割った値が同一機器群における(少なくとも1台が壊れるまでの)時間となる。
たとえば、MTBFが3年の機器が36台あるとすると、
3年 ÷ 36台 = 36ヶ月 ÷36台 = 1ヶ月/台
となり、1ヶ月に1台程度の頻度で機器が故障する可能性が高いと想定できる。
システム全体の故障機器発生確率を求める場合の例を以下に記載する。
例)故障確率がそれぞれ 1台/1ヶ月、1台/2ヶ月、1台/3ヶ月である機器群によって構成されたシステムの故障確率は 1/1 + 1/2 + 1/3 = 11/6 従って、システム中の機器が故障する確率は6ヶ月に11台
以上の計算から、上記例の場合、おおむね1月に2台弱の機器が故障すると予測できる。
但し、上記計算は、「何が壊れるのか」は述べていない。また、当然「実際に壊れる台数」を述べている物でもない。
あくまで確率であることに注意。
mtree
mtreeを使う。マニュアルを見ても良くわからなかったので、適当に色々やってみる。
取りあえず、Hash Listを作成するなら
# mtree -c -K sha1digest -p . > HashList
取りあえず比較するなら
# mtree -p [Dir] < HashList
でなんとかなる。
Vendor CodeとDevice Code
今回InstallしたPCでは、kernelがこんなWarningを出した。
vendor 0x8086 product 0x0326 (interrupt system, interface 0x20, revision 0x09) at pci2 dev 0 function 1 not configured
で、ちょっと調べてみた。
こういうときはGoogle様のお告げを聞こう。
なんかDriver Agent(http://listing.driveragent.com/)というサイトがある。
ここで、ちまちま調べれば、必要な情報が見つかるだろう。(でも重たい)
これよりも、The PCI ID Repository(http://pci-ids.ucw.cz/)の方がいい。早いし。
これで、8086 → Intel がわかり、0326 → 6700/6702PXH I/OxAPIC Interrupt Controller A であることがわかる。
ああ、NetBSDでは対応していないっぽいなぁ。