第4章 個別の Software Collections の詳細

本章では、特定の Software Collections の詳細に重点を置き、これらのコンポーネントに関する追加情報を提供します。

4.1. Red Hat Developer Toolset

Red Hat Developer Toolset は、Red Hat Enterprise Linux プラットフォームで作業する開発者向けに設計されています。Red Hat Developer Toolset は、現在のバージョンのGNU Compiler CollectionGNU Debugger、およびその他の開発、デバッグ、パフォーマンス監視ツールを提供します。他の Software Collections と同様に、追加のツールセットが /opt/ ディレクトリーにインストールされます。これらのツールは、提供された scl ユーティリティーを使用してオンデマンドでユーザーが有効にします。他の Software Collections と同様に、これらのツールの Red Hat Enterprise Linux システムバージョンを置き換えることはありません。また、scl ユーティリティーを使用して明示的に呼び出されない限り、これらのシステムバージョンを優先して使用することもできます。
機能の概要については、『Red Hat Developer Toolset Release Notes』のMain Featuresセクションを参照してください。
コンポーネントの完全なリストについては、『Red Hat Developer Toolset User Guide』 のRed Hat Developer Toolset Components表を参照してください。
なお、Red Hat Developer Toolset 3.1 以降、Red Hat Developer Toolset にはrh-java-common Software Collection が必要です。

4.2. Eclipse 4.6.3

Red Hat Enterprise Linux 7 で利用可能なrh-eclipse46 Software Collection には、Eclipse Foundation の Neon release train をベースにしたEclipse 4.6.3 が含まれています。この統合開発環境は、以前は Red Hat Developer Toolset の一部として提供されていました。なお、rh-eclipse46 Software Collection にはrh-java-common Collection が必要です。
注記
Eclipse の新しいバージョンが、Red Hat Developer Tools オファリングの rh-eclipse47 コンポーネントとして提供されています。詳しくは、Using Eclipseをご覧ください。
Eclipse は、開発プロセスの各フェーズにツールを提供する強力な開発環境です。豊富な開発エクスペリエンスを実現するためにさまざまな異種ツールを統一された環境に統合し、完全に設定可能なユーザーインターフェイスを提供して、さまざまな方法で拡張できるプラグイン可能なアーキテクチャーを特長としています。たとえば、Valgrind プラグインを使用すると、プログラマーは、Eclipse ユーザーインターフェイスを介してコマンドラインで実行されるメモリープロファイリングを実行できます。

図4.1 Eclipse セッションの例

Eclipse セッションの例
Eclipse は、コマンドラインツールを使用した従来の対話に代わるグラフィカル開発環境を提供するため、コマンドラインインターフェイスを使用しない開発者にとっては歓迎される代わりの手段となります。従来のほぼコマンドラインベースの Linux ツール (gccgdb など) および Eclipse は、プログラミングに対して 2 つの異なるアプローチを提供します。
なお、Red Hat JBoss Middleware 用のアプリケーションを開発する場合や、OpenShift Tools のサポートが必要な場合は、Red Hat JBoss Developer Studioを使用することを推奨します。

表4.1 rh-eclipse46 Software Collection に含まれる Eclipse コンポーネント

パッケージ説明
rh-eclipse46-eclipse-cdt C や C++での開発のための機能やプラグインを提供する C/C++ Development Tooling(CDT)。
rh-eclipse46-eclipse-changelog チェンジログファイルを作成、管理するための ChangeLog プラグイン。
rh-eclipse46-eclipse-egit EGit は、Git リポジトリーと対話するための機能とプラグインを提供する Eclipse のチームプロバイダーです。
rh-eclipse46-eclipse-emf Eclipse Modeling Framework (EMF)。構造化データモデルに基づいてアプリケーションを構築できます。
rh-eclipse46-eclipse-epp-logging Eclipse エラー報告ツール。
rh-eclipse46-eclipse-gcov GCov プラグイン 。GCov テストカバレッジプログラムを Eclipse と統合します。
rh-eclipse46-eclipse-gef 既存のアプリケーションモデルからリッチなグラフィカルエディターを作成することができる Graphical Editing Framework(GEF) です。
rh-eclipse46-eclipse-gprof Gprof プラグイン 。Gprof パフォーマンス分析ユーティリティーを Eclipse と統合します。
rh-eclipse46-eclipse-jdt Eclipse Java 開発ツール (JDT) プラグイン。
rh-eclipse46-eclipse-jgit JGit、Git リビジョン管理システムの Java 実装。
rh-eclipse46-eclipse-manpage Man Page プラグイン。Eclipse で man ページを表示できるようにします。
rh-eclipse46-eclipse-mpc Eclipse Marketplace Client。
rh-eclipse46-eclipse-mylyn Eclipse のタスク管理システムである Mylyn。
rh-eclipse46-eclipse-oprofile OProfile プラグイン。OProfileEclipse を統合します。
rh-eclipse46-eclipse-pde Eclipse プラグインを開発するためのプラグイン開発環境です。
rh-eclipse46-eclipse-perf Perf プラグイン。perf ツールを Eclipse と統合します。
rh-eclipse46-eclipse-ptp 同期プロジェクトをサポートするPTP projectのサブセット。
rh-eclipse46-eclipse-pydev Eclipse 用のフル機能の Python IDE
rh-eclipse46-eclipse-remote 拡張可能なリモートサービスのフレームワークを提供する Remote Services プラグインです。
rh-eclipse46-eclipse-rpm-editor Eclipse Spec File Editor。RPM 仕様ファイルを管理できます。
rh-eclipse46-eclipse-rse Remote System Explorer (RSE) フレームワーク。Eclipse からリモートシステムを操作できるようになります。
rh-eclipse46-eclipse-systemtap SystemTap プラグイン。SystemTapEclipse を統合します。
rh-eclipse46-eclipse-valgrind Valgrind プラグイン。ValgrindEclipse を統合します。
rh-eclipse46-eclipse-webtools Eclipse Webtools プラグイン。

