Table of Contents
はじめに
Ubuntu 22.04 LTSを対象に
- Rのインストール
- Renvのインストール
- RStudioのインストール
をまとめた記事となります. CPU infoは以下となります
1
2
3
4
5
6
7
% sudo lshw -class processor
[sudo] password for hoshinokirby:
*-cpu
description: CPU
product: AMD Ryzen 9 7950X 16-Core Processor
vendor: Advanced Micro Devices [AMD]
...
Install R into Ubuntu 22.04 LTS
Prerequisites
- user account with
sudo
privileges - Terminalへのアクセス
UbuntuへのRのインストールの方法として,
- Ubuntu RepositoryからのInstall
- CRAN repositoryからのInstall
の2つがあります. 前者は, apt
commandのみで完結しますが, Ubuntu Repositoryが常に最新版のRを
反映しているとは限らないので, 今回は少しめんどくさいですが後者の「CRAN repositoryからのInstall」をベースに紹介します.
Rのinstall
Prerequisites
software-properties-common |
manage the repositories that you install software from (common) |
dirmngr |
GNU privacy guard - network certificate management service |
1
% sudo apt install software-properties-common dirmngr -y
手順
- CRAN repositoryの署名キーの取得
- Ubuntu systemへのCRAN repositoryの登録
- R packageのインストール
(1) CRAN repositoryの署名キーの取得
1
% wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
/etc/apt/trusted.gpg.d/
はパッケージの署名に使っている公開鍵を格納するディレクトリ- 登録された署名キーは
apt-key list
コマンドで確認することが可能
公開鍵fingerprintを以下のコマンドで確認し, E298A3A825C0D65DFD57CBB651716619E084DAB9
と一致することを確認します
1
2
3
4
5
% gpg --show-keys /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
pub rsa2048 2010-10-19 [SCA] [expires: 2027-09-30]
E298A3A825C0D65DFD57CBB651716619E084DAB9
uid Michael Rutter <marutter@gmail.com>
sub rsa2048 2010-10-19 [E] [expires: 2027-09-30]
(2) Ubuntu systemにCRAN repositoryを登録
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
% sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"
```--2024-02-21 18:29:57-- https://download1.rstudio.org/electron/jammy/amd64/rstudio-2023.12.1-402-amd64.deb
Resolving download1.rstudio.org (download1.rstudio.org)... 13.35.49.53, 13.35.49.35, 13.35.49.76, ...
Connecting to download1.rstudio.org (download1.rstudio.org)|13.35.49.53|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 149955068 (143M) [application/octet-stream]
Saving to: ‘rstudio-2023.12.1-402-amd64.deb’
rstudio-2023.12.1-4 100%[===================>] 143.01M 6.98MB/s in 21s
2024-02-21 18:30:18 (6.81 MB/s) - ‘rstudio-2023.12.1-402-amd64.deb’ saved [149955068/149955068]
登録することで, `r-base`, `r-base-dev`のpackage priorityがUbuntu softwareからCRAN packageへ更新されます.
その確認は`apt-cache policy`コマンドで確認できます
```zsh
% apt-cache policy r-base
r-base:
Installed: 4.3.1-4.2204.0
Candidate: 4.3.1-4.2204.0
Version table:--2024-02-21 18:29:57-- https://download1.rstudio.org/electron/jammy/amd64/rstudio-2023.12.1-402-amd64.deb
Resolving download1.rstudio.org (download1.rstudio.org)... 13.35.49.53, 13.35.49.35, 13.35.49.76, ...
Connecting to download1.rstudio.org (download1.rstudio.org)|13.35.49.53|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 149955068 (143M) [application/octet-stream]
Saving to: ‘rstudio-2023.12.1-402-amd64.deb’
rstudio-2023.12.1-4 100%[===================>] 143.01M 6.98MB/s in 21s
2024-02-21 18:30:18 (6.81 MB/s) - ‘rstudio-2023.12.1-402-amd64.deb’ saved [149955068/149955068]
*** 4.3.1-4.2204.0 500
500 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ Packages
100 /var/lib/dpkg/status
4.3.1-3.2204.0 500
500 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ Packages
....(略)
4.1.2-1ubuntu2 500
500 http://jp.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
500 http://jp.archive.ubuntu.com/ubuntu jammy/universe i386 Packages
> (3) R packageのインストール
1
% sudo apt install r-base r-base-dev -y
install後, R commandの動作を確認します
1
2
3
4
5
## R consoleの立ち上げ
% R
## Rのterminate
> q()
R Quickstart: install packages
Packages in CRAN Repository
CRAN RepositoryからR packageをインストールする場合は以下が基本コマンドです
1
install.packages('readr')
複数のpackageを同時にインストールする場合は
1
install.packages(c('readr', 'ggplot2', 'tidyr'))
Packages in GitHub Repository
devtools
library経由でインストールするのが基本ですdevtools::install_github(username/repo_name[/subdir])
が基本構文
1
2
3
4
5
## devtoolsのインストール
install.packages('devtools')
## GitHub Repositoryからのインストール
devtools::install_github('rstudio/shiny')
Localのzip fileからインストールする場合
1
install.packages('~/Downloads/abc_2.1.zip', repos=NULL, type='source')
renvの導入
renvは現時点での分析環境(パッケージのバージョン)を保存&再現してくれるツールです.
renv
を用いて分析環境を管理すると, プロジェクトごとに
renv.lock
file: R packageのバージョンおよび依存関係の情報を記載renv
directory: R packageの格納場所(prokect libaryに該当)
が生成され, 異なる分析環境が現在の分析環境に与える影響を低減することが出来ます.
あくまでR package管理のための仕組みであって, pyenv
のようなR自体のversion管理ツールではないことに留意してください.
Renvの基本的考え方
sequenceDiagram
participant A AS system library
participant B AS project library
participant C AS lockfile
participant D AS renv cache
A->>B: renv::init()
D->>B: renv::install() or renv::update()
B->>C: renv::snapshot()
C->>B: renv::restore()
あくまでrenv cache
というグローバル環境にパッケージを保有しており, renv
directoryの中身はそれらの
R packageを参照しているのみなので, projectが乱立してもそこまでpackageスペースは取りません.
Renvのインストール
- R packageとしてinstallする場合
- apt経由でインストールする場合
の2つのパターンがあります.
(1) R packageとしてinstallする場合
1
install.packages("renv")
(2) apt経由でインストールする場合
software-properties-common
: manage the repositories that you install software from (common)dirmngr
: GNU privacy guard - network certificate management service
がインストールに必要ですが, Rのインストール時点で入っているはずです. なかった場合はapt
経由でインストールしてください.
次に, repositoryを登録し, 更新します.
1
2
% sudo add-apt-repository ppa:c2d4u.team/c2d4u4.0+
% sudo apt update
最後にapt installを実行します.
1
% sudo apt install r-cran-renv r-cran-devtools
Renv basic syntax
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# disable automatic snapshots
auto.snapshot <- getOption("renv.config.auto.snapshot")
options(renv.config.auto.snapshot = FALSE)
# initialize a new project (with an empty R library)
renv::init(bare = TRUE)
# install digest 0.6.19
renv::install("digest@0.6.19")
# install 'digest' from GitHub (latest dev. version)
renv::install("eddelbuettel/digest")
# save library state to lockfile
renv::snapshot()
# remove digest from library
renv::remove("digest")
# check library status
renv::status()
# restore lockfile, thereby reinstalling digest 0.6.19
renv::restore()
# restore automatic snapshots
options(renv.config.auto.snapshot = auto.snapshot)
RStudioのインストール
手順
- 公式サイトよりdeb packageをダウンロード
dpkg
コマンドでインストール(apt
だと警告が出る場合がある)
実行コマンドは以下となります:
1
2
3
4
5
6
7
8
9
10
11
12
13
## deb packageのdownload
% cd ./workingdirectory
% wget https://download1.rstudio.org/electron/jammy/amd64/rstudio-2023.12.1-402-amd64.deb
--2023-12-21 18:29:57-- https://download1.rstudio.org/electron/jammy/amd64/rstudio-2023.12.1-402-amd64.deb
Resolving download1.rstudio.org (download1.rstudio.org)... 13.35.49.53, 13.35.49.35, 13.35.49.76, ...
Connecting to download1.rstudio.org (download1.rstudio.org)|13.35.49.53|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 149955068 (143M) [application/octet-stream]
Saving to: ‘rstudio-2023.12.1-402-amd64.deb’
rstudio-2023.12.1-4 100%[===================>] 143.01M 6.98MB/s in 21s
2023-12-21 18:30:18 (6.81 MB/s) - ‘rstudio-2023.12.1-402-amd64.deb’ saved [149955068/149955068]
次にインストールを実行します
1
2
3
## install
% sudo dpkg -i ./rstudio-2023.12.1-402-amd64.deb
## uninstallの場合はsudo dpkg -r rstudio
Existing GPU process due to erros during initializationへの対処
以下のような警告メッセージが発生する場合が時折あります.
1
2
3
4
5
6
% rstudio
[3058:0526/090351.054091:ERROR:gl_factory.cc(128)] Requested GL implementation (gl=none,angle=none) not found in allowed implementations: [(gl=egl-angle,angle=default),(gl=desktop-gl,angle=none),(gl=egl-gles2,angle=none),(gl=egl-angle,angle=swiftshader)].
[3058:0526/090351.100145:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
[3090:0526/090351.600756:ERROR:gl_factory.cc(128)] Requested GL implementation (gl=none,angle=none) not found in allowed implementations: [(gl=egl-angle,angle=default),(gl=desktop-gl,angle=none),(gl=egl-gles2,angle=none),(gl=egl-angle,angle=swiftshader)].
[3090:0526/090351.651796:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
[3104:0526/090351.944697:ERROR:gpu_memory_buffer_support_x11.cc(44)] dri3 extension not supported.
これはRstudioがChromiumと同じようにhardware accelerated renderingを試みることに起因します. driverなどがうまい具合に対応しないと, rendering issueが発生してしまうことがしばしばあります. ですので対策としてはGPU renderingを停止させてしまえばよいということなります.
1
% export RSTUDIO_CHROMIUM_ARGUMENTS="--disable-gpu"
を.zshrc
や.zshenv
に記載すれば解決できます. または~/.config/RStudio/desktop.info
の設定ファイルに対して
1
2
[General]
desktop.renderingEngine=software
と記載する形でも対処できます.
References
Ubuntu package
Renv
- The R Project for Statistical Computing
- GitHub > rstudio/renv
- Use renv in a project
- GitHub RyoNakagami > Renv_setup
Rstudio
(注意:GitHub Accountが必要となります)