openSUSE mini sumitでも話ましたが、openSUSEを自動インストールしようとして試行錯誤しています。すべて仮想環境でテストしているのですが、なかなかうまくいきません。

仮想環境は、debian ベースの proxmoxVEを使っています。これが、なかなか便利で、Webベースで仮想マシンを立てたりつぶしたり、VNC経由で仮想マシンとサクッと繋がる、バックアップも取れる、やろうと思えば高可用性構成も取れるなど、便利な機能がてんこ盛りです。VMware ESXi と比べると、機能的に劣るところもありますが、個人ベースで使うには十分すぎるくらいです。

ただ、この仮想環境、ちょっと変わったところがあって、仮想OS用のBIOSに、iPXEが組み込まれているのですね。PXEではなくて。なので、ネットワークブートを行う時は、PXEのノウハウがあまり使えません。とりあえず、今やっていることをメモとして書いておきます。


準備

◆1 dhcpの設定

iPXEを使う時には、dhcpで、インストールサーバの情報を設定する必要があります。dhcpの設定はyastからも出来ますが、今回は直接 /etc/dhcpd.conf を設定しました。こんな感じになります。

default-lease-time 14400;
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.101 192.168.10.127;
default-lease-time 14400;
max-lease-time 172800;
}
if exists user-class and option user-class = “iPXE” {
filename  “iPXE/boot.ipxe”;
}
else  {
filename “iPXE/undionly.kpxe”;
}
next-server 192.168.10.41;

この設定により、iPXEが、OSを起動するための初期スクリプト boot.ipxeをダウンロードすることが出来ます。

◆2 tftpの設定

tftpの設定はyast から行います。特に標準のままで問題ありません。なお、tftpはxinetd配下から起動することになります。

◆3 httpdの設定

httpdを設定します。rootディレクトリは、/srv/tftpboot/install/ にします。

◆4 OSイメージの展開

yast の、インストールサーバ設定から、OSイメージを展開します。サブディレクトリは、leap42にしてみます。

◆5 OSイメージの配置

/srv/tftpboot 配下にOSのISOイメージを置きます。

◆6 boot.ipxe の作成

ひな形は、ここにあります。こんな感じになっています。

#!ipxe
menu Please choose an operating system to install
item –gap openSUSE
item isolinux isolinux boot
item efi efi boot
item iso iso boot
item –gap ipxe shell
item shell       Drop to iPXE shell

choose target && goto ${target}

:failed
echo Booting failed, dropping to shell
goto shell

:shell
echo Type ‘exit’ to get the back to the menu
shell
set menu-timeout 0
set submenu-timeout 0
goto start

:isolinux
kernel http://192.168.10.41/install/leap42/CD1/boot/x86_64/loader/isolinux.bin initrd=http://192.168.10.41/install/leap42/CD1/boot/x86_64/loader/initrd install=http://192.168.10.41/install/leap42/CD1/
initrd http://192.168.10.41/install/leap42/CD1/boot/x86_64/loader/initrd
boot || goto failed

:efi
chain   /install/leap42/CD1/EFI/BOOT/bootx64.efi initrd=initrd install=/install/132/CD1
initrd  /install/leap42/CD1/boot/x86_64/loader/initrd
boot || goto failed

:iso
sanboot http://192.168.10.41/leap42.iso
boot || goto failed


やってみました

◆1 isolinux でブートする

展開されたISOイメージ内にはisolinux.bin があります。これを直接指定してみます。結果は

isolinux-bad

と、あえなく撃沈。

◆2 EFIでブートする

展開されたISOイメージ内にはEFI用のブートコードがあります。これを指定してみます。結果は

efi-bad

と、これも撃沈。

◆3 ISOイメージをブートする

iPXEには、SANからブートする機能があります。この機能を使うと、ISOイメージをそのままブートすることが出来ます。結果は、

iso-ok-01

と、ISOブートと同じ画面が出ます。ただ、この後そのまま続行しても、インストールデータがネットワークブートしたkernelから直接読めるわけではないので、

iso-ok-02

と、インストールデータがある場所を要求してきます。ここに、httpで取得出来るURLを入れてあげればそのまま続行出来ます。

とりあえずここまでは出来ています。

 

OSC 2016 Tokyo/Spring

By ftake @ 2016-03-02 01:09

