2017年5月3日水曜日

Oracle Linux 7.3 に Go (golang-bin) をインストールしてみる。

ふと思い立って、Oracle Linux 7.3 に Go 言語の golang-bin をインストールしてみます。
今回は、ORACLE の Public Yum サーバからインストールします。
[root@vm01 ~]# cat /etc/oracle-release
Oracle Linux Server release 7.3

Yum のリポジトリ構成は、デフォルトのままです。
[root@vm01 ~]# yum repolist
読み込んだプラグイン:ulninfo
リポジトリー ID   リポジトリー名                                            状態
ol7_UEKR4/x86_64  Latest Unbreakable Enterprise Kernel Release 4 for Oracle    333
ol7_latest/x86_64 Oracle Linux 7Server Latest (x86_64)                      18,931
repolist: 19,264

今日の時点まで、とりあえず yum upgrade 済みです。
[root@vm01 ~]# date
2017年  5月  2日 火曜日 23:42:11 JST
[root@vm01 ~]# yum upgrade
読み込んだプラグイン:ulninfo
No packages marked for update
[root@vm01 ~]# uname -r
4.1.12-94.2.1.el7uek.x86_64

golang-bin は、ol7_latest にあります。
[root@vm01 ~]# yum list golang-bin
読み込んだプラグイン:ulninfo
利用可能なパッケージ
golang-bin.x86_64                    1.6.3-1.el7_2.1                    ol7_latest

ただインストールしようとしたところ、パッケージの依存関係でエラーが・・・
[root@vm01 ~]# yum install -y golang-bin
読み込んだプラグイン:ulninfo
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ golang-bin.x86_64 0:1.6.3-1.el7_2.1 を インストール
--> 依存性の処理をしています: go = 1.6.3-1.el7_2.1 のパッケージ: golang-bin-1.6.3-1.el7_2.1.x86_64
--> 依存性の処理をしています: gcc のパッケージ: golang-bin-1.6.3-1.el7_2.1.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ gcc.x86_64 0:4.8.5-11.el7 を インストール
--> 依存性の処理をしています: cpp = 4.8.5-11.el7 のパッケージ: gcc-4.8.5-11.el7.x86_64
--> 依存性の処理をしています: glibc-devel >= 2.2.90-12 のパッケージ: gcc-4.8.5-11.el7.x86_64
--> 依存性の処理をしています: libmpc.so.3()(64bit) のパッケージ: gcc-4.8.5-11.el7.x86_64
--> 依存性の処理をしています: libmpfr.so.4()(64bit) のパッケージ: gcc-4.8.5-11.el7.x86_64
---> パッケージ golang-bin.x86_64 0:1.6.3-1.el7_2.1 を インストール
--> 依存性の処理をしています: go = 1.6.3-1.el7_2.1 のパッケージ: golang-bin-1.6.3-1.el7_2.1.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ cpp.x86_64 0:4.8.5-11.el7 を インストール
---> パッケージ glibc-devel.x86_64 0:2.17-157.el7_3.1 を インストール
--> 依存性の処理をしています: glibc-headers = 2.17-157.el7_3.1 のパッケージ: glibc-devel-2.17-157.el7_3.1.x86_64
--> 依存性の処理をしています: glibc-headers のパッケージ: glibc-devel-2.17-157.el7_3.1.x86_64
---> パッケージ golang-bin.x86_64 0:1.6.3-1.el7_2.1 を インストール
--> 依存性の処理をしています: go = 1.6.3-1.el7_2.1 のパッケージ: golang-bin-1.6.3-1.el7_2.1.x86_64
---> パッケージ libmpc.x86_64 0:1.0.1-3.el7 を インストール
---> パッケージ mpfr.x86_64 0:3.1.1-4.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ glibc-headers.x86_64 0:2.17-157.el7_3.1 を インストール
--> 依存性の処理をしています: kernel-headers >= 2.2.1 のパッケージ: glibc-headers-2.17-157.el7_3.1.x86_64
--> 依存性の処理をしています: kernel-headers のパッケージ: glibc-headers-2.17-157.el7_3.1.x86_64
---> パッケージ golang-bin.x86_64 0:1.6.3-1.el7_2.1 を インストール
--> 依存性の処理をしています: go = 1.6.3-1.el7_2.1 のパッケージ: golang-bin-1.6.3-1.el7_2.1.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ golang-bin.x86_64 0:1.6.3-1.el7_2.1 を インストール
--> 依存性の処理をしています: go = 1.6.3-1.el7_2.1 のパッケージ: golang-bin-1.6.3-1.el7_2.1.x86_64
---> パッケージ kernel-headers.x86_64 0:3.10.0-514.16.1.el7 を インストール
--> 依存性解決を終了しました。
エラー: パッケージ: golang-bin-1.6.3-1.el7_2.1.x86_64 (ol7_latest)
             要求: go = 1.6.3-1.el7_2.1
 問題を回避するために --skip-broken を用いることができます。
 これらを試行できます: rpm -Va --nofiles --nodigest
[root@vm01 ~]#

ol7_optional_latest の golang-bin であれば、
うまいぐあいに依存関係をパスできました。
[root@vm01 ~]# yum install --enablerepo=ol7_optional_latest -y golang-bin

下記のような感じになりました。微妙に新しい golang-bin の RPM です。
依存性を解決しました

==================================================================================
 Package           アーキテクチャー
                             バージョン              リポジトリー            容量
==================================================================================
インストール中:
 golang-bin        x86_64    1.6.3-2.el7             ol7_optional_latest     43 M
依存性関連でのインストールをします:
 cpp               x86_64    4.8.5-11.el7            ol7_latest             5.9 M
 gcc               x86_64    4.8.5-11.el7            ol7_latest              16 M
 glibc-devel       x86_64    2.17-157.el7_3.1        ol7_latest             1.1 M
 glibc-headers     x86_64    2.17-157.el7_3.1        ol7_latest             668 k
 golang            x86_64    1.6.3-2.el7             ol7_optional_latest    1.1 M
 golang-src        noarch    1.6.3-2.el7             ol7_optional_latest    3.9 M
 kernel-headers    x86_64    3.10.0-514.16.1.el7     ol7_latest             4.8 M
 libmpc            x86_64    1.0.1-3.el7             ol7_latest              49 k
 mpfr              x86_64    3.1.1-4.el7             ol7_latest             198 k

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

総ダウンロード容量: 77 M
インストール容量: 309 M

インストールできました。
[root@vm01 ~]# yum list golang-bin
読み込んだプラグイン:ulninfo
インストール済みパッケージ
golang-bin.x86_64                1.6.3-2.el7                @ol7_optional_latest
[root@vm01 ~]# go version
go version go1.6.3 linux/amd64

以上、OL 7.3 に ただ Go が Go をインストールしてみる話でした。

0 件のコメント:

コメントを投稿