openSUSE では、Dコンパイラが用意されていて、リポジトリを追加すれば使えるようになります。
リポジトリの情報は
https://software.opensuse.org/download.html?project=devel%3Alanguages%3AD&package=dmdにあります。
ただ、openSUSE 42.3 ではこのままでは動きません。Dコンパイラでコンパイル後、リンクに失敗します。対処法は
https://github.com/skilion/onedrive/issues/252に書いてあるように、phobos-devel-static を追加します。

この記事は LibreOffice Advent Calender の 21日目です。

先日のopenSUSE.Asia Summitでは、次のような名札を作りました。たくさんの人が集まるイベントでは、やっぱり名札があるとよいですね。今回はこの名札を作るまでの過程を紹介します。この名札は、実は背景と名前の部分の2回に分けて印刷しています。以下では、それぞれのパートに分けて紹介します。

openSUSE.Asia Summit の名札

背景

背景部分はLibreOfficeではなく、Scribusで作成しました。今回の名札は「はがきサイズ」で、印刷屋さんに依頼しても200枚1500円以下でオフセット印刷できます。Scribus を使うことで、発注時に必要な裁ち落とし(縁なし印刷)をするための塗り足しを持ち、CNYK カラーの PDF データを出力できます。

Scribus の編集画面

 

出力した PDF データ

名前の差し込み印刷

名前の部分は LibreOffice Writer の差し込み印刷機能を使って印刷データを作成しました。

印刷するデータは Connpass の申し込み情報を CSV にエクスポートして作成した次のようなデータです。1行が1人分のデータになっています。

Name 1 Name 2 Affiliation Registration No
Fuminobu Takeyama ftake Japan openSUSE User Group 10001
Geeko 10002
Foo Bar Foobar Baz 10003

それでは、Writer で差し込み先のデータを作っていきましょう。名札のレイアウトは次のように表を使って作成しました。

LibreOffice Writer で作成した印刷レイアウト

ドキュメント内の < > で囲まれた部分はフィールドで、対応する列の値がこの場所に書き込まれます。このフィールドは次のようにして挿入します。

  1. メニュー: 「挿入」 > 「フィールド」をクリック
  2. 「データベース」タブ > 「差し込み印刷フィールド」をクリック
  3. 「データベースファイルの追加」の「検索」で名札データの表を開く
  4. 「データベースの選択」内に開いた表が現れるので、シート名と列を選択する

差し込み印刷フィールドの挿入

このようにして、4つのフィールド(名前1、ニックネーム、所属、申込番号)を追加します。

次に、データを差し込みます。直接印刷することもできますが、ここでは差し込んだ結果を新しい Writer のドキュメントとして保存します。「表示」> 「ツールバー」>「差し込み印刷」で差し込み印刷ツールバーを表示し、「結合ドキュメントを保存」をクリックします。

結合ドキュメントの保存

そうすると、全員分の名札データが差し込まれた1つのWriterドキュメントができあがります。作業はこれで終わりではなく、ページをチェックして、はみ出ている人がいれば改行位置の調整やフォントサイズの変更を行います。「Japan openSUSE User Group」も長過ぎるのでフォントサイズを小さくしました。

全員分の名前が差し込まれたドキュメント

最後に、このデータを背景が印刷された用紙に普通に印刷すればできあがりです。今回はインクジェットプリンターに対応しないコート紙を使ったため、キンコーズでセルフプリントしました。ただのはがきサイズのドキュメントなので PDF にして USB  メモリーに保存して持っていけば印刷できます。ただ、ページ数が多すぎる場合は、読み込みに時間がかかるため、複数のファイルに分けたほうがよいようです。

2017-10-21の、openSUSE.Asia Sumut 2017 で、「Zeroconf as simple name resolution for LAN」というタイトルで15分の発表を行いました。英語での発表ではなく、日本語での発表でしたけれど。
最初に日本語の資料を作っておいて、そこから英語に翻訳していったのですが、英語に自信が無いので、英語での発表を何回もしている人に添削をお願いしました。原形をとどめないくらいあちこち直されました。やはり、中学英語レベルで英語プレゼン資料を作るのは難があったみたいです…..
ともあれ、171021-en-opensuse-ribbon に発表資料を置きましたので、ご興味がある方はご覧ください。

Proxmox VEについて

By ribbon @ 2017-08-13 22:53

2017-08-13 の IRC定例で話題になった Proxmox-VE について、簡単にメモしておきます。

Proxmox-VE の一次情報は、 https://pve.proxmox.com/wiki/Main_Page  です。

