Amazon EC2のRHEL6にgit-lfsをインストールするには

    この記事は公開してから1年以上経過しており、情報が古い可能性がありますのでご了承ください。

    SIOS AppKeeper開発チームの清水です。

    今回はSIOS AppKeeperのサービスとは関係なく、開発メンバーがハマった技術TIPSを共有したいと思います。

    SIOS AppKeeperチームではコードの管理にgitを利用しており、そのgitのエクステンションに、サイズが大きいファイルも扱いやすくする git-lfs があります。

    今回は git-lfs を EC2 の Red Hat Enterprise Linux 6.7_HVM_20160219 AMI から作成したインスタンスにインストールします。
    公式の インストール手順 をみると

    curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.rpm.sh | sudo bash
    sudo yum install git-lfs

    を実行すれば良さそうです。いざやってみると…

    [ec2-user@ip-172-16-0-38 ~]$ curl -s https://packagecloud.io/install/repositorie                                                                     s/github/git-lfs/script.rpm.sh | sudo bash
    ... 略 ...
    The repository is setup! You can now install packages.
     
    [ec2-user@ip-172-16-0-38 ~]$ sudo yum install git-lfs
    Loaded plugins: amazon-id, rhui-lb, security
    Setting up Install Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package git-lfs.x86_64 0:2.3.0-1.el6 will be installed
    --> Processing Dependency: git >= 1.8.2 for package: git-lfs-2.3.0-1.el6.x86_64
    .. 略 ...
    Error: Package: perl-Git-2.4.5-1.el6.noarch (github_git-lfs)
               Requires: perl(SVN::Ra)
    Error: Package: perl-Git-2.4.5-1.el6.noarch (github_git-lfs)
               Requires: perl(SVN::Delta)
    Error: Package: perl-Git-2.4.5-1.el6.noarch (github_git-lfs)
               Requires: perl(SVN::Core)
    Error: Package: perl-Git-2.4.5-1.el6.noarch (github_git-lfs)
               Requires: perl(YAML::Any)
     You could try using --skip-broken to work around the problem
     You could try running: rpm -Va --nofiles --nodigest
    [ec2-user@ip-172-16-0-38 ~]$/* Your code... */

    だめでした。どうやらいくつかのパッケージがみつからないようです。

    解決策

    結論から書くと、yumで「rhui-REGION-rhel-server-releases-optional」リポジトリを有効にすると、git-lfsに必要なパッケージがインストールできるようになります。
    これは git-lfs に必要な perl-Git がRHEL6のデフォルトのリポジトリには入っていないためで、別途、他のリポジトリからインストールできるように設定を変更してあげる必要があります。

    リポジトリを有効にするには /etc/yum.repos.d/redhat-rhui.repo をルート権限で編集します。

    sudo vim /etc/yum.repos.d/redhat-rhui.repo

    その中にある [rhui-REGION-rhel-server-releases-optional]セクション の 「enabled=0」を「enabled=1」に変更して保存します。

    [rhui-REGION-rhel-server-releases-optional]

    name=Red Hat Enterprise Linux Server 6 Optional (RPMs)


    mirrorlist=https://rhui2-cds01.REGION.aws.ce.redhat.com/pulp/mirror/content/dist/rhel/rhui/server/6/$releasever/$basearch/optional/os


    enabled=1 ← 0 から 1 に変更する


    gpgcheck=1


    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release


    sslverify=1


    sslclientkey=/etc/pki/rhui/content-rhel6.key


    sslclientcert=/etc/pki/rhui/product/content-rhel6.crt


    sslcacert=/etc/pki/rhui/cdn.redhat.com-chain.crt

    以上です!

    修正後

    無事インストールできました。

    [ec2-user@ip-172-16-0-38 ~]$ sudo yum install git-lfs
    Loaded plugins: amazon-id, rhui-lb, security
    Setting up Install Process
    rhui-REGION-rhel-server-releases                                                                                              | 3.5 kB     00:00
    rhui-REGION-rhel-server-releases-optional                                                                                     | 3.5 kB     00:00
    rhui-REGION-rhel-server-releases-optional/primary_db                                                                          | 5.5 MB     00:00
    rhui-REGION-rhel-server-rh-common                                                                                             | 3.8 kB     00:00
    Resolving Dependencies
    --> Running transaction check
    ---> Package git-lfs.x86_64 0:2.3.0-1.el6 will be installed
    --> Processing Dependency: git >= 1.8.2 for package: git-lfs-2.3.0-1.el6.x86_64
    ... 略 ...
    Installed:
      git-lfs.x86_64 0:2.3.0-1.el6
     
    Dependency Installed:
      apr.x86_64 0:1.3.9-5.el6_2            apr-util.x86_64 0:1.3.9-3.el6_0.1          git.x86_64 0:2.4.5-1.el6        neon.x86_64 0:0.29.3-3.el6_4
      pakchois.x86_64 0:0.4-3.2.el6         perl-Error.noarch 1:0.17015-4.el6          perl-Git.noarch 0:2.4.5-1.el6   perl-YAML.noarch 0:0.70-4.el6
      subversion.x86_64 0:1.6.11-15.el6_7   subversion-perl.x86_64 0:1.6.11-15.el6_7
     
    Complete!

    製品サイト

    冒頭にサービスとは関係なく、と思いっきり書きながらサービスもご案内しておきます。

    Amazon EC2上で運用中のアプリケーションを自動監視して、システム障害を検知すると自動復旧するので、システム管理者の負担を軽くしてくれます。

    たくさんのEC2インスタンスをご利用の方、EC2インスタンスの上でファイルサーバー、ウェブサーバー、RPAソフトを動かしている方、手軽に始められる外形監視とサービス・インスタンスの自動再起動するサービスに興味がありましたらぜひ弊社の「SIOS AppKeeper」をお試しください。

    SNSでもご購読できます。