isLandcenter 非番中

ブログトップ | ログイン

BtrFS の甘い罠、SUSE Linux アップデート前の空き容量の確認と確保_a0056607_13230031.png

BtrFS の甘い罠、アップデートの前に空き容量を確保

どんなショボいシステムでも、安易に変更は加えない方がいいわけです。
openSUSE Leap 15.1 のシステムを

 # zypper dup

したところ、見事に罠にハマりました。BtrFS の罠です。スナップショットを取っているので、空き容量がなかったんです。
空き容量がないところでパッケージのアップデートなんかすると、openSUSE Leap 15x はルートパーティションが Copy On Write の BtrFS ですからファイルは上書きではなく、差分をドンドンと CoW してしまう。遂にディスクの空きを使い果たして、中途半端な zypper dup の結果、

「システムが立ち上がらない」

という最悪の結果に陥りました。BtrFS のスナップショットの残骸ってロック掛かっていて、レスキューディスクで起動しても消せないのですね。

という事で、BtrFS のファイルシステムに変更を加える場合は

「空き容量を確認して空きを確保してから行え」

という「鉄の法則」を学びました。



- BtrFS 空き容量確認 -

How much free space do I have? or My filesystem is full, and I've put almost nothing into it!

1 Linuxファイルシステムの概要

これらのドキュメントによると


 opensuse151:~ # btrfs fi show
Label: none  uuid: 8466aee4-2738-4b0a-924a-79edad4b4676
        Total devices 1 FS bytes used 8.13GiB
        devid    1 size 14.00GiB used 10.57GiB path /dev/vda2
opensuse151:~ #

"
ファイルシステムの合計サイズとその使用量を表示します。最後の行のこれら2つの値が一致する場合、ファイルシステム上の領域はすべて割り当て済みです。
"
上のケースでは14Gbのデバイスサイズのうち、 10.57Gb 使用中です。

opensuse151:~ # btrfs fi df /
Data, single: total=8.01GiB, used=7.50GiB
System, DUP: total=32.00MiB, used=16.00KiB
Metadata, DUP: total=1.25GiB, used=641.95MiB
GlobalReserve, single: total=30.22MiB, used=0.00B
opensuse151:~ #

"
ファイルシステムの割り当て済みの領域(total)および使用済みの領域の値を表示します。メタデータのtotalおよびusedの値がほぼ等しい場合、メタデータ用の領域はすべて割り当て済みです。

メタデータ 1.25 Gb 中、641Mb 使用中です。

opensuse151:~ # btrfs fi usage /
Overall:
    Device size:                  14.00GiB
    Device allocated:             10.57GiB
    Device unallocated:            3.43GiB
    Device missing:                  0.00B
    Used:                          8.76GiB
    Free (estimated):              3.93GiB      (min: 2.22GiB)
    Data ratio:                       1.00
    Metadata ratio:                   2.00
    Global reserve:               30.22MiB      (used: 0.00B)

Data,single: Size:8.01GiB, Used:7.50GiB
   /dev/vda2       8.01GiB

Metadata,DUP: Size:1.25GiB, Used:641.95MiB
   /dev/vda2       2.50GiB

System,DUP: Size:32.00MiB, Used:16.00KiB
   /dev/vda2      64.00MiB

Unallocated:
   /dev/vda2       3.43GiB
opensuse151:~ #


前の2つのコマンドを組み合わせたのと同様のデータを表示します

つまり btrfs fi usage <mount_point> が一番使われやすいコマンドだという事です。

- ncdu, du コマンド -

duコマンドは当てになりません。ncdu でルートからスキャンしたらこれ。このシステムは物理的に25Gbしかない仮想VMです。

BtrFS の甘い罠、SUSE Linux アップデート前の空き容量の確認と確保_a0056607_13232822.png

スナップショットサイズが「150Gb 使用中」と、あり得ない数字を示しています。

- 完全な見積は不可能 -

こちらの文書の中に

How much free space do I have? or My filesystem is full, and I've put almost nothing into it!

"
So, in general, it is impossible to give an accurate estimate of the amount of free space on any btrfs filesystem. Yes, this sucks. If you have a really good idea for how to make it simple for users to understand how much space they've got left, please do let us know, but also please be aware that the finest minds in btrfs development have been thinking about this problem for at least a couple of years, and we haven't found a simple solution yet.
"

Google 先生の翻訳によると

"
したがって、一般に、btrfsファイルシステムの空き容量を正確に見積もることは不可能です。はい、これは最悪です。ユーザーがどれだけのスペースを残したかを簡単に理解できるようにする方法について本当に良いアイデアがある場合は、私たちに知らせてください。また、btrfs開発の最高の心がこの問題について考えていることに注意してください。少なくとも数年間は、簡単な解決策はまだ見つかりませんでした。
"

とあり、もう BtrFS では、正確な空き容量確認は現時点で「不可能」と断じています。

そもそも、ファイルコピーの段階で、当然システムの API は空き容量を確認するわけですが、その元ネタは何なんだろうか? という疑問がわいてきます。

- BtrFS の鉄則 -

- 想定されるデータ量の倍のサイズのパーティション確保

例えば、openSUSE Leap 15.x では / (ルート)の BtrFS パーティションは、最低でも 15Gb のサイズ以上確保しておかないと、インストールの際、警告が出ます。実際のインストールで使用されるディスク容量は openSUSE Leap 15.2/SLE15 で 7.5 Gb 程度です。SLE12 では6Gb 程度でした。

空き容量の把握は難しいので、長期運用でバージョンアップに伴い必要とされる空き容量は、将来に渡って不明です。将来バージョンアップしたり、パッチを頻繁に充てるクリティカルなシステムなら 25Gb ~ 30Gb 程度のルートパーティションサイズが欲しいところです。「ディスク容量を食う」点は、誰も指摘していませんが BtrFS の隠されたデメリットです。

もし、コンパクトで JeOS な仮想サーバーを作りたいのであれば ext3、4 などの古来のファイルシステムを検討すれば 10Gb 程度でも使えるわけです。

- スナップショットの定期的なメンテナンス scrub

デフォルトではシステムは毎週 scrub によるメタデータの修復、デフラグ、破損ファイルの修復を実行します。scrub はファイルシステムの破損などがないかメタデータをチェックし、自動修復する機能です。sysconfig に設定されます。BtrFS の信頼性を確保するための重要な機能です。

BtrFS の甘い罠、SUSE Linux アップデート前の空き容量の確認と確保_a0056607_13241420.png


手動で scrub するには

# brtfs scrub start <mount point>

を実行し、 btrfs scrub status -d -R <mount point> で結果を確認できます。

- スナップショットのメンテナンス

スナップショットの作成と削除は自動化されています。こちらの文書によると SUSE Linux(SLE15) においては

7.1.3.4 スナップショットのアーカイブの制御

"
デフォルトでは、最大10個の重要なインストールスナップショットと管理スナップショット、および最大10個の標準のインストールスナップショットと管理スナップショットが保持されます。これらのスナップショットがルートファイルシステムのサイズの50%超を占有する場合、追加のスナップショットは削除されます。最低でも、4つの重要なスナップショットと2つの標準スナップショットは常に保持されます。
"

とあり、この定義は snapper -c MySnapConfig create-config <partition> によって作成された /etc/snapper/configs/ にされた MySnapConfig ファイルによって定義されます。

7.4.1 既存の設定の管理

7.6.2 タイムラインスナップショットのクリーンアップ

それぞれ、スナップショットの作成と削除はタイムラインによって snapper -c MySnapConfig ファイルに作成されます。

opensuse151:/etc/snapper/configs # cat mysnapconfig  | grep TIMELINE
TIMELINE_CREATE="yes"
TIMELINE_CLEANUP="yes"
TIMELINE_MIN_AGE="1800"
TIMELINE_LIMIT_HOURLY="10"
TIMELINE_LIMIT_DAILY="10"
TIMELINE_LIMIT_WEEKLY="0"
TIMELINE_LIMIT_MONTHLY="10"
TIMELINE_LIMIT_YEARLY="10"
opensuse151:/etc/snapper/configs #

通常運用では問題にならないので、デフォルトの scrub のタイミングも、スナップショットを有効化した場合の、スナップショットのメンテナンス間隔は、そのままで構わないでしょう。

- アップデート前のスナップショットの削除

手動でのスナップショットの状態、最新のスナップショットの状態確認は YaST2 Snapper で確認し、内容のチェックとロールバック、削除などの操作を行います。

BtrFS の甘い罠、SUSE Linux アップデート前の空き容量の確認と確保_a0056607_13250586.png

4.1.1 スナップショットとディスク容量

ヒント: 容量を空ける/ディスクの使用率
スナップショットを含むBtrfsパーティションの容量を空けるには、ファイルではなく、不要なスナップショットを削除する必要があります。古いスナップショットは、最近のスナップショットよりも多くの領域を使用します。






とある様に、アップデートに必要な空き領域を確保するには、古いスナップショット、意図的に取得した古いスナップショットを削除して、空き領域を確保し、 btrfs fi usage <Partition> か btrfs fi df <Partition> コマンドで空き容量を確認し、その後、明示的にアップデートからのスナップショットロールバック、復元ポイントを作ってから、アップデートを実施すべきでしょう。

忘れてはならないのは、zypper up や zypper patch など、あるいはメジャーアップデートする時、同じファイルであっても物理的なファイルそのものが上書きされずに、古いファイルはスナップショットに「移動」し、空き領域に新しいファイルが作られることです。

- まとめ -

BtrFs においては、ファイルの空き領域に常に注意し、ファイルコピーなどによる空きスぺースの Run Out には気をつけよ、という事です。








by islandcenter | 2020-07-26 13:28 | SUSE | Comments(0)

普段、SUSE Linux は、サーバー運用なので、メールの読み書きはしないのですが、、openSUSE Leap 15.2 のライブUSBを作ったので、メールも使える様にしました。 

