まだプログラマーですが何か?

プログラマーネタとアスリートネタ中心。たまに作成したウェブサービス関連の話も http://twitter.com/dotnsf

タグ:redhat

Ubuntu の標準形式でありながら、CentOS や RHEL(RedHat Enterprise Linux) ではそのままでは扱えない deb パッケージを rpm パッケージに変換する方法があります。

具体的には alien コマンドを利用します。 まずこの alien コマンドを CentOS や RHEL 環境上でビルドします:
# yum install rpm-build
# cd /tmp
# wget http://ftp.debian.org/debian/pool/main/a/alien/alien_8.92.tar.gz
# rpmbuild -ta alien_8.92.tar.gz
  :
  :
書き込み完了: /root/rpmbuild/RPMS/noarch/alien-8.92-1.noarch.rpm
  :
  :
# rpm -ivh /root/rpmbuild/RPMS/noarch/alien-8.92-1.noarch.rpm

ここまでの作業で alien コマンドがインストールできているので、このコマンドを使って deb パッケージを rpm パッケージへ変換します:
# alien --to-rpm --scripts xxx.deb
xxx.rpm generated

こうして出来上がった rpm ファイルは rpm コマンドや yum コマンドで導入可能です。
 

このエントリの続きです:
レッドハットの開発者向けサブスクリプション(無料)を使ってみた


上記エントリで、レッドハット社が開発者向けに無料で提供を開始した RHEL 7.2 の導入方法を紹介しました。普通に導入して使うまでであれば、この方法で問題なくできるはずです。

が、この状態から新しいツールを yum でインストールしようとして躓きました。ライセンスを購入して利用しているわけではないので、標準のレポジトリを使うことができず、結局 yum の利用ができないのです:
2016042701


というわけで、インストール時に使ったメディア DVD(iso)を使って yum のリポジトリを作り、そこから yum でツールを導入できるようにしてみます。


まずはインストールメディアを RHEL システム内にマウントします。DVD で所有している場合はトレイに入れるだけで自動的にマウントしてくれるはずです。iso ファイルで所有している場合は、以下のコマンドを使ってマウントします(この例では /root/rhel-server-7.2-x86_64-dvd.iso ファイルを /mnt/iso にマウントします):
# mount -t iso9660 -o loop /root/rhel-server-7.2-x86_64-dvd.iso /mnt/iso

次に /etc/yum.repos.d/localdvd.repo ファイルを以下の内容で新規に作成します。マウントした iso(または DVD)をリポジトリとするための記述になってます:
[localdvd]
name=RHEL 7.2 x86_64 DVD
baseurl=file:///mnt/iso/
enabled=1
gpgcheck=0
gpgkey=file:///mnt/iso/RPM-GPG-KEY-redhat-release

そしてリポジトリリストを更新します:
# yum repolist all

これで DVD(iso) の中にあるパッケージファイルが yum で導入できるようになりました。普通に yum install コマンドなどが使えるようになっている、はず:
# yum install screen


日本時間の 2016 年 4 月 1 日に、レッドハット社から驚きの発表がありました:
No-Cost RHEL Developer Subscription now available

2016040101



開発(者)向け、という条件は付きますが、RHEL(RedHat Enterprise Linux) を含む Devloper Suite が無料でダウンロード可能になった、というものです。マジか!?これはタチの悪いエイプリルフールだろ?と思ったのですが、このニュースは米国時間の 3 月 31 日にリリースされており、エイプリルフールではなさそうです。。

自分はこれまで RHEL のコミュニティ版ともいえる CentOS ばかり使っていましたが、ついにこの領域にレッドハット社が脚を踏み入れることになるとは。。 色々な事情や背景も考えられますが、なにはともあれ使えるものなら使ってみたいわけです(笑)。試してみました。


まずは RHEL のダウンロードサイトへ行ってみると、既にこの発表を反映した内容になっています:
http://developers.redhat.com/products/rhel/download/

2016040102


このサイトから RHEL 7 がダウンロードできるようになっている模様です。リンクをクリックすると、アカウントログインが求められます。RedHat Developer アカウントを持っている場合は入力、持っていない場合は新規に作成してログインします。各種SNSの情報に紐付けたサインインもできるようです:
2016040103


そしてアカウントプロファイル作成後にログインすると、その場から RHEL サーバーの ISO イメージのダウンロードが開始されました(バージョン 7.2 の 64bit 版でした。そういや 7.x って 32bit 版ないんだっけ)。インストールなど、ダウンロード後の作業手順についてもここから参照できるようです:
2016040104


といっても特別な手順が必要なわけではなく、普通に ISO(DVD) からブートできます:
2016040105


インストーラーも普通でした。最初に日本語選んでおけばインストール作業から日本語GUIで行えます:
2016040106


インストールが完了してリブートした直後の画面がこちらです。"LICENSE INFORMATION" に警告マークがついているので、ここをクリックします:
2016040107


