(追記) 元記事によると、消したかったのは symlink でなくディレクトリ構造だったとのこと。。。それだとこの手も意味ないなぁ。。。
シンボリックリンクをrm -rf symlink/すると不幸になるというエントリで syuu1228 先生が何かを消し去ったらしいのですが、私はこの問題にはハマらないようにしています。参考までに何がおきたかというと、たぶんこういうこと。
hasegaw-Air:~ hasegaw$ cd work
hasegaw-Air:work hasegaw$ ln
hasegaw-Air:work hasegaw$ mkdir a
hasegaw-Air:work hasegaw$ touch a/[abc]
hasegaw-Air:work hasegaw$ ln -s a b
hasegaw-Air:work hasegaw$ ls -l
total 8
drwxr-xr-x 3 hasegaw staff 102 Jan 23 22:08 a
lrwxr-xr-x 1 hasegaw staff 1 Jan 23 22:08 b -> a
hasegaw-Air:work hasegaw$ rm -rf b/ (シンボリックリンクでなく実体の a が消える)
hasegaw-Air:work hasegaw$ ls -l
total 8
lrwxr-xr-x 1 hasegaw staff 1 Jan 23 22:08 b -> a
rm コマンドに -rf オプションを付けるから痛い目にあうのだという考え方もありますが、このオペミス対策は、単純にファイルを一つ消すことしかできない unlink コマンドを使っておくという手があります。まあファイルがひとつ消える可能性はあるのですが、意図せぬディレクトリやその中のファイルが消えることはありません。
hasegaw-Air:work hasegaw$ mkdir a
hasegaw-Air:work hasegaw$ touch a/[abc]
hasegaw-Air:work hasegaw$ ls -l
total 8
drwxr-xr-x 3 hasegaw staff 102 Jan 23 22:09 a
lrwxr-xr-x 1 hasegaw staff 1 Jan 23 22:08 b -> a
hasegaw-Air:work hasegaw$ unlink b/ (実体を消したいがディレクトリは知恵が足りず消せない。アヒャ)
unlink: b/: is a directory
hasegaw-Air:work hasegaw$ unlink b (ファイルやリンクは消せる)
hasegaw-Air:work hasegaw$ ls -l
total 0
drwxr-xr-x 3 hasegaw staff 102 Jan 23 22:09 a
hasegaw-Air:work hasegaw$
こんばんわ。出遅れましたが12月13日は カーネル/VM Advent Calendar 2012 にて私の当番、といっても一昨年、去年ほど頑張ってネタを仕込めていないので、昨晩調べてたことを軽くまとめておきたいと思います。
ご存じのとおり、Linux KVMやFreeBSDのBHyVeなどはメインループをユーザモードプロセスに持たせる形で仮想マシンが実装されています。また、CPUにはIntel VTもしくはAMD-Vと呼ばれる仮想化支援機能が搭載されており、これらが仮想マシンの実行を行う命令群を提供します。
ただ、実際にはI/O操作など非同期で処理が行われるものがあります。例えば、わかりやすいのは下記の三点でしょう。
割り込みは遅延させずに通知させる必要があります。たとえば、タイマ割り込みは遅延するとゲスト内で正確な時間をカウントできなくなります(もっとも従来の割り込みを使った時刻の管理が仮想マシンで適しているとは思わないのですが)。
時刻同期のほかにも、例えばディスクI/Oの割り込みも大事ですね。例えばデータベースの更新トランザクションを考えてみます。一般的にデータベースのトランザクション保護はログ領域やダブルライト領域にデータの書き込みが完了してから、次のトランザクションや実際のデータ領域の更新に着手します。このためディスクI/Oが完了したことがリアルタイムに通知されることは非常に大事です。
割り込みは、VMENTERするときにフィールドを指定することによりゲストに挿入できます。が、もしVMが実行されている状況で割り込みが発生したとしたらどういう風に通知されるんだろう、と思って、今回は、割り込みが通知されてからVMENTERするあたりのロジックをちょっとだけ追いかけてみました。
BHyVeハッカソンでの個人的な取り組みについて紹介してきます。
スライドを一応準備しました(二日目 4:00pm時点。その後いろいろと改良済み)
BHyVeはまだ誕生したばかりの仮想マシンモニタであり管理ツールなどもぜんぜん充実していません。正直なところ実用レベルに達するのは当分先の話でしょう(だからこそいじりがいがある、というものですが)。
実は BHyVe にはまだ仮想マシンをリスト表示するコマンドすら存在していないので、 vmmls というコマンドを実装してみました。
BHyVeハッカソンは二日間にわたって開催されましたが、最初の半日は仮想化技術にまつわるプレゼンテーションがなされました。
プレゼンテーションの後、必要な人には作業用マシンが割り当てられたりして、各々のトピックで作業を開始。気づけば皆、時がたつのを忘れてカーネルモードのコードをいじったりBHyVeをビルドしまくったりとかしていたようです。
たまには技術以外のネタで blog 更新でもしようかと。
2011年6月に転職して以来、度々ソルトレイクシティをふらつく機会ができたので楽しんでます。アメリカというか海外初心者です。
ソルトレイクシティはモルモン教 発祥の地であり、ダウンタウンは Sale Lake Temple を中心に広がっています。ダウンタウンは非常に綺麗で、一人で出歩いていて怖いと思ったことはありませんし、なんというかスローな気分になれます。
ちなみにソルトレイクシティとそのまわりの街をあわせた広さは、だいたい東京都と同じぐらいのよう。しかし人口差はすごいですね。
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 |
最近のコメント