メーラと言えば Thunderbird。 Netscape Mail 時代から、同じメールのプロファイルなので、古いメールのアーカイブも読める。 

という事で openSUSE GNOME デスクトップで Thunderbird を使おうの回です。

よく、SLE のアクティベーションキーを送ってほしい場合など、ブラウザで gmail 開いて.... とやっていたのですが、使い慣れてて、面倒な設定もソラでできる Thunderbird が使える事は個人的に嬉しい。

- ダウンロードとインストール -

Thunderbird は software.opensuse.org から1クリックインストールするのが一番確実です。しかし、openSUSE で配布しているものは英語版だけです。別に日本語の読み書きで不自由しなくて、メニューが英語でも構わないのですが、本家 Mozilla から日本語版をダウンロードして使う事にしました。

Thunderbird  日本語 Linux 版

ダウンロードしたら解凍して、解凍先の xx/xx/thunderbird を実行するだけです。ただ、あまりディレクトリに小間物屋を開きたくないので、<home>/bin に移動しました。

linux@localhost:~> echo $PATH
/home/linux/bin:/usr/local/bin:/usr/bin:/bin
linux@localhost:~>

/<userhome>/bin にパスが通っているので thunderbird 本体のシンボリックリンクを作ります。

linux@localhost:~/bin> ln -s  thunderbird/thunderbird thb

これで ~> thb だけで Thunderbird が起動します。

- プロファイル -

~> thunderbird -profilemanger を実行すると、手動でプロファイルを指定できます。

openSUSE Leap 15.2 で ThunderBird, GUI アイコンをGNOMEへ登録_a0056607_16011417.png

- gnome のアプリケーションに登録 -

しかし、メールを読むのにイチイチターミナル開くのも面倒なので GNOME のパネルに登録します。そのためには alacarte (アラカルト)パッケージをインストールします。openSUSE Leap 15.2 の標準リポジトリにあるので、そのまま YaST でインストールするか、下の software.opensese.org から1クリックインストールします。

alacarte : Menu editor for GNOME

Alacarte is a simple freedesktop.org compliant menu editor for GNOME that lets you change your menus, simply and quickly. Just click and type to edit, add, and delete any menu entry.

openSUSE Leap 15.2 で ThunderBird, GUI アイコンをGNOMEへ登録_a0056607_15581983.png

Thunderbird を登録します。

~> alacarte &

「新しいアイテム」> 任意の名前を付けて、brows ボタンで実行ファイルを指定してOK

openSUSE Leap 15.2 で ThunderBird, GUI アイコンをGNOMEへ登録_a0056607_16004054.png

Activities に Thunderbird が出てきた。アイコンが気に入らないけど...

openSUSE Leap 15.2 で ThunderBird, GUI アイコンをGNOMEへ登録_a0056607_15594189.png

適当にアイコンを探して、alacarte に登録しました。

openSUSE Leap 15.2 で ThunderBird, GUI アイコンをGNOMEへ登録_a0056607_11254795.png

- Thunderbird のプロファイルの管理 -

コマンドラインオプション

”Linux
ターミナルを開いて次のように入力します。
cd Thunderbird installation directory
./thunderbird -ProfileManager
上記の例は、Mozilla の Thunderbird メールクライアントで "-ProfileManager" コマンドラインオプションを呼び出しています。”

プロファイル、メールストレージは ~> .thunderbird に作成されます。このディレクトリをそっくり別メディアにコピーしてバックアップとします。

linux@localhost:~/.thunderbird> ls -l
total 20
drwx------ 9 linux users 4096  7月 14 17:12 7amog83k.default-release-1
drwx------ 3 linux users 4096  7月 14 15:02 Crash Reports
drwx------ 2 linux users 4096  7月 14 15:02 Pending Pings
-rw-r--r-- 1 linux users  190  7月 14 17:01 installs.ini
-rw-r--r-- 1 linux users  335  7月 14 17:01 profiles.ini
linux@localhost:~/.thunderbird>

※ちなみに Windows と macOS 版の ProfileManager の立ち上げ方は次の通りです。

Windows
C:\ >"\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe" -p

macOS
/Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin -profilemanager
- PS. YaST からのインストール -

コメントいただきました。 openSUSE Leap 15.2 では、MozillaThunderbird-translations-common パッケージを入れると日本語化できました。アイコンも GNOME デスクトップに作られます。

YaST > Software Management から Thunderbird を検索して Thunderbird と一緒にインストールすれば OK です。

openSUSE Leap 15.2 で ThunderBird, GUI アイコンをGNOMEへ登録_a0056607_13213361.png

usr/lib64/thunderbird/ にインストールされます。ただし一つ古い openSUSE Leap 15.1 ではリポジトリからインストールしても動かなかったこと、SUSE Linux Enterprise 15 (SLE15.0) にはそもそもパッケージに含まれていない事も併せて報告します。

システムにインストールせず、エンドユーザが個人的に使う目的であれば、本家 Mozilla からダウンロードして使う方が、システムへの影響も少ないとも言えます。

- まとめ -

Mozilla Thunderbird は高機能で使いやすく無料で使えるメールソフトウェアで、歴史も長く、マルチベンダー環境でも移行が簡単な、「いい線行ってる」メーラです。メール、ブラウザ、オフィスソフトウェアは、デスクトップで使える三種の神器です。Firefox, LibreOffice, Thunderbird があれば怖くはない。でもお気に入りのブラウザは Opera と Chrome なので、次はこれらを何とかしたいですね。







by islandcenter | 2020-07-15 16:03 | SUSE | Comments(0)

oppenSUSE Leap 15.2 が出たので、USBメモリ用ライブイメージを作ってみました。

参考までに一つ前の 15.1 はこちら

openSUSE Leap 15.1 の Live USB で「初めてのどこでも Linux」の作り方

通常版 15.2 Leap のインストールはこちら

openSUSE Leap 15.2 Install First Look.(インストール)

ライブ USB のイメージダウンロードはこちら

openSUSE download server

ISO イメージの USB メモリへの展開方法はこちら

How to create an installation USB drive for SLE 11, 12, or 15

今回使ったイメージは
openSUSE-Leap-15.2-GNOME-Live-x86_64-Build31.105-Media.iso

です。

- USB メモリへの書き込み -

上の SUSE のドキュメントに書かれている方法 dd と sync コマンドで書き込みました。

なお、今回は SLES15 のベアハードウェアマシンを使いましたが、古い SLE11 では USB メモリが認識されませんでした。カーネル新しいの使えよ、という事です。


sle15:/share/SISO/openSUSELeap15 # ls openSUSE-Leap-15.2-GNOME-Live-x86_64-Build31.105-Media.iso
openSUSE-Leap-15.2-GNOME-Live-x86_64-Build31.105-Media.iso
sle15:/share/SISO/openSUSELeap15 # lsblk
NAME      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0       7:0    0    25G  0 loop
├─loop0p1 254:0    0     8M  0 part
├─loop0p2 254:1    0    14G  0 part /root/mnt/mnt
├─loop0p3 254:2    0     2G  0 part
└─loop0p4 254:3    0     9G  0 part /root/mnt/mnt
sda         8:0    0   2.7T  0 disk
├─sda1      8:1    0   156M  0 part /boot/efi
├─sda2      8:2    0     2G  0 part [SWAP]
├─sda3      8:3    0    20G  0 part /
├─sda4      8:4    0   500G  0 part /var
└─sda5      8:5    0   2.1T  0 part /share
sdb         8:16   0 232.9G  0 disk
└─sdb1      8:17   0 232.9G  0 part /ssd
sdc         8:32   0   1.8T  0 disk
└─sdc1      8:33   0   1.8T  0 part /mnt/sdc
sdd         8:48   0   5.5T  0 disk
└─sdd1      8:49   0   5.5T  0 part /mnt/sdd
sde         8:64   0   5.5T  0 disk
└─sde1      8:65   0   5.4T  0 part /mnt/sde
sdf         8:80   0     1G  0 disk
└─sdf1      8:81   0  1013M  0 part
sdg         8:96   1   7.4G  0 disk
├─sdg1      8:97   1   899M  0 part
├─sdg2      8:98   1    15M  0 part
└─sdg3      8:99   1   6.5G  0 part /run/media/root/cow
sle15:/share/SISO/openSUSELeap15 #


/dev/sdg がメモリカードの様です。

YaST > System > Partitioner で USB メモリを「しつこくしっかり」確認します。 15.1 のライブ USB のメモリだった様です。使っちゃいましょう。

openSUSE Leap 15.2 Live USB Localize (日本語化)_a0056607_14235454.png

dd コマンドで書き込み、sync でメモリキャッシュを最終書き込みします。(dd は数秒で終わりますが sync は数十秒かかります)

sle15:/share/SISO/openSUSELeap15 # \
dd if=openSUSE-Leap-15.2-GNOME-Live-x86_64-Build31.105-Media.iso of=/dev/sdg bs=4k
210016+0 records in
210016+0 records out
860225536 bytes (860 MB, 820 MiB) copied, 0.754957 s, 1.1 GB/s
sle15:/share/SISO/openSUSELeap15 #
sle15:/share/SISO/openSUSELeap15 # sync <---1分くらいかかる
sle15:/share/SISO/openSUSELeap15 #

Partitiner で確認します。15.2 のライブ USB として認識されています。

openSUSE Leap 15.2 Live USB Localize (日本語化)_a0056607_07474256.png



- 本体の再起動 -

再起動して DEL キーなり、F2 キーで BIOS を読み出し、ブート順序を USB メモリに替えて起動します。

- キーボードタイプの変更 -

ライブUSBイメージは English(US) 101 Keyboard なので、日本語化します。

簡単な動画にまとめました(3分、盛大に音出ます)



linux@localhost :~ > su
localhost:/home/linux # yast2 &