2月26日、27日にオープンソースカンファレンスが明星大学日野キャンパスで開催されました。来場者は1日目約650名、2日目約900名の合計1550名でした。日本openSUSEユーザ会として2日間のブース出展と、土曜日の午前にセミナーを行いました。

ブース

2-P1080406_r

オープンソースカンファレンスといえば、ブースや懇親会で色々なコミュニティの人と話をすることです。ユーザ会ブースでは、いつものように特大ギーコを中心とするギーコたちと、Geeko Magazine、Leap 42.1 のデモ、Raspberry Pi での Tumbleweed のデモを行いました。

2日間で100人以上の方に立ち寄って頂けたようです。ブースでの会話は、およそ対象者別に3パターンです。openSUSE を知らない人向けには、まずは YaST でネットワークや Samba などの設定が、設定ファイルを vi で変更せずにできることを紹介し、openSUSE を知っている人向けには、Leap 42.1 が SLE ベースになったことを説明しました。利用している人には openSUSE mini SummitIRC定例にぜひ参加して下さいと声かけをしました。

残りわずかだった Geeko Magazine 冬号は売り切れました。2015夏号も持って行った分はすべてなくなりました。次の号では、「使ってみた」のような、簡単な記事で構いませんので、ぜひ執筆にも関わっていただければと思います。もちろん、記事の技術的な内容のサポートもします。

6-P1080426_r

この日は LPIC くんではなく、HTML 5 プロフェッショナル認定試験のマスコット、セマンくん襲来。さっそく一緒に記念撮影をする特大ギーコ。

1-P1080378_r

OSC東京の懇親会は少し特別で、1000円の会費で軽い食事と飲み物を飲みながら、立食でわいわい、レアなノベルティが手に入る恒例のじゃんけん大会、飛び入り LT 大会が行われます。

セミナー

セミナーのネタ切れ感が漂う中、太田さんにGeeko Magazine の冬号から、 Microsoft Azure を使ってみた話をお願いしました。その前後に、Tumbleweed と Leap 42 シリーズの話と、SUSE Studio の紹介、openSUSE.Asia Summit のレポートを挟みました。

4-P1080409 5-P1080418

参加者は最終的には12名程度で、全員が openSUSE を知っていて、半数が利用したことがあるとのことでした。それなら、もっとコアな話をすれば良かったのですが、そういう内容はぜひ openSUSE mini Summit に聞きに来ていただければなと思います。

参加者には openSUSE のロゴ入り USB メモリーをプレゼントしました。読み書きが遅いので、openSUSE のインストールに使ってもらえればと思います。まだ残っていますので、地方の方は今後の OSC をお楽しみに。


その他

7-P1080431_r 9-P1080497_r

議事録アプリケーション SIGN のブースでもらった変わったノベルティグッズ「イケメンチップス」。中にはイケメンカードが入っていました。

8-P1080433_r

最後は OSC 名物 LT 大会と表彰式です。今回の LT はopenSUSE ユーザ会のさとうさんと不破さんのダブル司会でした。写真は法林さんによる受賞者紹介のプレゼン中の様子です。(司会者の写真を撮るのは難しく…)

最後はみんなで会場の撤収作業を手伝って解散です。

OSC 2016 Hamanako

By kimitoboku @ 2016-02-14 18:44

1月の23日に開催された、オープンソースカンファレンス 2016 浜名湖に参加しました。
OSC浜名湖は他のOSCと違い、展示ブースとセミナーブースが同じスペースで行われる少し変わったOSCです。
その御蔭もあり、多くの参加者がセミナーを聞きながらその合間合間にスペースを回って楽しくがやがやお話したりする事が出来ます。
また、展示ブースからセミナーをすぐに見に行けるため、展示していても見たいセミナーをすぐに見に行けるので大変便利な会場です。


また、ブースに猫ブース鬼パーセント芋!の声優さんによるインタビューもありました。インタビューの動画はニコニコ動画にて公開されています。
【ニコニコ動画】【OSC2016浜名湖】展示ブース回っちゃいました! Part1

VNCからXDMCP接続画面につなぐ

By ribbon @ 2016-01-11 17:12

