linux变更文件/文件夹权限

使用Rstudio-server安装包时,发现报错



> install.packages('BiocManager')Installing package into ‘/home/qmh/R/x86_64-pc-linux-gnu-library/4.0’

(as ‘lib’ is unspecified)Warning in install.packages :

  'lib = "/home/qmh/R/x86_64-pc-linux-gnu-library/4.0"' is not writable

Would you like to use a personal library instead? (yes/No/cancel)


请示大佬,大佬考虑从root账号复制R包时,直接用root账号复制了文件夹,导致没有权限。

终端下查看如下:



zlzx@zlzx-PowerEdge-T640:/home/qmh$ cd R

zlzx@zlzx-PowerEdge-T640:/home/qmh/R$ l

x86_64-pc-linux-gnu-library/

zlzx@zlzx-PowerEdge-T640:/home/qmh/R$ cd x86_64-pc-linux-gnu-library

zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library$ ls -l

总用量 8

drwxr-xr-x 169 root root 4096 5月  16 23:03 4.0

drwxr-xr-x 131 qmh  qmh  4096 5月  14 16:35 4.2


显示4.0文件夹的所有者、用户组均为root账号。

遂更改如下:



zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library$ sudo chown qmh 4.0

zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library$ ls -l

总用量 8

drwxr-xr-x 169 qmh root 4096 5月  16 23:03 4.0

drwxr-xr-x 131 qmh qmh  4096 5月  14 16:35 4.2

**##此处没有更改用户组,于是重新更改。chown格式为 chown <选项>  <新所有者>:<新所属组>  <文件名或文件夹名>**

zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library$ sudo chown qmh:qmh 4.0

zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library$ ls -l

总用量 8

drwxr-xr-x 169 qmh qmh 4096 5月  16 23:03 4.0

drwxr-xr-x 131 qmh qmh 4096 5月  14 16:35 4.2

zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library$ ^C

zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library$


调整过后,在安装biocondunctor时依然报错:



成功将‘RcppArmadillo’程序包解包并MD5和检查mv: 无法将'/home/qmh/R/x86_64-pc-linux-gnu-library/4.0/RcppArmadillo' 
移动至'/home/qmh/R/x86_64-pc-linux-gnu-library/4.0/00LOCK-RcppArmadillo/RcppArmadillo': 
权限不够ERROR: cannot remove earlier installation, is it in use?


考虑是未用-R,没有应用到子文件夹、子文件原因。root账号下检查,果然如此:



zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library/4.0$ ls -l

总用量 668

drwxr-xr-x  6 root root 4096 5月  15 11:42 abind

drwxr-xr-x  7 root root 4096 5月  15 11:42 askpass

drwxr-xr-x  6 root root 4096 5月  15 11:42 assertthat

drwxr-xr-x  7 root root 4096 5月  15 11:42 backports

drwxr-xr-x  7 root root 4096 5月  15 11:42 base64enc

drwxr-xr-x  6 root root 4096 5月  15 11:41 BH

drwxr-xr-x  7 qmh  qmh  4096 5月  16 23:30 BiocManager

drwxr-xr-x  5 root root 4096 5月  15 11:42 BiocVersion

drwxr-xr-x  7 root root 4096 5月  15 11:41 bitops

drwxr-xr-x  7 root root 4096 5月  15 11:42 broom


重新赋权,干脆把根目录下的R文件夹全部重新赋权了:



zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library/4.0$ ^C

zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library/4.0$ cd /home/qmh

zlzx@zlzx-PowerEdge-T640:/home/qmh$ sudo chown -R qmh:qmh R


最后检查一下:



zlzx@zlzx-PowerEdge-T640:/home/qmh$ cd /home/qmh/R/x86_64-pc-linux-gnu-library

zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library$ cd 4.0

zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library/4.0$ ls -l

总用量 668

drwxr-xr-x  6 qmh qmh 4096 5月  15 11:42 abind

drwxr-xr-x  7 qmh qmh 4096 5月  15 11:42 askpass

drwxr-xr-x  6 qmh qmh 4096 5月  15 11:42 assertthat

drwxr-xr-x  7 qmh qmh 4096 5月  15 11:42 backports

drwxr-xr-x  7 qmh qmh 4096 5月  15 11:42 base64enc

drwxr-xr-x  6 qmh qmh 4096 5月  15 11:41 BH

drwxr-xr-x  7 qmh qmh 4096 5月  16 23:30 BiocManager

drwxr-xr-x  5 qmh qmh 4096 5月  15 11:42 BiocVersion

drwxr-xr-x  7 qmh qmh 4096 5月  15 11:41 bitops

drwxr-xr-x  7 qmh qmh 4096 5月  15 11:42 broom


問題解決。

image
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容