ライセンス条項を読み、確認して、同意にチェックを入れ、左上の「完了」ボタンで戻ります:
2016040108


画面が戻ると先程の警告マークが消えているはずです。右下のボタンで設定を完了します:
2016040109


「ようこそ」画面が出るので更に進めていきます。すると・・・:
2016040110


じゃーん!
2016040101


個人的には見る機会の少ない RedHat Enterprise Linux のデスクトップ画面が表示されました。7.x になってからは本当に初めてかもしれない。。 ともあれ、無料のアカウント登録だけで本当に使えてしまいました。

動いてしまえば、後は慣れた CentOS の感覚(?)で使えるようになります:
2014040101






IBM Notes を Linux で使いたい、、という需要がどれだけあるかわかりませんが、その導入方法は Windows での場合と比べてちとクセがあります。というわけで、その一連の手順を紹介します。念のため繰り返しますが、Linux にインストールするのは IBM Domino サーバーではなく IBM Notes クライアント、の説明です。


なお、以下で紹介する手順で使う Linux はいろんなクラウドからも提供されていて入手しやすい RHEL(RedHat Enterprise Linux)または CentOS (64bit、バージョンは6)とします。IBM 的には RHEL での動作のみサポートしていて、CentOS はサポート外ですので注意してください。また Notes ID ファイルなどは既に手元にあるものとします。

まず、何はともあれ、RHEL 版(正確には RHEL へのインストールを考慮して用意された rpm 版)の IBM Notes 本体を入手する必要があります。購入するなどして既にお持ち/入手可能な方は読み飛ばしてください。まだお持ちで無い方は無料トライアル版が用意されているのでそちらを使いましょう。IBM developerWorks無料トライアルダウンロードから "Download trial" ボタンをクリックして、IBM ID とパスワード(取得していない場合はこちら(PDF)を参照して無料登録してください)を入力して進んでいくと、どの地域/バージョンの IBM Notes をダウンロードするか、が聞かれます。ここでは現時点で提供されている中では最新版であるバージョン 9.0.1 の "Asia Pacific" 地域を選択して先に進みます:
2014102101


※もちろん英語版を希望する場合は English を選択するなどして、これ以降も適宜読み替えてください。

更に先に進んだ先でサーバー(Domino)かクライアント(Notes)か、プラットフォーム、そして言語を指定します。ここでは Notes クライアントでプラットフォームは rpm 、そして言語に Japanese を選択してダウンロードします。インストール先のシステムが既に用意されている場合は、ダウンロード後は Notes ID などと一緒に SFTP などで転送しておきます:
2014102102


ここでは上記の NC_V9.0.1_LnxRPM_I_JAEva.tar をダウンロードしたものとして、このファイルを目的のサーバーの /tmp 以下に転送済みであるものとします。

次にインストール先システムでの事前準備です。RHEL/CentOS をこれから(ゼロから)インストールするのであれば、最初から日本語デスクトップ利用を前提としたオプションでインストールしてください。AWS など、既に OS がインストール済みのインスタンスを使う場合は、おそらくサーバー用途用の最小構成になっていると思われるので、デスクトップ用に足りないライブラリ等を追加します。具体的には SSH やターミナル等のコマンドラインからこんな感じでしょうか:
# yum groupinstall "X Window System" (X Window)
# yum groupinstall "Desktop" (クライアントデスクトップ)
# yum groupinstall "Japanese Support" (せっかくなので日本語サポート機能も)

日本語サポートまで導入した場合は /etc/sysconfig/i18n を編集して、環境変数 LANG の値を日本語 UTF-8 に指定して再起動します:
LANG="ja_JP.UTF-8"

次に IBM Notes 実行時用のユーザーを作成します。IBM Notes のインストールには root 権限が必要ですが、root ユーザーでは実行できません。別の一般ユーザーが作成済みで、そのユーザーを使うのであればそのユーザーを決めておきます。新たに IBM Notes 実行用のユーザーを作成する必要がある場合は、以下のコマンドで作成します(この例では notesuser というユーザーを新規に作成しています):
# adduser notesuser
# passwd notesuser
  :


また、IBM Notes のインストール作業からはデスクトップ環境が必要になります。必要なライブラリは上記で導入できていますが、SSH などのコマンドラインだけではできない作業が含まれています。実機にアクセスして GNOME のデスクトップを開ける場合はいいのですが、SSH などのリモートコンソールでしか接続出来ない場合は VNC 環境も用意しましょう。RHEL/CentOS への VNC の導入方法についてはこちらを参照ください:
CentOS に VNC サーバーを導入する

これも実機に直接触れる環境があればいいのですが、クラウドなどで VNC 環境を構築する場合の注意点として、上記にもあるように root ユーザーでは IBM Notes を実行できません。一般ユーザー権限で IBM Notes を実行する必要があるため、VNC の接続時にも root 以外の(IBM Notes 用に用意した)一般ユーザーの権限で VNC 接続するよう設定する必要があります。