昔は、リモートからXを使う場合、手元のマシンにXサーバを入れてつないでいました。LinuxをはじめとするUnix系OSであれば、標準でXが入っているため問題はなかったのですが、Windows OSの場合は、Xサーバソフトを入れないと使えません。Windows用Xサーバソフトは現在も何社から販売されていますが、そこそこな値段がするため(数万以上)おいそれと使うわけにはいきません。そこで、自由に(=無償で)使える、VNCを使って同等の事が出来るようにしてみました。

作業手順については、
https://www.ibm.com/developerworks/jp/opensource/library/os-multiuserloginsvnc/ にほとんどまとまっています。ここに書いてある通りにすれば、間違いなく動きます。

ただ、1つ注意すべき事があります。いくつかあるディスプレイマネージャのうち、LXDEはXDMCPプロトコルに対応していません。ですので、VNCから使おうとしても繋がりません。GDMかKDMに切り換える必要があります。

最近の OSC のセミナーで紹介していた Snapper で作成した Btrfs ファイルシステムのスナップショットを Samba で公開し、「以前のバージョン」のファイルにアクセスできるファイルサーバーが、CentOS でも 7.2 になって構築できるようになりました。

Snapper は openSUSE 傘下のプロジェクトで、設定しておいたルールに応じて、自動的にファイルシステムのスナップショットを撮ってくれます。Samba 4.2 以降で、Samba と Snapper が vfs_snapper で連携できるようになりました。細かい話は OSC 京都のスライドをチェックして下さい。

では早速インストールしてみましょう。ポイントは SELinux への対応です。(まさか、無効にしていないですよね?) ここは openSUSE ユーザ会の Blog ということで、細かい CentOS の解説は行わないことにします。

とりあえず、samba と snapper をインストールします:

$ sudo yum install samba snapper

共有するディレクトリ /srv/share を作成します。以前のバージョンに対応した共有ディレクトリは Btrfs の(サブ)ボリュームである必要がありま。アクセス権は実際に使用する環境に合わせて変更して下さい:

$ sudo btrfs subvol create share
$ sudo chgrp -R geeko share
$ sudo chmod g+w share

SELinux で Samba サーバーが /srv/share にアクセスできるようにします:

# semanage がインストールされていない場合
$ sudo yum install policycoreutils-python

# ラベル設定
$ sudo semanage fcontext -a -t samba_share_t /srv/share
$ sudo restorecon /srv/share/

Samba サーバーの設定をします。今回は /etc/samba/smb.conf に次のような設定を追加します。
最後の vfs objects の設定がミソです:

[share]
 comment = Shared Directory
 browseable = yes
 writable = yes
 guest ok = no
 path = /srv/share
 vfs objects = btrfs snapper

Snapper の設定をします。スナップショットの残し方の設定は openSUSE と共通なので、スライドを参照して下さい:

$ sudo snapper -c smb-share create-config /srv/share

ユーザアカウント geeko がスナップショットにアクセスできるようにします。設定ファイルの直接編集も可能です:

$ sudo snapper -c smb-share set-config ALLOW_USERS=geeko

Samba サーバーを立ち上げましょう。まずはファイアウォールを開けて:

$ sudo firewall-cmd --add-service=samba --permanent
$ sudo firewall-cmd --reload

サービスの自動起動設定をし、smb サービスを開始します:

$ sudo systemctl enable smb.service
$ sudo systemctl start smb.service

ユーザー geeko を Samba サーバーのユーザーに追加し、パスワードを設定してログインできるようにします。

sudo pdbedit -a geeko

あとは Windows からアクセスして、右クリックして、「以前のバージョン」タブを開くだけ…なのですが、なんと Samba サーバーが Snapper に接続する際に、SELinux が拒否してしまいます。次のようなログが /var/log/audit/audit.log にしっかり記録されています:

type=USER_AVC msg=audit(1452273485.220:943): pid=534 uid=81 auid=4294967295 ses=4294967295 subj=system_u:system_r:system_dbusd_t:s0-s0:c0.c1023 msg='avc: denied { send_msg } for msgtype=method_call interface=org.opensuse.Snapper member=ListConfigs dest=org.opensuse.Snapper spid=16293 tpid=16588 scontext=system_u:system_r:smbd_t:s0 tcontext=system_u:system_r:snapperd_t:s0-s0:c0.c1023 tclass=dbus exe="/usr/bin/dbus-daemon" sauid=81 hostname=? addr=? terminal=?'

