Rの古いバージョン(3.0.2)のec2インスタンスがあり、最新(3.1.1)に更新しようとしています。これはデフォルトのyumリポジトリでは使用できませんが、EPELでは使用できます。
インストールされているバージョンは3.0.2です。
[hadoop@ip-172-31-19-15 ~]$ yum list R-core
Loaded plugins: priorities, update-motd, upgrade-helper
970 packages excluded due to repository priority protections
Installed Packages
R-core.x86_64 3.0.2-1.17.amzn1 @amzn-main
Available Packages
R-core.i686 3.0.2-1.17.amzn1 amzn-main
これらはレポです
[hadoop@ip-172-31-19-15 ~]$ yum repolist
Loaded plugins: priorities, update-motd, upgrade-helper
970 packages excluded due to repository priority protections
repo id repo name status
!amzn-main/latest amzn-main-Base 4,801
!amzn-updates/latest amzn-updates-Base 1,497
epel/x86_64 Extra Packages for Enterprise Linux 6 - x86_64 10,139+970
repolist: 16,437
Epelリポジトリを指定すると、バージョン3.1.1が表示されますが、これもリストされています ここ
Sudo yum --disablerepo="*" --enablerepo="epel" list R-core
Loaded plugins: priorities, update-motd, upgrade-helper
Installed Packages
R-core.x86_64 3.0.2-1.17.amzn1 @amzn-main
Available Packages
R-core.i686 3.1.1-3.el6 epel
R-core.x86_64 3.1.1-3.el6
ただし、Sudo yum --disablerepo="*" --enablerepo="epel" install R-core
を使用してインストールしようとすると、次のエラーが発生します。
--> Finished Dependency Resolution
Error: Package: R-Java-3.1.1-3.el6.x86_64 (epel)
Requires: Java-1.5.0-gcj
Error: Package: R-core-devel-3.1.1-3.el6.x86_64 (epel)
Requires: libicu-devel
Error: Package: R-core-devel-3.1.1-3.el6.x86_64 (epel)
Requires: tcl-devel
Error: Package: R-core-devel-3.1.1-3.el6.x86_64 (epel)
Requires: tk-devel
Error: Package: R-core-3.1.1-3.el6.x86_64 (epel)
Requires: libicuuc.so.42()(64bit)
Error: Package: R-core-3.1.1-3.el6.x86_64 (epel)
Requires: xdg-utils
Error: Package: R-core-3.1.1-3.el6.x86_64 (epel)
Requires: libicui18n.so.42()(64bit)
Error: Package: R-core-3.1.1-3.el6.x86_64 (epel)
Requires: libtcl8.5.so()(64bit)
Error: Package: R-core-3.1.1-3.el6.x86_64 (epel)
Requires: libtk8.5.so()(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
おそらくこれは、* repoを無効にし、epelのみを有効にして、一部の依存関係が見つからないようにすることで発生します。そうしないと、amzn_mainから3.0.2しか見つかりません。
Epelリポジトリから3.1.1をインストールするために使用する必要がある正しいコマンドは何ですか?
# yum install yum-priorities
設定されたすべてのリポジトリに優先度を追加する必要があります。 / etc/yum.repos.dに移動し、すべてのファイルを編集してpriorityを追加します。
数値が小さいほど重要です。したがって、EPELのものが最も低くなります。
例:
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&Arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
priority=10
EPELはAmazonLinuxと互換性がありません。以前は、Amazon LinuxがCentOSに似ていた非常に初期の頃でしたが、現在はあまりにも異なっています。