で、Hardware > System Keyboard Layout を Japanese に変更し、テストボックスで特種キーを確認します。テストボックスでは問題なくても、この時点ではシステムはまだ 106 キーとして認識されていません。

openSUSE Leap 15.2 Live USB Localize (日本語化)_a0056607_14272325.png

YaST > System > Language より Primary言語を Japanese にセットし Timezone:Asia/Japan に Adopt をチェックします。ついでに第二外国語 English もチェックします。

OK ボタンで iBus Mozc や日本語フォントがダウンロード、インストールされます(10分ちょっとかかりました)

openSUSE Leap 15.2 Live USB Localize (日本語化)_a0056607_14285168.png

- ログインし直し -

フォントと Mozc がインストールされたら、一旦ログオフして、ログインします。YaST のメニューの幾つかが日本語化されている事に気が付きます。man コマンドも日本語です。

- キーボードと IME の設定 -

この時点では、まだキーマップは US 101 KB で日本語 IME も使えません

Activities から Serach Box で”Settings” (設定)アプレットを開きます。 

openSUSE Leap 15.2 Live USB Localize (日本語化)_a0056607_14300399.png

地域と言語を見ると、Input Source が Englisf US 101 です。

openSUSE Leap 15.2 Live USB Localize (日本語化)_a0056607_14302613.png


”+”ボタンから "Japanese" > "Japanese Mozc JP Layout" を Add

openSUSE Leap 15.2 Live USB Localize (日本語化)_a0056607_14304385.png

japanese Mozac JP layout をギュゥっドラックアンドドロップして English(US)のうえに持ち上げます。(これが分からず一時間ハマった...)

openSUSE Leap 15.2 Live USB Localize (日本語化)_a0056607_14310457.png

これで、キーボード配列が 106 Japanese になり、全角/半角キーが有効になり、仮名入力ができるようになりました。

openSUSE Leap 15.2 Live USB Localize (日本語化)_a0056607_14314918.png

ちょっと怪しいキートップのイラストですが、キー配列は合っています。
- ちなみに -

本物のUSBメモリであれば、以上の変更はメモリに書き込まれます。光メディアや仮想環境から ISO ファイルでブートしたら、当たり前ですね、読み込みオンリーのデバイスなので変更は保存されません。もう一度この作業が必要です。

KVMの仮想環境の場合、 virt-manager から追加デバイスとして、USBディスクデバイスに仮想の「空のUSBメモリ」を作ります。

ISO ブートした Live USB の内容を「空のUSBメモリ」に dd コピーして、この「作成した」仮想USBデバイスから起動させると、仮想USBメモリに設定内容が書き込まれ、日本語化した結果が失われません。

openSUSE Leap 15.2 Live USB Localize (日本語化)_a0056607_14290738.png

という事で、64Gb位の USB メモリであれば、タップリデータと環境を持ち歩ける、という事です。









by islandcenter | 2020-07-08 14:54 | SUSE | Comments(0)

2020年7月2日に openSUSE Leap 15.2 がリリースされました。インストールを通して、 先月リリースされたばかりの SUSE Linux Enterprise 15 sp2 (SLES15sp2) や、旧版 Leap15,15,1 との違いを見てみます。 

- ダウンロード -

ダウンロードは次のアドレスからダウンロードします。

openSUSE Leap 15.2

- DVD イメージはフルパッケージで約4Gb弱です。ネットワークが不安定な場合はダウンローダーや Torrent を使ってダウンロードします。
- ネットワークイメージはブートからインストーラを立ち上げて、必要なパッケージをリポジトリからダウウンロードします。ネットワークが安定しており opensese のダウンロードサイトが安定しているのなら、こちらを使います。

ウチは回線状態が決していいとは言えないので DVD イメージをダウンロードして使いました。

openSUSE Leap 15.2 Install First Look.(インストール)_a0056607_13490917.png



- インストール -

DVD起動してインストーラが立ち上がったら、F2キーで言語を選択できます。ここから日本語化しても良いのですが、システムログなどが、意味不明な日本語表示になるのを避けるため、英語のままインストールする事をお勧めします。

openSUSE Leap 15.2 Install First Look.(インストール)_a0056607_13495537.png

インストールの全体の流れは6分ちょっとの動画にまとめました。(派手に音出ます)


Installation

openSUSE Leap 15.2 Install First Look.(インストール)_a0056607_13530970.png

言語と、キーボードレイアウトの選択。キーボードだけは日本語 106 キーを選び、特殊キーのレイアウトをテストボックスで確認します。

openSUSE Leap 15.2 Install First Look.(インストール)_a0056607_13533082.png

オンラインリポジトリからネットワークインストールするかどうかの選択です。非力なネットワーク環境なのでNoを選択して、DVDメディアからインストールします。

openSUSE Leap 15.2 Install First Look.(インストール)_a0056607_13535057.png

System Role (役割)の選択。好みの問題なので SLESと共通の GNOME デスクトップを選びました。

openSUSE Leap 15.2 Install First Look.(インストール)_a0056607_13541076.png

パーティション構成です。従来の 15.1 や SLES15sp2 は /home がXFS で別パーティションでしたが、 15.2 からデフォルトでシングルパーティションになっています。ここも SLE15 SP2 と違うところです。

デスクトップワークステーションにするか、サーバーにするかで、パーティション構成を計画しておきます。全て BtrFS です。どうも、このファイルシステムは今後もデフォルト化しそうです。

Web サーバーにするか、ハイパーバイザー運用するか Samba に使うか、色々目的があるので、Expert Partitioner から、構成を変更します。ほぼパーティション構成を変えて運用する事が前提になりそうです。 

openSUSE Leap 15.2 Install First Look.(インストール)_a0056607_13550251.png

タイムゾーンの設定です。東京付近をクリックして Asia/Japan に設定します。

デフォルトで opensuse.org のタイムプールが選択されています。ここでは変更できないので、後で、通信距離の短い構内 ntp や ISP の ntp、パブリック ntp に変更します。

Hardware clock set to UTC のチェックはいつも外していますs。 仮想化状態では役に立たないし、Windows とのデュアルブートにすると Windows も UTC でブートしてしまいます。

openSUSE Leap 15.2 Install First Look.(インストール)_a0056607_14024732.jpg

オペレータの作成です。デフォルトでは、このユーザが root になり自動ログインしますが、私の好みではないので、 "Use this passwod .....", "Automatic Login" の二つのチェックは外します。

openSUSE Leap 15.2 Install First Look.(インストール)_a0056607_14031112.png

”Use this Password..." のチェックを外したため、root のパスワードを設定します。Caps が押されていないか、キーボードのレイアウトに間違えがなく、設定したパスワードの特殊記号に間違えがないか、ここでチェックします。

openSUSE Leap 15.2 Install First Look.(インストール)_a0056607_14033175.png

- 最期のインストールサマリ -

- Software : 追加のパッケージが必要だったり、KVM ハイパーバイザー運用なので Gimp は必要ないのでインストールしない、などはここで選択します。
- Default systemd target : デスクトップ利用なのでGUI ログインするか、サーバーなのでテキストログインするかを選択します。
- Security : デフォルトでファイアウォール有効、ssh 無効です。これから色々やりたいことがあるので、ファイアウォールは無効、SSH は有効にしました。
- ネットワーク設定:は Network-Manager がデフォルトです。ノートブックなど Wifi を使ったり、有線で DHCP を使いたい場合は Network-Manager がいいのですが、仮想化したり固定デスクトップで有線のみだったり、仮想マシンとしてサーバー運用する場合は Wicked に変更します。

openSUSE Leap 15.2 Install First Look.(インストール)_a0056607_14035243.png

過去のバージョンでは目立たなかった Network Configuration が Wicked に変更すると目立つように、デザインが変わります。

openSUSE Leap 15.2 Install First Look.(インストール)_a0056607_14040861.png

Wicked のネットワーク設定画面です。 HOSTNAME はここで事前に設定できます。

openSUSE Leap 15.2 Install First Look.(インストール)_a0056607_14042642.png

- インストール開始 -

インストールサマリが決まったら、右下の Install ボタンから、インストールを開始します。DVDメディアからインストールすると、約20分ほどで自動的にリブートします。

SLES と同じ GNOME デスクトップが上がります。

openSUSE Leap 15.2 Install First Look.(インストール)_a0056607_14045839.png

- オペレータの言語を日本語に

折角、ユーザを作ったので、オペレータの言語は日本語に、 root 言語は US にします。オペレータでログインして YaST を起動します。 root パスワードで開きます。
(root でログインしてやってはダメ、全部日本語になってしまいます。オペレータユーザだけ日本語化するのがコツです)

rootではなく作成した、一般ユーザでログインします。

openSUSE Leap 15.2 Install First Look.(インストール)_a0056607_14045839.png

YaST > System > Languages より、”Primary Language Settings” を Japanese にセットして”OK” 日本語フォントがロードされます。

openSUSE Leap 15.2 Install First Look.(インストール)_a0056607_14061720.png

これで、オペレータアカウントは日本語化されます。 man コマンドも日本語です。

openSUSE Leap 15.2 Install First Look.(インストール)_a0056607_14080825.png

一方 root でログオンして入ると、YaST は英語をキープして、 man コマンドも英語でした。

openSUSE Leap 15.2 Install First Look.(インストール)_a0056607_14084460.png




- まとめ -

かなり端折りましたが、openSUSE Leap 15.2 の雰囲気はご理解していただけるとありがたいです。openSUSE Leap はインストールのし易さ、安定性に優れ、SUSE Linux Enterprise (SLE) の堅牢さも引き継いでいます。

このブログでは SLES を中心に扱ってきましたが、openSUSE Leap 15 以降 openSUSE の記事が中心になってきました。それだけ openSUSE Leap の扱いやすさを感じます。SLES でなければ怖くて使えない、と言った機能も安心して使えるようになったのは、喜ばしいことです。

