OpenSourceConference2007 Tokyo/Spring (3月17日)

昨日に引き続きのレポートです。


■仮想化技術とDebian
1. 東京エリアDebian勉強会紹介
 2005年1月から月1回ペースで開催。
 きっかけは、
  ・情報源、情報交換に限りがあった
  ・Face to Faceの場作り
  ・ドキュメントがなかった(勉強会用資料がそのままドキュメントに)
 内容は、
  ・Debian Weekly News Quiz
  ・マニアックなお題
    Debian Policyについて
    Debconf報告 etc
  ・ユーザ向け
    Macbook on Debian
    sidへのいざない etc
2. 仮想化友の会紹介
 ・仮想技術啓蒙活動セミナー
 ・仮想技術スクラップブック
 ・仮想化友の会勉強会
 ・仮想化友の会勉強会を考える会
 ・仮想化友の会飲み会
3. 仮想化を実際にこういう利用方法で使っています!!
 ・Windowsでしか使えないHWを使う
 ・某社暗号化ツール使用のため
 ・無線LANドライバ抽出
 ・他ディストリビューションのお試し
 ・システムバックアップ(イメージバックアップ)
 ・サーバリプレース(古い資産を使う)
 ・ライブマイグレーションによるノンストップ切り替え
 ・サーバ配布
 ・インストールテスト
 ・アプリケーションの異常系テスト
 ・旧環境の保存(古いバージョンのブラウザを使うとか)
 ・NW環境テスト
 ・一時利用サーバ
 ・1CDLinuxで遊ぶ
 ・別アーキテクチャ環境テスト
 ・CPUシミュレーション
 ・PaSoRiを使う!?
4. Windowsから見える仮想化世界
 ・VMware
 ・Virtual Server / Virtual PC
   →Hypervisorへ
 ・Parallels
   →Windows環境をMac環境へ
 ・VirtualBox
 ・cygwin
 ・coLinux
5. Debianの仮想化技術
 5.1. パッケージ化済み仮想化ツール(抜粋)
  ・Bochs
  ・QEMU
  ・kqemu
  ・BasiliskⅡ(Mac68k)
  ・ARAnyM
  ・DOSBox
  ・hercules(IBMメインフレーム)
  ・Wine
  ・User-Mode Linux
  ・OpenVZ
  ・Linux-Vserver
  ・Xen
  ・KVM
 5.2. パッケージ化準備中ツール
  ・VirtualBox
  ・virt-manager
  ・libvirt
6. KVM(Kernel-based Virtual Machine)
 Kernel2.6.20から利用可能。
 6.1. 仮想マシンOS
  6.1.1. インストール可
   ・WindowsXP Pro
   ・Debian GNU/Linux Etch
   ・Vine Linux 4.0
   ・SUSE Linux Entreprise Server 10
   ・RedHat Enterprise Linux 5.0
   ・KNOPPIX 5.0.1(ブート可)
  6.1.2. インストール不可
   ・SUSE Linux Entreprise Server 9
 6.2. KVMで挫折したこと
  ・VMwareイメージでは正常起動できない
  ・sidでkvm12からkvm14に変更になったタイミングで、Windowsが起動しなくなった
  ・libveirt-0.2とvirt-manager-0.3.1の導入が上手くできない
7. KVMの仕組み
 かなり濃い話だったので、レポートできません。(すみません・・・。)
 かなり濃かったです。
  ・KVMの仕組み(概要説明)
  ・KVMソースコード解説

http://tokyodebian.alioth.debian.org/


■セキュアOS開発BOF
1. 日本でのセキュアOS開発
 ・SELinux
   組込み機器へSELinuxを!
 ・seBusyBox
   BusyBoxSELinux対応
 ・SEDiet Project
 ・SELinux Policy Editor
 ・SE-PostgreSQL
   SELinuxを利用し、行、列レベルのアクセス制御、情報保護
 ・TOMOYO Linux
   国産セキュアOS、使い易さとアクセス制御の細かさ
 ・LIDS
