前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux多用户R包权限问题解决及一次性协作项目构建

Linux多用户R包权限问题解决及一次性协作项目构建

原创
作者头像
叶子Tenney
修改2023-03-28 15:48:49
8200
修改2023-03-28 15:48:49
举报
文章被收录于专栏:叶子的数据科技专栏

引言

今天遇到的问题:

使用 BiocManager::install("edegR") 安装 edgeR 的时候, 提示一堆包需要更新, 但是更新进程显示无权限. 查看 .libPath() 可以看到出了自己的 "/home/tenney/R/x86_64-redhat-linux-gnu-library/4.1" 以外还有两个包库也可以作为来源, 且不可取消.

代码语言:text
复制
r$> .libPaths()
[1] "/home/tenney/R/x86_64-redhat-linux-gnu-library/4.1" "/usr/lib64/R/library"                              
[3] "/usr/share/R/library"  

因此为以后考虑, 将 /usr/lib64/R/library 下的个人R包放到了私人目录.

/usr/lib64/R/library 设置权限为755.

那么, 如果想以团队协作为目的, 可否构建一个一次性R项目呢?

效果展示

过程

包库权限设置

/usr/lib64/R/library 下的个人R包放到了私人目录.

/usr/lib64/R/library 设置权限为755, 禁止普通用户写入.

新建共用包库, 权限设置为 777 , 使所有人可将该目录添加为包库.

代码语言:txt
复制
$ chmod 777 -R Rlib                       
$ ll | grep Rlib
drwxrwxrwx   3 root        root               45 3月  26 19:38 Rlib
$ ll Rlib
total 0
drwxrwxrwx 3 root root 17 3月  26 19:38 x86_64-redhat-linux-gnu-library 

新建一批测试帐号

代码语言:shell
复制
# create and edit
touch createuser.sh
vim createuser.sh

# run
chmod u+x createuser.sh
bash ./createuser.sh
代码语言:text
复制
for i in {1..10}
do
	username=gsegroup_$i;
	echo $username;
	if [ -n $username ]
	then
		sudo useradd -d /home/$username -s /bin/bash -m $username
		echo $username:$username | sudo chpasswd
		echo "user $username added!"
	else
		echo "the username is null!"
	fi
done

进入一个新账户的rstudio-servers:

依次选择上传项目文件.

将自动进行解压, 进入解压文件夹点击Rproj文件.

使用 .libPaths(c(.libPaths(), "/home/Rlib/x86_64-redhat-linux-gnu-library/4.1")) 指定项目使用包库.

结论

长期使用自然是单人单库最好, 但是团队项目如果想要节约时间精力, 那么做一些批量行为也未尝不可.

引用

  1. libPaths function - RDocumentation

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 效果展示
  • 过程
    • 包库权限设置
    • 结论
    • 引用
    相关产品与服务
    Prowork 团队协同
    ProWork 团队协同(以下简称 ProWork )是便捷高效的协同平台,为团队中的不同角色提供支持。团队成员可以通过日历、清单来规划每⽇的工作,同时管理者也可以通过统计报表随时掌握团队状况。ProWork 摒弃了僵化的流程,通过灵活轻量的任务管理体系,满足不同团队的实际情况,目前 ProWork 所有功能均可免费使用。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档