次はどんな検証をしてみようか、考え中です。







by islandcenter | 2020-07-05 14:36 | SUSE | Comments(0)

SLE15 p2 で私にとっては初めての"Docker" です。

- はじめに -

Docker は「コンテナ型の仮想化」言われればそれまでなのですが、 SUSE ではドキュメントも少なく、いまいち手が出なかった。だけど不思議なもので、どこかできっかけを掴むと、やってしまえるものですね。XEN から始めて KVM そして Docker です。切り口が分かれば、意外と簡単に入り込むことができました。
という事で SUSE Linux Enterprise 15 sp2(SLES15 sp2) に Docker を組み込んで nginx HTTP サーバーを動かしいてみよう、にチャレンジします。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック
https://islandcnt.exblog.jp/240410042/

- 参考文書 -

まずは、次の文書を読んでおきます。
openSUSE and SUSE Linux Enterprise
http://docs.docker.jp/engine/installation/SUSE.html

Docker Open Source Engine Guide SUSE Linux Enterprise Server 15 SP1
https://documentation.suse.com/sles/15-SP1/pdf/book-sles-docker_color_en.pdf



- /var/lib/docker を BtrFS の別パーティションに -

1 Docker Open Source Engine Overview REPORT DOCUMENTATION BUG#

このドキュメントに

"Important: Mounting /var/lib/docker
It is recommended to have /var/lib/docker mounted on a separate partition or volume to not affect the Docker Open Source Engine host operating system in case of a file system corruption.
In case you choose the Btrfs file system for /var/lib/docker, it is strongly recommended to create a subvolume for it. This ensures that the directory is excluded from file system snapshots. If not excluding /var/lib/docker from snapshots, the file system will likely run out of disk space soon after you start deploying containers. What's more, a rollback to a previous snapshot will also reset the Docker Open Source Engine database and images. Refer to Creating and Mounting New Subvolumes in Section 7.1, “Default Setup” for details."

とあり、/va/lib/docker は別パーティションで BtrFS 強く推奨とあります。事前に Docker を導入する以前にパーティションを YaST > System > Partitioner で別パーティション、別ボリュームを準備しておきます。

インストールの際の注意事項です。

openSUSE Leap and SUSE Linux Enterprise 15 sp2 初めてのDocker_a0056607_10521976.png


sles15doker:~ # snapper -c dockersnap(<--任意のファイル名) create-config /var/lib/docker
sles15docker:~ # ls /etc/snapper/configs/dockersnap -l
-rw-r----- 1 root root 1183 Jun 28 17:08 /etc/snapper/configs/dockersnap
sles15docker:~ #
sles15docker:~ # ls /var/lib/docker/ -l
total 0
drwxr-x--- 1 root root   0 Jun 28 17:08 .snapshots
drwx------ 1 root root  20 Jun 28 11:49 btrfs
drwx------ 1 root root  20 Jun 28 11:47 builder
drwx--x--x 1 root root  92 Jun 28 11:47 buildkit
drwx------ 1 root root  12 Jun 28 11:47 containerd
drwx------ 1 root root 256 Jun 28 13:53 containers
drwx------ 1 root root  10 Jun 28 11:47 image
drwxr-x--- 1 root root  10 Jun 28 11:47 network
drwx------ 1 root root  20 Jun 28 11:47 plugins
drwx------ 1 root root   0 Jun 28 05:39 runtimes
drwx------ 1 root root   0 Jun 28 11:47 swarm
drwx------ 1 root root   0 Jun 28 14:39 tmp
drwx------ 1 root root   0 Jun 28 11:47 trust
drwx------ 1 root root  22 Jun 28 11:47 volumes
sles15docker:~ #


SLES12 の Snapper のチューニング

SLES12 ext3 から BTrFS への変換


- Forward を有効に -

Docker は Windows の Windows Subsystem for Linux に似ています。と言うか WSL 自体が Docker の Windows 版なんですね。たぶん。Dockerをインストールすると仮想ブリッジが作られ、コンテナのインターフェースが物理インターフェースと通信できるよう、フォワードを有効にしておく必要があります。一応 KVM と Docker を同居させている猛者はいるようですが、設定が複雑になるので止めとけ、という事です。

因みに、ここでは SUSE on SUSE の KVM 環境なので、仮想サーバー上で Docker を動かすことは問題ないようです。

Forward を有効にするには、 YaST > System > Network Settings の Routing のチェックを入れるだけです。

openSUSE Leap and SUSE Linux Enterprise 15 sp2 初めてのDocker_a0056607_10550528.png



- Docker パッケージのインストール -

全体の流れを動画にしました。盛大に音出ます。



openSUSE Leap 15x と SLES15 SPx では若干インストール方法が違います。本当は openSUSE Leap を使いたかったのですが、機嫌が悪かったので、「あって良かった安心強護の SUSE Linux Enterprise」(SLES15 sp2) を使いました。

openSUSE Leap ではリポジトリの追加は不要です。SLE15 の場合、今回はトライアル版なので、ローカルディスクに ISO ファイルをコピーして、YaST > Software > Software repositories より ADD で、Local iso イメージを指定しました。

openSUSE Leap and SUSE Linux Enterprise 15 sp2 初めてのDocker_a0056607_10553244.png

追加プロダクトとして Containers Module をチェックします。

openSUSE Leap and SUSE Linux Enterprise 15 sp2 初めてのDocker_a0056607_10554811.png

後は、Software Management より "Docker" をサーチしてチェック、インストールします。

openSUSE Leap and SUSE Linux Enterprise 15 sp2 初めてのDocker_a0056607_10560923.png


- ユーザを Docker グループに

YaST > Security and Users > User and Group Management より、Docker 使いたいヒトビトを Docker グループに追加します。

openSUSE Leap and SUSE Linux Enterprise 15 sp2 初めてのDocker_a0056607_10562955.png


- 自動起動を Enable に

YaST > System > Service Manager より Docker を Enable, Active をセットして Docker を起動します。

openSUSE Leap and SUSE Linux Enterprise 15 sp2 初めてのDocker_a0056607_10565613.png

- hellow-world を run -

sles15sp2:~ # docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete
Digest: sha256:d58e752213a51785838f9eed2b7a498ffa1cb3aa7f946dda11af39286c3db9a9
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash



Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/

For more examples and ideas, visit:
https://docs.docker.com/get-started/

sles15sp2:~ #


- YaST2-Docker -

YaST2-Docker アプリケーションは、openSUSE では問題ない様ですが、SLE ではちょっと問題があり、インストールはひと工夫必要です。必ず必要なものではないので読み飛ばしてもらって結構です。

まず yast2-metapackage-handler の rom をダウンロードして

YaST2 - Easy Installation of Add-on RPMs using Metapackages

openSUSE Leap and SUSE Linux Enterprise 15 sp2 初めてのDocker_a0056607_10572921.png

perl-XML-XPath を YaST か zypper でインストールします。

# zypper install perl-XML-XPath*

openSUSE Leap and SUSE Linux Enterprise 15 sp2 初めてのDocker_a0056607_10580415.png

yast2-metapackage-handler を rpm でインストールします。

# rpm -ivh yast2-metapackage-handler-4.1.0-lp151.1.1.noarch.rpm

これで、YaST2-Docker を 1 Click インストールできるので、software.opensuse.com から1クリックインストールしました。 この辺りはトラブルの元です。SLE15 BACKPORT リポジトリだけ有効にすると良い様です。

yast2-docker
YaST2 - GUI for docker management

openSUSE Leap and SUSE Linux Enterprise 15 sp2 初めてのDocker_a0056607_10583754.png


- YaST2 docker -

YaST2-Docker はこんな感じです。コンテナの停止、削除には使えます。が、docker run は使い方がよく分かりません。マニュアルも見当たらなかった。

openSUSE Leap and SUSE Linux Enterprise 15 sp2 初めてのDocker_a0056607_10585770.png


- nginx HTTP を動かす -

nginx のコンテナパッケージはこちらにあります。docker pull して run させるだけです。

Docker Official Images Official build of Nginx.

openSUSE Leap and SUSE Linux Enterprise 15 sp2 初めてのDocker_a0056607_10592327.png


sles15sp2:~ # docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
8559a31e96f4: Pull complete
8d69e59170f7: Pull complete
3f9f1ec1d262: Pull complete
d1f5ff4f210d: Pull complete
1e22bfa8652e: Pull complete
Digest: sha256:21f32f6c08406306d822a0e6e8b7dc81f53f336570e852e25fbe1e3e3d0d0133
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
sles15sp2:~ #

Docker run リファレンス
http://docs.docker.jp/engine/reference/run.html

- コンテナ起動

sles15docker:~ # docker run -d -p 80:80 nginx

nginx が動きました。

openSUSE Leap and SUSE Linux Enterprise 15 sp2 初めてのDocker_a0056607_10594767.png


- 起動時にコンテナを自動起動させる -

これでは Docker の親が起動した時、コンテナが起動できないので、--restart=always スイッチを付けて、コンテナを起動させると、 Docker サービスが起動する際に、自動起動するようになりました。

sles15docker:~ # docker run --restart=always -d -p 80:80 nginx
ca5d8b4b8adc55dc352f6022ef70da93ab243449cfc35d2cd2bd0903e7bd4c42

- 動作中のコンテナの確認

sles15docker:~ # docker ps -a
CONTAINER ID   IMAGE        COMMAND                 CREATED        STATUS                     PORTS NAMES
3485ddc43916   nginx        /docker-entrypoint.…"  3 minutes ago  Exited (0) 2 minutes ago         affectionate_clarke
ad88906a4cf0   hello-world  /hello"                 2 hours ago    Exited (0) 2 hours ago           agitated_perlman
<-- 只今停止中、停止しないと削除できない。

- 停止中のコンテナを削除