Proxmox-VE はVMware ESXiに似た、仮想化アプライアンスで、Webベースで仮想マシンの制御や、LXCベースのコンテナの制御を行えます。オープンソース版と商用版がありますが、kernelがエンタープライズ版か否かくらいの違いしかありません。
ベースは、Debianで、その上にPerlで書かれたVM管理用ツールがインストールされています。ISOイメージからインストールすると、ターンキー仮想ホストとして、ディスクの初期化からパーティションの作成まで一気にやってしまいます。

LVMベースのディスク管理を使用しています。各仮想マシンはLVMのシンプロビジョニングか、通常のファイルで保持されます。スナップショットを使ったバックアップ機能もあります。

openSUSEの検証などにはよく使っています。ほぼすべてメッセージが日本語化されていますので、わかりやすいと思います。ESXiと違ってDebian 9 が動くマシンであればそのまま使えます。お手軽な仮想環境制御ツールをお探しの方は、一度試してみてはいかがでしょうか。

 

2017年1月15日の記事で、firstboot的な機能をautoyastに埋め込む例を紹介しました。しかし、当該記事では、うまくいかない場合があることが分かりました。記事中では

<scripts>
<post-scripts config:type=”list”>
<script>

と言う記載がありましたが、ここが問題でした。

実は、autoyastで、設定後、各種スクリプトを動かすための設定方法は
マニュアルにきちんと書いてあります。<scripts>の次のタグの記述で、どのタイミングでスクリプトを動かすかを決められるのです。そして、<post-scripts>の場合には、再起動後YaSTが各種設定をしている中でスクリプトを動かします。これがどういう問題を引き起こすかというと、スクリプトの中にzypperコマンドでリポジトリを設定しようとするときに、ファイル競合を起こして設定が出来ないという問題が発生してしまうのです。

そこで、<init-scripts>に切り換えて、各種daemon等が起動したあとに、スクリプトを実行するようにします。そうすることで、zypper コマンドが正しく動くようになりました。

google での検索では、当該マニュアルまでうまくたどり着けなかったのですが、/usr/share/doc/packages/autoyast2/ 配下にマニュアルがあり、そこを参照することで原因と対策が分かりました。やはり、マニュアルは読むものですね。

 

下記の記事に対する更新情報があります。こちらを参照してください。

firstboot 機能はautoyastにも組み込めます。しかし、firstbootの解説の所にはあっさりとしか書いてないので、いろいろやってみましたがうまくいきませんでした。しかし、autoyastの設定の中から代替の方法を見つけました。
以下のようにautoinnst.xml に記述を追加すると、再起動後の初期設定中にスクリプトを動かす事が出来ます。

  <scripts>
<post-scripts config:type=”list”>
<script>
<debug config:type=”boolean”>true</debug>
<feedback config:type=”boolean”>false</feedback>
<feedback_type/>
<filename>demo.sh</filename>
<interpreter>shell</interpreter>
<location><![CDATA[]]></location>
<network_needed config:type=”boolean”>false</network_needed>
<notification>demo</notification>
<param-list config:type=”list”/>
<source><![CDATA[#! /bin/sh
touch /root/testend
sleep 50

]]></source>
</script>
</post-scripts>
</scripts>

この設定は autoinst機能を追加したYaSTでも設定出来ます。やってみましょう。

まずYaSTを起動し、「その他」→「独自のスクリプト」を選択し、編集画面に移ります。

170115autoyast01

新規作成を選び、スクリプト名(ファイル名)を入力し、スクリプトの実体を、「スクリプトソース」に記入します。これで、autoyastが生成するautoinstファイルにスクリプトが組み込まれます。

170115autoyast02

さらに、生成されたautoinstスクリプトを適宜編集し、自動実行を行わせるサーバに組み込みます。その後、ネットワーク越しに自動インストールが行われ、再起動後に、先ほど設定したスクリプトが動作します。「demo」というタイトルが表示されています。

170115autoyast03

実行後、ログインしてみると、ちゃんとファイルが出来ています。

170115autoyast04

 

 

firstboot機能を使ってみました

By ribbon @ 2017-01-14 18:14

openSUSEには、起動したときに1回だけ特定の処理を動かす firstboot という機能があります。試しにちょっと使ってみました。

  • モジュールの追加
    YaST2-firstboot モジュールをインストールします。
  • ファイルの作成
    touch /var/lib/YaST2/reconfig_system ファイルを作成します。
  • 再起動

すると、再起動後、インストール時に見たような物と同じような画面が表示されます。

170114firstboot01

一通り先に進んでいって処理を終えると通常のログイン画面になります。その後再起動しても、もうこの画面は出ません。

また、再起動後、表示される手順は /etc/YaST2/firstboot.xml に定義されています。ここでの定義を編集すれば、処理を変更することが可能です。