Category Archives: Linux

CentOS7環境でのmunin/rrdtoolsの文字化けはvlgothic-fontsで対処


CentOS7環境でmuninを使ったら、文字化けっぽいものが・・・
何が原因なのかわからなかったので、切り分けのために、以前作った「IIJmioクーポンスイッチAPIを使って使用量グラフ作成」のrrdtoolをCentOS7環境で実行してみた

rrdtool graph test-year.png --imgformat=PNG \
--height=300 \
--width=600 \
--lower-limit=0 \
--end now --start end-14months \
--vertical-label "MB" \
--x-grid WEEK:1:MONTH:1:MONTH:1:0:%m/%d \
--units-exponent 0 \
--title="IIJmioの1年分使用量" \
DEF:SIM1C=hdo~.rrd:withCoupon:LAST \
DEF:SIM1N=hdo~.rrd:withoutCoupon:LAST \
DEF:SIM2C=hdo~.rrd:withCoupon:LAST \
DEF:SIM2N=hdo~.rrd:withoutCoupon:LAST \
DEF:SIM3C=hdo~.rrd:withCoupon:LAST \
DEF:SIM3N=hdo~.rrd:withoutCoupon:LAST \
DEF:SIM4C=hdo~.rrd:withCoupon:LAST \
DEF:SIM4N=hdo~.rrd:withoutCoupon:LAST \
DEF:SIM5C=hdo~.rrd:withCoupon:LAST \
DEF:SIM5N=hdo~.rrd:withoutCoupon:LAST \
CDEF:SIM1=SIM1C,SIM1N,+ \
CDEF:SIM2=SIM2C,SIM2N,+ \
CDEF:SIM3=SIM3C,SIM3N,+ \
CDEF:SIM4=SIM4C,SIM4N,+ \
CDEF:SIM5=SIM5C,SIM5N,+ \
LINE2:SIM1#0000FF:"SIM1" \
LINE2:SIM2#00FFFF:"SIM2" \
LINE2:SIM3#00FF00:"SIM3" \
LINE2:SIM4#F00F00:"SIM4" \
LINE2:SIM5#FFFF00:"SIM5"

すると下記のように「IIJmioの1年分使用量」のうち日本語文字列である「の」「年分使用量」が化けている。

では、何を追加インストールすればいいのか?
CentOS5環境では「fonts-japanese」であった。
しかし、CentOS7環境ではこのパッケージ名は存在していない。

CentOS5環境でのパッケージ情報を確認

# yum info fonts-japanese
Loaded plugins: fastestmirror, priorities
base                                                                  3667/3667
Installed Packages
Name       : fonts-japanese
Arch       : noarch
Version    : 0.20061016
Release    : 4.el5
Size       : 40 M
Repo       : installed
Summary    : フリーな日本語のビットマップ/TrueType フォント
License    : Distributable
Description: This package provides the free Japanese Bitmap/TrueType fonts.
#

そして、CentOS7環境でTrueTypeで検索してみる。

# yum search "TrueType"
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * epel: ftp.jaist.ac.jp
 * extras: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
============================ N/S matched: TrueType =============================
SDL2_ttf.x86_64 : TrueType font rendering library for SDL2
SDL_ttf.x86_64 : Simple DirectMedia Layer TrueType Font library
baekmuk-ttf-batang-fonts.noarch : Korean Baekmuk TrueType Batang typeface
baekmuk-ttf-dotum-fonts.noarch : Korean Baekmuk TrueType Dotum typeface
baekmuk-ttf-fonts-common.noarch : Common files for Korean Baekmuk TrueType fonts
baekmuk-ttf-fonts-ghostscript.noarch : Ghostscript files for Korean Baekmuk
                                     : TrueType fonts
baekmuk-ttf-gulim-fonts.noarch : Korean Baekmuk TrueType Gulim typeface
baekmuk-ttf-hline-fonts.noarch : Korean Baekmuk TrueType Headline typeface
cjkuni-ukai-fonts.noarch : Chinese Unicode TrueType font in Kai face
cjkuni-uming-fonts.noarch : Chinese Unicode TrueType font in Ming face
libfonts.noarch : TrueType Font Layouting
mftrace.x86_64 : Utility for converting TeX bitmap fonts to Type 1 or TrueType
               : fonts
sazanami-fonts-common.noarch : Common files for Sazanami Japanese TrueType fonts
sazanami-gothic-fonts.noarch : Sazanami Gothic Japanese TrueType font
sazanami-mincho-fonts.noarch : Sazanami Mincho Japanese TrueType font
ttembed.x86_64 : Remove embedding limitations from TrueType fonts
ttf2pt1.x86_64 : TrueType to Adobe Type 1 font converter
ttmkfdir.x86_64 : Utility to create fonts.scale files for truetype fonts
vlgothic-fonts.noarch : Japanese TrueType font
vlgothic-p-fonts.noarch : Proportional Japanese TrueType font

  Name and summary matches only, use "search all" for everything.
