Why do some packages use ‘make install’ while other use ‘sudo make install’

makesoftware installationsudo

I recently installed LAME encoder on my server to convert wav to mp3 and that worked with ./configure; make; make install.

I then tried to install OGG encoder and that requires './configure, make, sudo make install' – which I cannot do, since I don't have a VPS (and I'd rather not pay $15 a month for a VPN just to install a codec).

I'm new to all this, and I understand sudo gives you permissions – but I have been trying to find out why exactly some make installs require sudo access and others don't. I haven't yet found the answer.

Best Answer

Usually I try to run it without sudo anyway - sometimes it works. Sometimes package creators think sudo is required, they use it due to their preference, or otherwise choose to install things in non-user areas of the system. Sometimes this is necessary, but many times it isn't.

The other common reason I see for the use of sudo is in blog posts by 3rd parties that explain how to install software, and rather than go the extra mile and explain to you how to install it without sudo privileges, they tell you to use sudo because the person writing the post simply uses sudo for everything, which isn't really a good idea.

Theoretically, the only reason a package should require sudo is if it needs (or decides) to install itself into/otherwise modify areas of the system that can only be modified via administrator access.

Generally speaking, fewer and fewer packages are still doing this, as the need for users to install some software without sudo access is growing.

Related Question