4.2.1. Eclipse のインストール

Eclipse 開発環境は、RPM パッケージのコレクションとして提供されます。rh-eclipse46 Software Collection をインストールするには、root として次のコマンドを入力します。
yum install rh-eclipse46
利用可能なコンポーネントのリストについては、表4.1「rh-eclipse46 Software Collection に含まれる Eclipse コンポーネント」 を参照してください。
注記
rh-eclipse46 Software Collection は、C、C++、Java の開発を完全にサポートしていますが、Fortran プログラミング言語のサポートはありません

4.2.2. Eclipse の使用

rh-eclipse46 Software Collection を起動するには、パネルから ApplicationsProgrammingRed Hat Eclipse を選択するか、Shell プロンプトで以下を入力します。
scl enable rh-eclipse46 eclipse
Eclipse の起動中に、ワークスペース、つまりプロジェクトを保存するディレクトリーを選択するように求められます。デフォルトのオプションである ~/workspace/ を使用するか、Browse ボタンをクリックしてファイルシステムを参照し、カスタムディレクトリーを選択できます。さらに、Use this as the default and do not ask again チェックボックスを選択して、次回この開発環境を実行するときに Eclipse がこのダイアログボックスを表示しないようにすることもできます。完了したら、OK ボタンをクリックして選択を確認し、起動を続行します。

4.2.2.1. Red Hat Developer Toolset Toolchain の使用

Red Hat Developer Toolset の GNU Compiler Collectionbinutils をサポートする rh-eclipse46 Software Collection を使用するには、devtoolset-7-toolchain パッケージがインストールされていることを確認し、「Eclipse の使用」 で説明されているようにアプリケーションを実行します。rh-eclipse46 Collection は、デフォルトで Red Hat Developer Toolset ツールチェーンを使用します。
お使いのシステムに devtoolset-7-toolchain パッケージをインストールする方法の詳細は、Red Hat Developer Toolset User Guide をご覧ください。
重要
以前に Red Hat Enterprise Linux 版のGNU Compiler Collection でビルドしたプロジェクトで作業する場合は、以前のビルド結果をすべて破棄してください。これを行うには、Eclipse でプロジェクトを開き、メニューから ProjectClean を選択します。

4.2.2.2. Red Hat Enterprise Linux Toolchain の使用

Red Hat Enterprise Linux で配布されるツールチェーンへのサポートのある rh-eclipse46 Software Collection を使用するには、プロジェクトの設定を変更して、Red Hat Enterprise Linux システムバージョンの gccg++、および as への絶対パスを使用します。
現在のプロジェクトでツールの Red Hat Enterprise Linux システムバージョンを明示的に使用するように Eclipse を設定するには、以下の手順を実行します。
  1. C/C++ パースペクティブで、メインメニューバーから ProjectProperties を選択して、プロジェクトプロパティーを開きます。
  2. ダイアログボックスの左側にあるメニューで、C/C++ BuildSettings をクリックします。
  3. Tool Settings タブを選択します。
  4. C プロジェクトで作業している場合は、以下を行います。
    1. GCC C Compiler または Cross GCC Compiler を選択し、Command フィールドの値を次のように変更します。
      /usr/bin/gcc
    2. GCC C Linker または Cross GCC Linker を選択し、Command フィールドの値を次のように変更します。
      /usr/bin/gcc
    3. GCC Assembler または Cross GCC Assembler を選択し、Command フィールドの値を次のとおりに変更します。
      /usr/bin/as
    C++ プロジェクトで作業している場合:
    1. GCC C++ Compiler または Cross G++ Compiler を選択し、Command フィールドの値を次のように変更します。
      /usr/bin/g++
    2. GCC C Compiler または Cross GCC Compiler を選択し、Command フィールドの値を次のように変更します。
      /usr/bin/gcc
    3. GCC C++ Linker または Cross G++ Linker を選択し、Command フィールドの値を次のように変更します。
      /usr/bin/g++
    4. GCC Assembler または Cross GCC Assembler を選択し、Command フィールドの値を次のとおりに変更します。
      /usr/bin/as
  5. OK ボタンをクリックすると、設定変更が保存されます。

