在Ubuntu升级R版本

Ubuntu版本:14.04

升级R 3.1 至3.4

  1. 打开软件源文件,添加CRAN源

    sudo vim /etc/apt/sources.list
    ##deb http://mirrors.tuna.tsinghua.edu.cn/cran/bin/linux/ubuntu/ trusty/
    

    trusty/是根据你的ubuntu的版本号而改变的,比如14.04是trusty,16.04则是xenial,其他版本对应关系可查看https://cran.r-project.org/bin/linux/ubuntu/README.html

  2. 更新软件源

    sudo apt-get update
    

    如果报错,比如W:gpg xxxxxx,则首先更换源试试(即更换CRAN源);如果还是报错,那就是常见的错误,需要提供公钥(The Ubuntu archives on CRAN are signed with the key of “Michael Rutter marutter@gmail.com” with key ID E084DAB9)

    官网给出了解决办法https://cran.r-project.org/bin/linux/ubuntu/README.html

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
    

    如果上述不行的话,The issue is usually related to a firewall blocking port 11371. If the first gpg command fails, you may want to try

    gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E084DAB9
    gpg -a --export E084DAB9 | sudo apt-key add -
    

    一般来说应该能解决上述报错问题

  3. 安装R软件

    sudo apt-get install r-base
    

    也可以通过命令来更新r-base and r-recommended packages

    sudo apt-get update
    sudo apt-get upgrade
    
  4. 如果在安装or更新的时候遇到报错:E: Sub-process /usr/bin/dpkg returned an error code (1),可参考一篇文章ubuntu 下出现E: Sub-process /usr/bin/dpkg returned an error code

    cd /var/lib/dpkg
    sudo mv info/ info.bak
    sudo mkdir info
    

    从/var/lib/dpkg目录下再新建个info文件夹,保留原来的info文件夹

    sudo apt-get update
    sudo apt-get -f install r-base
    sudo mv info/* info.bak
    

    在安装r-base后会在info文件夹中产生一些文件,现将这些文件移到原来的info文件夹中(即info.bak文件夹)

    sudo rm -rf info
    sudo mv info.bak info
    

    移除新建的info文件夹,将info.bak改名为info