openSUSEでハードウェア情報を簡単に取得する

By Syuta Hashimoto @ 2018-12-04 07:29

橋本修太です。

このブログは「openSUSE Advent Clendar 2018」の4日目の記事です。

アドベントカレンダー完走目指して、急遽入れさせて頂きました。

初日から、覆面君さん、川上さん、鹿野月美さんと、レベルの高いブログが続き、私は非常に興奮しております。

が、ここで一息入れさせて頂きましょう。今日の話題はコンソールコマンドです。(タイトル詐欺感はご了承を・・・)

ある日、本家のサポートMLの、コンソールのフォントサイズだかの話題に、以下のような文章が現れました。

【意訳】

「今だったら、皆(バージョンにもよるけど)、vttyの行数、桁数は、次のコマンドで取得できるよ。

inxi -Gxx か、inxi -Fxz でね。」

ここで私は思うわけです。

(inxiってなに?)

というわけで、使ってみました。

使ってみる

さっそく、Leap 15のコンソールで実行。

$ inxi

しかし、こんなメッセージが。

If ‘inxi’ is not a typo you can use command-not-found to lookup the package that contains it, like this: cnf inxi

言わずと知れた、コマンドが無かった時のメッセージですね。

こうなると、次にすることはパッケージの検索。次のコマンドで検索します。

zypper se inxi

すると、該当パッケージが表示されます。これをインストールしましょう。

sudo zypper in inxi

zypperの使い方は、いずれどなたかがアドベントカレンダーしてくれると期待しています。

本題 inxiとは?

実行してみます。

inxi

すると、私の環境では以下のように出力されました。

Resuming in non X mode: glxinfo not found. For package install advice run: inxi –recommends
CPU~Quad core Intel Core i5-2400 (-MCP-) speed/max~3092/3400 MHz Kernel~4.12.14-lp150.12.25-default x86_64
Up~3:22 Mem~2698.9/7952.8MB HDD~1012.2GB(40.4% used) Procs~281 Client~Shell inxi~2.3.40

どうやら、ハードウェア情報を簡単に取得して出力してくれるようです。

マニュアルを見てみますと、

$ man inxi

頭に次のような説明が。

inxi  – Command line system information script for console and IRC

IRC!? それはさておき、システム情報を出力してくれるスクリプトのようですね。

ちなみに、コマンドの場所を確認し、

which inxi

そのコマンドが何かを調べてみますと、

file /usr/bin/inxi

以下のように出力されました。

/usr/bin/inxi: Bourne-Again shell script, UTF-8 Unicode text executable, with very long lines, with escape
sequences

どうやら、シェルスクリプトのようです。思い切って中身を見てみましょう。

less /user/bin/inxi

すると、先頭に見慣れた次の一行が。

#!/usr/bin/env bash

そう、シェルスクリプトの先頭に記述する一行ですね。つまり、inxiはシステム情報を取得・出力してくれる、シェルスクリプトでした。

コマンドを実行した結果の所に、glxinfoが無いよ、といった警告が出ていたことに気付きましたでしょうか。システム情報の収集は、inxiが他のコマンドを呼び出すなりして行う為、そのコマンドが無かったりすると警告となるわけです。

以上、簡単にハードウェア情報(というか、システム情報でしたね)を取得する、inxiコマンドの紹介でした。

MLにあった、inxi -Gxx や、 inxi -Fxz、試してみると面白いですよ。

ううむ、このブログ、inxiの紹介では無くて、見慣れないコマンドを見た時の遊び方のチュートリアルみたいになってしまいましたねぇ。

という事で、近いうちにcnfでも遊びたいと思っています。

 

 

OSC Nagoya 2018 参加報告

By kimitoboku @ 2018-05-22 21:26

5月19日(土)に開催されたOSC名古屋2018に出展しました.

OSC名古屋では,openSUSEが得意とする仮想化環境の構築についてのセミナーを行いました.

また,openSUSEによって構築されたKVM環境にて,GPUとUSBパススールを行い,仮想マシンのWindows10上でVRゲームを行うというデモの展示も行いました.

その他

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/ 配下にマニュアルがあり、そこを参照することで原因と対策が分かりました。やはり、マニュアルは読むものですね。