openSUSE Advent Calendar ももう17日目ですね

今日はこの blog が動いている geeko.jp のサーバーのメンテナンスの話です。このサーバーは ConoHa で動いており、13.1, 42.3 とアップデートをしてきました。今回は42.3 から 15.0 にアップデートしました。

アップデート方法

いつもオンラインでアップデートしています。クラウドの場合、ディスクイメージをダウンロードして、ConoHa にアップロードし、インストーラを起動してアップデートはちょっと大変です。オンラインアップデートであればリポジトリの URL を書き換えて zypper dup するだけなので簡単です。

リポジトリのURLを書き換える方法はいくつかありますが、YaST のリポジトリ設定からバージョンの部分を書き換えるのがオススメです。

ディスク容量には余裕があるので、一度ダウンロードが完了するのを待ってから、アップデートを適用しました。

MySQL から MariaDB へ

15.0 には、これまで提供されてきた mysql-community-server のパッケージがなく、完全に Maria DB に置き換えられています。やったことは以下の3つです。

  1. mariadb のパッケージをインストールする
  2. 設定ファイルを更新する
  3. systemctl で mariadb を自動起動するようにする

設定ファイルは、新しい設定ファイルをそのまま使いました。一応、これまでのファイルと新しい設定ファイル /etc/my.conf.rpmnew を比較したところ、内容はかなり増えていますが、コメントアウトされた部分以外はほとんど同じでした。

SuSE Firewall2 から Firewalld へ

Leap 15.0からCentOSなどでお馴染みの firewalld が使えるようになりました。これまでのSuSE Firewall2 も引き続き使うことができます。移行する場合は手動で SuSEfirewall2 パッケージを削除して、firewalld をインストールする必要があります。

Firewalld では次のように使用したいサービスのポートを開けられます。

Let’s Encrypt で TLS に対応

アップデートしたついでに、Webサーバーを TLS に対応させました。証明書は無償の Let’s Encrypt で取得しました。

Let’s Encrypt の certbot コマンドを使えば、証明書の取得から Apache の設定まで1コマンドです。このあたりの細かい話は Geeko Magazine SP 2018冬号に書いていますので、ぜひ読んでみて下さい。

変わらなかったもの: PHP とPerlアプリケーション

geeko.jp で動いていた WordPress や Vanilla Forum、Pukiwiki はそのまま動きました。このあたりは 13.1 からのアップデートと比べると、とても楽でした。

おわりに

ということで、大したことではありませんが、geeko.jp のサーバーをアップデートしたときの話を書いてみました。42.3のサポート期間はあと半年くらいですので、これから 15.0 にアップデートする方は参考にしてみて下さい。

明日は鹿さんが USB オーディオの話の続きを書いてくれるそうです。

 

 

 

この記事は、「openSUSE AdventCalendar 2018」16日目の記事です。

皆さんおはようございます。橋本修太です。

さて、先日jaのMLにこんな投稿がありました。

【意訳】

openSUSE(Kubic)でCloud Foundry動かしたことある人います?

Kubicのキーワードが目に止まり、はて、Cloud Foundryとは?と思った私は、調査してみました。

本記事は情報収集のみとなります。「やってみた」は次の機会になりますこと、ご了承ください。

Cloud Foundryとは

ホームページはこちら。概要を纏めてくださっているページが幾つか有りますので、それらを見ていきますと、どうやら、webアプリケーションのソースコードをpushするだけで、ビルド・デプロイを自動で行ってくれる、オープンソースのソリューションの模様(商用版もあり)。イメージとしてはherokuに近いですね(こんな記事もありました)。

「アメリカのFortune 500企業のうち約半数が導入済み」といった謳い文句も見られますね。

インストール方法

いくつかあるようです。Cloud Foundry自体、複数のコンポーネントで構成されるソリューションなので、手順があったり、インストールを支援してくれるソリューションがあったりします。

また、Pivotal、SUSEなどがチューニングしたソリューションもあって、それぞれ強みがあるようです。

ちなみに、Cloud Foundryとやりとりを行うコマンドラインツール群、cf-cliは、openSUSEにパッケージがありました。(動くかな?)

A. PCF-DEVをインストール

PCFとは、Pivotal Cloud Foundryの略です。Pivotalはクラウドで有名な会社のようです。

ここが展開している、ローカル開発用のCloud Foundry、PCF-DEVが、インストールしてみるには丁度良いよ、という投稿もstack overflowで見たりしました。

