将 Ubuntu 16.04 LTS 与 R 从 CRAN 升级到 Ubuntu 18.04 LTS 时,是否可以防止 R 包冲突?

将 Ubuntu 16.04 LTS 与 R 从 CRAN 升级到 Ubuntu 18.04 LTS 时,是否可以防止 R 包冲突?

我已完全更新了 Ubuntu 16.04.7 LTS amd64,并使用以下命令配置了 RMarkdown/bookdown、LaTeX 发布:

sudo apt-get install apt-transport-https

cat <<EOF | sudo tee /etc/apt/sources.list.d/r-cran.list
deb https://cloud.r-project.org/bin/linux/ubuntu xenial/
EOF
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9

sudo apt-get update

sudo apt-get install -y r-base-dev libssl-dev libjpeg62 libgstreamer0.10-0 libgstreamer-plugins-base0.10-0 calibre
sudo apt-get install -y biber texlive-lang-cyrillic fonts-cmu texlive-xetex texlive-fonts-extra texlive-math-extra font-manager ttf-mscorefonts-installer lmodern
sudo apt-get install -y build-essential libcurl4-openssl-dev libxml2-dev libcairo2-dev git

wget https://github.com/jgm/pandoc/releases/download/2.11.4/pandoc-2.11.4-1-amd64.deb -O /tmp/pandoc.deb
sudo apt-get install -y /tmp/pandoc.deb

wget -c https://download1.rstudio.org/desktop/xenial/amd64/rstudio-1.4.1106-amd64.deb -O /tmp/rstudio.deb
sudo apt-get install -y /tmp/rstudio.deb

mkdir -p ~/R/x86_64-pc-linux-gnu-library/3.4
R -e "install.packages(c('bookdown','tikzDevice','xaringan'), repos='http://cran.rstudio.com/', lib='/home/$USER/R/x86_64-pc-linux-gnu-library/3.4')"

这意味着它/etc/apt/sources.list /etc/apt/sources.list.d/*.list包含以下几行:

$ grep ^deb -r /etc/apt/ --include=*.list
/etc/apt/sources.list.d/r-cran.list:deb https://cloud.r-project.org/bin/linux/ubuntu xenial/
/etc/apt/sources.list:deb http://archive.ubuntu.com/ubuntu/ xenial main restricted
/etc/apt/sources.list:deb http://archive.ubuntu.com/ubuntu/ xenial-updates main restricted
/etc/apt/sources.list:deb http://archive.ubuntu.com/ubuntu/ xenial universe
/etc/apt/sources.list:deb http://archive.ubuntu.com/ubuntu/ xenial-updates universe
/etc/apt/sources.list:deb http://archive.ubuntu.com/ubuntu/ xenial multiverse
/etc/apt/sources.list:deb http://archive.ubuntu.com/ubuntu/ xenial-updates multiverse
/etc/apt/sources.list:deb http://archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu xenial-security main restricted
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu xenial-security universe
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu xenial-security multiverse

该系统具有以下一组 R 包:

$ dpkg -l | grep "^ii  r-"
ii  r-base                                3.4.4-1xenial0                                  all          GNU R statistical computation and graphics system
ii  r-base-core                           3.4.4-1xenial0                                  amd64        GNU R core of statistical computation and graphics system
ii  r-base-dev                            3.4.4-1xenial0                                  all          GNU R installation of auxiliary GNU R packages
ii  r-base-html                           3.4.4-1xenial0                                  all          GNU R html docs for statistical computing system functions
ii  r-cran-boot                           1.3-20-1xenial0                                 all          GNU R package for bootstrapping functions from Davison and Hinkley
ii  r-cran-class                          7.3-14-2xenial0                                 amd64        GNU R package for classification
ii  r-cran-cluster                        2.0.7-1-1xenial0                                amd64        GNU R package for cluster analysis by Rousseeuw et al
ii  r-cran-codetools                      0.2-15-1cran1xenial0                            all          GNU R package "Code Analysis Tools for R"
ii  r-cran-foreign                        0.8.70-1xenial0                                 amd64        GNU R package to read/write data from other stat. systems
ii  r-cran-kernsmooth                     2.23-15-3xenial0                                amd64        GNU R package for kernel smoothing and density estimation
ii  r-cran-lattice                        0.20-38-1cran1xenial0                           amd64        GNU R package "Trellis Graphics for R"
ii  r-cran-mass                           7.3-50-1xenial0                                 amd64        GNU R package of Venables and Ripley's MASS
ii  r-cran-matrix                         1.2-14-1xenial0                                 amd64        GNU R package of classes for dense and sparse matrices
ii  r-cran-mgcv                           1.8-28-1cran1xenial0                            amd64        GNU R package "Mixed GAM Computation Vehicle with
ii  r-cran-nlme                           3.1.137-1xenial0                                amd64        GNU R package for (non-)linear mixed effects models
ii  r-cran-nnet                           7.3-12-2xenial0                                 amd64        GNU R package for feed-forward neural networks
ii  r-cran-rpart                          4.1-15-1cran1xenial0                            amd64        GNU R package "Recursive Partitioning and Regression
ii  r-cran-spatial                        7.3-11-1xenial0                                 amd64        GNU R package for spatial statistics
ii  r-cran-survival                       2.44-1.1-1cran1xenial0                          amd64        GNU R package "Survival Analysis"
ii  r-doc-html                            3.4.4-1xenial0                                  all          GNU R html manuals for statistical computing system
ii  r-recommended                         3.4.4-1xenial0                                  all          GNU R collection of recommended packages [metapackage]

根据以前的经验,我知道一些 R 包比 Ubuntu 18.04.6 LTS 官方存储库中的版本更新。

在这种情况下,我应该如何正确将 Ubuntu 16.04.7 LTS 升级到 Ubuntu 18.04.6 LTS?

答案1

要完美地从 CRAN 运行带有 R 3.4 的 Ubuntu 16.04.7 LTS 升级过程,应该执行以下操作:

  1. 备份已安装的 R 包列表

    dpkg -l | grep "^ii  r-" | awk '{print $2}' > ~/r-debs.txt
    
  2. 删除 CRANr-cran.listAPT 源文件

    sudo rm /etc/apt/sources.list.d/r-cran.list
    
  3. 删除 R 包

    sudo apt-get autoremove $(cat r-debs.txt) --purge
    
  4. 使用官方存储库中的版本安装 R 包

    sudo apt-get install $(cat r-debs.txt)
    
  5. 安装可能的更新

    sudo apt-get update
    sudo apt-get dist-upgrade
    

    然后重新启动。

  6. 照常使用sudo do-release-upgrade或升级 Ubuntu update-manager -c

  7. 使用以下命令升级 RStudio:

    wget -c https://download1.rstudio.org/desktop/bionic/amd64/rstudio-1.4.1717-amd64.deb -O /tmp/rstudio.deb
    sudo apt-get install -y /tmp/rstudio.deb
    

最终的 Ubuntu 18.04.6 LTS 系统将拥有来自官方存储库的功能齐全的 R 3.4。

相关内容