sles15docker:~ # docker rm 3485
3485
sles15docker:~ # docker ps -a
CONTAINER ID  IMAGE       COMMAND CREATED      STATUS                   PORTS NAMES
ad88906a4cf0  hello-world /hello" 2 hours ago  Exited (0) 2 hours ago         agitated_perlman
<-- 消してみた

- 常時起動状態で起動

sles15docker:~ # docker run --restart=always -d -p 80:80 nginx
cd43c374894d21a357a7835df7af11e1e59f51c11919c395d6a91cfe78da9d78

sles15docker:~ # docker ps -a
CONTAINER ID   IMAGE        COMMAND                  CREATED        STATUS                   PORTS                NAMES
cd43c374894d   nginx        "/docker-entrypoint.…"  8 seconds ago  Up 5 seconds             0.0.0.0:80->80/tcp   optimistic_chatelet
ad88906a4cf0   hello-world  "/hello"                 2 hours ago    Exited (0) 2 hours ago                        agitated_perlman
<-- --restart=always を付けて起動(Up)

- 稼働中のコンテナを停止

sles15docker:~ # docker stop cd43
cd43

sles15docker:~ # docker ps -a
CONTAINER ID    IMAGE        COMMAND                 CREATED         STATUS                    PORTS  NAMES
cd43c374894d    nginx       "/docker-entrypoint.…"  35 seconds ago  Exited (0) 3 seconds ago         optimistic_chatelet
ad88906a4cf0    hello-world "/hello"                 2 hours ago     Exited (0) 2 hours ago           agitated_perlman
sles15docker:~ #
<--- コンテナを止めておく(Exited)

- docker deamon を再起動

sles15docker:~ # systemctl stop docker
sles15docker:~ # docker ps -a
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
sles15docker:~ # systemctl start docker

- docker コンテナがデーモン起動で UP になった。

sles15docker:~ # docker ps -a
CONTAINER ID   IMAGE        COMMAND                 CREATED              STATUS                 PORTS                NAMES
cd43c374894d   nginx        /docker-entrypoint.…"  About a minute ago   Up 2 seconds           0.0.0.0:80->80/tcp   optimistic_chatelet
ad88906a4cf0   hello-world  /hello"                 2 hours ago          Exited (0) 2 hours ago                      agitated_perlman
sles15docker:~ #
<--- 止めたコンテナがサービス起動とともに開始した。


- その他 -

A Visual Way to Play with Docker

Hands on with Docker, openSUSE Leap 15
Docker そのもののインストールや基本操作で理解できました。後は例えば nginx を使う場合の詳細な設定をどうするか、とか、自らコンテナを開発したりカスタマイズするにはどうするか、と言った問題があります。知るほどに置くが深そうですね。

食わず嫌いは良くない。

by islandcenter | 2020-07-01 10:42 | SUSE | Comments(0)

この6月に SUSE Linux Enterprise Server 15 sp2 (SLE15sp2) のトライアル版がリリースされましたので、ファーストルックしてみます。




- ダウンロード -

ダウンロードはこちら、恐らく SUSE のカスタマセンターにログインしてダウンロードすることになると思います(登録無料)


SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_14523455.png

SUSE Linux Enterprise Server 15 SP2 Release Notes

リリースノートに

"4.1.1 New Media Layout REPORT DOCUMENTATION BUG#
The set of media has changed with 15 SP2. There are still two different installation media, but the way they can be used has changed:
* Installation without registration now only requires the full media. The installer has been added and therefore can be used stand-alone. The full media can therefore serve as universal media for all types of installation.
* Installation with registration can either be performed with the online media (as with SUSE Linux Enterprise Server 15 SP1) or with the full media.#

とあります。

トライアルに必要なメディアは SLE-15-SP2-Full-x86_64-GMC-Media1.iso 一枚に収まりました。ただし、10G バイトあるので、ブート用に二層DVDに書けるのでしょうか? やっぱりブルーレイが必要? あるいはUSBメモリを使うのが正解のようです。二枚目は、ソースコードの様です。

How to create an installation USB drive for SLE 11, 12, or 15

オンラインメディアディスク1は 300Mb 程度ですが、リポジトリの登録が必要なので、インストールにはアクティベーションコードが必要な様です。

その代わり Full-Media を使ったインストールは実にスムーズで、はっきり言って

「すごく良くなった」

というのが感想でした。

- インストール -

インストールメディアDVDで起動したら、 "Installation" を選んでインストールを開始します。F2 キーを押すと日本語でのインストールもできますが、デスクトップ(SLED)化しないのなら、エラーなどのメッセージが日本語には情報が少ないです。英語でそのままインストールして、後で日本語フォントを入れる事をお勧めします。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_14561760.png

インストールの全体の流れは動画にしました。(盛大に音出ます)


言語とキーボードの選択。テストエリアで特殊キーをテストします。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_14594143.png

License Agreement に Agree

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_15001170.png

トライアルインストールなので、登録はスキップします。サブスクリプションの登録は YaST の Product Registration から後からでも行えます。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_15003951.png

拡張モジュールの選択、Basesystem Modules, Desktop Applications Modules, Server Applications Modules の3つは最低チェックしておくと良いでしょう。必要によってレガシーパッケージや、デバイスドライバのインストールに必要なコンパイラもインストールします。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_15010258.png

インストール用リポジトリが作られました。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_15013837.png

GNOME の必要最低限の環境をインストールします。ハイパーバイザー運用する場合は、後に xen/kvm のホストサーバーを、インストールサマリから追加できます。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_15015924.png

デフォルトパーティション構成です。18gb は / の BtrFs です。BtrFS の場合、需要の倍のサイズを要求します。

ここでは KVM のハイパーバイザー運用を前提に /home は / にマージし、残った全部を /var に割り当てるとします。Expert Partitioner  > start with current proposal で、 /home をマージし /var を xfs 別パーティションとしました。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_15023037.png

以下の様なパーティション構成です。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_15030023.png

いつものタイムゾーンの設定です。完全 UTC で運用する場合は、東京あたりをクリックして Asia/Japan にセットするだけですが、ハードウェアクロックを JST+9 で運用する場合(大抵のハードウェアベンダーはそうしているし CE さんが M/B を交換してしまえば JST+9 にリセットしてしまう)は "Set Hardware Clock UTC" のチェックを外します。日本では "Daylignt Saving Time"(夏時間)はないので、チェックを外しておいてもまず問題になりません。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_15110611.jpg

オペレータユーザの登録です。openSUSE Leap とは違い、 SLE の場合 root とは異なるユーザを作るのがデフォルトです。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_15113487.png

root のパスワード設定です。スペースセーバーキーボードやノートブックの場合 Num Lock されていると、「あれっ!」ってことになるので、必ずテストエリアでキーボードチェックをします。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_15115299.png

- インストールサマリからインストール開始 -

インストールサマリ画面から追加のソフトウェア、例えば KVM/XEN ハイパーバイザーを入れるかどうか、systemd のターゲットはテキストか GUI か、ファイアウォールは開けておくか、SSH は有効にするかどうかを変更しておきます。

SLES15-sp2 より、Network Settings の項目が目立つ様になりました。 SLE15 SP1 でもここでできたのですが、「ここで指定しろ」と言わんばかりのアピール度です。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_15122181.png

という事で、Network の固定アドレスの設定、DNS、G/Wの設定、 HOSTNAME の設定は全てここで済ませてしまうことができます。随分良くなりました。ちょっと今までのインストーラとは画面のレイアウトが違うので、戸惑う所があります。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_15124469.png

DNSと HOSTNAME 所属するドメインを設定します。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_15130889.png

デフォルトゲートウェイの設定・ちょっとデザインが違うので余計な事をしたくなりますが、"gateway" の IP を設定するだけで "OK" です。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_15133029.png

ネットワーク構成ができました。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_15135732.png

後はインストールするだけです。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_15142621.png


- 再起動 -

インストールが終わると自動的に再起動します。オペレータでも root でも構いません。ログインします。

Activities から YaST などを実行できます。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_15171549.png

デフォルトで SLE の場合 NTP は Off です。

YaST > Network Services > NTP Service より NTP ソースを指定して、 "Now and on Boot" をチェックします。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_15174000.png

リポジトリの再設定です。インストーラで使ったソースは Disable になっています。これを Enable にしてもいいのですが、ローカルディスクに ISO ファイルを置いてつかっても良いですし、別立ての HTTP/FTP サーバーにインストール DVD をマウントして公開しても良いでしょう。私はいつも別な HTTP サーバーをローカルリポジトリにしています。

Add ボタン

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_15180837.png

ローカル環境のDVDにアクセスできたら、ユニバーサルインストーラで使うリポジトリをチェックします。 Systembase Modules, Desktop Application Modules, Server Application Modules の3つは最低限チェックしておきます。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_15185330.png

登録したリポジトリが Enabled/Autorifresh : On になりました。インストールに使ったリポジトリは削除しても構わないでしょう。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_15192323.png

次に YaST > System > Language から、Secondary Language:Japanese をチェックしてインストールします。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_15201823.png

日本語フォントで表示されました。

SLE15 Linux Enterprise sp2 (SLES15sp2) のインストールとファーストルック(Trial)_a0056607_15204183.png
インストーラを中心に、次に出荷される予定の SUSE Linux Enterprise 15 SP2 を見てみました。

インストーラは、一言でいってみれば「親切で良くなった」感じです。ただ SLE15 はパッケージディスクは二層DVDで間に合ったのですが、SP2では、一枚のディスクイメージでサイズも大きくなったので、ベアハードウェアにインストールするには、フラッシュメモリか、ブルーレイが必要でしょう。安くなったとは言え単価は光メディアより高価なので、何台もインストールするには準備が大変かも知れません。

まだ SUSE のサイトには 2020/6 現在マニュアルもない状態なので、移行するにはもう少し待った方がよさそうです。



by islandcenter | 2020-06-25 15:21 | SUSE | Comments(0)