構成としては、Linux(私の場合openSUSE)の上に、VirtualBoxを動かし、その中でPCFを動かすようです。

インストール方法はこちら

B. BOSHでインストール

BOSHは、Cloud Foundryの導入・運用を制御するソリューションのようです。

単一マシンに展開したり、クラスタ構成に展開したりもできるようです。

通常、Cloud Foundryをインストールと言えば、この方法が正攻法?なのかもしれません。

C. SUSE Cloud Foundryをインストール(on Vagrant)

SUSEも、Cloud Foundryには力を入れていて、チューニングしたソリューションを持っていました。

githubはこちら

主なチューニング点として、以下が挙げられていました。

  • Kubernetes(Docker)の上で動くように、Cloud Foundryのコンポーネントのコンテナライズにfissileを使っている
  • Cloud FoundryのコンポーネントはopenSUSE Steamcellで動く
  • オプションとして、Cloud FoundryのAppをopenSUSE stackのpreviewで動かす事が出来る

Steamcellだの、stackだの、previewだの、ちょっとピントこない単語が沢山・・・これらはおいおい調べていく事にしまして、1番目に付いて、もともとCloud FoundryはKubernetesの上で動くようには作られていなかったのですが、そこをSUSE等が開発したとの事です。

件のgithubには、on Kubernetesで動かす方法も記載されているのですが、ここではPCF-DEVと同じように、VMの上で動かす方法を。

Disclaimerに、「openSUSE 42.xは、libvirtでテストしてますよ」とあります。ここが42.xになっているのが、ちょっと気になるところですが・・・(あと、SUSEのgithubなのに、openSUSEがOpenSUSEになっている所とか)

あとは、Deploying SCF on Vagrantのセクション通りにやっていけばよさそうです。

ただ、要件にいきなり「メモリは16G以上は用意してね」とあって、私のデスクトップはもう無理状態です。

D. SUSE Cloud Foundryをインストール(on Kubernetes)

C.で触れましたが、Kubernetesの上にインストールできるのが、SCFの強みとの事。Helmでインストールするようですね。インストールページには要件等書いてありますので、適応させて行けば動くでしょうか?

ちなみに、環境チェック用スクリプトがあるのですが、Kubic上で走らせた所、半分ぐらいerrorとなってしまいました。

課題&感想

  • やってみる!
  • もう少し、正確かつ精密な情報を収集し、記事にする

駆け足で情報収集だけしたのですが、結構複雑な構成をしていて、ちゃんと理解しようとするとそれなりのボリュームになりそうです。使う側は、ソースコードをcf pushすれば、デプロイまで完了、とやりやすい事この上無いですね。

では、16Gメモリを積んでいるノートPCがあるので、近いうちにやってみたをやってみたいと思います。

明日は @ftake さんの、geeko.jpをメンテナンスした話ですね。塩漬けに近かったサイトですので、色々と面白い話題が出てきそうです。こうご期待。

 

 

 

 

この記事は、「openSUSE AdventCalendar 2018」15日目の記事です。

今、諸事情でぜーんぜんアップグレードしていない、openSUSE13.2(32bit)のマシンがあります。さすがに何とかしたいのですが、最近のopenSUSE は 64ビット。アーキテクチャが違います。果たしてそのままアップグレードできるのでしょうか?
ということで、実際にどうなのか、実験してみることにしました。

まずは、openSUSE 13.2 (32ビット版)をテスト用の仮想環境にインストール。ただ、13.2は、すでにopenSUSEのサイト(ミラー含む)には存在していません。探しまくったあげく、ここにあることを発見。ダウンロードしました。一応 zypper update も動いたので、可能な限り最新版にしておきます。
次に、Leap 15.0 のDVDイメージを仮想環境にマウントし、DVDイメージからブート。アップグレードを選びます。一応通常通り起動し、アップグレードが始まります。しかし途中でアーキテクチャが違うという警告メッセージが出てしまいました。

警告なので、ここは取りあえず「続行」を選び、先に進むことにします。その後は特に警告が出ることもなく、無事アップグレードが終わり、Leap 15.0(64ビット版)にアップグレードができたようでした。

ただ、アップグレードすると、各ソフトウェアのバージョンもかなり上がります。とえば Samba は4.2.4から4.7.10になります。当然機能差があるので、個別に変更点を吸収していく必要があります。

Geeko Magazine Special Edition 2018 冬

By ftake @ 2018-12-11 00:21

