在用户安装了R包的Ubuntu/Debian上进行R升级时会发生什么

在用户安装了R包的Ubuntu/Debian上进行R升级时会发生什么,r,ubuntu,debian,upgrade,R,Ubuntu,Debian,Upgrade,在Ubuntu/Debian上进行R升级时,用户安装的R包会发生什么情况 在授予用户对文件夹的写入权限后,这些包将安装在/usr/lib/R/和/usr/local/lib/R下的库中 我使用cran镜像进行升级,我不确定用户安装的软件包是否已转移到新版本的R,或者我是否必须重新安装它们 致以最良好的祝愿 默认情况下,/usr/lib/R/library和/usr/lib/R/site library不应是用户可写的。这些是软件包管理系统拥有的目录,您可以像往常一样在那里获得更新的软件包 通过我

在Ubuntu/Debian上进行R升级时,用户安装的R包会发生什么情况

在授予用户对文件夹的写入权限后,这些包将安装在/usr/lib/R/和/usr/local/lib/R下的库中

我使用cran镜像进行升级,我不确定用户安装的软件包是否已转移到新版本的R,或者我是否必须重新安装它们


致以最良好的祝愿

默认情况下,
/usr/lib/R/library
/usr/lib/R/site library
不应是用户可写的。这些是软件包管理系统拥有的目录,您可以像往常一样在那里获得更新的软件包

通过我们的设置,
/usr/local/lib/R/site library
可以由普通组(如
员工
)中的用户编写。这是在
r-base-core
包的相应
postinst
脚本中设置的:

chown root:staff /usr/local/lib/R/site-library
chmod 2775 /usr/local/lib/R/site-library
我们的想法是,多个用户可以处理这些软件包,他们通常只在更新后工作——我们中的许多人已经成功地使用这个方案多年了

现在,R3.4.0有一个小问题,它在新闻文件中声明

  • 需要为此版本重新安装为.C或.Fortran注册本机例程的包(除非与R-devel SVN一起安装) 修订版r72375或更高版本)

这是一次性的,特别是R3.4.0。事实上,我已经在
/usr/local/lib/R/site library
目录树中重新安装了其中一些软件包。

嗨,德克!谢谢你的回答!真的很有帮助。在R升级之后,我运行update.packages(checkbuild=TRUE)。如果较新的R-version与旧的软件包有问题,也许这也足够了?我的一个开放点是:您说
/usr/lib/R/library
/usr/lib/R/site library
不应该是用户可写的,并且属于软件包管理层。但是当我运行
update.packages()
并尝试更新由linux软件包管理安装的软件包时会发生什么?然后它需要对文件夹的写入权限,否则它将安装在
~/
中,这将导致不同R版本的不同文件夹。还是我错了?啊,说得好。你必须在那里说“不”。R“不知道”这些软件包来自
apt
/
dpkg
。一种方法是告诉
upgrade.packages()
只查看
/usr/local/lib/R
路径——这就是my所做的。