Windows10 2004(20H1) Windows Subsystem for Linux 2nd (WSL2) でGUI を使うまでハマった話の続きです。

Windows10 pro 2004(201H) にバージョンアップし、WSL2(Windows Subsystem for Linux 2nd) のバージョン変換も無事終わりました。ホントに Windows10 はナニするにも時間がかかる。ITエンジニアの常として「待つのも仕事」です。

Windows10 1903 から 2004、ISOでアップデート

Windows10 2004(20H1) で WSL1から WSL2 へのアップデート

さぁて、GUI の YaST でも使おうかと思い、MobaXterm を立ち上げて、"X server" を ON にしました。(初期設定でONです)

Windows から Mac へ MobaXterm で VNC デスクトップ共有接続

WSL2 で export DISPLAY=:0 で GUI が動かない: Windows10 2004(20H1)_a0056607_11013601.png

従来の WSL(1) の様に export DISPLAY=:0 を実行したんですが....

w10pro:/home/myme # export DISPLAY=:0
w10pro:/home/myme # export | grep DISPLAY
declare -x DISPLAY=":0"
w10pro:/home/myme # yast2 &
[1] 623
w10pro:/home/myme # QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
qt.qpa.screen: QXcbConnection: Could not connect to display :0
Could not connect to any X display.

怒られてしまいました。

調べてみたら /etc/resolv.conf に書かれている IP アドレスがホストアドレスなので、それを指定して使え、という Google 大魔神のご指示がいくつか見つかったのですが、

前バージョンから大幅に性能向上した新Linux環境「WSL 2」の実力を探る

 "また、WSL 2内では、「/etc/resolv.conf」に記載されているDNSサーバが常にWin32側の仮想ネットワーク側IPアドレスを示すようになっている(このファイルはWSL 2の起動時に自動的に生成される)。この仕組みを利用すれば、Linux側でも一定の手順でWin32側のIPアドレスを得ることが可能だ"

という事で

# export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0

とやってもやっぱりだめ。

という事で ipconfig でDHCPから割り当てられた IP を確認して、export DISPLAY=xx.xx.xx.xx:0 を実行したら


w10pro:/home/myme # export DISPLAY=192.168.1.44:0
w10pro:/home/myme # export | grep DISPLAY
declare -x DISPLAY="192.168.1.44:0"
w10pro:/home/myme # yast2 &
[1] 648
w10pro:/home/myme #

お、MobaXterm に何か出てきた。初見だ。これも WSL2 になってからハマった所です。

WSL2 で export DISPLAY=:0 で GUI が動かない: Windows10 2004(20H1)_a0056607_11020605.png

「はい」を押す。

※この Application on remote computer xx.xx.xx.xx has requested....... In order to disable this worning....

のダイアログはひどく邪魔なので mobaXterm の Settings > X11 tab > X11 remote access よりトグルボタンで "full" に変更します。
セキュリティ上、キーストロークなどが盗聴される可能性があるよ、という事です。


WSL2 で export DISPLAY=:0 で GUI が動かない: Windows10 2004(20H1)_a0056607_11025279.png

無事 YaST2 が起動できました。

これで openSUSE Leap なら LibreOffice でも Gimp でも使えるでしょう。SLES の場合は Workstation Extension というパッケージが必要です。勿論、自己責任でこれらの Linux GUI アプリケーションをインストールするのは構わないと思います。 

WSL2 で export DISPLAY=:0 で GUI が動かない: Windows10 2004(20H1)_a0056607_11031587.png

動いた。



一応、先行者のご意見通り、 /etc/resolv.conf にある IP アドレスを使っても動くことがあったので、

export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0

の行を .bashrc に書いておきました。

どうもウチの環境では Windows の再起動だとか、WSL2 を終了させたり立ち上げる都度に環境がおかしくなるみたいです。 resolv.conf の IP アドレスでうまく動かない場合は、ホストの Windows の IP を使うとうまく動くことがあるかも、そんな程度に考えてください。

ちなみに WSL2 では Hyper-V の仮想スイッチを経由して接続されるようです。

WSL2 のネットワークについてはこちらに詳しい解説がありました。

Linuxがほぼそのまま動くようになった「WSL2」のネットワーク機能

物理的なマシンの中に「プライベートネットワーク」を作ります。従って Host の Windows マシンからは仮想スイッチを通して WSL に対して通信はできますが、別なコンピューターからは、通信できません。ま、当たり前ですけど。

C:\>ipconfig

Windows IP 構成


イーサネット アダプター イーサネット 3:

   メディアの状態. . . . . . . . . . . .: メディアは接続されていません
   接続固有の DNS サフィックス . . . . .:

イーサネット アダプター vEthernet (external-rj45):

   接続固有の DNS サフィックス . . . . .: i.islandcenter.jp
   リンクローカル IPv6 アドレス. . . . .: fe80::3d32:8b05:e320:8531%18
   IPv4 アドレス . . . . . . . . . . . .: 192.168.1.44
   サブネット マスク . . . . . . . . . .: 255.255.255.0
   デフォルト ゲートウェイ . . . . . . .: 192.168.1.1

: 中略

イーサネット アダプター vEthernet (Default Switch):

   接続固有の DNS サフィックス . . . . .:
   リンクローカル IPv6 アドレス. . . . .: fe80::8eb:6c67:4766:b3bc%17
   IPv4 アドレス . . . . . . . . . . . .: 172.26.176.1
   サブネット マスク . . . . . . . . . .: 255.255.240.0
   デフォルト ゲートウェイ . . . . . . .:

イーサネット アダプター vEthernet (WSL):

   接続固有の DNS サフィックス . . . . .:
   リンクローカル IPv6 アドレス. . . . .: fe80::55a6:d731:cfe8:aee%61
   IPv4 アドレス . . . . . . . . . . . .: 172.18.208.1
   サブネット マスク . . . . . . . . . .: 255.255.240.0
   デフォルト ゲートウェイ . . . . . . .:

C:\>
C:\>ping 172.18.208.1

172.18.208.1 に ping を送信しています 32 バイトのデータ:
172.18.208.1 からの応答: バイト数 =32 時間 <1ms TTL=128
172.18.208.1 からの応答: バイト数 =32 時間 <1ms TTL=128
172.18.208.1 からの応答: バイト数 =32 時間 <1ms TTL=128
172.18.208.1 からの応答: バイト数 =32 時間 <1ms TTL=128

172.18.208.1 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 0ms、平均 = 0ms

C:\>


ネットワークのプロパティを見てみると、 vEthernet(WSL) という仮想アダプタが出てきました。

WSL2 で export DISPLAY=:0 で GUI が動かない: Windows10 2004(20H1)_a0056607_11040511.png

なるほど、奥が深い。






by islandcenter | 2020-06-21 11:40 | Windows | Comments(0)

Windows10 を 2004(20H1) にバージョンアップしたので、WSL2(Windows Subsystem for Linux 2) はどうなった?
という事で WSL2 のファーストインプレッション.....と行きたいのですが、意外と難物でした。





前回のハマリ記事

Windows10 1903 から 2004、ISOでアップデート

ためになった記事

「WSL 2」へのバージョンアップでLinux互換環境はどう変わるのか?

PowerShell で次のコマンドを実行します。

PS C:\> Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

このコマンドは、Windows の"役割" の有効/無効を設定してくれるコマンドですね。

WSL2 does not changes state from Stopped to Running #5406

※ このブログより上の文書が詳しいじゃないか...このコマンドを実行した後、再起動が必要です(敗因)

WSL コマンドでバージョンを確認してみたら、これだけでは不十分な模様です。インストール済の openSUSE Leap 15.1 のバージョンが”1”のままです。

C:\>wsl -l -v
  NAME                  STATE           VERSION
* openSUSE-Leap-15-1    Running         1

C:\>
C:\>wsl --set-version openSUSE-Leap-15-1 2
変換中です。この処理には数分かかることがあります...
WSL 2 を実行するには、カーネル コンポーネントの更新が必要です。
詳細については https://aka.ms/wsl2kernel を参照してください

と言われたので、こちらから wsl カーネル update ツールをダウンロードします。


wsl_update_x64.msi を実行して、ウィザードに従ってカーネルアップデートしました。

Windows10  2004(20H1) で WSL1から WSL2 へのアップデート_a0056607_14140509.png


C:\>wsl -l -v
  NAME                  STATE           VERSION
* openSUSE-Leap-15-1    Running         1

これでもダメです。こちらに

Windows 10 用 Windows Subsystem for Linux のインストール ガイド

"wsl --set-version <distribution name> <versionNumber>
<distribution name> は、お使いのディストリビューションの実際の名前に必ず置き換えてください。<versionNumber> は、数字の "1" または "2" に置き換えてください。 上記と同じコマンドで "2" を "1" に置き換えて実行することにより、いつでも WSL 1 に戻すことができます。
また、WSL 2 を既定のアーキテクチャにする場合は、次のコマンドを使用して実行できます。
PowerShell
wsl --set-default-version 2
これにより、インストールされるすべての新しいディストリビューションのバージョンが WSL 2 に設定されます。"

とあるので、 wsl のバージョンを Version 2 に変換します。

C:\>wsl --set-version openSUSE-Leap-15-1 2
変換中です。この処理には数分かかることがあります...
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
変換が完了しました。

bssdtarというプロセスがヘビーに実行中で、変換には「数分」ではなく30分くらいかかりました。当然、変換中は WSL は起動できません。

C:\Users\myme >wsl
このディストリビューションのインストール、アンインストール、
または変換が進行中です。

当然、変換中は、 openSUSE Leap のアイコンをキックしても立ち上がらない。
変換が終わっても、wsl が起動できない。

- 切羽詰まって再起動 -

「変換が完了しました」と言うのでバージョンを確認してみます。

C:\Users\myme>wsl -l -v
  NAME                  STATE           VERSION
