Назад | Перейти на главную страницу

Обновите R до 3.1.1 на ec2 через yum

У меня есть экземпляр ec2 со старой версией R (3.0.2), которую я пытаюсь обновить до последней (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

Предположительно, это вызвано отключением * репо и включением только epel, что может предотвратить обнаружение некоторых зависимостей, мне пришлось сделать это, иначе он нашел бы только 3.0.2 из amzn_main.

Какую правильную команду я должен использовать для установки 3.1.1 из репозитория epel?

# yum install yum-priorities

Необходимо добавить приоритет всем настроенным репозиториям. Перейти к /etc/yum.repos.d и отредактируйте все файлы и добавьте приоритет

Чем меньше число, тем оно важнее - поэтому значения 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 несовместим с Amazon Linux. Раньше так было в те самые первые дни, когда Amazon Linux больше походил на CentOS, но сейчас он слишком другой.