#

「vlgothic-fonts.noarch : Japanese TrueType font」が怪しそうなので「yum install vlgothic-fonts.noarch」を実行してインストール。

そして、rrdtoolsを再実行して生成した画像が↓

というわけで、CentOS7環境でmunin/rrdtoolsで日本語文字列が化けるときは「vlgothic-fonts」をインストールすればよい、ということがわかった。

ミュンヘン市のLinuxディストリビューションLiMuxは死んでる?


「無料のLibreOfficeをやめて有料のWindowsとOfficeに戻すべき」という市議会の議論について開発元が反論」という記事が公開されている。

これは、ドイツのミュンヘン市が、古いWindowsとMicrosoft Officeの変わりに、LinuxとOpenOfficeを採用した、という話のその後のことである。

英語のWikipedia「LiMux」と、ドイツ語のWikipedia「LiMux
そして、標準のOpenOffice/LibreOfficeには無く、ミュンヘン市で必要な機能を追加するための拡張モジュール「WollMux」というのが、現状確認できる文献であるようだ。

初期はDebianベースで開発され、安定して配布するために、専用ディストリビューションLiMuxという形態を取るようになったようだ。

2010年12月のLiMux 3ではUbuntu 8.10をベースに、カスタマイズされたOpenOffice
2011年08月のLiMux 4ではUbuntu 10.04 LTSベースで、OpenOffice + WollMux拡張モジュール
2012年08月のLiMux 4.1ではUbuntu 10.04 LTSベース、OpenOffice + WollMux拡張モジュール
2014年11月のLiMux 5ではUbuntu 12.04 LTSベース、LibreOffice + WollMux拡張モジュール

LinuxディストリビューションとしてのLiMuxは、これ以降の情報はなく、公式サイトも現存していないようだ。
LiMux 5で使用しているUbuntu 12.04LTSのサポート期限は、2017年4月となっているため、これ以降の更新がなければ、死亡、という感じである。

ということで、少なくとも、ミュンヘン市の事例については、Linuxディストリビューションを作成してのLinuxデスクトップの運用計画、という面では、失敗しているのは間違い無いようだ。

一般的なUbuntuデスクトップベースでの運用に切り替わっているのか、それともWindowsベースの運用なのか、はたまた、サポート切れのLiMux(Ubuntu)デスクトップを無理矢理使っていくのかは、はっきりと見えていない。


Wikipediaの記事を見ていると、このミュンヘン市の事例に触発されたように、自治体が主体となって作成したLinuxディストリビューションがいくつかあるようだ。

Canaima
 公式サイト:CANIMA GNU/LINUX
 ベネズエラ政府系で作成しているディストリビューションで、2007年から2017年の現在も継続して提供されているもの
 最新版はCANIMA 5.0でDebianベースで開発されている。

GendBuntu
 フランスの国家憲兵隊で作成しているディストリビューション。
 Ubuntuベースで開発されていたが、2014年6月のUbuntu 12.04LTSベースのもののリリース後、死んでいるようだ

Zorin OS
 公式サイト:Zorin OS
 イタリア ヴィチェンツァ市で採用されているLinuxディストリビューション。(市が作ってるわけではない)
 Ubuntuベースで開発され、最新のZorin12はUbuntu 16.04LTSベースであるようだ。

Armbianの初期設定項目


いつもなんとなくやっちゃってるArmbianの初期設定
忘れないようにメモ書きを作成

その1: rootの初期パスワード
「1234」
初回ログイン時に変更する

その2: とりあえずOSアップデート
Armbian自体の更新+Ubuntu/Debianの更新を実施
「apt-get update」「apt-get upgrade」

その3: NFSクライアントインストール
うちの環境ではOrange Pi Plus2によるNFSサーバがあり、データ共有をしているのでnfs-commonをインストール
「apt-get install nfs-common」

その4: Locale/Timezone設定
言語設定
「dpkg-reconfigure locales」
タイムゾーン設定
「dpkg-reconfigure tzdata」
キーボードの言語設定(キー配列)
「dpkg-reconfigure keyboard-configuration」

その5:動作CPU範囲設定
ファイル「/etc/default/cpufrequtils」にて記載。
機種によって異なり、Orange Pi Oneでは下記の様に、「480MHz~1200MHz」がCPUの動作範囲となる

