Search code examples
linuxopen-sourcesoftware-distribution

Why won't linux software supply binary edition?


Source files are good; RPM/DEB are easy to get; apt-get/yum are convenient.

But what can I do without the root privilege ? I cannot install them without sudo. I can not compile them due to the lack of library files.

Only a few open source tools supply binary editionss, which can be used directly after uncompress. But most are not. And the installation of many commercial software don't need the privilege of root, so there is a way to avoid such problem, right ?

So what is the reason preventing developers supplying a binary edition ? If the binary may be limited to specific platform due to updating library files, can we just include all necessary files in the tar ?


Solution

  • I could be wrong, but get the sense that your real frustration is not so much the lack of binary packages, but that the available binary packages require root to install (and the available source packages require library packages to compile which require root to install).

    I believe that this is because the packages are by default intended to be installed for system-wide use, rather than installed within a user's home directory for private use by that specific user only.

    Sometimes it may be possible to extract the package files (either using a dump option of the package tool or using some kind of fake root / chroot environment) and then relocate them to substitute locations ~/bin rather than /usr/bin etc) and get them to work.

    Other times you may need to build the packages from source with a different install location specified in the pre-compile configuration. And to do that, you may need to learn to extract the library files and install them under your home directory rather than in system locations. It may prove easier to get the upstream source tarballs and build those rather than the customized source packages of your particular linux distribution - though you will have to sort out dependencies yourself.

    Generally though, you seem to have discovered that linux distributions with nice packaging are oriented either towards single-user machines where the user can escalate to root when needed, or towards multi-user machines where all installation is provided by the sysadmin, but not towards the situation of a non-privileged user of a multi-user or organizationally-managed system who needs to install prebuilt software for individual use without sysadmin access or assistance.

    An option that might be worth considering would be to see if you could install (/request installation of) virtual machine software, and then work within the virtual machine where you can have superuser capability. Another option might be to request a box on which to install a consumer distribution with no organizationally privileged capabilities - if IT is uneasy, perhaps without a network connection or behind a heavily filtered one.