2014/09/09

CentOS 7でmozcを使う・その8・デスクトップの設定

デスクトップ右上の「ja」をクリックする。

「地域と言語の設定」を選択する。
「地域と言語」の「設定」画面が表示される。

CentOS 7でmozcを使う・その7・Emacsの設定

Emacsでmozcを利用できるよう設定する。
[alice@centos02 SPECS]$ cd
[alice@centos02 ~]$ cat >> .emacs <<'EOL'

;; for mozc
(require 'mozc)
(setq default-input-method "japanese-mozc")
[alice@centos02 ~]$ emacs -nw
EOL
[alice@centos02 ~]$ 

その0・Fedora 19レポジトリの準備
その1・mozcのビルド#1/2
その2・protobufのビルドとインストール
その3・zinniaおよびtomoeのビルドとインストール
その4・gypのビルド・インストール
その5・mozcのビルド#2/2とインストール
その6・Emacsの設定
その7・デスクトップの設定

CentOS 7でmozcを使う・その6・mozcのビルド#2/2とインストール

mozcのビルドに必要なパッケージはすべて準備出来た。

mozcのビルドを試みる。
[alice@centos02 SPECS]$ rpmbuild -ba mozc.spec
実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.hQQUlx
+ umask 022
+ cd /home/alice/rpmbuild/BUILD
+ cd /home/alice/rpmbuild/BUILD
<<略>>
  g++ '-DOS_LINUX' '-DMOZC_BUILD' '-DCHANNEL_DEV' '-DENABLE_GTK_RENDERER' '-DMOZC_ENABLE_UNITTEST' '-DNDEBUG' '-DQT_NO_DEBUG' '-DNO_LOGGING' '-DIGNORE_HELP_FLAG' '-DIGNORE_INVALID_FLAG' -I. -Iout_linux/Release/obj/gen  -Wall -Wno-char-subscripts -Wno-sign-compare -Wno-deprecated-declarations -Wwrite-strings -fPIC -fno-exceptions -fmessage-length=0 -fno-strict-aliasing -funsigned-char -include base/namespace.h -pipe -pthread -fno-omit-frame-pointer -fstack-protector --param=ssp-buffer-size=4 -O2 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -Wno-deprecated -std=gnu++0x -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -MMD -MF out_linux/Release/.deps/out_linux/Release/obj.target/http_client/net/proxy_manager.o.d.raw  -c -o out_linux/Release/obj.target/http_client/net/proxy_manager.o net/proxy_manager.cc
net/http_client.cc:587:9: note: #pragma message: HTTPClient is disabled.
 MOZC_COMPILE_MESSAGE("HTTPClient is disabled.");
         ^
  LD_LIBRARY_PATH=/home/alice/rpmbuild/BUILD/mozc-1.15.1814.102/out_linux/Release/lib.host:/home/alice/rpmbuild/BUILD/mozc-1.15.1814.102/out_linux/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd gui; mkdir -p /home/alice/rpmbuild/BUILD/mozc-1.15.1814.102/out_linux/Release/obj/gen/gui/tool; /usr/lib64/qt-3.3/bin/rcc -o "/home/alice/rpmbuild/BUILD/mozc-1.15.1814.102/out_linux/Release/obj/gen/gui/tool/qrc_mozc_tool.cc" -name qrc_mozc_tool tool/mozc_tool.qrc
/bin/sh: /usr/lib64/qt-3.3/bin/rcc: No such file or directory
make: *** [out_linux/Release/obj/gen/gui/tool/qrc_mozc_tool.cc] Error 127
make: *** Waiting for unfinished jobs....
Traceback (most recent call last):
  File "build_mozc.py", line 1467, in 
    main()
  File "build_mozc.py", line 1463, in main
    procedure[1](cmd_opts, cmd_args, original_directory_name)
  File "build_mozc.py", line 1086, in BuildMain
    BuildOnLinux(options, targets, original_directory_name)
  File "build_mozc.py", line 1042, in BuildOnLinux
    RunOrDie([make_command] + build_args + target_names)
  File "/home/alice/rpmbuild/BUILD/mozc-1.15.1814.102/build_tools/util.py", line 97, in RunOrDie
    '==========']))
build_tools.util.RunOrDieError:
==========
 ERROR: make -j2 MAKE_JOBS=2 BUILDTYPE=Release builddir_name=out_linux V=1 ibus_mozc mozc_emacs_helper mozc_server mozc_tool mozc_renderer
==========
エラー: /var/tmp/rpm-tmp.nwszNW の不正な終了ステータス (%build)