2. OSS開発の課題
 セキュアOS開発に限らず、一般的なOSS開発に共通する課題ですね。
 2.1. 継続的な活動が難しい
  ・予算切れ
  ・転職、職場変更
  ・単にやる気がなくなる
  ・メイン開発者が少ない
 2.2. 生活との両立
  ・ボランティアでどこまでやれるのか?
  ・仕事としてやる場合は、企業、会社への説得が難しい
    儲かるの?、前例がない、知的財産管理、情報漏洩
 2.3. upstream(本家)との付き合い
  開発したものは、upstreamしたいし、すべきである。
  が、コミュニケーション、暗黙のルール、思想とか面倒なことも多い。
 2.4. コミュニティ作り
  「開発者コミュニティ」と「ユーザコミュニティ」どちらも重要だが、両立が難しい。


OpenSolarisで学ぶオペレーティングシステムの最新技術
1. OpenSolarisSolaris
 ・オープンソースOS:OpenSolaris
 ・ディストリビューション:Schillix/Belenix/NexentaOS/marTux/Polaris/Solaris Express(Community、Developer)
 ・先行バージョン:Nevada
 ・製品、サポート付きディストリビューション:Solaris 10 (3/05、1/06、6/06、11/06)
2. OpenSolarisOSS、freeware
 ・Oracle and Sun Microsystems | Strategic Acquisitions | Oracle
 ・Introduction
 ・http://www.blastwave.org/
 ・Cuddletech
3. OpenSolarisのbuild
 ・Solaris Expressにより最新版バイナリを入手
 ・ソースコード入手
 ・Sun Studio 11コンパイラを使用してコンパイル
 http://opensolaris.org/os/downloads/
4. 主なOpenSolaris Community / Project
 ・Approachablity
 ・BrandZ
 ・DTrace
 ・Observability
 ・Testing
 ・Trusted Extensions
 ・Xen
 ・ZFS
 ・Zones


■日本OpenSolarisユーザ会?準備会
 http://opensolaris.org/
 Oracle | Integrated Cloud Applications and Platform Services


MySQLの日本語問題洗い出し
1. マルチバイトキャラクタセットの基礎
 ・シフトJIS系(1〜2バイト)
 ・日本語EUC系(1〜3バイト)
 ・Unicode
   UTF-8(1〜6バイト)
 同じ文字でもキャラクタセットによってコードポイントは違う
2. MySQLでの文字コート変換
 ・サーバ側で変換
 ・Unicode(ucs-2)を経由して文字コード変換
 ・クライアントとサーバが同じ文字コードの場合は変換なし
 ・デフォルトは、「latin1」
3. 文字コード変換問題回避のための基本スタンス
 1)キャラクタセットは可能な限り統一
 2)日本語キャラクタセットを選択(cp932、utf8)
 3)サーバ側のキャラクタセットを設定
  ・「my.cnf」の「character-set-server」パラメータ(オススメ)
 4)クライアントのキャラクタセットを設定
  ・SET NAMES文
  ・「my.cnf」の「skip-character-set-client-handshake」パラメータ(オススメ)
  ・「my.cnf」の「init-connect='SET NAMES cp932'」パラメータ
4. 日本語問題
 4.1. 基本的な文字化け
  (対応)
   サーバ、クライアントの文字コードを統一
 4.2. 自動再接続問題
  (問題)
   mysqld再起動によるMySQLの自動再接続が行われた場合、キャラクタセットが「latin1」(デフォルト)になる
  (対応)
   ・--disable-reconnect
   ・skip-character-set-client-handshake
 4.3. 文字欠落問題
  (問題)
   キャラクタセットのカバー範囲外のバイト列を格納すると、それ以降のバイト列が欠落する
  (対応)
   ・アプリケーション側で入力制限
   ・文字列型ではなく、バイナリ型にする
 4.4. UTF-8の4バイト文字問題
  (問題)
   MySQLUTF-8が3バイトまでしか扱えないため、4バイト以降の文字が欠落する
  (対応)
   ・アプリケーション側で入力制限
   ・文字列型ではなく、バイナリ型にする
  本問題については、今後対応予定
   ・utf8-4導入、既存utf8の拡張
   ・JIS X 0213:2004に完全対応したキャラクタセット導入
 4.5. シフトJIS+エスケープ+0x5c問題
  (問題)
   シフトJISには2バイト目に「0x5c」となる文字があり、その文字をエスケープ文字と判断することで発生する問題
  (対応)
   cp932を使う