LinuxでRのダウングレード(アンインストールおよび、最新版出ないRのインストール方法)についてご紹介します。
通常パッケージ名をバージョンを指定しないでインストールすると最新版がインストールされます。
流れとしては、以下になります。
- 現在のRのアンインストール
- ダウングレード先の RのバージョンのR-coreを探す
- ダウングレード版のRを指定してインストール
また、Rのインストール方法は以下の4章を参照してください。
【Oracle R】Oracle R Enterpriseのインストール方法
~目次~
1. Rのアンインストール(yum remove)
Rに限らず、yumでインストールしたものはyum removeでアンインストールできます。
removeする前に、現在のパッケージの詳細を確認します。
現在はR3.3がインストールされている状態です。
[root@oracle ~]# rpm -qa | grep R- R-devel-3.3.0-2.el6.x86_64 OpenEXR-libs-1.6.1-8.1.el6.x86_64 R-3.3.0-2.el6.x86_64 R-core-3.3.0-2.el6.x86_64 [root@oracle ~]# R --version Oracle Distribution of R version 3.3.0 (--) -- "Supposedly Educational" Copyright (C) The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-bit)
R関係の3つのパッケージがインストールされているので、それぞれをアンインストールします。
なお、おそらくR-coreをremoveすると、R-develも一緒にremoveされます。
※実行結果は省略
[root@oracle oreserver]# yum remove R [root@oracle oreserver]# yum remove R-core [root@oracle oreserver]# yum remove R-devel
上記コマンドを実行すると、Rのパッケージがアンインストールされていることが確認できます。
[root@oracle ~]# rpm -qa | grep R- OpenEXR-libs-1.6.1-8.1.el6.x86_64
2. 旧バージョンのRの探し方(yum --showduplicates search)
次にインストールしたいバージョンのパッケージを検索します。
コマンドは以下になります。
yum --showduplicates search [パッケージ名]
R-coreで検索すると以下のような結果になります。
[root@oracle ~]# yum --showduplicates search R-core 読み込んだプラグイン:refresh-packagekit, security, ulninfo ============================= N/S Matched: R-core ============================== R-core-2.15.1-1.el6.x86_64 : The minimal R components necessary for a functional : runtime R-core-2.15.2-1.el6.x86_64 : The minimal R components necessary for a functional : runtime R-core-2.15.3-1.el6.x86_64 : The minimal R components necessary for a functional : runtime R-core-3.0.1-1.el6.x86_64 : The minimal R components necessary for a functional : runtime R-core-3.0.1-2.el6.x86_64 : The minimal R components necessary for a functional : runtime R-core-3.1.1-1.el6.x86_64 : The minimal R components necessary for a functional : runtime R-core-3.1.1-2.el6.x86_64 : The minimal R components necessary for a functional : runtime R-core-3.2.0-2.el6.x86_64 : The minimal R components necessary for a functional : runtime R-core-3.3.0-2.el6.x86_64 : The minimal R components necessary for a functional : runtime R-core-extra-3.3.0-2.el6.x86_64 : Compression libraries and dependencies : required for R-3.3.0+ Name and summary matches only, use "search all" for everything.
例えば3.2をインストールしたい場合は"R-core-3.2.0-2.el6.x86_64"をインストールすることになります。
RとR-develについても同様に実行ください。
3. ダウングレード版のRのインストール方法
2章で検索したパッケージ名を指定してインストールします。ここではR-core-3.2.0-2.el6.x86_64を指定します。
[root@oracle ~]# yum install R-core-3.2.0-2.el6.x86_64 読み込んだプラグイン:refresh-packagekit, security, ulninfo インストール処理の設定をしています 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> Package R-core.x86_64 0:3.2.0-2.el6 will be インストール --> 依存性解決を終了しました。 依存性を解決しました ================================================================================ パッケージ アーキテクチャ バージョン リポジトリー 容量 ================================================================================ インストールしています: R-core x86_64 3.2.0-2.el6 public_ol6_addons 49 M トランザクションの要約 ================================================================================ インストール 1 パッケージ 総ダウンロード容量: 49 M インストール済み容量: 87 M これでいいですか? [y/N]y パッケージをダウンロードしています: R-core-3.2.0-2.el6.x86_64.rpm | 49 MB 00:44 rpm_check_debug を実行しています トランザクションのテストを実行しています トランザクションのテストを成功しました トランザクションを実行しています インストールしています : R-core-3.2.0-2.el6.x86_64 1/1 Verifying : R-core-3.2.0-2.el6.x86_64 1/1 インストール: R-core.x86_64 0:3.2.0-2.el6 完了しました!
なお、Rをinstallする際にlibRmathパッケージが残っているとエラーとなる場合があります。
その場合は、libRmathパッケージもremoveしてください。
[root@oracle ~]# yum install R-3.2.0-2.el6.x86_64 読み込んだプラグイン:refresh-packagekit, security, ulninfo インストール処理の設定をしています 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> Package R.x86_64 0:3.2.0-2.el6 will be インストール --> 依存性の処理をしています: libRmath-devel = 3.2.0-2.el6 のパッケージ: R-3.2.0-2.el6.x86_64 --> 依存性解決を終了しました。 エラー: パッケージ: R-3.2.0-2.el6.x86_64 (public_ol6_addons) 要求: libRmath-devel = 3.2.0-2.el6 【以下略】 ##libRmathをremove [root@oracle ~]# yum remove libRmath 読み込んだプラグイン:refresh-packagekit, security, ulninfo 削除処理の設定をしています 依存性の解決をしています 【以下略】 ###Rパッケージの再インストール [root@oracle ~]# yum install R-3.2.0-2.el6.x86_64 読み込んだプラグイン:refresh-packagekit, security, ulninfo インストール処理の設定をしています 依存性の解決をしています 【以下略】
これでRのバージョンを3.3から3.2へダウングレードすることができました。
[root@oracle ~]# rpm -qa | grep R- R-core-3.2.0-2.el6.x86_64 OpenEXR-libs-1.6.1-8.1.el6.x86_64 R-devel-3.2.0-2.el6.x86_64 R-3.2.0-2.el6.x86_64 [root@oracle ~]# R --version Oracle Distribution of R version 3.2.0 (--) -- "Full of Ingredients" Copyright (C) The R Foundation for Statistical Computing Platform: x86_64-unknown-linux-gnu (64-bit)
4. [補足]library(ORE)時のエラーについて
上記の手順については、Oracle R Enterprise(ORE)導入時に以下のエラーが出たため対処しました。
こちらは、RのバージョンがOREのバージョンに合っていない場合にlibrary(ORE)に失敗する事象です。
(ORE1.5.1にはRのバージョンは3.3となる必要がありますが、3.5を誤ってインストールしていた)
> library(ORE) 要求されたパッケージ OREbase をロード中です 要求されたパッケージ OREcommon をロード中です Error: package or namespace load failed for ‘OREcommon’: package ‘OREcommon’ was installed by an R version with different internals; it needs to be reinstalled for use with this R version エラー: パッケージ ‘OREcommon’ をロードできませんでした
1-3章の手順を実施後に再度実行することにより回避できました。
> library(ORE) 要求されたパッケージ OREbase をロード中です 要求されたパッケージ OREcommon をロード中です 次のパッケージを付け加えます: ‘OREbase’ 以下のオブジェクトは ‘package:base’ からマスクされています: cbind, data.frame, eval, interaction, order, paste, pmax, pmin, rbind, table 要求されたパッケージ OREembed をロード中です 要求されたパッケージ OREstats をロード中です 要求されたパッケージ OREgraphics をロード中です 次のパッケージを付け加えます: ‘OREgraphics’ 以下のオブジェクトは ‘package:grDevices’ からマスクされています: xy.coords 要求されたパッケージ OREeda をロード中です 要求されたパッケージ OREmodels をロード中です 要求されたパッケージ OREdm をロード中です 要求されたパッケージ OREpredict をロード中です 要求されたパッケージ ORExml をロード中です