RPM ビルドのエラー:
    /var/tmp/rpm-tmp.nwszNW の不正な終了ステータス (%build)
[alice@centos02 SPECS]$
ビルドが失敗する。
原因は、/usr/lib64/qt-3.3/bin/rccが存在しないため。

CentOS 7でmozcを使う・その5・gypのビルド・インストール

gypをビルドする。

展開する。
[alice@centos02 SPECS]$ cd
[alice@centos02 ~]$ rpm -ivh gyp-0.1-0.10.1617svn.fc19.src.rpm
警告: gyp-0.1-0.10.1617svn.fc19.src.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID fb4b18e6: NOKEY
更新中 / インストール中...
   1:gyp-0.1-0.10.1617svn.fc19        ################################# [100%]
警告: ユーザー mockbuild は存在しません - root を使用します
警告: グループ mockbuild は存在しません - root を使用します
警告: ユーザー mockbuild は存在しません - root を使用します
<<略>>
警告: グループ mockbuild は存在しません - root を使用します
[alice@centos02 ~]$ 

CentOS 7でmozcを使う・その4・zinniaおよびtomoeのビルドとインストール

続いて、zinniaのビルドを試みる。
[alice@centos02 SPECS]$ cd
[alice@centos02 ~]$ rpm -ivh zinnia-0.06-16.fc19.src.rpm
警告: zinnia-0.06-16.fc19.src.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID fb4b18e6: NOKEY
更新中 / インストール中...
   1:zinnia-0.06-16.fc19              ################################# [100%]
警告: ユーザー mockbuild は存在しません - root を使用します
警告: グループ mockbuild は存在しません - root を使用します
警告: ユーザー mockbuild は存在しません - root を使用します
<<略>>
警告: グループ mockbuild は存在しません - root を使用します
[alice@centos02 ~]$ cd rpmbuild/SPECS/
[alice@centos02 SPECS]$ rpmbuild -ba zinnia.spec
警告: %changelog に偽の日付: Fri Mar 04 2010 Liang Suilong  - 0.05-3
警告: %changelog に偽の日付: Wed Mar 02 2010 Liang Suilong  - 0.05-2
エラー: ビルド依存性の失敗:
        tomoe は zinnia-0.06-16.el7.centos.x86_64 に必要とされています
[alice@centos02 SPECS]$
パッケージtomoeが不足していることが判る。

tomoeは、CentOS 7用レポジトリに存在していない。
[alice@centos02 SPECS]$ cd
[alice@centos02 ~]$ yum info tomoe
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
エラー: 表示するパッケージはありません
[alice@centos02 ~]$

CentOS 7でmozcを使う・その3・protobufのビルドとインストール

まず、protobufのビルドを試みる。
基本的な手順は、mozcと同じ。
[alice@centos02 ~]$ rpm -ivh protobuf-2.5.0-4.fc19.src.rpm
警告: protobuf-2.5.0-4.fc19.src.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID fb4b18e6: NOKEY
更新中 / インストール中...
   1:protobuf-2.5.0-4.fc19            ################################# [100%]