Samba から Snapper にアクセスを許可するポリシーを作成してみます。次のような samba-snapper.te を作成し

module samba-snapper 1.0;
require {
  type smbd_t;
  type snapperd_t;
  class dbus { send_msg };
}

allow smbd_t snapperd_t:dbus { send_msg };

ルールをビルドします:

# Makefile がインストールされていない場合
$ sudo yum install selinux-policy-devel

# ビルド
$ make -f /usr/share/selinux/devel/Makefile

作成した samba-snapper.pp をシステムにインストールすると、以前のバージョンにアクセスできるようになります。

sudo semodule -i samba-snapper.pp

CentOS で以前のバージョンに対応したファイルサーバーを構築する方法を紹介しました。ぜひ、スライドで紹介している openSUSE で YaST を使った設定と比べてみて下さい。

openSUSE.Asia Summit 2015 レポート

By ftake @ 2016-01-06 21:53

12月4日〜6日にかけて台湾の国立台北教育大学で開催された openSUSE.Asia Summit 2015に参加してきました。今年は3日間の日程で、初日はワークショップと Ubuntu コミュニティとの共催のリリースパーティが行われ、2日目と3日目は事前応募者による口頭発表が行われました。参加者は事前登録者だけで49人(うち日本人6人)でした。

また、台北の勉強会コミュニティ Study Area との共催で、Study Area のトラックが設定されました。台湾では、平日の夜は仕事を早めに切り上げて、コミュニティ活動に参加する人が多いそうです。

プログラムや当日のスライド(一部)は以下のページから見ることができます
https://events.opensuse.org/conference/summitasia15/

openSUSE.Asia Summit

openSUSE.Asia Summit はアジア地域の openSUSE ユーザや開発者が、実際に顔を合わせてコミュニケーションを取ることを目的としたイベントです。欧米では openSUSE Conference や openSUSE Summit といったイベントが開催されてきましたが、アジア地域からはどうしても参加が難しくなります。そこで2014年に初めて北京で開催し、今回が2回めになります。

開催地の決定は、オリンピックのように開催したい地域のチームが開催計画を提出し、それを審査して決める方式です。2015年は台北とインドのニューデリーのチームが立候補し、台北に決まりました。

Summit の構成はおよそ次のようになっています

  • long talk (1時間の口頭発表)
  • short talk (30分の口頭発表)
  • workshop (3時間程度で、参加者が実際に手を動かしながら進めるセミナー)
  • lightening talk (持ち時間10分のライトニングトーク)

集まることが一番大切ということで、発表を現地語で行うことが認められています(スライドは英語)。アジア地域の課題で、北京でも台北でもそうですが、参加者全員が英語が話せるわけではありません。時間帯によっては、すべてのセッションが中国語になってしまうことがありました。

Travel Support Program

openSUSE コミュニティメンバーがイベントに参加することを金銭的に補助する Travel Support Program というものがあります。事前審査に通ると、旅費と宿泊費の最大8割をスポンサーの SUSE が補助してくれます(6万円なら、自己負担は1万2千円)。今回も日本からの発表者は旅費補助を受けて参加しました。

台北へのアクセス

台北は日本から最も行きやすい海外の都市の1つです。(逆も同じようで、毎年のように旅行に来ている人もいます) 所要時間も4時間程度で、LCC も多く飛んでいるため、下手な国内旅行よりも安く上がります。

当初の予定では、金曜日早朝、羽田発の Peach で行く予定でしたが、急遽金曜日に仕事が入ってしまったため、成田20時台の飛行機で台湾に向かいました。台北には街中にある松山空港と、郊外にある桃園空港の2つがありますが、成田からの便は桃園空港に着きます。さすがに到着が23時になると、空港で SIM カードを買えませんでしたが、台北駅までの高速バスは24時間営業で、遅い時間に出発しても台北入りできます。

SIM カードと書きましたが、SIMロックフリー端末(ドコモの端末を解除して持って行きました)があれば、1200円程度で5日間使える SIM カードを入手できます。街中で地図を見たり、何かを調べたりが簡単にできるので、この辺も気軽さに繋がるのではないかと思います。

日本からの参加者