* openSUSE-Leap-15-1    Stopped         2


ちゃんと Version 2 になっていた。が....

C:\Users\myme>wsl
Linux 用 Windows サブシステム インスタンスが強制終了されました。

<-- 変換直後は起動に失敗

- 落ち着いてから、結局再起動(The Last Resort: Reboot)-

困った事があれば再起動するのが Windows です。再起動しました。

C:\Users\myme>wsl
myme@goblin:/mnt/c/Users/myme > cat /etc/os-release
NAME="openSUSE Leap"
VERSION="15.1 "
ID="opensuse-leap"
ID_LIKE="suse opensuse"
VERSION_ID="15.1"
PRETTY_NAME="openSUSE Leap 15.1"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:leap:15.1"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"
myme@goblin:/mnt/c/Users/myme>

動いた....

 Windows10 の再起動は、精神衛生に良くないんだが..





他に読んでおくべき文書

Windows 10 用 Windows Subsystem for Linux のインストール ガイド

更にオチが続きます。GUIアプリケーションが X Server で動かない....

WSL2 で export DISPLAY=:0 で GUI が動かない: Windows10 2004(20H1)




by islandcenter | 2020-06-20 14:57 | Windows | Comments(0)


openSUSE Leap 15.1 上の zabbix4 を Zabbix5 にアップデート

Zabbix 5.0 LTS がリリースされたので、現行で運用している openSUSE Leap 15.1 上の zabbix 4.2.5 からのアップデート顛末記です。
前回 zabbix 4.2 をインストールした手順はこちら

How to setup zabbix4.2 on openSUSE Leap 15.1 セットアップ
https://islandcnt.exblog.jp/239366228/

zabbix 5.0 のインストールはこちら

Download and install Zabbix
https://www.zabbix.com/jp/download

今回から、バイナリは提供されず、リポジトリを登録してインストールする形式になりました。閉塞環境ではインストールできないようです・

Zabbix5 の仮想アプライアンス、ライブメディアはこちらです。ubuntu ではなく CentOS に変更されたようです。

Zabbix Cloud Images and Appliances
https://cdn.zabbix.com/zabbix/sources/stable/5.0/

Install Zabbix Appliance
https://www.zabbix.com/jp/download_appliance

アップデートに必要な情報はこちらにまとめられています。php7.2 以降が必要、maiadb は10.2.1 以前はアップデートが必要です。yast か zypper でアップデートしておきます。

9 Upgrade notes for 5.0.0
https://www.zabbix.com/documentation/current/manual/installation/upgrade_notes_500







- バックアップ -

