[R] Unix-like permissions to allow a user to update recommen

(Ted Harding) ted.harding at nessie.mcc.ac.uk
Mon Jun 18 23:25:29 CEST 2007


On 18-Jun-07 20:27:56, Patrick Connolly wrote:
> On Mon, 18-Jun-2007 at 11:53AM +0100, Ted Harding wrote:
> 
>|> On 18-Jun-07 10:11:43, Patrick Connolly wrote:
>|> > I installed R from the tar.gz file (as root) in a directory under
>|> > /usr/local.  The recommended packages are installed in a library in
>|> > that directory whereas additional packages I install in a directory
>|> > under the /home directory as a user.
>|> > 
>|> > Updating the additional packages is very easy with
>|> > update.packages()
>|> > as a non-root user, but the recommended packages cannot be done so
>|> > readily because of file permissions.
>|> > 
>|> > My question is how do I set the permissions or ownerships in the
>|> > /usr/local/R-2.5.0 directory so that everything necessary can be
>|> > writable by a user?  Should I make a group for R users (total of
>|> > one
>|> > member) or is it simpler than that?
>|> 
>|> Since you have root access, do you need to segregate the additional
>|> packages to a particular user?
> 
> It's handy to not have to reload packages that don't change between
> versions of the basic installation.
> 
>|> 
>|> Though I don't run R as root for general use, I always install/update
>|> by running R CMD as root. This makes all of R ("recommended" and also
>|> any extras) available system-wide, and no pemission problems arise.
>|> 
>|> This of course does not stop you from setting up a special .Rprofile
>|> for each user, since this by definition lives in the user's home
>|> directory.
>|> 
>|> Does this help? Or are there issues you haven't mentioned which make
>|> such an approach not feasible?
> 
> I don't exactly have issues.  It's not a huge problem I'm dealing
> with.  It's simple enough for me to use update.packages() as a user
> which will download the appropriate packages.  Though they won't be
> installed, they are all in the one place in the /tmp/ directory from
> where I can install them as root.  I just thought there must be a more
> elegant way to set permissions so that users could write to the
> subdirectories under /usr/local/R-2.xxx/.  So much of the installation
> process of R and its packages is so elegant, I'd like to retain some
> of that elegance.

On my Linux, all the places where components of R might normally
be installed (/usr/lib or /usr/local/lib) are user=root, group=root,
and when I look under them practically everything is writeable
only by user=root. So you'd have to change a lot of permissions
before any other user got rights to write to these directories.
Even adding a user to group=root wouldn't change things, since
group does not have write permissions (unless user=root too).

I'm still wondering, though, why you don't just run the command
update.packages() as root. You have root access, and you said
(in the "adding user to group" context) that only one user is
involved (presumably yourself?). In that case, why not start R
as root and run update.packages()?

Or am I missing something?

Best wishes,
Ted.

--------------------------------------------------------------------
E-Mail: (Ted Harding) <ted.harding at nessie.mcc.ac.uk>
Fax-to-email: +44 (0)870 094 0861
Date: 18-Jun-07                                       Time: 22:25:18
------------------------------ XFMail ------------------------------



More information about the R-help mailing list