4.2.3. 関連情報

Eclipse とそのすべての機能の詳細な説明は、本書の範囲を超えています。詳細は、以下に記載のドキュメントを参照してください。

インストールされているドキュメント

  • Eclipse には、統合された各機能およびツールに関する幅広いドキュメントを提供する ヘルプ システムが組むこまれています。これにより、新規開発者が使いこなせるようになるまでの初期投資を大幅に軽減することができます。このヘルプセクションの使用方法は、以下にリンクされている『Red Hat Enterprise Linux Developer Guide』 で詳しく説明されています。

関連項目

  • Using Eclipse: Red Hat Developer Tools のrh-eclipse47 コンポーネントの使用について説明しています。
  • Red Hat Developer Toolset User Guide』のRed Hat Developer Toolsetの章では、Red Hat Developer Toolset の概要と、システムへのインストール方法の詳細を説明しています。
  • Red Hat Developer Toolset User Guide』のGNU Compiler Collection(GCC)の章では、C、C++、Fortran で書かれたプログラムをコマンドラインでコンパイルする方法が紹介されています。

4.3. Ruby on Rails 5.0

Red Hat Software Collections 3.0 はrh-ruby24 Software Collection をrh-ror50 Collection と共に提供します。
Ruby on Rails 5.0 をインストールするには、root で以下のコマンドを入力します。
yum install rh-ror50
rh-ror50 Software Collection のパッケージをインストールすると、依存関係にあるrh-ruby24rh-nodejs6 が自動的に取り込まれます。
rh-nodejs6 Collection は、アセットパイプライン内の特定の gem が、sasscoffee-script のソースファイルなどの Web リソースを後処理するために使用します。また、Action Cable フレームワークは、rh-nodejs6 Rails で WebSocket を処理するためのものです。
rh-nodejs6 を必要とせずに rails s コマンドを実行するには、Gemfile 内の coffee-rails gem と uglifier gem を無効にします。
Node.js なしで Ruby on Rails を実行するには、次のコマンドを実行します。実行すると、自動的に rh-ruby24 が有効になります。
scl enable rh-ror50 bash
すべての機能を備えた Ruby on Rails を実行するには、rh-nodejs6 Software Collection も有効にします。
scl enable rh-ror50 rh-nodejs6 bash
rh-ror50 Software Collection は、rh-ruby24rh-nodejs6 のコンポーネントと共にサポートされています。

4.4. MongoDB 3.4

rh-mongodb34 Collection をインストールするには、root で次のコマンドを入力します。
yum install rh-mongodb34
MongoDB シェルユーティリティーを実行するには、以下のコマンドを入力します。
scl enable rh-mongodb34 'mongo'
注記
rh-mongodb34-mongo-cxx-driver パッケージは、Red Hat Developer Toolset 6 の GCC を使用して -std=gnu++14 オプションでビルドされています。C++11 (以降) の機能を使用する MongoDB C++ ドライバーの共有ライブラリーを使用するバイナリーは、Red Hat Developer Toolset 6 でもビルドする必要があります。Red Hat Developer Toolset 6 User Guide の C++ compatibility を参照してください。

Red Hat Enterprise Linux 6 上の MongoDB 3.4

Red Hat Enterprise Linux 6 を使用している場合は、以下の手順がシステムに適用されます。
MongoDB デーモンを起動するには、root で以下のコマンドを入力します。
service rh-mongodb34-mongod start
システムの起動時に MongoDB デーモンを起動するには、root でこのコマンドを入力します。
chkconfig rh-mongodb34-mongod on
MongoDB シャードサーバーを起動するには、root でこのコマンドを入力します。
service rh-mongodb34-mongos start
システムの起動時に MongoDB シャードサーバーを起動するには、root で以下のコマンドを入力します。
chkconfig rh-mongodb34-mongos on
少なくとも 1 つの設定サーバーを起動し、mongos.conf ファイルで指定しない限り、MongoDB シャーディングサーバーは機能しないことに注意してください。

Red Hat Enterprise Linux 7 の MongoDB 3.4