警告: ユーザー mockbuild は存在しません - root を使用します
警告: グループ mockbuild は存在しません - root を使用します
<<略>>
警告: グループ mockbuild は存在しません - root を使用します
[alice@centos02 ~]$ cd rpmbuild/SPECS/
[alice@centos02 SPECS]$ rpmbuild -ba protobuf.spec
Package emacs was not found in the pkg-config search path.
Perhaps you should add the directory containing `emacs.pc'
to the PKG_CONFIG_PATH environment variable
No package 'emacs' found
エラー: ビルド依存性の失敗:
        emacs-el >= 24.1 は protobuf-2.5.0-4.el7.centos.x86_64 に必要とされてい ます
        python-devel は protobuf-2.5.0-4.el7.centos.x86_64 に必要とされています
        java-devel >= 1.6 は protobuf-2.5.0-4.el7.centos.x86_64 に必要とされています
        maven-local は protobuf-2.5.0-4.el7.centos.x86_64 に必要とされています
        maven-compiler-plugin は protobuf-2.5.0-4.el7.centos.x86_64 に必要とされています
        maven-install-plugin は protobuf-2.5.0-4.el7.centos.x86_64 に必要とされ ています
        maven-jar-plugin は protobuf-2.5.0-4.el7.centos.x86_64 に必要とされてい ます
        maven-javadoc-plugin は protobuf-2.5.0-4.el7.centos.x86_64 に必要とされ ています
        maven-resources-plugin は protobuf-2.5.0-4.el7.centos.x86_64 に必要とさ れています
        maven-surefire-plugin は protobuf-2.5.0-4.el7.centos.x86_64 に必要とされています
        maven-antrun-plugin は protobuf-2.5.0-4.el7.centos.x86_64 に必要とされています
[alice@centos02 SPECS]$
不足しているパッケージについて、CentOS 7用レポジトリからインストールを試みる。

CentOS 7でmozcを使う・その2・mozcのビルド#1/2

mozcのSRPMをダウンロードし、ビルド(コンパイル)を試みる。
[alice@centos02 ~]$ yumdownloader --source --enablerepo=fedora,fedora-updates mozc
読み込んだプラグイン:fastestmirror, langpacks
Enabling base-source repository
Enabling updates-source repository
<<略>>
警告: /home/alice/mozc-1.15.1814.102-1.fc19.src.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID fb4b18e6: NOKEY
mozc-1.15.1814.102-1.fc19.src.rpm の公開鍵がインストールされていません
mozc-1.15.1814.102-1.fc19.src.rpm                          |  35 MB   02:40
[alice@centos02 ~]$

rpm -ivh」で展開する。
~/rpmbuildに展開される。
[alice@centos02 ~]$ rpm -ivh mozc-1.15.1814.102-1.fc19.src.rpm
警告: mozc-1.15.1814.102-1.fc19.src.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID fb4b18e6: NOKEY
更新中 / インストール中...
   1:mozc-1.15.1814.102-1.fc19        ################################# [100%]
警告: ユーザー mockbuild は存在しません - root を使用します
警告: グループ mockbuild は存在しません - root を使用します
<<略>>
警告: グループ mockbuild は存在しません - root を使用します
[alice@centos02 ~]$

CentOS 7でmozcを使う・その1・Fedora 19レポジトリの準備

Fedora 19用yumレポジトリを利用できるようにする。

RPMファイルを展開するために、rpmdevtoolsを導入する。
[root@centos02 ~]# yum install -y rpmdevtools
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
依存性の解決をしています
<<略>>
インストール:
  rpmdevtools.noarch 0:8.3-5.el7

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

RPMパッケージをダウンロードする。
[alice@centos02 ~]$ wget 'http://ftp.jaist.ac.jp/pub/Linux/Fedora/releases/19/Fedora/x86_64/os/Packages/f/fedora-release-19-2.noarch.rpm'
--2014-09-08 21:54:53--  http://ftp.jaist.ac.jp/pub/Linux/Fedora/releases/19/Fedora/x86_64/os/Packages/f/fedora-release-19-2.noarch.rpm
ftp.jaist.ac.jp (ftp.jaist.ac.jp) をDNSに問いあわせています... 150.65.7.130, 2001:df0:2ed:feed::feed
ftp.jaist.ac.jp (ftp.jaist.ac.jp)|150.65.7.130|:80 に接続しています... 接続しま した。
<<略>>
2014-09-08 21:54:54 (77.5 KB/s) - `fedora-release-19-2.noarch.rpm' へ保存完了 [32472/32472]

[alice@centos02 ~]$

CentOS 7でmozcを使う・その0・概要

RHEL 7 (Red Hat Enterprise Linux 7)やCentOS 7などの互換OSでは、標準で日本語入力にkkcを利用できる。
しかし、このkkcは、非常に使いづらい。
この代替として、mozcを導入する方法を紹介する。

Mozcは、Google 日本語入力の流れを汲む、日本語IME(Input Method Editor)。
複数のUNIX系OSをはじめ、Windowsにも対応している。

2014/09/07

CentOS 7とvmware-tools

RHEL 7 (Red Hat Enterprise Linux 7)互換のCentOS 7をVMware ESXi上のゲストOSとして動かす場合、vmware-toolsを別途インストールする必要が無い。

CentOS 7には、標準パッケージにvmware-tools相等のものが入っている。
それを利用すれば、OS起動後にVMwareが提供するvmware-toolsを別途インストールする必要が無い。
パッケージグループとしては、guest-agentsおよびguest-desktop-agentsをインストールすればよい。
$ yum --disablerepo=epel groups info guest-agents guest-desktop-agents
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile

グループ: ゲストエージェント
 グループ ID: guest-agents
 説明: ハイパーバイザー配下で稼働する場合に使用するエージェントです。
 強制的なパッケージ:
   =hyperv-daemons
   =open-vm-tools
   =qemu-guest-agent