ENABLE=true
MIN_SPEED=480000
MAX_SPEED=1200000
GOVERNOR=interactive

ファイルを編集した場合は、「service cpufrequtils restart」で適用

Power Shell Core 6.0をCentOS7で使ってみる


2017/02/01にPowerShell Core 6.0がLinux環境向けにもリリースされた
Installing latest PowerShell Core 6.0 Release on Linux just got easier!

PowerShellの開発はGithubの「https://github.com/PowerShell/PowerShell」で行われており、導入手順も書かれている。
github上の「Linux向けインストール手順」では、直接RPMファイル/debファイルを指定してインストールする、というものが記載されている。

しかし、「Installing latest PowerShell Core 6.0 Release on Linux just got easier!」の記事の中では、yumやaptなどでプログラムの更新をサポートする形でのインストール手順が示されている。

CentOS7だと下記のようになる

# curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/microsoft.repo
# yum install powershell
#

実際に実行してみると下記の様になります。

[root@blog ~]# curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/microsoft.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   193  100   193    0     0    209      0 --:--:-- --:--:-- --:--:--   210
[root@blog ~]# yum install powershell
読み込んだプラグイン:fastestmirror, langpacks
packages-microsoft-com-prod                              | 2.9 kB     00:00
packages-microsoft-com-prod/primary_db                     | 9.9 kB   00:00
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ftp.riken.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ powershell.x86_64 0:6.0.0_alpha.15-1.el7.centos を インストール
--> 依存性の処理をしています: uuid のパッケージ: powershell-6.0.0_alpha.15-1.el7.centos.x86_64
--> 依存性の処理をしています: libicu のパッケージ: powershell-6.0.0_alpha.15-1.el7.centos.x86_64
--> 依存性の処理をしています: libunwind のパッケージ: powershell-6.0.0_alpha.15-1.el7.centos.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ libicu.x86_64 0:50.1.2-15.el7 を インストール
---> パッケージ libunwind.x86_64 2:1.1-5.el7_2.2 を インストール
---> パッケージ uuid.x86_64 0:1.6.2-26.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
 Package   アーキテクチャー
                  バージョン                  リポジトリー                 容量
================================================================================
インストール中:
 powershell
           x86_64 6.0.0_alpha.15-1.el7.centos packages-microsoft-com-prod  39 M
依存性関連でのインストールをします:
 libicu    x86_64 50.1.2-15.el7               base                        6.9 M
 libunwind x86_64 2:1.1-5.el7_2.2             base                         56 k
 uuid      x86_64 1.6.2-26.el7                base                         55 k

トランザクションの要約
================================================================================
インストール  1 パッケージ (+3 個の依存関係のパッケージ)

総ダウンロード容量: 46 M
インストール容量: 64 M
Is this ok [y/d/N]: y
Downloading packages:
(1/4): uuid-1.6.2-26.el7.x86_64.rpm                        |  55 kB   00:00
(2/4): libunwind-1.1-5.el7_2.2.x86_64.rpm                  |  56 kB   00:00
(3/4): libicu-50.1.2-15.el7.x86_64.rpm                     | 6.9 MB   00:04
warning: /var/cache/yum/x86_64/7/packages-microsoft-com-prod/packages/powershell-6.0.0_alpha.15-1.el7.centos.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID be1229cf: NOKEY
powershell-6.0.0_alpha.15-1.el7.centos.x86_64.rpm の公開鍵がインストールされていません
(4/4): powershell-6.0.0_alpha.15-1.el7.centos.x86_64.rpm   |  39 MB   00:21
--------------------------------------------------------------------------------
合計                                               2.2 MB/s |  46 MB  00:21
https://packages.microsoft.com/keys/microsoft.asc から鍵を取得中です。
Importing GPG key 0xBE1229CF:
 Userid     : "Microsoft (Release signing) <gpgsecurity@microsoft.com>"
 Fingerprint: bc52 8686 b50d 79e3 39d3 721c eb3e 94ad be12 29cf
 From       : https://packages.microsoft.com/keys/microsoft.asc
上記の処理を行います。よろしいでしょうか? [y/N]y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : uuid-1.6.2-26.el7.x86_64                        1/4
  インストール中          : 2:libunwind-1.1-5.el7_2.2.x86_64                2/4
  インストール中          : libicu-50.1.2-15.el7.x86_64                     3/4
  インストール中          : powershell-6.0.0_alpha.15-1.el7.centos.x86_64   4/4
  検証中                  : powershell-6.0.0_alpha.15-1.el7.centos.x86_64   1/4
  検証中                  : libicu-50.1.2-15.el7.x86_64                     2/4
  検証中                  : 2:libunwind-1.1-5.el7_2.2.x86_64                3/4
  検証中                  : uuid-1.6.2-26.el7.x86_64                        4/4