2015年は、Linuxcon Japan の後に、台湾の Sakana を始めとする海外メンバーとの交流会を開催したり、openSUSE mini Summit で宣伝したことで、小江戸らぐ関係者6名が集まりました。

発表者と発表内容は次のようなものでした:

  • N. Ogasawara, Vertical Writing feature of LibreOffice
  • K. Hatori, Booding directly opensuse iso file by grub2
  • F. Takeyama, Redesigning Input-Method Launcher and Management System
  • K. Omo, AppArmor UseCases with Docker system on SuSE

2日目

1-P1070811

2日目の最初に openSUSE Board を代表して、Michal Hrušecký が基調講演を行いました。最初に、11月にリリースされた Leap 42.1 と、Tumbleweed について触れました。openSUSE のコミュニティには2タイプの人がいて、片方は bleeding edge crazies で、1周間に1回のカーネルアップデートでは静か過ぎると思うような人たちです。もう一方は安定性を求めるような人たちです。先日リリースされた Leap 42.1 は後者を対象としたものですが、SLENTOS (SUSE Linux Enterprise の CentOS) では退屈なディストリビューションになってしまうため、現在の SUSE Linux Enterprise をベースに openSUSE のパッケージを足し合わせる形になりました。

さらに、Michal は openSUSE のプロジェクトの中で、誰が「力」を持っているのか?と問いました。彼の答えは、「力」を持っているのは下記のどれでもなく、「あなた」であると力説しました。openSUSE Project には次のようなチームがあります:

  • openSUSE Board
    • openSUSE Member による投票によって選ばれるメンバーです。意見が割れた場合に取りまとめる役割があります
  • リリースチーム
    • Coolo を中心とした、パッケージの最終的な取り込みの判断を行ったりしています。今は誰でもが参加可能で、フルタイムの仕事の枠もあります。
  • SUSE
    • openSUSE のスポンサーですが、絶対的な権力はありません
  • Various teams
    • 特定分野のパッケージを開発するチームや、マーケティングなど様々なチームがあります。誰でもが OBS を通して、パッケージを送ったり、マーケティング活動に参加することができます。

上記のチームの活動のほとんどは誰でもが参加でき、1人1人のコミュニティメンバーの協力によって成り立っています。

セッションの間にある休憩時間(今年は多めに設定しました)では、他の参加者と交流するチャンスです。2回目の参加で、Summit 全体の運営メンバーの私の場合は、昨年会った人や、オンラインでしか会ったことのない人との挨拶まわりでした。

2-P1070830_r

初参加でも台湾のメンバーがもてなしてくれます。お菓子をつまみつつ、現地のメンバーが着ていた「逃げたダメだ」Tシャツや HHKB、日本の女優…などの話題で盛り上がっていました。台湾では日本旅行や日本のドラマ、漫画などの人気が高く、大学で日本語を学ぶ人も多いため、日本語を話せる人もいます。

3-P1070846

お昼ご飯は、中国本土から来たメンバーと現地の案内人で近所のお店に。この日のお昼ご飯は牛肉麺と水餃子、野菜炒めのセットでした(約640円)。

4-P1070849_r

次回の開催を目指すインドネシアからは、Edwin がジョグジャカルタ特別州で行われてきた Eラーニングプロジェクトの紹介を行いました。このプロジェクトの一環として、500校の小中学校で児童・生徒・教員が使用する PC の OS として、openSUSE Education-Li-f-e が採用されています。

州のサーバーにアクセスするインターネット回線さえない学校もあり、無線のアンテナを建てるところから導入を進めたそうです。また、子供たちは特に気にしなかったものの、教員には Windows 環境から OSS を中心とした環境に乗り換えるハードルが高かったそうです。

小笠原さんは LibreOffice の縦書きの話をしました。せっかく用意した資料がないというアクシデントがありましたが、LibreOffice Conference の発表資料を使って発表していました。台湾は日本と同じく縦書きを使うので、興味を持ってもらえたのだと思います。

5-P1070873

2日目最後のセッションは「はとちゃん」による「Booding directly opensuse iso file by grub2」。Grub 2 から、ISO ファイルのライブ CD を直接起動しようと頑張ったけれども、失敗したという話でした。身振り手振りで必死に説明しようとしていました。

6-P1070884