グループ: ゲストデスクトップエージェント
 グループ ID: guest-desktop-agents
 説明: 仮想化したデスクトップとして稼働する場合に使用するエージェントです。
 強制的なパッケージ:
   =open-vm-tools-desktop
    qemu-guest-agent
   =spice-vdagent
$
なお、上の実行例では、yumコマンドで非標準レポジトリであるepelを無効化するために、disablerepoオプションを使用している。

2014/08/24

CentOS 7のKickstartファイル中でrepoコマンドのnameオプションを使う場合の注意

Red Hat Enterprise Linux 7 (RHEL7)互換OS、CentOS 7のインストールをAnaconda Kickstartで自動化する場合、CentOS 6までとは、異なる動作をする場合がある。

Kickstartファイルでrepoコマンドを使う場合、CentOS 6までは、
repo --name="CentOS Update (Local)" --baseurl=http://centos.repository.local/centos/6/updates/x86_64 --cost=1
の様に、nameオプションに空白を含んだ文字列を指定しても問題なく動作したと思う

ところが、CentOS 7では、このように指定した場合、このレポジトリは無視されてしまう。
従って例えば、
repo --name=CentOS-Update-Local --baseurl=http://centos.repository.local/centos/7/updates/x86_64 --cost=1
の様に、空白を含まない文字列を指定する必要がある。

2014/06/22

NSConfigSheet

About

NSConfigSheet is a Microsoft Windows PowerShell moudle to convert a Juniper ScreenOS configuration file into a configuration sheet in format of Microsoft Word document.
You can get NSConfigSheet here:

Download

https://github.com/jolly-jive/NSConfigSheet

Install

Copy NSConfigSheet directory into any direcotory in your $env:PSModulePath.
You can also use this module without install by executing as follows:
Import-Module <<path to the NSConfigSheet directorygt;>

Licensing

NSConfigSheet is released under the General Public License version 3.
For more licensing information, see http://www.gnu.org/licenses/gpl-faq.html and http://www.gnu.org/licenses/exceptions.html.
For any copyright year range specified as YYYY-ZZZZ in this package note that the range specifies every single year in that closed interval.

Trademarks

All names of products and services are trademarks or registered trademarks of their respective companies.

2014/05/28

PowerCLI: 無償利用のESXを5.1から5.5 update 1に更新・その7・メンテナンスモードの解除

再起動後の状態はメンテナンスモードである。
メンテナンスモードを解除し、状態を確認する。

PowerCLI: 無償利用のESXを5.1から5.5 update 1に更新・その6・再起動

更新に成功したら、再起動する。

PowerCLI: 無償利用のESXを5.1から5.5 update 1に更新・その5・更新

更新を実施する。

PowerCLI: 無償利用のESXを5.1から5.5 update 1に更新・その4・メンテナンスモードへの移行

すべてのゲスト機を停止したら、作業対象ESXiをメンテナンスモードに切り替える。

PowerCLI: 無償利用のESXを5.1から5.5 update 1に更新・その3・ゲスト機の停止

作業前に、作業対象ESXiをメンテナンスモードに切り替える必要があるが、その前に作業対象ESXi上のすべてのゲスト機を停止する。

PowerCLI: 無償利用のESXを5.1から5.5 update 1に更新・その2・ESXCLIオブジェクト

作業対象ESXiに接続し、ESXCLIメソッドを確認する。

PowerCLI: 無償利用のESXを5.1から5.5 update 1に更新・その1・ダウンロード

まず、必要なファイルを作業対象のESXiがアクセスできる場所にダウンロードする。

2014/05/27

PowerCLI: 無償利用のESXを5.1から5.5 update 1に更新・その0・概要

ESXi 5.5 update 1が公開された。『VMware ESXi 5.5, Patch ESXi550-Update01: ESXi 5.5 Complete Update 1 (2065832)
今回は、無償ライセンスで動いているESXi 5.1を5.5 update 1に更新する方法を紹介する。
有償ライセンスで使えるコマンドレットが無償ライセンスでは使えない場合があるので、代わりにESXCLIオブジェクトを使って作業する。

その0・概要
その1・ダウンロード
その2・ESXCLIオブジェクト
その3・ゲスト機の停止
その4・メンテナンスモードへの移行
その5・更新
その6・再起動
その7・メンテナンスモードの解除

2014/05/26

PowerCLI: 無償利用のESXiにNFSデータストアを操作

PowerCLIからNFSデータストアを追加する方法を紹介する。
有償ライセンスでは、New-Datastoreコマンドレットを使うが、無償ライセンスではエラーになってしまう。これをvSphere CLI (ESXCLI)を使って回避する。

2014/05/20

PowerCLI: 無償利用のESXiでWrite操作を実行する