Red Hat Enterprise Linux 7 を使用する場合は、以下のコマンドを使用できます。
MongoDB デーモンを起動するには、root で以下のコマンドを入力します。
systemctl start rh-mongodb34-mongod.service
システムの起動時に MongoDB デーモンを起動するには、root でこのコマンドを入力します。
systemctl enable rh-mongodb34-mongod.service
MongoDB シャードサーバーを起動するには、root で以下のコマンドを入力します。
systemctl start rh-mongodb34-mongos.service
システムの起動時に MongoDB シャードサーバーを起動するには、root でこのコマンドを入力します。
systemctl enable rh-mongodb34-mongos.service
少なくとも 1 つの設定サーバーを起動し、mongos.conf ファイルで指定しない限り、MongoDB シャーディングサーバーは機能しないことに注意してください。

4.5. Git

Git は、分散アーキテクチャーを備えた分散リビジョン管理システムです。クライアントサーバーモデルの集中型バージョン管理システムとは対照的に、Git は Git リポジトリーの各作業コピーが、完全なリビジョン履歴を持つ正確なコピーであることを保証します。これにより、変更内容を公式リポジトリーにプッシュする許可を得なくても、プロジェクトに取り組み、貢献することができるだけでなく、ネットワーク接続がなくても作業ができるようになります。詳細は、『Red Hat Enterprise Linux 7 開発者ガイド』 の Git の章 を参照してください。

4.6. Maven

Red Hat Enterprise Linux 7 でのみ利用可能なrh-maven35 Software Collection は、ソフトウェアのプロジェクト管理と理解を深めるツールを提供します。Maven はプロジェクトオブジェクトモデル (POM) の概念に基づいて、プロジェクトのビルド、レポート、およびドキュメントを一元的な情報から管理できます。
rh-maven35 Collection をインストールするには、root で以下のコマンドを入力します。
yum install rh-maven35
このコレクションを有効にするには、シェルプロンプトで以下のコマンドを入力します。
scl enable rh-maven35 bash
リモートリポジトリーやミラーなど、Maven のグローバル設定は、/opt/rh/rh-maven35/root/etc/maven/settings.xmlファイルを編集することでカスタマイズできます。
Maven の使用に関する詳細は、Maven ドキュメント を参照してください。プラグインの使用法については、こちらのセクション で説明します。個々のプラグインに関するドキュメントをお探しの場合は、プラグインのインデックス を参照してください。

4.7. パッセンジャー

rh-passenger40 Software Collection は、高速、堅牢、軽量に設計された Web およびアプリケーションサーバーである Phusion Residential を提供します。
rh-passenger40 Collection は、特に ruby193ruby200rh-ruby22 Software Collection など、複数のバージョンの Ruby を、ror40 または rh-ror41 コレクションを使用した Ruby on Rails とともにサポートしています。いずれかの Ruby Software Collection で Passenger を使用する前に、対応するパッケージを rh-passenger40 Collection (rh-passenger-ruby193rh-passenger-ruby200、または rh-passenger-ruby22 パッケージ) からインストールしてください。
rh-passenger40 Software Collection は、httpd24 Software Collection の Apache httpd とともに使用することもできます。そのためには、rh-passenger40-mod_passenger パッケージをインストールしてください。Apache httpd 設定の例については、デフォルト設定ファイル /opt/rh/httpd24/root/etc/httpd/conf.d/passenger.conf を参照してください。これには、単一の Apache httpd インスタンスで複数の Ruby バージョンを使用する方法が示されています。
さらに、rh-passenger40 Software Collection は、nginx16 Software Collection の nginx 1.6 Web サーバーとともに使用できます。nginx 1.6rh-passenger40 とともに使用するには、Web アプリケーションのディレクトリーで次のコマンドを使用して、Passenger をスタンドアロンモードで実行します。
scl enable nginx16 rh-passenger40 'passenger start'
または、アップストリームのPassenger documentationに記載されているように、nginx16 設定ファイルを編集してください。

4.8. データベースコネクター

データベースコネクターパッケージは、データベースサーバーへのローカルまたはリモート接続に必要なデータベースクライアント機能を提供します。表4.2「言語とデータベース間の相互運用性」 特定のデータベースサーバーのコネクターを含む言語ランタイムを含む Software Collections をリスト表示します。

表4.2 言語とデータベース間の相互運用性

 Database
言語 (Software Collection)MariaDBMongoDBMySQLPostgreSQLRedis
rh-nodejs4
rh-nodejs6
rh-nodejs8
rh-perl520
rh-perl524
rh-php56
rh-php70
rh-php71
python27
rh-python34
rh-python35
rh-python36
rh-ror50
rh-ror42
rh-ror41
サポート対象
サポート対象外