夜はスポンサー提供のパーティです。日本でもおなじみのスタイルの、鍋食べ放題でした。ただ火鍋は激辛でした。誰だったかが、日本に行ったとき、最後に鍋にご飯を入れていたのが印象的だった…と言ったために、その場で〆の雑炊の作り方を披露することに…。

パーティの会場で、日本から持ってきていた Geeko Magazine を何人かに配りました。あの表紙に、みんな大興奮で、ぜひ翻訳したいから、クリエイティブコモンズライセンスなどでソースを配布してくれというリクエストが来ています。

3日目

沖縄より南の南国とはいえ、ちょっと肌寒かったのですが、この日は雨でさらにエアコンをガンガンに効かせていたため、とても寒かったです。

中国の SUSE のマネージャの Sunny は、どうやって女性をコミュニティに巻き込むかについて話していましたが、残念ながらネタが中国語で仕込んであったらしく、中国語での発表になってしまいました。最後に、この話を聞いて、彼女や奥さんを OSS の活動に連れてきたいかという問いに手を上げない日本勢に対して、「連れてくる人がいないのかな?」とひとこと…。

私の発表は、インプットメソッドを起動する openSUSE の 10年もののスクリプトをなんとかしないといけない…という話でした。この発表を聴きに、昔から openSUSE の多言語化をしてきた Swyear が来てくれました。プレゼンが終わった後に、台湾で使われているキーボードとインプットメソッドの話で議論したのですが、知らないことがたくさんでした…。

午後は面さんの AppArmor と Docker の話がありました。openSUSE.Asia Summit はテクニカルな内容が全体的に少なめで、レベルの設定が難しかったかもしれません。コンテナ毎に AppArmor のプロファイルを指定して、よりセキュアにコンテナを実行できるのは知らなかったので、勉強になりました。

ライトニングトークでは Hillwood が Wintricks で、簡単に Windows アプリケーションを Wine 上にインストールできることを披露し、Michal が openSUSE に対して、コミュニティメンバーができることを協調し、インドネシアチームがジョグジャカルタの紹介をして、2015年の openSUSE.Asia Summit は終わりました。

夜は日本のメンバーというか小江戸らぐのメンバーで士林夜市へ。様々な台湾名物を手ごろな値段で楽しめます。夜市のお店のおばちゃんに食べきれないような量の料理を勧められたりも…。

7-P1070934

翌日以降

8-P1070983_r

9-P1080041

今年は観光の時間を確保しようと、Summit 翌日も台北に宿泊し、帰りの飛行機も16時台の便にしました。故宮博物院で念願の白菜(注: 翡翠で作られた)を見たり、小籠包を食べたり、違う夜市に行って愛玉子(ゼリーが入った飲み物)や紅豆湯圓(お汁粉)を食べたりしました。もちろん、ギネスに登録された世界最高速のエレベータで台北101の展望台にも行ってきました。

台湾は、今後何度行っても、まだまだ楽しめそうですし、台北の openSUSE コミュニティメンバーとイベントなんかもできそうです。

最後に、そして日本開催へ

少なくとも openSUSE のコミュニティでは、海外からの参加者を温かく迎えてくれますし、英語ができなくても、共通のコミュニティならではの話題で、なんとなくコミュニケーションが取れます。TSP で旅費の補助も出るので、ぜひ、海外イベントにも参加してみてはいかがでしょうか?

また、日本でも openSUSE.Asia Summit (と GNOME.Asia Summit)を2017年に開催するために、誘致委員会を年内に立ち上げる予定です。参加者を一緒にもてなしてくれるかたも募集しています。

Geeko Magazine Special Edition 2015冬

By ftake @ 2015-12-24 23:55

2015年もクリスマスイブ。年末が近くなってきました。

年末と言えば冬コミ、冬コミと言えば…今回も Geeko Magazine Special Edition の新刊が出ます!

cover-c89

2015冬号の内容は

  • openSUSE Leap 42.1 リリース
  • openSUSE 初心者あるある
  • Azure で使う openSUSE
  • VLAN を使ってみよう
  • ポートスキャンでもしてみます?
  • ヨーロッパでは Linux はすごい
  • ぎーこの42歩のマーチ

スペースは31日 東地区 “メ” ブロック 35b です。技術系のサークルが集まっているエリアにあります。

ぜひお越し下さい。