2007-10-01から1ヶ月間の記事一覧

非同期IOをpthreadでエミュレーションする - libpio

マルチスレッドを使って非同期IOをエミュレーションし、どんな種類のファイルディスクリプタでも、任意のIOを非同期でできるようにするライブラリ「libpio」(Parallel I/O Libraryのつもり)を作ってみました。このコンセプトがうまくいくのかどうか、テス…

進行中の計画をメモ

今進行中の諸々のアイディア。放っておくと忘れてしまうので、思いつくまま気ままにメモ。 VIVER CORE計画 未踏ユースで開発したVIVERの中から、ネットワークブート機能(開発者的にはネットワークブート機能ではなくinitramfs)だけを取り出し、ネットワー…

標準入力をクリップボードにコピーするAppleScript

うーむ…ありそうでなかった。もしかしたら再発明してしまったかも? ※と思ったらやっぱり ^_^;) Mac OS Xの標準で「pbcopy」というコマンドが入っていました。↓でもせっかく書いたので残しておきます。 clip #!/bin/sh pass="" while [ $# -gt 0 ]; do case …

Avahi + D-BusでマルチキャストDNS+DNS-SD

もう半年も過ぎてしまいましたが、多重化・負荷分散の自動化の実現に向けて開発中です。 このほどマルチキャストDNS(mDNS)+DNS-SDの実装の一つであるAvahiを使って、サービスの発見とパブリッシュをテストしてみたので、その途中経過をメモ。 mDNSは、DNS…

KVM + VIVER CORE Serverで画面転送型シンクライアントを作る

Linuxカーネルに組み込まれている仮想化技術「KVM」と、VIVER CORE Serverを使って、画面転送型シンクライアントシステムをサクッと作ってみました。 画面転送型シンクライアントというのは、X11やRDP(Windowsターミナルサービス)、CIA(Citrix Presentati…

VIVER CORE Server 0.0.5

VIVER CORE Serverのバージョン0.0.5をリリースします。 ルートファイルシステムにNFS+unionfsを使えるようになりました。実験的にaufsと9p2000.u(Plan9 Resource Sharing Protocol)もサポートしています。 また、TFTPサーバーで、クライアント要求された…

splice()とvmsplice()を試す

最近リリースされたlinux-2.6.23の変更点を見てみると、sendfile()がsplice()で実装されるようになったらしいです。splice()自体は2.6.17から追加されていることですし、そろそろsplice()を使ってもいい頃なんじゃないか!といわけで、前から気になっていたs…

tmpfsはスワップアウトするのか

試してみました。確かにスワップアウトします。 しかし、少しでも実メモリの容量を超える量をtmpfsに書き込もうとすると、swapを使い果たすまで実メモリを空けようとするようです。実メモリからswapにデータが移動している間、そのデータを書き込もうとした…

Solarisのパーティションを壊さないswap自動検出

パーティションIDで判別するのではなく、実際にパーティションを読むので、Solarisのパーティションをswapと間違えない。LVMに対応する必要がない&$devdirにデバイスノードが作成してあるなら、最初のforループは不要。 #!/bin/sh detect_swap() { devdir="…

ネットワークブート時にクライアントにパッチを当てる - VIVER CORE Server

VIVER COREには、ブートパラメータでpostboot=というパラメータを渡すと、をダウンロードしてルートファイルシステムに展開するという機能があります。プロトコルにはHTTP、FTP、TFTP、rsyncが使えます。HTTP、FTP、TFTPの場合には、tar/cpio + gzip/bzip2/l…

VIVER CORE Server 0.0.4リリース

VIVER CORE Serverのバージョン0.0.4をリリースします。 ルートファイルシステムのダウンロードとpostbootで、rsyncが使えるようになりました。 VIVER CORE Server 0.0.4 viver-core-server.0.0.4.i386.tar.gz viver-core-server.0.0.4.src.tar.gz viver-cor…

Tomcat Applianceをネットワークブートで配置する - VIVER CORE Server + rPath Tomcat Appliance

Virtual Appliance Marketplaceからは、あらかじめインストールされた状態の各種ソフトウェアがダウンロードできます。VMware ServerやPlayerを使い、ディスクイメージをダウンロードしてくるだけで必要な環境をすぐに用意できる!という寸法のようです。 rB…

VIVER CORE Server 0.0.3リリース

VIVER CORE Serverのバージョン0.0.3をリリースします。 ビルドシステムの改善や便利系スクリプトの追加、バグフィックスなど。 VIVER CORE Server 0.0.3 viver-core-server.0.0.3.i386.tar.gz viver-core-server.0.0.3.src.tar.gz viver-core-root.0.0.3.i3…

debootstrapをDebian以外のディストリビューションで使う + VIVER CORE Server

ディスクレスシステムやLinux-VServer用の環境を作るときに非常に便利なdebootstrapですが、Debian以外のディストリビューションではパッケージが用意されていることは少ない上に、debootstrapのソースもDebian上でビルドすることが前提になっているようで、…

pxe-pdhcp + VIVER CORE Server 0.0.2

VIVER CORE Serverのバージョン0.0.2をリリースします。パッケージに「pxe-pdhcp」が加わり、DHCPサーバーの設定を変更せずにネットワークブートできるようになりました。 VIVER CORE Server 0.0.2 viver-core-server.0.0.2.tar.gz viver-core-server.0.0.2.…

VIVER CORE Server 0.0.1 - Network Boot Toolkit

ディスクレスネットワーク基盤システム「VIVER」の中から、ネットワークブート機能だけを取り出して強化した、VIVER CORE Serverの最初のバージョンをリリースします。 VIVER COREは、一言で言えば、「ネットワークブートに対応したinitramfs」です。HTTP、F…