いつもの告知ですが、openSUSE Advent Calendar の 11日目です。

Geeko Magazine Special Edition 9巻目となる 2018冬号を発行します。

最初の頒布は12月30日(日)のコミックマーケットC95 2日目、東テ-53b です。その後、京都での openSUSE 新年会、2月の OSC 東京などで頒布する予定です。

今回の内容

  • openSUSEからGoogle Driveを使う
  • Kubicでお手軽Kubernetes
  • SICEで快適! Proxmox-VE
  • Let’s EncryptでHTTPSを使えるようにする
  • 格安ローミングSIMを持って海外旅行に行こう!
  • 小説『鏡のむこう』第4話 秋霞
    openSUSE Leap 15.0で『ハチプロ』を鳴らしてみよう!

近日中に見本をWebカタログで公開する予定ですので、こちらのお気に入り登録もよろしくお願いします。
https://webcatalog.circle.ms/Perma/Circle/10269059/

openSUSEでWINEで東方やってみる

By Syuta Hashimoto @ 2018-12-09 08:29

このブログは「openSUSE AdventCalender 2018」9日目の記事です。

皆さんこんばんわ。橋本修太です。

突然ですが、東方Projectというのをご存知でしょうか。

東方Projectとは、ZUN氏が制作しているWindows用弾幕系シューティングゲームです。あるいは、そのキャラクターや関連コンテンツ等を「東方」と呼んでいます。

私は「妖々夢」「永夜」「風神録」を持っていて、奇跡的に「永夜抄」のノーマルモードを紅魔チームで打開した事がある程度です。

そう、ラインナップを見て頂くとわかるとおり、かなり前にWindowsで遊んだきり。今、どっぷりopenSUSEに浸かっている為、Windowsに切り替えるのは面倒です。

「幽雅に咲かせ、墨染の桜」をまた聞きたい

「妖々夢」のボス曲です。東方は好きな曲が多いです。また幽々子様に会いたい・・・

そこで、WINEの出番です。

WINE

ぶどうを発酵させたアルコール飲料で、私はこれが大好きです・・・では無くて、ITでWINEと言うと、Linux上でWindowsアプリケーションを動作させるプログラム群の事を指します。サイトはこちら

今回目指す事

openSUSEでWINEを使って「妖々夢」をプレイ出来るようにする事を目指します。

やってみた

想定手順

WINEのような複雑なソリューションは、一筋縄では行かないのが世の常。なので、まずは「想定」手順を記載します。

  1. WINEをインストールする
  2. 妖々夢をインストールする
  3. 妖々夢をプレイする

WINEをインストールする

実は、メインマシンのデスクトップでは、既にWINEで他ゲーム(RPGツクール系ランタイムが必要なゲーム等)で遊んでまして、あれこれやった記憶がありますので、ここではまだWINEがインストールされていないノートPCでやってみたいと思います。

では、ノートPCの情報を。

Resuming in non X mode: glxinfo not found. For package install advice run: inxi –recommends
CPU~Dual core Intel Core i5-6200U (-HT-MCP-) speed/max~2400/2800 MHz Kernel~4.12.14-lp150.12.25-default x86
_64 Up~0:38 Mem~7208.8/15952.4MB HDD~1000.2GB(6.7% used) Procs~230 Client~Shell inxi~2.3.40

さっそく、4日目で紹介させて頂いた、inxiを使用しています。他にも、hwinfoやdmidecodeというコマンドもあるので、そちらもおいおい調査したいと思っています。

おや?glxinfoが無いよ、とエラーが出てしまっていますね・・・あしからず。

WINEのインストールは、YaSTで一発です。WINEは複雑な最新版を取得する方法等もいろいろあるのですが、今回はこれで普通に動きましたので(ネタバレ?)、YaSTの標準インストールを行います。

YaST の「ソフトウェア管理」で、「wine」で検索すると表示される一覧から、「wine」を選択します。すると、画面で言うとすぐ下の「wine-32bit」などにもマークが付きますが、これは依存関係を判別して自動でインストールすべきパッケージを選んでくれてますので、このまま「了解」を押して進みましょう。

すると、必要なパッケージをインストールするよ、の一覧が表示されます。結構な量になりますが、インストールしましょう。

さすがに量があるので、少し時間がかかります。私のwifi環境で、パッケージ数111、経過時間6分程、インストールサイズの合計673.56MiB、ダウンロードサイズの合計187.62MiBでした。

