-
Notifications
You must be signed in to change notification settings - Fork 12
/
INSTALL.ja
164 lines (122 loc) · 7.35 KB
/
INSTALL.ja
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
[This is written in Japanese, please look at INSTALL.en for English version.]
===============================
ソースコードからの Gfarm の構築
===============================
この項では,ソースからの構築について説明します.
バイナリ配布を利用されている方は,このファイルの説明は読み飛ばして構いません.
今回のシステムは,Linux 上で実行テストされています.
構築に関しては NetBSD, Solaris 上でテストされています.
システムの構築のためには,OpenLDAP ないし PostgreSQL の少なくともどちら
か片方と OpenSSL ライブラリが必要です.構築に必要なパッケージについては
以下の「構築に必要なパッケージ」の章を参照下さい.
システムを構築するには,下記のようにします.
Linux と NetBSD 以外の OS では,GNU make を使ってください.
% ./configure [オプション]
% make
% su
Password:
# make install
configure コマンドには,下記のオプションがあります.
・--with-postgresql=ディレクトリ
PostgreSQL のインストールされているディレクトリを指定します.
オプション省略時は自動的にインストールディレクトリの検索が試みられま
す.
・--with-openssl=パッケージ名
OpenSSL のパッケージ名を指定します.
オプション省略時は openssl が指定されます.
・--with-globus=ディレクトリ
認証方式として GSI を可能とします.ディレクトリは Globus toolkit の
インストールされているディレクトリを指定します.ディレクトリを指定し
ないと pkg-config、環境変数 GLOBUS_LOCATION の示すディレクトリが順に
試されます.
Globus toolkit のうち GSSAPI ライブラリが必要となります.
このオプションは省略可能です.
デフォールトでは,インストールされている flavor を自動的に検索します
が,--with-globus-flavor="gcc32dbg" のようにして flavor 名を指定する
ともできます.
・--with-infiniband=ディレクトリ
クライアントとgfsd との間でInfiniBandが利用可能なときRDMAデータ転送を
行うことを可能とします.特別にインストールしたInfiniBandパッケージを
利用する場合はそのディレクトリを指定します.ディレクトリを指定しないと
システムデフォルトのヘッダファイル等が参照されます.
RDMA 転送を有効に行うためにはメモリ資源制限(RLIMIT_MEMLOCK)が十分大きく
なくてはなりません./etc/security/limits.conf を編集して下記のように
制限解除をすることを勧めます.
* hard memlock unlimited
・--without-mtsafe-netdb
ライブラリ関数 getaddrinfo(3) あるいは getnameinfo(3) が,マルチスレッド・
セーフではない場合に,指定が必要です.
・--prefix=ディレクトリ
インストール先のディレクトリを指定します.このオプションを省略した場
合は /usr/local ディレクトリの下にインストールします.
このオプションは省略可能です.
・--sysconfdir=ディレクトリ
設定ファイル「gfarm2.conf」を置くディレクトリを指定します.このオプショ
ンを省略した場合は上記の --prefix オプションで指定したディレクトリの
下の「etc」ディレクトリが指定されたものとみなします.本文書は,オプ
ション --sysconfdir=/etc が指定されたものと仮定して記述してあります.
このオプションは省略可能です.
・--enable-voms
このオプションを指定すると,VOMS の VO,グループ,役割と連携して
Gfarm のグループを管理するためのコマンド群をビルドします.詳しくは
doc/voms-{install,man,dev}.ja を参照してください.
このオプションは省略可能です.
・--enable-xmlattr
XPath による検索が可能な XML 拡張属性を利用するときに指定します.詳
しくは doc/xattr-install.ja および gfxattr,gffindxmlattr のマニュア
ルページを参照してください.
本機能を利用するためには,configure に --with-libxml オプションをつ
けて構築された postgresql-8.3.x 以降が必要となります.
(http://www.postgresql.org/docs/8.3/static/install-procedure.html)
また,config-gfarm 時に -X オプションの指定が必要になります.
このオプションは省略可能です.
・--enable-linuxkernel
linux kernel 2.6 上の Gfarmカーネルドライバーを作成することを指示します。
詳しくは linux/doc/manual.{pdf,doc} を参照してください。
利用するコンパイラを明示したい場合には,環境変数 CC に,コンパイラのコ
マンド名を指定して configure を実行してください.以下は gcc を指定する
例です.
% env CC=gcc ./configure [options]
構築に必要なパッケージ
----------------------
* RPM パッケージ
openssl-devel (CentOS 7 で TLS/SASL認証を用いるには openssl11-devel(*) が必要)
postgresql-devel or libpq-devel
cyrus-sasl-devel (SASL認証に必要)
scitokens-cpp-devel, cyrus-sasl-xoauth2-idp(**) (SASL XOAUTH2 認証に必要)
krb5-devel (Kerberos 認証に必要)
globus-gssapi-gsi-devel(*), pkgconfig (--with-globus オプションに必要)
rdma-core-devel (--with-infiniband オプションに必要)
postgresql, postgresql-server (config-gfarm の実行に必要)
fuse, fuse-devel, libacl-devel (gfarm2fs の構築・実行に必要)
ganglia-gmond-python (config-gf[ms]d-iostat の実行に必要)
python3, python3-docopt(*), python3-schema(*) (gfptar の実行に必要)
ruby (gfjournal{dump,admin} の実行に必要)
jq (jwt-parse の実行に必要)
(*) EPEL RPM リポジトリに含まれます.EPELは以下で利用できます.
# yum install epel-release
(**) https://github.com/oss-tsukuba/cyrus-sasl-xoauth2-idp.git
* Debian パッケージ
libssl-dev
libpq-dev
libsasl2-dev sasl2-bin (SASL認証に必要)
libscitokens-dev, cyrus-sasl-xoauth2-idp(**) (SASL XOAUTH2 認証に必要)
libkrb5-dev (Kerberos 認証に必要)
libglobus-gssapi-gsi-dev, pkg-config (--with-globus オプションに必要)
libibverbs-dev (--with-infiniband オプションに必要)
postgresql, postgresql-client (config-gfarm の実行に必要)
fuse, libfuse-dev, libacl1-dev (gfarm2fs の構築・実行に必要)
python3, python3-docopt, python3-schema (gfptar の実行に必要)
ruby (gfjournal{dump,admin} の実行に必要)
jq (jwt-parse の実行に必要)
(**) https://github.com/oss-tsukuba/cyrus-sasl-xoauth2-idp.git
注:
* TLS 認証および SASL 認証では TLS 1.3 プロトコルを用いますので、
OpenSSL version 1.1 以降が必要です。
OpenSSL のバージョンが 1.1 より古い場合には TLS 認証および SASL 認証が
無効なバイナリが構築されます。
* Cyrus SASL がインストールされていない場合、SASL 認証が無効なバイナリが
構築されます。
* Kerberos がインストールされていない場合、Kerberos 認証が無効なバイナリが
構築されます。
$Id$