ESXiは、無償・無料で利用できるライセンスがあるが、PowerCLIでこのライセンスを導入したESXiに接続すると、システムの動作を変更する操作(write operation、write操作)を実行することができない。例えば、仮想ホストをメンテナンスモードに移行しようとすると、エラーになる。

実際に実行して試してみる。まず、仮想ホストesxi01に接続する。
PowerCLI vis:¥> Connect-VIServer -Server esxi01 -User 管理者ユーザ名 -Password '管理者パスワード'

Name                           Port  User
----                           ----  ----
esxi01                         443   管理者ユーザ名


PowerCLI vis:¥>

現在の状態をGet-VMHostコマンドレットを使って確認する。
PowerCLI vis:¥> Get-VMHost

Name                 ConnectionState PowerState NumCpu CpuUsageMhz CpuTotalMhz   MemoryUsageGB   MemoryTotalGB Version
----                 --------------- ---------- ------ ----------- -----------   -------------   ------------- -------
esxi01               Connected       PoweredOn       2          78        4266           1.293          11.999   5.5.0


PowerCLI vis:¥>
「ConnectionState」が「Connected」即ち、接続中であることが判る。

状態の変更には、Set-VMHostコマンドレットを使う。
PowerCLI vis:¥> Set-VMHost -State Maintenance
Set-VMHost : 2014/05/20 17:41:52    Set-VMHost        Current license or ESXi version prohibits execution of the requested operation.
発生場所 行:1 文字:1
+ Set-VMHost -State Maintenance
+ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
    + CategoryInfo          : NotSpecified: (:) [Set-VMHost], RestrictedVersion
    + FullyQualifiedErrorId : Client20_ComputeResourceServiceImpl_VmHostEnterMaintenaceMode_ViError,VMware.VimAutomation.ViCore.
   Cmdlets.Commands.SetVMHost

PowerCLI vis:¥>
ライセンスの問題で、要求した操作を実行できない。

PowerCLI: 接続時の証明書に関する警告を抑制

ESXiインストール直後の状態では、PowerCLI上でConnect-VIServerコマンドレットなどを使って当該ESXiに接続すると、X.509証明書に関する警告が表示される。
PowerCLI vis:¥> Connect-VIServer -Server esxi01 -User 管理者ユーザ名 -Password '管理者パスワード'
警告: There were one or more problems with the server certificate for the server esxi01:443:

* The X509 chain could not be built up to the root certificate.

* The certificate's CN name does not match the passed value.

Certificate: [Subject]
  OID.1.2.840.113549.1.9.2="1333622464,564d7761726520496e632e", CN=localhost.localdomain, E=ssl-certificates@vmware.com,
OU=VMware ESX Server Default Certificate, O="VMware, Inc", L=Palo Alto, S=California, C=US

[Issuer]
  O=VMware Installer

[Serial Number]
  4A6C787339575678

[Not Before]
  2012/04/05 19:41:05

[Not After]
  2023/10/05 19:41:05

[Thumbprint]
  CAFD0D77AB938E6B5A70D01262BA4C7FC79121FA



The server certificate is not valid.

警告: THE DEFAULT BEHAVIOR UPON INVALID SERVER CERTIFICATE WILL CHANGE IN A FUTURE RELEASE. To ensure scripts are not affected by
 the change, use Set-PowerCLIConfiguration to set a value for the InvalidCertificateAction option.


Name                           Port  User
----                           ----  ----
esxi01                         443   管理者ユーザ名


PowerCLI vis:¥> 
実用上、問題は無いが、この警告を抑制する方法を紹介する。

2014/05/19

PowerCLI: VMware ESXiにライセンスをインストールする。

VMware vSphere PowerCLIは、PowerShellを使ってvShpereやvCloudを管理するコマンドレット群(cmdlets)。ESXi/ESXやvCenter Serverに接続して、対話的な管理作業が可能で、スクリプトによる管理作業の自動化することもできる。

今回は、これを使って、ライセンス導入作業を実施する。

2014/05/12

劣化してベタベタになったラバーコーティングを除去する

注意: 作業は自己責任でお願いします。

ラバーコーティングは、製品の表面をゴムで被覆する仕上げ方で、見た目につや消しで高級感があり、すべり止め効果もあるため、広く使われている。

しかしながら、経年劣化により加水分解しやすく、結果ベタつき、埃や指紋などが付着し、見苦しくなることがある。

基本的に、劣化したものを元に戻す方法は無い。
ここでは、次善策として、ラバーコーティングを除去する方法を紹介したい。