・・・インストールサイズとダウンロードサイズの違いってなんでしょう?あと、MiB って?

これらはおいおい調べていくとしまして、まずはWINEインストール完了です。

WINE起動してみる

アプリケーションメニューの「システム」に、「Wine File」がありますので起動してみますと・・・なんか、「wine-monoが無いよ。インストールする?ディストリビューションのものをインストールしたほうがいいけどね」といった感じのメッセージが。とりあえずキャンセル的な方を選んでおきました。デスクトップの方は表示されないんですよね・・インストールしたのかもしれません。

ちなみに、Wine Fileは、エクスプローラーのようにファイル等を見ることが出来るプログラムです。

東方妖々夢をインストールする

東方妖々夢のCDをドライブに入れ、その中にある「install」のファイルをクリックすれば、インストールが始まります。

このままインストールを進めていきましょう。

私は、最後で「デスクトップにショートカットを作成する」で「はい」を選んだのですが、ノートでは上手く表示されませんでした・・・ちなみにデスクトップでは表示されています。

東方妖々夢をプレイする

東方妖々夢のアイコン(?)をクリックしてみましょう。無事、起動しました。

何故かスペクタクル(スクリーンショットユーティリティ)でスクリーンショットを取ることが出来ず・・・

この時ですが、私はいつもUSB接続のコントローラーでプレイするのですが、東方妖々夢起動後に指すと、ずっと下ボタンが繰り返される現象が発生しました。前もって指しておいてから起動する分には、正しく動作しました。

なお、最初はフルスクリーンで起動されますが、ConfigからWindowを選択すれば、Window表示にする事ができます。

久々にプレイ

咲夜でプレイ。チェンでゲームオーバー。「幽雅に咲かせ、墨染の桜」までは遠い・・・まぁ、イージーでやれば・・・いや、イージーが許されるのは小学生までですよね。

という事で、東方を持っている方、是非openSUSEでプレイしてみましょう。

おまけ winetricks

winetricksという、WINEの設定やプログラムインストールを簡単にしてくれるスクリプトがあります。標準で入っているwinetricksには不具合があるので、これは最新版をダウンロードした方が安定するようです。

課題&感想

  • 想定通りの手順でプレイまで完了でうれしい
  • inxiでglxinfoのエラーが出る
  • YaSTでインストールする時の、インストールサイズとダウンロードサイズの違いは?
  • MiBの意味と使いどころ
  • wine-monoの扱い方
  • アイコンが表示されない?
  • スペクタクルでスクリーンショットが撮れない
  • チェンの弾除けは難しいけど出来ると快感

明日は鹿野月美さんによる、openSUSEのWINEで鉄拳7をプレイする記事です。この記事の課題は、きっと鹿野月美さんがぱぱっと解決してくださいます。こうご期待!

 

lxqtでrcloneを使う場合のTIPS

By ribbon @ 2018-12-07 06:42

openSUSE Leap 15.0 では、デスクトップ環境として、lqxtが使えます。lxqt 環境ではブラウザとしてfalkon が入っているのですが、これが少々よろしくありません。rclone を使って Google Drive に繋ぐ場合、ブラウザを使って認証を行うのですが、認証の画面が表示されません。真っ黒なままになります。
lxqt-config を使ってデフォルトのブラウザを変更しても、コンソールから起動する rclone には反映されず、デフォルトとの falkon が起動してしまいます。
この問題を設定ツール等で変更する方法がないか調べたのですが見つかりませんでした。ただ、回避策は見つかりました。rclone を実行しつつ strace で状況を見ていると、 /usr/share/applications/mimeinfo.cache を見に行っていることが分かりました。この中を見ると、

[MIME Cache]
application/gzip=org.kde.ark.desktop;
application/pcx=lximage-qt.desktop;
application/pkcs10=gcr-viewer.desktop;
application/pkcs10+pem=gcr-viewer.desktop;
application/pkcs12=gcr-viewer.desktop;
application/pkcs12+pem=gcr-viewer.desktop;

のように、アプリケーション指定時に動かすものを指定しています。試行錯誤の上、
x-scheme-handler/http=org.kde.falkon.desktop;firefox.desktop;

x-scheme-handler/http=firefox.desktop;org.kde.falkon.desktop;
に変更することで、firefoxを動かすことができました。これで、lxqt環境下でも rclone によるブラウザ認証が正しく行えるようになります。

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でも遊びたいと思っています。