On Sun, 2009-04-05 at 16:57 -0400, Jim Perrin wrote:
On Sun, Apr 5, 2009 at 11:38 AM, Michael Klinosky mpk2@enter.net wrote:
I asked about 'make' as $ (I recall someone stating on a maillist that $ could 'make', but # had to 'make install'). Seems that's wrong; I had to be root to make.
It's slightly more complicated than that. The 'make' process is basically a scripted set of commands, usually related to various build functions, and the permissions required depend on what a given 'make' command needs to do. You may need to be root to make, because it's putting things into /lib/modules/`uname -r` which requires root permissions.
I think the confusion comes because a lot of stuff has a separate build and install target in the make files. This is intended to let the builds of the components be done by a normal user and then a sudo or root user can install to system locations.
For those packages that don't provide the separate steps, users will often stumble, since they stopped reading docs long ago, if they are like me. Once I've done something 100 times, I get slack and (without any thought) just do "the usual".
Most files can be (and indeed should be for security reasons) built as a normal user. It's usually just writing the installed files to the final destination such as /usr/local/ or in your case /lib/modules/ which requires elevated privileges. Have I made this clearer, or completely lost you?
<snip>