[R] install.packages umask configuration

Daniel Westphal dwestph1 at cs.umbc.edu
Fri Aug 17 04:33:50 CEST 2012


Hello,

I've been trying to setup a site library that allows the users to manage
the R packages themselves, but am having an issue with permissions. As
seen below, when installing a package using install.packages, the umask
used is always 022. Instead, I would like it to be 002, allowing any user
to update packages that were installed by another user. Can someone
explain how to get install.packages to respect the Sys.umask setting or
another way to ensure that any user can update any package?


Background information:
OS: CentOS release 6.2 (Final)
Kernel: Linux 2.6.32-220.el6.i686 #1 SMP i686 i386 GNU/Linux
R was installed via R package on EPEL:
http://dl.fedoraproject.org/pub/epel/6/i386/R-2.15.1-1.el6.i686.rpm
Additonal configuration:
$ echo 'R_LIBS_SITE="/usr/lib/R/site-library:"${R_LIBS_SITE}' >
/usr/lib/R/etc/Renviron.site
$ mkdir /usr/lib/R/site-library
$ chmod 775 /usr/lib/R/site-library
$ chgrp users /usr/lib/R/site-library/


Example:
[user1 at new-host-3 ~]$ ls -lah /usr/lib/R/site-library/
total 8.0K
drwxrwxr-x. 2 root users 4.0K Aug 16 22:08 .
drwxr-xr-x. 8 root root  4.0K Aug 16 22:08 ..
[user1 at new-host-3 ~]$ R

R version 2.15.1 (2012-06-22) -- "Roasted Marshmallows"
Copyright (C) 2012 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
Platform: i686-redhat-linux-gnu (32-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> Sys.umask()
[1] "22"
> Sys.umask("2")
> Sys.umask()
[1] "2"
> install.packages("combinat")
Installing package(s) into ‘/usr/lib/R/site-library’
(as ‘lib’ is unspecified)
--- Please select a CRAN mirror for use in this session ---
CRAN mirror

 1: Argentina (La Plata)      2: Argentina (Mendoza)
 3: Australia (Canberra)      4: Australia (Melbourne)
 5: Austria                   6: Belgium
 7: Brazil (PR)               8: Brazil (RJ)
 9: Brazil (SP 1)            10: Brazil (SP 2)
11: Canada (BC)              12: Canada (NS)
13: Canada (ON)              14: Canada (QC 1)
15: Canada (QC 2)            16: Chile
17: China (Beijing 1)        18: China (Beijing 2)
19: China (Beijing 3)        20: China (Guangzhou)
21: China (Hefei)            22: China (Xiamen)
23: Colombia (Bogota)        24: Colombia (Cali)
25: Denmark                  26: Ecuador
27: France (Toulouse)        28: France (Lyon 1)
29: France (Lyon 2)          30: Germany (Berlin)
31: Germany (Goettingen)     32: Germany (Wiesbaden)
33: Greece                   34: India
35: Indonesia                36: Iran
37: Ireland                  38: Italy (Milano)
39: Italy (Padua)            40: Italy (Palermo)
41: Japan (Hyogo)            42: Japan (Tsukuba)
43: Japan (Tokyo)            44: Korea
45: Latvia                   46: Mexico (Mexico City)
47: Mexico (Texcoco)         48: Netherlands (Amsterdam)
49: Netherlands (Utrecht)    50: New Zealand
51: Norway                   52: Philippines
53: Poland (Oswiecim)        54: Poland (Wroclaw)
55: Russia                   56: Singapore
57: Slovakia                 58: South Africa
59: Spain (Madrid)           60: Sweden
61: Switzerland              62: Taiwan (Taichung)
63: Taiwan (Taipei)          64: Thailand
65: UK (Bristol)             66: UK (London)
67: UK (St Andrews)          68: USA (CA 1)
69: USA (CA 2)               70: USA (IA)
71: USA (IN)                 72: USA (KS)
73: USA (MD)                 74: USA (MI)
75: USA (MO)                 76: USA (OH)
77: USA (OR)                 78: USA (PA 1)
79: USA (PA 2)               80: USA (TN)
81: USA (TX 1)               82: USA (TX 2)
83: USA (WA 1)               84: USA (WA 2)
85: Venezuela                86: Vietnam


Selection: 78
trying URL 'http://lib.stat.cmu.edu/R/CRAN/src/contrib/combinat_0.0-8.tar.gz'
Content type 'application/x-gzip' length 7973 bytes
opened URL
==================================================
downloaded 7973 bytes

* installing *source* package ‘combinat’ ...
** Creating default NAMESPACE file
** R
** preparing package for lazy loading
** help
*** installing help indices
  converting help for package ‘combinat’
    finding HTML links ... done
    combn                                   html
    dmnom                                   html
    hcube                                   html
    nsimplex                                html
    permn                                   html
    rmultinomial                            html
    x2u                                     html
    xsimplex                                html
** building package indices
** testing if installed package can be loaded

* DONE (combinat)

The downloaded source packages are in
	‘/tmp/RtmpYRQ6Gh/downloaded_packages’
> quit()
Save workspace image? [y/n/c]: n
[user1 at new-host-3 ~]$ ls -lah /usr/lib/R/site-library/
total 12K
drwxrwxr-x. 3 root  users 4.0K Aug 16 22:11 .
drwxr-xr-x. 8 root  root  4.0K Aug 16 22:08 ..
drwxr-xr-x. 6 user1 users 4.0K Aug 16 22:11 combinat


Thank you,
Daniel



More information about the R-help mailing list