本家様 https://rstudio.com/

Rの被せものなRStudio

Rを使うならRStudio経由で使った方が断然楽

ってまずはその「R」のインストール
「R」の本家様 https://www.r-project.org/>+https://www.r-project.org/], [[https://cran.ism.ac.jp/

CentOS7ではR-core-3.6.0(epel)で提供されている。CentOS8ならこれが R-core-4.0.3 である
CentOS7のままでR-core-4.X.Xを使うには Third-Party の「Springdale Computational x86_64」リポジトリを利用する必要がある
RStudio/R4
単純に最新のRをコンパイルすれば足りる話だけど

Rのインストール

CentOS7/CentOS8ともに epel リポジトリで提供されている. なので単純に

yum install epel-release
yum install R

で完了となる.

しかしroot権限を持たないユーザで「R」を使いたい場合はどうすれば?となるが、
方法としてはソースからコンパイルする、あるいは無理やり yum/dnf でパッケージを自分の配下にインストールしてしまう。
この2点があるみたい。

下記はrootではない一般ユーザで自分のホームディレクトリに「R」をyum/dnfを使ってインストールする手順である。

まずパッケージは yumdownloader を使って入手します。yum経由なのでyumの設定ファイル「yum.conf」を用意します

[saber@centos7 ~]$ vi yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
 
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
 
[saber@centos7 ~]$

その後、作ったこの「yum.conf」を使って「R」と「R」が依存するパッケージを取得します。
まずは、保存先を用意します。

[saber@centos7 ~]$ mkdir ~/rpm

そして「yumdownloader」コマンドを実行します

[saber@centos7 ~]$ yumdownloader --destdir ~/rpm --resolve R -c yum.conf

保存先となる「~/rpm」の中身は下記になります

[saber@centos7 ~]$ ls rpm/
bzip2-devel-1.0.6-13.el7.x86_64.rpm
expat-devel-2.1.0-11.el7.x86_64.rpm
 :
R-3.6.0-1.el7.x86_64.rpm
R-core-3.6.0-1.el7.x86_64.rpm
R-core-devel-3.6.0-1.el7.x86_64.rpm
R-devel-3.6.0-1.el7.x86_64.rpm
R-java-3.6.0-1.el7.x86_64.rpm
R-java-devel-3.6.0-1.el7.x86_64.rpm
 :
[saber@centos7 ~]$

最後にこの取得したrpmファイルを展開します。展開先の起点は「~/apps」にしています

[saber@centos7 ~]$ mkdir ~/apps ; cd apps
[saber@centos7 apps]$ for i in `find ../ -name *.rpm` ; do echo $i; rpm2cpio $i | cpio -id ; done

これで「~/apps」を起点にR環境が構築できました。

使用方法
単純にインストールしただけでは実際にはつかなく、ちょいと修正する必要があります

  • /home/<ユーザ>/.bashrc
    下記を追記します. PATHとLD_LIBRARY_PATH環境変数の追記です
    export PATH=$HOME/apps/usr/lib64/R/bin:$HOME/apps/usr/sbin:$HOME/apps/usr/bin:$HOME/apps/bin:$PATH
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/apps/usr/lib:$HOME/apps/usr/lib64
  • /home/saber/apps/usr/lib64/R/bin/R
    下記のように修正します
    --- R.orig      2020-10-04 01:47:45.128101924 +0900
    +++ R   2020-10-04 01:51:14.706988852 +0900
    @@ -1,7 +1,7 @@
     #!/bin/sh
     # Shell wrapper for R executable.
     
    -R_HOME_DIR=/usr/lib64/R
    +R_HOME_DIR=/home/saber/apps/usr/lib64/R
     if test "${R_HOME_DIR}" = "/usr/lib64/R"; then
        case "linux-gnu" in
        linux*)
    @@ -32,11 +32,11 @@
     fi
     R_HOME="${R_HOME_DIR}"
     export R_HOME
    -R_SHARE_DIR=/usr/share/R
    +R_SHARE_DIR=/home/saber/apps/usr/share/R
     export R_SHARE_DIR
    -R_INCLUDE_DIR=/usr/include/R
    +R_INCLUDE_DIR=/home/saber/apps/usr/include/R
     export R_INCLUDE_DIR
    -R_DOC_DIR=/usr/share/doc/R-3.6.0
    +R_DOC_DIR=/home/saber/apps/usr/share/doc/R-3.6.0
     export R_DOC_DIR
     
     # Since this script can be called recursively, we allow R_ARCH to

これで「R」の調整は完了

次に、本題となる RStudio をインストールします

RStudioをホームディレクトリに配置

こちらも自身のホームディレクトリにインストールして使うことにします。
*ダウンロードサイトに rpm ファイルがあるので、それを yum localinstall すれば完了なのですが..

まずインストールファイルを取得します。
https://rstudio.com/products/rstudio/download/にて
「Zip/Tarballs」の「rstudio-1.3.1093-x86_64-fedora.tar.gz」を取得します. これをホームディレクトリに配置します

っで展開

[saber@centos7 ~]$ mkdir ~/apps    <-- すでにあればmkdirは不要
[saber@centos7 ~]$ cd ~/apps
[saber@centos7 apps]$ tar xzf ~/rstudio-1.3.1093-x86_64-fedora.tar.gz

実行
まずはRStudio のパスを定義します

[saber@centos7 ~]$ export PATH=/home/saber/apps/rstudio-1.3.1093/bin:$PATH
[saber@centos7 ~]$ rstudio

暫くすると
2020y10m04d_020603579.png
となる

*Xアプリケーションで表示されるので別マシンからのアクセスの際には
「ssh -X <ホスト名>」と「-X」なり「-Y」なりを付けて実行しないと画面が転送されないです。


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2020-10-19 (月) 10:15:23 (6d)