インストール:
  powershell.x86_64 0:6.0.0_alpha.15-1.el7.centos

依存性関連をインストールしました:
  libicu.x86_64 0:50.1.2-15.el7         libunwind.x86_64 2:1.1-5.el7_2.2
  uuid.x86_64 0:1.6.2-26.el7

完了しました!
[root@blog ~]#

が・・・
私の環境では、いつもの癖で「ls」と実行してしまったら・・・

bash-4.2$ ls
11-0-1-0048_SAS_FW_Image_1-40-342-1650.zip  MegaSAS.log  sql  web  work
bash-4.2$ powershell
PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.

PS /home/osakanataro> ls
11-0-1-0048_SAS_FW_Image_1-40-342-1650.zip  MegaSAS.log  sql  web  work
(ここで応答が無くなる)

ん???
UNIX系コマンドをPowerShellから実行した場合の動作に難有りなのかも?

PS /home/osakanataro> Get-Item *| ForEach-Object { $_ }


    Directory: /home/osakanataro


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-r---       2017/02/06     17:35                sql
d-----       2017/02/03     19:08                web
d-----       2017/02/03     19:19                work
------       2017/01/04     13:01        1528036 11-0-1-0048_SAS_FW_Image_1-40-
                                                 342-1650.zip
--r---       2017/01/04     13:07            390 MegaSAS.log

PS /home/osakanataro> dir


    Directory: /home/osakanataro


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-r---       2017/02/06     17:35                sql
d-----       2017/02/03     19:08                web
d-----       2017/02/03     19:19                work
------       2017/01/04     13:01        1528036 11-0-1-0048_SAS_FW_Image_1-40-
                                                 342-1650.zip
--r---       2017/01/04     13:07            390 MegaSAS.log


PS /home/osakanataro>

PwerShellらしいこと、ということで、下記の処理をやってみる

PS /home/osakanataro> $results=Get-Item *| ForEach-Object { $_ }
PS /home/osakanataro> $results | Export-Csv test.csv -Encoding UTF  (タブ補完で候補を出す)
UTF32  UTF7   UTF8
PS /home/osakanataro> $results | Export-Csv test.csv -Encoding UTF8 -No  (タブ補完で候補を出す)
NoClobber          NoOverwrite        NoTypeInformation
PS /home/osakanataro> $results | Export-Csv test.csv -Encoding UTF8 -NoTypeInformation
PS /home/osakanataro>

出力結果のcsvは、Windows上のPowerShellで実行した場合と同じ書式のモノとなりました。


以下はおまけ。
Microsoftのレポジトリとして指定されている「https://packages.microsoft.com/rhel/7/prod/」とか「https://packages.microsoft.com/config/rhel/7/」を見ていくとなかなか面白い
https://packages.microsoft.com/config/rhel/7/mssql-server.repo」という用にCentOS7向けのMSSQL Serverっぽいレポジトリファイルがある。RPMファイルは「https://packages.microsoft.com/rhel/7/mssql-server/」にある。

MSSQL Serverのインストール手順については「Install SQL Server on Linux」を参照のこと。

Allwinner H5搭載Orange Pi PC2向けにArmbianの開発中版が出た


Allwinner H5搭載のOrange Pi PC2で動くLinux OSは、Orange Pi公式が出しているDebianとUbuntuだけでした。

Orange Pi公式の問題点は1つ。
kernelのアップデート提供実績がほぼ無い。
ある場合はOSイメージまるごと配布。

こんなんじゃ、継続運用に使えないわけです。
Allwinner系を中心にARM SoC向けにDebian/Ubuntuベースのディストリビューションとして「Armbian」というものがあります。
Allwinner H3搭載のOrange Pi向けも各機種出てますが、この度、Orange Pi PC2向けも登場しました。

Armbain for Orange Pi PC2

現状は、まだNightly版ということで開発中のモノしかありません。
「Warning: nightly downloads are automated untested builds and no end user support is provided for them!」とあるように、とりあえず出している、というやつです。

しかしながら、X-Windowが表示されるDesktop版も、しばらく使ってみた感じでは問題無く動いているようですし、一般的な用途では使えそうです。
ただ、ヒートシンクもしくは冷却ファンが必須です。
標準状態ではかなり発熱します。

2017/02/07時点でダウンロード可能な「Armbian_5.24.170202_Orangepipc2_Ubuntu_xenial_dev_4.10.0_desktop.7z」は、Ubuntu 16.04.1で、Linux kernelは4.10.0と、現在開発中の最新Linux kernelをベースとしています。