
この記事は公開してから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」をお試しください。