Linux - DistributionsThis forum is for Distribution specific questions.
Red Hat, Slackware, Debian, Novell, LFS, Mandriva, Ubuntu, Fedora - the list goes on and on...
Note: An (*) indicates there is no official participation from that distribution here at LQ.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I would like to get some feedback from more experienced people on an idea I've had for a while now.
I have always been in a dilemma when having to choose a desktop distribution. While I want my operating system to be stable and not have things break out of the blue due to an update I also want to have the latest versions of certain software installed such as GIMP and Blender to name a couple.
Currently the distribution that comes closest to this is Manjaro but still what I have in mind is running something as stable as Debian but also be able to install the latest versions of software without a hassle.
As far as I understand the problem is the fact that linux software depends on layers of shared libraries so if I was to install a newer version of a library everything could suddenly break, but why does it have to be that way ? Theoretically would it be possible to have multiple versions of shared libraries installed as well as software that could automatically determine which packages depend on which version of a library and have them use the correct one ?
yes it's possible. it already exists. it's called windows.
the shared libraries are the best bit of linux. shared development.
if everyone starts cooking their own applications, well then it's not shared anymore.
and in a couple of years you have the same sort of bloat that is windows.
what you want is possible - some apps on your system are probably even doing it. proprietary blobs, for example.
it creates bloat.
apart from that, i haven't had any breakage for ages. not even minor issues for months. and i do install & update a lot of stuff all the time - but maybe there's a point where i say to myself: ok, i just can't install this particular application without a world of pain. i have to make do with sth else. this particular feature i cannot have.
Slackware. This is the advantage of not having dependency resolution: you can just upgrade any random package you want, including libraries. Slackware also makes it extremely easy to build your own packages. And no, in practice this does not cause problems.
Moved: This thread is more suitable in the Linux Distributions Forum and has been moved accordingly to help your thread/question get the exposure it deserves.
I would like to get some feedback from more experienced people on an idea I've had for a while now.
I have always been in a dilemma when having to choose a desktop distribution. While I want my operating system to be stable and not have things break out of the blue due to an update I also want to have the latest versions of certain software installed such as GIMP and Blender to name a couple.
Currently the distribution that comes closest to this is Manjaro but still what I have in mind is running something as stable as Debian but also be able to install the latest versions of software without a hassle.
As far as I understand the problem is the fact that linux software depends on layers of shared libraries so if I was to install a newer version of a library everything could suddenly break, but why does it have to be that way ? Theoretically would it be possible to have multiple versions of shared libraries installed as well as software that could automatically determine which packages depend on which version of a library and have them use the correct one ?
It's a research problem, just like trying to make software that's entirely ABI/API compatible between versions.
One solution that I'm seeing come up more often is a stable distro like Debian or Slackware combined with Nix to get newer packages. Just keep in mind that you have to learn to use a new and sophisticated tool and deal with it's problems - To be honest, using Nix can sometimes be frustrating.
There's also the Guix package manager, which is based on Nix, for the GNU operating system, written in Guile scheme. Exciting things may happen when/if that manages to land in other distributions, so you'll at least want to keep your eyes on the project.
Another project is GoboLinux, which features a radically different file system hierarchy. I just got my copy, so I don't have any real opinions on it in comparison to these other tools.
yes it's possible. it already exists. it's called windows.
the shared libraries are the best bit of linux. shared development.
if everyone starts cooking their own applications, well then it's not shared anymore.
and in a couple of years you have the same sort of bloat that is windows.
what you want is possible - some apps on your system are probably even doing it. proprietary blobs, for example.
it creates bloat.
apart from that, i haven't had any breakage for ages. not even minor issues for months. and i do install & update a lot of stuff all the time - but maybe there's a point where i say to myself: ok, i just can't install this particular application without a world of pain. i have to make do with sth else. this particular feature i cannot have.
Concluding the realm of possibilities with Windows sure seems grim.
Further, I think your view has been clouded by Windows: shared libraries are worthwhile, so why not build a system that can share libraries along with allowing different versions? Windows ends up wrapping the entire universe in each package, essentially deep copies of each artifact, because doing so is a lot less work than figuring out how persistent data structures work across a file system, not because they solved the problem and the only solution is a bloated mess from MS.
Quote:
Originally Posted by dugan
Slackware. This is the advantage of not having dependency resolution: you can just upgrade any random package you want, including libraries. Slackware also makes it extremely easy to build your own packages. And no, in practice this does not cause problems.
I'm sure Pat would like to know your trick, dugan. I vividly remember Firefox getting bumped to the ESR version because a bunch of Slackware versions were stuck with an old libc. I'm sure there's other little dependencies that also don't upgrade so smoothly between versions.
I'm sure Pat would like to know your trick, dugan. I vividly remember Firefox getting bumped to the ESR version because a bunch of Slackware versions were stuck with an old libc.
Could you please post a link to the thread? Not doubting you; I'm asking because I missed it.
It's a research problem, just like trying to make software that's entirely ABI/API compatible between versions.
One solution that I'm seeing come up more often is a stable distro like Debian or Slackware combined with Nix to get newer packages. Just keep in mind that you have to learn to use a new and sophisticated tool and deal with it's problems - To be honest, using Nix can sometimes be frustrating.
Nix seems to be a lot like what I had in mind, thankfully I am not the first one to have thought there should be a way to isolate packages and their dependencies from the rest of the os.
Would it be an exaggeration to say Nix is one of the best things to have happened in the linux world ?
Slackware. This is the advantage of not having dependency resolution: you can just upgrade any random package you want, including libraries. Slackware also makes it extremely easy to build your own packages. And no, in practice this does not cause problems.
While this is true for many packages it is not true for some of the bigger software projects, especially the likes of Gimp, which oftentimes also need newer libraries installed, which in case of Glib can be a real hassle. Back in the days (I am not sure if it was 14.0 or 13.37) I tried to get the newest Gimp and after replacing some libraries with newer versions I pulled the plug when it came to Glib, which is essential for many GTK programs.
For being a middle thing between being stable and having the newest version I would recommend rather to go for Gentoo or a semi-rolling release distro, like LMDE or Chakra.
Hmmm - ghosts from the past. Haven't looked at nix for years - seemed like a nice concept. Never did get to proceed with it, might be time to add it to the to-do list.
Nix seems to be a lot like what I had in mind, thankfully I am not the first one to have thought there should be a way to isolate packages and their dependencies from the rest of the os.
Would it be an exaggeration to say Nix is one of the best things to have happened in the linux world ?
I think the best thing is to have an open mind and be mindful of design decisions and their tradeoffs. Nix has some tradeoffs for sure: check out that directory name in ondoho's link - that's horrific, and definitely has a very 'for developers, by developers' look to it, if not also 'by the machine, for the machine'.
Quote:
Originally Posted by dugan
Could you please post a link to the thread? Not doubting you; I'm asking because I missed it.
I may be wrong. It looks like 13.37 upgraded to an esr version because of a python dependency couldn't be upgraded comfortably by Pat, and 14.0 upgraded to esr because of oxygen-gtk theme having issues.
I only wanted to say that Slackware's package management scheme doesn't fix every problem of having some mix of new and old packages.
On the other hand, I'll gladly concede that it strikes a great balance between update speed, stability and featuring a package management tool set that doesn't fight against you. I always end up running Slackware on the bare metal because of those reasons. In short of something crazy like Nix taking over the world, I'll take Slackware in the mean time.
I think the best thing is to have an open mind and be mindful of design decisions and their tradeoffs. Nix has some tradeoffs for sure: check out that directory name in ondoho's link - that's horrific, and definitely has a very 'for developers, by developers' look to it, if not also 'by the machine, for the machine'.
I believe those horrific directory names are a small price to pay compared to what nix offers.
I was able to install the latest versions of Blender and Gimp on Wheezy by running a single command for each, how long would it take me to manually resolve all the dependencies and build them on Slackware and how user friendly would you say that procedure is ?
I believe those horrific directory names are a small price to pay compared to what nix offers.
I was able to install the latest versions of Blender and Gimp on Wheezy by running a single command for each, how long would it take me to manually resolve all the dependencies and build them on Slackware and how user friendly would you say that procedure is ?
Gimp is installed by default on Slackware, for Blender you would have to refer to its Slackbuilds.org site, according to the blender.info file it has no additional dependencies. If you use a program like sbopkg it also comes down to one command to install Blender.
I was able to install the latest versions of Blender and Gimp on Wheezy by running a single command for each, how long would it take me to manually resolve all the dependencies and build them on Slackware and how user friendly would you say that procedure is ?
Just like this:
Code:
sbopkg -i blender
Blender doesn't have dependencies, but that line would work even if it did.
even if all this is possible on slackware and actually any other linux distro,
in the end it always comes down to "someone made a userfriendly distro out of it".
when you seriously start working on your linux install, you will quickly realize how good it is that directories are called "lib" or "doc" or "icons"... something a human being can actually understand... and that there's some long-term logic at work that tells me e.g.: apps' global configurations are most probably in /etc.
with an automated, user-friendly ("one command"!), library-independent standalone installation system you are losing this.
plus, the bloat:
redundancy is always to be avoided, esp. if you think ahead.
it grows quicker than you think.
there's probably other implications that i'm not even aware of.
my guess is, bill gates had some similarly "revolutionary" ideas in 1980, and we all know how that went: these days windows is trying more and more to re-implement almost historic features of unix-like operating systems, that were no doubt then dropped by young billy because he thought them a hindrance.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.