上記ページの最後の部分までできると、Windows などのリモート環境から今回 IBM Notes をインストールする目的のマシンの GNOME デスクトップが開けるようになっていることになります:



さて、ここからが IBM Notes のインストール作業です。ここからは SSH などのテキストコンソールではなく、実機のモニターや VNC 接続などを使って X Window ベースのデスクトップ環境を開いた上での root 権限で行う必要があります。

まずは IBM developerWorks 等からダウンロードしたインストールモジュールファイルを tar 一時ディレクトリに展開します:
# mkdir /tmp/n9
# cd /tmp/n9
# tar xvf /tmp/NC_V9.0.1_LnxRPM_I_JAEva.tar

展開後のファイルの中に notes.ja.sh(ja 部分は言語によって変わります)というインストール用シェルスクリプトがあるので、これを実行してインストールします。このシェルスクリプトを実行することで必要な rpm を順次導入してくれます:
# ./notes.ja.sh

が、このまま普通に実行すると依存性に関するエラーが大量にでるはずです(実際の出力内容は環境によって異なります): 
エラー: 依存性の欠如:
 gdb は ibm_notes_9.0.1-20131022.1138.i586 に必要とされています
 tcsh は ibm_notes_9.0.1-20131022.1138.i586 に必要とされています
 libart_lgpl_2.so.2 は ibm_notes_9.0.1-20131022.1138.i586 に必要とされています
 libasound.so.2 は ibm_notes_9.0.1-20131022.1138.i586 に必要とされています
 libatk-1.0.so.0 は ibm_notes_9.0.1-20131022.1138.i586 に必要とされています
 libbonobo-2.so.0 は ibm_notes_9.0.1-20131022.1138.i586 に必要とされています
 libbonobo-activation.so.4 は ibm_notes_9.0.1-20131022.1138.i586 に必要とされています
 libnonoboui-2.so.0 は ibm_notes_9.0.1-20131022.1138.i586 に必要とされています
 libcript.so.1 は ibm_notes_9.0.1-20131022.1138.i586 に必要とされています
  :
  :

ここでXXX は ibm_notes_9.0.1-****** に必要とされています」と表示される XXX の部分は、IBM Notes の動作およびインストール時に必要なモジュールであるにも関わらず、まだ同システムに導入されていないもの、いわば「足りないものリスト」です。この内容は同環境に今何がインストールされているか/されていないか によっても変わるので、人によって少なかったり多かったりします。いずれにせよ、ここで表示されるライブラリの一覧を導入しきらない限り IBM Notes はインストールできません。

上記例であれば以下の様な感じで、足りないものを順次、気長に yum でインストールしていきます:
# yum install gdb
# yum install tcsh
# yum install libart_lgpl_2.so.2
# yum install libasound.so.2
#  :

なお、あるモジュールをインストールすることで一緒に他のモジュールが導入されることも珍しくありません(インストール済みだった場合には yum コマンドの結果、"already installed" と表示されます)。エラーとして表示される全てのモジュール回数分だけ繰り返す必要はないと思います。

そして、全ての前提ライブラリの導入が終わったら、再度 IBM Notes のインストールコマンドを実行します:
# ./notes.ja.sh

前提ライブラリの導入漏れがなければインストーラが実行されていきます:
2014102103


Step1 から Step3 までが無事に終わると、インストールは完了です。ちなみにデフォルト設定ではプログラムは /opt/ibm/notes 以下にインストールされています:
2014102104

インストールが完了したので、とうとうセットアップです。ここからは root でない、一般ユーザーの GNOME(X Window) デスクトップ環境で作業することになる点を再度留意してください。

まずメニューから アプリケーション > オフィス(!?) > IBM Notes ができているはずなのでこれを選択します:
2014102105

スプラッシュスクリーンが表示されて、セットアップが開始されます:
2014102106

このようなウィンドウが表われて、使用条件が表示されます。内容を確認して、同意する場合は 1 続いて Enter を押します:
2014102107

Windows/Mac OS X 環境ではお馴染みのセットアップが開始されます:
2014102108

これ以降は基本的に Windows や Mac OS X での作業と変わりありません。Domino サーバーを指定して、ユーザーを指定して、Notes ID ファイルを指定して、パスワードを入力して、・・・という順にセットアップを行っていくだけです。


そして、最終的にセットアップが完了すればノーツクライアントが RHEL/CentOS 上で起動します。次回起動時はメニューから同じ項目を選択すればセットアップを飛ばして起動できます:
2014102109


こうなると今度は、現在 WIndows でしか使えない Domino Designer クライアントや Domino Administrator クライアントも欲しくなる。後者は Web でできないこともないけど、前者は Windows 必須なので。

それにしても IBM Notes って「オフィス」に分類されてるんだ、ふーん。。。

LibreOffice をインストールすると IBM Notes と Office スイートが同じメニューカテゴリに入るのがなんか違和感あるんだよな。。
 2014102110

このページのトップヘ