一応、大事なものはバックアップしておきます。マニュアルに記載があるのは、次のファイルです。(マニュアル読んどけよ、取らなかったじゃないか....)
  • /etc/zabbix/zabbix_server.conf
  • /etc/apache2/conf.d/zabbix.conf  (RH系は /etc/httpd)
  • /usr/share/zabbix/*
  • /usr/share/doc/packages/zabbix-* (RH系は /usr/share/doc/zabbix*)

仮想環境なら、イメージ毎バックアップしておけば良いでしょう。
openSUSE 15 はデフォルト BtrFS なので、スナップショットを取っておきました。(/var が XFS だった.... 敗因)

SLES12が採用した btrfs, snapper を使った Snap Shot
https://islandcnt.exblog.jp/20441162/

SLES12 の Snapper のチューニング
https://islandcnt.exblog.jp/20453565/

4 Snapperによるスナップショットとロールバック
https://documentation.suse.com/ja-jp/sles/11-SP4/html/SLES-all/cha-snapper.html

yast2 > Filesystem Snapshot で、スナップショットを作成しておきます。

zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_09164227.png

- アップデート -

このページにあるインストール手順に従って、zabbix リポジトリを更新します。

zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_09174603.png

具体的には、次のコマンドを実行するだけでした。

# rpm -Uvh --nosignature https://repo.zabbix.com/zabbix/5.0/sles/15/x86_64/zabbix-release-5.0-1.el15.noarch.rpm

リポジトリをアップデートしたら YaST の Software Repositories から、Zabbix5 のリポジトリを Enabled, Autorefresh にチェックを入れます。

zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_09185202.png


- Zabbix の停止 -

アップデートの前に、 YaST > Service Manager から zabbix_server, zabbix_agent, MariaDB を Stop させておきます。

zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_09210686.png



- zabbix 本体のアップデート -

YaST > Software Management から ”zabbix” を検索して、zabbix パッケージにチェックが入っているものを全部、右ボタンから "Update" にセットし、Accept します。

zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_09200290.png

アップデートが終わりました。


- zabbix5 の起動 -

YaST > Service Manager から、停止させていた MariaDB, zabbix_server, zabbix_agent を Start させます。

zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_09223345.png

インストールが終わった後の、バージョン情報です。

zabbix:~ # zabbix_server -V
zabbix_server (Zabbix) 5.0.0
Revision 9665d62db0 11 May 2020, compilation time: May 11 2020 14:35:25

Copyright (C) 2020 Zabbix SIA
License GPLv2+: GNU GPL version 2 or later .
This is free software: you are free to change and redistribute it according to
the license. There is NO WARRANTY, to the extent permitted by law.

This product includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit (http://www.openssl.org/).

Compiled with OpenSSL 1.1.0i-fips 14 Aug 2018
Running with OpenSSL 1.1.0i-fips 14 Aug 2018
zabbix:~ #
This is free software: you are free to change and redistribute it according to
the license. There is NO WARRANTY, to the extent permitted by law.

This product includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit (http://www.openssl.org/).

Compiled with OpenSSL 1.1.0i-fips  14 Aug 2018
Running with OpenSSL 1.1.0i-fips  14 Aug 2018
zabbix:~ #


- あれ?フロントエンドが動かない .... -

アップデートした後、ブラウザをリロードしたら、変なデータベースエラーが出ていました。どうもDBのスキーマを更新していたようです... すぐにログインできる様になりましたが、情報もなく冷や汗モノでした。(敗因)

zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_15124586.png

- ログイン -

全体のフロントエンドスクリーンです。かなりデザインが変わりました。

zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_09230458.png



ー グラフがない? ー

グラフの表示は随分変わりました。以前は Graph というメニューがあったのですが、左のメニューから Latest data > Hosts より、グラフを出したいホストを Select して選び、”Applications" から、例えば "Network interfaces" とか”Storage” などのアイテムを選んで "Apply" すると、フィルタがかかります。右に”Graph” リンクを開くと、そのアイテムのグラフが出てくる方式です。

zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_09232986.png

例えば、 NIC のI/O を見たい場合、Bits Sent と Receive の二つをチェックして、"Display stacked graph" を押します。

zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_09234899.png

Network Interface の I/O グラフが出てきました。

zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_09241687.png

- なにぃ? 404 Error だと! -
 zabbix url http://zabbix/zabbix  "Object not found 404 error" after update zabbix4 to 5.
  -> /etc/apache2/conf.d # cp zabbix.conf.rpmsave zabbix.conf 

ブラウザがクラッシュして、もう一度、"http://zabbix/zabbix" を開いたら、404エラーを吐きやがった!

そこで /srv/www/htdocs/zabbix ディレクトリを掘って、 /usr/share/zabbix/ 以下をコピーしたら、問題なく動いた。

zabbix:/srv/www/htdocs/zabbix # cp /usr/share/zabbix/* -Rv .

ははぁ、これは何かリダイレクトの問題だなと思い、調べたけれどわからない。そこで、バックアップを取っていた KVM の RAW イメージフォーマットをマウントし

sles15:~/mnt # kpartx -av /var/lib/libvirt/images/zabbix42/zabbix42.disk1.raw
add map loop0p1 (254:0): 0 16384 linear 7:0 2048
add map loop0p2 (254:1): 0 29360128 linear 7:0 18432
add map loop0p3 (254:2): 0 4194527 linear 7:0 48242688
add map loop0p4 (254:3): 0 18864128 linear 7:0 29378560
sles15:~/mnt # ls /dev/mapper/
control  loop0p1  loop0p2  loop0p3  loop0p4
sles15:~/mnt #
sles15:~/mnt # mount -o loop /dev/mapper/loop0p2 /mnt/tmp
sles15:~/mnt # ls /mnt/tmp
.snapshots  boot  etc   lib    mnt  proc  run   selinux  sys  usr
bin         dev   home  lib64  opt  root  sbin  srv      tmp  var
sles15:~/mnt # ls /mnt/tmp/etc/apache2/conf.d/ -al
total 16
drwxr-xr-x 1 root root  84 Feb  5 17:51 .
drwxr-xr-x 1 root root 778 Jan  9 00:06 ..
-rw-r--r-- 1 root root 361 Jan  9 00:06 gitweb.conf
-rw-r--r-- 1 root root 793 Apr 11  2019 manual.conf
-rw-r--r-- 1 root root 354 May  4  2019 php7.conf
-rw-r--r-- 1 root root 913 Jul 11  2019 zabbix.conf
sles15:~/mnt # cd
sles15:~ # kpartx -d /var/lib/libvirt/images/zabbix42/zabbix42.disk1.raw
loop deleted : /dev/loop0
sles15:~ #

調べてみたら、あった。
/etc/apache2/conf.d/zabbix.conf が zabbix.conf.rpmsave にリネームされていた。


zabbix4.2 を zabbix5.0 アップデート openSUSE Leap 15.1_a0056607_15202752.png

zabbix:~ # cat /etc/apache2/conf.d/zabbix.conf.rpmsave
#
# Zabbix monitoring system php web frontend
#

Alias /zabbix /usr/share/zabbix

<Directory "/usr/share/zabbix">
    Options FollowSymLinks
    AllowOverride None
    Require all granted

    <IfModule mod_php7.c>
        php_value max_execution_time 300
        php_value memory_limit 128M
        php_value post_max_size 16M
        php_value upload_max_filesize 2M
        php_value max_input_time 300
        php_value max_input_vars 10000
        php_value always_populate_raw_post_data -1
        # php_value date.timezone Europe/Riga
        php_value date.timezone Asia/Tokyo
    </IfModule>
</Directory>

<Directory "/usr/share/zabbix/conf">
    Require all denied
</Directory>

<Directory "/usr/share/zabbix/app">
    Require all denied
</Directory>

<Directory "/usr/share/zabbix/include">
    Require all denied
</Directory>

<Directory "/usr/share/zabbix/local">
    Require all denied
</Directory>
zabbix:~ #



zabbix:/etc/apache2/conf.d # cp zabbix.conf.rpmsave zabbix.conf
zabbix:/etc/apache2/conf.d #
zabbix:/etc/apache2/conf.d # ls -al
total 20
drwxr-xr-x 1 root root 122 May 20 15:30 .
drwxr-xr-x 1 root root 778 May 20 13:22 ..
-rw-r--r-- 1 root root 361 Jan  9 00:06 gitweb.conf
-rw-r--r-- 1 root root 793 Apr 11  2019 manual.conf
-rw-r--r-- 1 root root 354 May  6 21:23 php7.conf
-rw-r--r-- 1 root root 913 May 20 15:30 zabbix.conf
-rw-r--r-- 1 root root 913 Jul 11  2019 zabbix.conf.rpmsave
zabbix:/etc/apache2/conf.d #

サービスの再起動ではうまく行かなかったので、再起動したら、問題は解決できた。

何のためにスナップショット取ったのか、今になって反省しています。

- First Look (まとめ)-

Zabbix4 から Zabbix5 へのアップデートは、予想より困難な事はありませんでした。openSUSE Leap 15.1 では特にハマる点もなく(エイリアスにはハマったけど)、ほとんどの作業を YaST のマウス操作でアップデートできてしまいました。

/var を xfs パーティションにしたのは、スナップショットが使えず、敗因だったなと思います。

Web Interface は随分変わってしまったので、オペレータさん用の新しい操作マニュアルが必要そうです。

特に私の様に「グラフ命」だったヒトには、グラフの操作方法が変わってしまって、残念な感じがします。一応 Widget に旧タイプのグラフがあるようです。慣れの問題と言えますが、カスタマイズした場合、内容がそのまま移行できたかどうかは分からないので、アップデートは十分な調査が必要です。

主な変更点はマニュアルで確認してください。SUSEに関する記述が抜けているのはご愛敬です。

5 What's new in Zabbix 5.0.0
https://www.zabbix.com/documentation/current/manual/introduction/whatsnew500





isLandcenter.jp




by islandcenter | 2020-05-20 09:29 | SUSE | Comments(0)

- はじめに - 

ここでは SUSE Linux 15 (openSUSE Leap15.1) に nginx と mariadb をインストールして、phpMyAdmin を動かすまでの作業を説明します。

この環境では openSUSE Leap 15.1 に nginx HTTP サーバーと php7 がインストールされています。

事前の作業はこちらをまずご参考下さい。

SUSE15 で動かす nginx HTTP, インストール

SUSE Linux 15(openSUSE15.1 Leap) で php7 on nginx

参考元となった文書はこちらです。大変分かりやすいので一緒に参考にしてください。

Install LEMP – Nginx, PHP, MariaDB and PhpMyAdmin in OpenSUSE



- mariadb のインストール -

yast/yast2 で Software > Software Management から mariadb を "search" して、mariadb をチェックすると mariadb-client もインストールされます。

あるいは zypper install します。

SUSE Linux 15(openSUSE Leap)に mariadb、phpMyAdmin を入れるまで_a0056607_13203717.png

インストールが終わったら、yast/yast2 から > System > Service Manager を開き、mariadb を "Start" / "On Boot" にセットします。

もしくは systemctrl コマンドを使います。

SUSE Linux 15(openSUSE Leap)に mariadb、phpMyAdmin を入れるまで_a0056607_13211360.png


systemctrl でステータスを見るとこんな感じです。


opensuse151:~ # systemctl status mariadb
● mariadb.service - MySQL server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-04-30 12:36:00 JST; 58s ago
  Process: 9507 ExecStartPre=/usr/lib/mysql/mysql-systemd-helper upgrade (code=exited, status=0/SUCC>
  Process: 9442 ExecStartPre=/usr/lib/mysql/mysql-systemd-helper install (code=exited, status=0/SUCC>
Main PID: 9513 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 30 (limit: 4915)
   CGroup: /system.slice/mariadb.service
           └─9513 /usr/sbin/mysqld --defaults-file=/etc/my.cnf --user=mysql

Apr 30 12:36:00 opensuse151 mysql-systemd-helper[9442]: rcmysql start
Apr 30 12:36:00 opensuse151 mysql-systemd-helper[9442]: You can test the MariaDB daemon with mariadb>
Apr 30 12:36:00 opensuse151 mysql-systemd-helper[9442]: Please report any problems at http://mariadb>
Apr 30 12:36:00 opensuse151 mysql-systemd-helper[9442]: The latest information about MariaDB is avai>
Apr 30 12:36:00 opensuse151 mysql-systemd-helper[9442]: You can find additional information about th>
Apr 30 12:36:00 opensuse151 mysql-systemd-helper[9442]: http://dev.mysql.com
Apr 30 12:36:00 opensuse151 mysql-systemd-helper[9442]: Consider joining MariaDB's strong and vibran>
Apr 30 12:36:00 opensuse151 mysql-systemd-helper[9442]: https://mariadb.org/get-involved/
Apr 30 12:36:00 opensuse151 mysql-systemd-helper[9513]: 2020-04-30 12:36:00 140479655942336 [Note] />
Apr 30 12:36:00 opensuse151 systemd[1]: Started MySQL server.


- mysql の初期導入 -

mysql_secure_installation コマンドで、データベースの初期セットアップをします。

opensuse151:~ # mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.


Enter current password for root (enter for none):
<--- パスワードは未セットなので[Enter]
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password: <----- 新しい mysql の root パスワード
Re-enter new password: <----- 新しい mysql の root パスワード
Password updated successfully!
Reloading privilege tables..
... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y <---- 後はデフォルトで Yes です。
... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!
opensuse151:~ #



- php-fpm.conf ファイルの変更 -

php-fpm の導入はこちらを参考にしてください。

SUSE Linux 15(openSUSE15.1 Leap) で php7 on nginx
https://islandcnt.exblog.jp/240241791/

/etc/php7/fpm/php-fpm.conf ファイルのオリジナルのバックアップを取って、php-fpm.conf.default を上書きコピーしてから

error_log = log/php-fpm.log

の行のコメントを外して、有効化します。


opensuse151:~ # ls /etc/php7/fpm/
php-fpm.conf  php-fpm.conf.default  php-fpm.d
opensuse151:~ # cp /etc/php7/fpm/php-fpm.conf /etc/php7/fpm/php-fpm.conf.org
opensuse151:~ # cp /etc/php7/fpm/php-fpm.conf.default /etc/php7/fpm/php-fpm.conf

opensuse151:~ # ls /etc/php7/fpm/ -l
total 24
-rw-r--r-- 1 root root 4410 Apr 30 13:13 php-fpm.conf
-rw-r--r-- 1 root root 4410 Mar 10 02:19 php-fpm.conf.default
-rw-r--r-- 1 root root 4409 Apr 30 13:13 php-fpm.conf.org
drwxr-xr-x 1 root root   48 Apr 11 14:00 php-fpm.d
opensuse151:~ #

opensuse151:~ # gedit /etc/php7/fpm/php-fpm.conf &

次の行を有効化します。

error_log = log/php-fpm.log

SUSE Linux 15(openSUSE Leap)に mariadb、phpMyAdmin を入れるまで_a0056607_13291077.png

- phpMyAdmin のインストール -

yast/yast2 から Software > Software Management より phpMyAdmin をサーチしてインストールします。

もしくは zypper install します。

別バージョンの openSUSE のパッケージの場合 software.opensuse.org の1クリックインストールが便利です。


SUSE Linux 15(openSUSE Leap)に mariadb、phpMyAdmin を入れるまで_a0056607_13374108.png


- phpmyadmin.conf の作成 -

/etc/nginx/vhosts.d/phpmyadmin.conf を次の様に作成します。これを作らないと mysql がライブラリエラーを吐きます。

opensuse151:~ # cat /etc/nginx/vhosts.d/phpmyadmin.conf
server {
   listen 80;

   server_name localhost/phpMyAdmin;

  root /srv/www/htdocs/phpMyAdmin;

   location / {
       try_files $uri /index.php?$args;
   }

   location ~ \.php$ {
       try_files $uri =404;
       fastcgi_pass 127.0.0.1:9000;
       fastcgi_index index.php;
       include fastcgi_params;
   }
}

SUSE Linux 15(openSUSE Leap)に mariadb、phpMyAdmin を入れるまで_a0056607_13294383.png



- nginx と php-fpm の再起動 -

systemctrl か yast の Service Manager から nginx と php-fpm を再起動します。

opensuse151:~ # systemctl restart nginx
opensuse151:~ # systemctl restart php-fpm

ブラウザから、 phpMyAdmin の index.php を開きます。

http://host_ip/phpMyAdmin/index.php

root/ "mysql_secure_installation で設定したパスワード" でログインします。

SUSE Linux 15(openSUSE Leap)に mariadb、phpMyAdmin を入れるまで_a0056607_13301780.png

無事に立ち上がりました。

SUSE Linux 15(openSUSE Leap)に mariadb、phpMyAdmin を入れるまで_a0056607_13304517.png

phpMyAdmin ドキュメンテーション

Welcome to phpMyAdmin's documentation!

これで、SQLにくわしくなくても、MySQL のデータベースの管理ができます。








by islandcenter | 2020-05-06 10:10 | SUSE | Comments(0)