A Question I received by PM - What Linux Distro would you recommend?

Gary Roberts
Gary Roberts
Moderator
Joined: 9 Feb 05
Posts: 5,491
Credit: 61,973,183,843
RAC: 55,853,094
Topic 225431

I don't like (and tend to refuse) to answer help questions in PMs.  I'm not a privately accessible, personal help service.

The only sensible answer to a question like this is the trite one, which is - "The one you are most comfortable with!"

It's really a "How long is a piece of string?" question.  People are different.  You have to find what suits you best.

I'm not going to give the trite answer here since that would be a bit of a cop out.  Instead, I'm going to do two things.  Firstly I'll go through a bunch of factors I considered in making my choice.  Of course, those factors could well be quite different for others.

Secondly, I'll try to describe why any person asking this question needs to go through an 'identification' process.  You need to think through and identify those factors of particular importance to you.  Things like the gear you have, the time you're willing to spend learning new stuff, how 'hands on' you want to become, and why you want to use Linux in the first place.  Because you think it might be 'better' is NOT a good answer for "Why Linux" :-).

Please be warned that threads like this can degenerate into "fanboyism induced flame-fests" which will not be tolerated.  They can also go wildly off-topic which will also not be tolerated.  The above question is a serious one for those inexperienced with distributed computing who are considering how best to contribute to the science goals of individual projects.  If you have something to say, advice to give, please consider carefully whether or not it will assist that type of volunteer.  If you're not 100% sure of your 'facts', it's better not to post rather than make dubious statements.

Also, no distro-bashing.  You can comment about why certain aspects don't suit your particular style but please leave it at that.

What I would like to see happen is the creation of different threads (one for each major distro) where people who may have relevant information about a particular distro can have a conversation.  It would be good to use a title of the form, "What Linux Distro is best for Crunching - Why I like 'XYZ'."  If such a thread already exists for your distro of choice, contribute to it and don't start a new one.  And please don't go off-topic in it.  Those who understand that distro really well should answer specific distro-related questions.  In the future, the individual threads might become a useful resource for new recruits wanting to ask about a particular distro.  Much less to wade through that way rather than having everything mixed up in one big thread.  I'll pin threads that have useful content.

So, later on, I'll start a new thread about the distro I use (unless one already exists by the time I'm ready).  The remainder of this post will be concerned with the two points mentioned above - my background and the process I used to choose a distro, and what a 'new-to-Linux' person should consider in making a distro choice.  Experienced people can easily skip this if they've already done their homework and found what suits them.

My Background and How/Why I Chose my Distro

I did an Engineering degree in the mid 60s.  After that I worked at that same University as a research assistant/officer and by the mid 70s got the job of running some brand new gear, a scanning electron microscope / electron microprobe analyser.  It came with its own minicomputer control system based on a DEC PDP11 processor.  It had 2 hard drives, a 5MB (yes, that's not a typo) fixed drive and a removable 2.5MB cartridge style drive that had roughly the dimensions of a glass platter from a large microwave oven.  It came with a proprietary OS but eventually we did install a freely available (to academic institutions) Unix system on it.  The screen was a 24 line dumb terminal (no GUI) and the output was an ASR33 teletype device if I remember correctly and subsequently a 132 char wide dot-matrix line printer.  I was fascinated by what you could do with the Bourne shell and basic unix utilities and became hooked on the whole unix concept.

Subsequently, I got to play around with some variants of BSD unix on DEC Vax hardware and finally SunOS (based on BSD unix) running on a Sun SparcStation which was being used as a Departmental multi-terminal minicomputer.

Apart from that early 'playing around' it wasn't until I was starting to think about retirement that I was able to start seriously thinking about unix again.  By this time (1999/2004) I was running my own business and I'd joined Seti using my own Windows office computers.  I started playing with things like 386BSD (a unix style OS for Intel 386/486 processors), then FreeBSD and eventually some early Linux distros - Mandrake, Suse and Ubuntu for example, all on a single retired office machine.  I liked Mandrake the best and then stumbled on to this guy who went by the handle `Texstar' who had forked Mandrake and had started releasing his own customised ISOs.  He called it PCLinuxOS (PCLOS for short).  20 years later it (and he) are still going strong :-).

As Seti classic was ending and BOINC was about to start (2004-2005), I became quite disillusioned with Seti when it was revealed that (to meet the increasing demand for work) they had been in the habit of just sending out the same already completed work (without mentioning that fact) if they were running out of new stuff.  Apparently, the same work was being sent out multiple (eg. 40+) times.  There was this new Einstein project starting up so I joined it instead.  I had about six machines running Windows XP and decided to switch one to PCLOS.  It had a full KDE3 desktop but I found myself reviving some of my old CLI habits to see what might have changed.  Everything worked they way I remembered it - just better.  I installed a 2006 version on all machines when that was released.  I found it really easy to figure things out.  There was a really beautiful KDE3 release in 2007.  There was a stripped down version called 'MiniMe' that was light-weight and perfect for crunching use.  I've used that and its successors ever since.

A key feature for me was the fact it was a 'rolling release' distro.  In theory that just means 'install once, update forever.'  I liked the idea of not having to reinstall (or even update for that matter) on some fixed schedule.  Updates are regularly available (as are complete, updated ISOs) but you don't have to use them.  I'm an "If it ain't broke, don't fix it" kind of person.

The big potential disadvantage of rolling release is that a rogue update (ie. not properly tested before release - where have you seen that before?) can trash your system.  It's fairly easy to avoid - don't be an early adopter of updates and keep your eye on the forums for reports from early adopters :-).   There have been remarkably few examples of this with PCLOS.  Tex is a real wiz at getting things right before releasing and fixing things very quickly if ever there is an issue.  On top of that, these days there is a utility in the repo called 'timeshift' that allows you to go back to the state before an update if something goes wrong.  Of course, you must have saved state before applying an update.  I don't use it (too many hosts) I just keep my own updated copy of the repo (new dated versions about every 3 months) and stay sufficiently behind the bleeding edge to know if there is any current update problem.  In all these years, I've never had a 'rogue update' type of problem.

PCLOS doesn't package BOINC.  It used to (way back) but I was used to using the shell archive from the BOINC website anyway (the last one was 7.2.42) so I never used the PCLOS pkg.  Tex refused to continue packaging it (he called it pre-alpha class sh*t) because in those days David Anderson and Rom Walton were releasing very frequent new versions, fixing some bugs but creating more, far too rapidly to keep up with.  I think it was the latter stages before the v6 to v7 transition where Tex finally tossed it out.  It's pretty easy to appreciate his point.  When the dust settled, I did my v6/v7 transition once 7.2.42 was released and had stayed up and stable for about a month or two :-).

At the time I was annoyed that the shell archives stopped at 7.2.42 with no repo version to replace it.  However it did me a huge favour.  It forced me to learn to compile BOINC for myself.  It's now very easy, once I'd worked out all the development libraries needed - it's just a process with a relatively small number of easy steps once all the -devel libs are in place.  I first built 7.6.33 when 7.2.42 was getting too old, followed by quite a few more since.  I built 7.16.11 earlier this year and have recently been upgrading to that version whenever I update the OS on any particular machine.

Updating the OS is quite painless in my experience.  My copy of the full repo is less than 40GB (per each dated version) and I have more than 20 that go back to 2014 on a 1.5TB external USB3 drive.  My most recent stable version is dated May 03, 2021.  If I decide to update a machine, I don't even bother stopping BOINC.  I'm only running GPU crunching and crunch times are not affected.  There are usually a couple of additions and removals and several hundred updates.  The packages are in RPM format but are processed using a customised version of synaptic which is very much point and click. There are also 'apt-get' style commands if you just want to manipulate a single pkg without launching synaptic.  With synaptic, it usually takes around 20-30 mins to update all pkgs and to install the latest LTS kernel.

When finished, I stop BOINC, reboot to the new kernel and click my 'StartBoinc' quick launch icon.  Sometimes I might also be upgrading to the latest version of BOINC.  I have 'template' directories on the same USB drive that contain just the files that need to change.  I use a file manager to copy the new over the old before I click on the StartBoinc icon.  I then use synaptic again to remove the old kernel (unless I don't yet trust the new one).  I might lose 2-3 mins of crunch time in that whole process of updating the OS/BOINC.  On the reboot, I always look at the startup messages in BOINC Manager to see that OpenCL is properly detected and the version change (if done) is reported correctly.

What to Understand if You Think Your Host Would be more Productive or 'Better' under Linux.

For the majority of people running BOINC, unless you have badly misconfigured your current OS, changing to Linux will probably not make a significant difference.  If you have high end gear and well designed cooling systems, and skills with tweaking things like voltages and frequencies, etc., then, maybe, you can eke out more performance.  But it is likely to be at the expense of occasional failures if you push too hard, together with an increased power consumption.  And certainly it will come with a lot more time and effort on your part to get things right.

My experience with the sort of gear (basic and possibly older) that a volunteer usually has, is that the OS makes little difference in most cases.  So, scratch "I'll get a much better RAC" off your list of reasons.  There might be a few 'corner cases' where Linux outperforms Windows, but they tend to be fairly rare.

Here is a list (almost certainly only partial) of 'good' reasons to consider Linux (just from a crunching perspective):-

  1. I enjoy learning new skills and I'm keen to spend the time it might take.
  2. I know that achieving something I thought I couldn't do will be hugely satisfying when I get there.
  3. I enjoy really understanding how things work 'under the hood'.
  4. I don't like things that are hidden away.  I want control over what and how things run and the ability to change that easily.
  5. I want a seamless option to be able to use either a point and click GUI or a powerful CLI that I can use to automate more complex procedures on multiple hosts (over a LAN for example).
  6. I want full control over what gets updated and over the timing for when that happens.
  7. I would like to be able to tweak all aspects of the look and feel of my desktop and when I get it just right I'd like easily save it as a full installer so that I could install it on completely different hardware and have it look the same without further adjustment.
  8. I know that I'll stuff up at times but I also know there's a community out there who will know how to fix it without rubbishing me.
  9. I need my main machine for work and gaming but my ex-gaming rig is in the garage gathering dust.  It has a decent GPU.  I wonder how Linux would go on it?
  10. My current machine is getting on a bit.  I'll treat myself to a brand new fast machine.  What should I do with the old one since it still runs OK - it's just a bit slow?

The above isn't likely to be complete.  It's just a list that sprang to mind as I started typing.

Here is a list (almost certainly only partial) of 'good' reasons (somewhat tongue-in-cheek) to stay with what you're currently using:-

  1. I'm happy to run BOINC to let it use my spare cycles as long as it looks after itself and doesn't impact my normal work.
  2. I don't need to know what it's doing and I don't have time to learn how to fix it if it stops.
  3. I have no real interest in how it works and I don't really like fiddling with things.
  4. What is this Linux thing that some people keep mentioning?  Can I still run all my Microsoft Office stuff?
  5. I'd like to try Linux but my wife needs Windows for her recipes and the sewing circle.  Can I set it up to dual boot?
  6. My mate told me my machine would be twice as fast if I switched to Linux.  Should I do that?
  7. The Foreman at work told me the best way to deal with blue screens was to install Linux instead.

I you're still reading and still firmly in the first list, let me try to warn you of certain aspects of your likely period of suffering when you first start your journey.  I consider that being prepared ultimately to become somewhat competent with CLI commands is an important prerequisite.  You also need to fully understand the concepts of unix style file ownership and permissions.  While you are deciding on a distro to use, you should browse each forum of interest and look at the services offered.  See what 'how-to' docs are available and see how they handle and answer questions from newbies.  Some can be somewhat intolerant.

This is the main reason why I would like existing Linux users with experience to start threads specific to their distro here.  They will be able to warn if a particular distro  has any sort of 'unfriendliness' towards newbies.  They will know about useful 'getting-started' documentation relevant to that distro.  They will understand basic installation procedures.  They will understand desktop configuration for that distro.  I will have a bit to say about all that in a PCLOS specific thread.

Whilst everything is built on the same underlying kernel, you will find that different distros do things quite differently at the user interface level.  I can't stress enough that there are several really important aspects to becoming comfortable with Linux.  You need to find a user interface that you understand and can configure to your liking.  You need to find forums that will treat you with dignity and respect and not make your life miserable if you ask 'stupid' questions.  You need to understand unix style ownership and permissions and how to manipulate them.

When you have those things sorted, the tools to use for installation, configuration, disk partitioning, software updating, remastering, etc., are also going to be important for easing you into Linux.  Once again, there will be differences between distros and having distro specific threads should really help with that.

After that, there may be specific information about how certain types of hardware (eg GPUs) are handled.  Since that sort of stuff is mostly handled by the kernel, it shouldn't be too relevant when choosing a specific distro.  It will be much the same for all distros.  The most likely stumbling block will be OpenCL installation for GPU users.

I think I should leave it there and see what others think of the above.  I'll start to work on how I want to portray PCLOS.  Hopefully others can start to think of what they like or dislike about their own particular distro-of-choice.  This is NOT a competition so comments like, "Distro A is much better than Distro B" are not useful.  Comments like, "I really like Distro A because ....." where "....." actually contains cogent reasons why that particular feature is so good or useful, in your opinion.

At the end of the day, this is NOT an exercise in converting people away from Windows or from one distro to another.  It's an exercise in trying to create useful information about the range of distros that people use so that newbies have something to guide then in narrowing down their choices.  Ultimately, the individual will need to make the choice about what suits them best.  That choice may well be to stay with what they already are used to.

Cheers,
Gary.

Keith Myers
Keith Myers
Joined: 11 Feb 11
Posts: 1,304
Credit: 2,145,022,782
RAC: 11,764,476

I ended up with Ubuntu simply

I ended up with Ubuntu simply because my first attempt to install Linux was with Mint and I could not get it to install correctly.

Ubuntu did install easily so I never changed distros and have become familiar with that distro.

One project corner case is Universe@home where Linux hosts trounce all Windows hosts simply because of the application difference.  Also we saw a major speedup when moving from glibc 2.27 to glibc 2.31 for some reason.

I also think that the DE matters more to most people other than what is under the covers. Mint is usually offered as close equivalent to the look and feel of Windows.  I know there are other more similar "knockoff" Windows UI distros out there.  Just never felt any love for the Windows UI in the first place so never investigated.

One big disadvantage of the latest Ubuntu distros is the move to a SNAP catalog which I don't like because it locks you into their applications. I'd rather have the choice of which version of an app I want to install.

 

GWGeorge007
GWGeorge007
Joined: 8 Jan 18
Posts: 352
Credit: 511,837,416
RAC: 2,854,984

Hi Gary, Thank you for

Hi Gary,

Thank you for giving that tidbit of information into your personal life, including your predication towards the 'MiniMe'. 

...[SNIP]...There was a stripped down version called 'MiniMe' that was light-weight and perfect for crunching use.  I've used that and its successors ever since.

A key feature for me was the fact it was a 'rolling release' distro.  In theory that just means 'install once, update forever.'  I liked the idea of not having to reinstall (or even update for that matter) on some fixed schedule.  Updates are regularly available (as are complete, updated ISOs) but you don't have to use them.  I'm an "If it ain't broke, don't fix it" kind of person...[SNIP]...

And I tend to agree with the statement you made: "I'm an "If it ain't broke, don't fix it" kind of person."  To an extent, I too am the same way.  Particularly, I also agree with your list of 'good' reasons to go with Linux in statement #8: "I know that I'll stuff up at times but I also know there's a community out there who will know how to fix it without rubbishing me." 

Personally, I like the Linux Mint v20 distro because it does look and act more like windows, though I still am a little intimidated with the 'Terminal'.  I will need to read up and study more to get more comfortable with using it.

Thanks again for providing the helpful tips on reasons to switch to Linux, or not and stay with Windows, or whatever system that 'we' may be presently on.

Cheers to you!

George

cecht
cecht
Joined: 7 Mar 18
Posts: 924
Credit: 1,073,434,917
RAC: 638,606

My first Linux distro was

My first Linux distro was Lubuntu 16.04 because I liked its "lightweight" concept. I installed Ubuntu LTS, however, when I built another machine because I realized I didn't need 'lightweight'. The Lubuntu machine was then used as a remote (headless) host, which worked fine and Lubuntu upgrades were no problem. Or no problem until I tried to upgrade to 20.04. I missed the warning that that version needs a fresh install and to not try a standard upgrade because bad things will happen.  Well, bad things did happen, and I ended up needing a fresh install anyway, so I went with Ubuntu 20.04. I am pleased with Ubuntu's support community and appreciate its problem-free LTS rollouts and regular upgrades.

Ideas are not fixed, nor should they be; we live in model-dependent reality.

Ian&Steve C.
Ian&Steve C.
Joined: 19 Jan 20
Posts: 853
Credit: 4,606,902,210
RAC: 31,553,703

Gary Roberts wrote: For the

Gary Roberts wrote:

For the majority of people running BOINC, unless you have badly misconfigured your current OS, changing to Linux will probably not make a significant difference.

This is highly dependent on the project and/or application being used, and not at all appropriate as such a generalization. there are several examples of BOINC projects where Linux shows more than a marginal gain, for a variety of reasons. Just because the whole two projects you've contributed to in the last 15 years haven't shown much difference between Windows/Linux, doesn't mean it's not there for others. It would be more appropriate to say something like "with Einstein and Milkyway AMD GPU apps there isn't much difference between Windows and Linux performance"

 

Examples of projects showing significant performance uplift in Linux vs Windows:

1. As Keith mentioned, Universe@home always showed a fairly big performance improvement on Linux vs Windows. and when Ubuntu moved from 18 to 20, the gap got even wider. now it's to the point of modern Linux distributions being on the order of 2-3x faster than Windows. this is a CPU-only project. you also get pretty good IPC and clock speed scaling. So it's no surprise that modern AMD CPUs (anything zen2 and newer) on Linux are the dominant systems on the leaderboards.

2. SETI@home (currently not distributing work of course). This one is more that the "fast" application just wasn't available for Windows, it was also CUDA only. but in terms of Nvidia GPUs, the Linux CUDA "Special" app in it's final form was 2-5x faster than the Windows OpenCL app (at the time the only Windows CUDA apps were very old and not well optimized for modern hardware). "Special" in that this was a volunteer written app not provided by the project, but validated against the project apps (even the CPU app) at a rate just as high or higher than the project's own apps. Attempts had been made to port this code to Windows, but from what i recall, the techniques being used couldn't be reliably replicated in the Windows environment and no one ever figured it out, so it stayed only available for Linux.

3. GPUGRID. They have CUDA 10.0 apps on Linux, and CUDA 10.1 apps on Windows. (they have no OpenCL apps at all at the moment) the Linux app is consistently 10-15% faster on the same hardware. This is a pretty typical result as there is in general less overhead on Linux systems.

there are probably more, but I don't have experience with all BOINC projects so I won't attempt to speak for them, only the few I've personally contributed to.

 

SETI was personally my main driving force for the move to Linux since at that time it was the only project I was contributing to and the performance benefit was so great, not to mention the effective efficiency boost (much more work being done per watt). And I'm able to continue to reap the benefits of Linux as I expanded to more projects after the demise of SETI. I stuck with Ubuntu for my crunching systems because Ubuntu has become so well supported as the "standard" Linux OS and nearly any problem has a fix or workaround available with a large community for support, and it's a very mature OS at this point. I stick to LTS versions only though. I have separate non-crunching systems for things that require Windows.

_____________________________________________

Richard Haselgrove
Richard Haselgrove
Joined: 10 Dec 05
Posts: 2,038
Credit: 665,583,114
RAC: 1,397,819

It'a not always as easy as

It'a not always as easy as that. I had a long argument back in 2008 with Martin ('ML1'), who at the time was proselytising Linux. We had a poster at SETI asking why his dual-boot machine ran SETI consistently slower under Linux than under Windows - SETI thread 45830. The protagonists clung to their respective positions (and the thread has been much cleansed since the original postings), until somebody who really knew what they were talking about confirmed the observation. Take (yet another) bow, Toby, for post 725163.

Having subsequently dipped a couple of toes into the Linux pond myself, I'd agree with Ian: modern distros with current default settings do show an advantage for Linux. But that isn't set in stone: it's changed before, and it might change again. And for the novice, it can be very hard to get objective advice on which obscure setting requires attention, and where it can be found in the particular distro under debate.

Mike Hewson
Mike Hewson
Moderator
Joined: 1 Dec 05
Posts: 6,204
Credit: 134,962,579
RAC: 37,182

Gary Roberts wrote:......

Gary Roberts wrote:

...... It came with its own minicomputer control system based on a DEC PDP11 processor.  It had 2 hard drives, a 5MB (yes, that's not a typo) fixed drive and a removable 2.5MB cartridge style drive that had roughly the dimensions of a glass platter from a large microwave oven.  It came with a proprietary OS but eventually we did install a freely available (to academic institutions) Unix system on it.  The screen was a 24 line dumb terminal (no GUI) and the output was an ASR33 teletype device if I remember correctly and subsequently a 132 char wide dot-matrix line printer.  I was fascinated by what you could do with the Bourne shell and basic unix utilities and became hooked on the whole unix concept. ...

[reminiscence with a smile]

I had much the same experience with similar hardware in the late 1970's at university, also with a PDP11 system. I have the dubious honor of being one of the very first students to get kicked off that system, receiving a penalty period, for playing too much of a text based adventure game ! { It culminates in the key phrase  'throw rabbit at dragon' if you must know }. My real sin though was hacking into ( a largely social skill back then ) another student's account from the Engineering Faculty when I was in the Science Faculty. For that I got a dressing down from both faculties ....... they were also the days of punch cards and batching thereof *.

[\reminiscence with a smile]

FWIW I think if one has a leaning towards the technical side of things then a Linux distro is OK. I'd strongly advise to choose the Long Term Support releases, Ubuntu for preference with Gnome Desktop, and I generally update when advised of one. While not shy of terminal mode, I haven't had to spend too much time in it to adjust things. I really haven't had any dramas with it and it is a pleasure not to worry about anti-virus software ( but you still need a good browser ). I also have a Windows 7 machine with better hardware for use with games and other special uses eg. MATLAB. But if one wants to optimise then the best thing to do is measure and compare.

Cheers, Mike.

* After a while I bought the ( dare I say 'legendary' ) Hewlett-Packard 25C calculator : all singing/dancing/programmable .... it remembered stuff even when turned off, new fangled CMOS technology for the masses .... ;-) 

I have made this letter longer than usual because I lack the time to make it shorter. Blaise Pascal

MarkJ
MarkJ
Joined: 28 Feb 08
Posts: 436
Credit: 95,188,146
RAC: 127,603

When Microsoft announced Win7

When Microsoft announced Win7 was being retired I started looking around for a replacement. I didn't like the idea that Microsoft would look after the machines for me if I updated to Win10. I tried a couple of different distros like Knoppix, Mint and Ubuntu before settling on Debian. I run their "stable" release and pick up some later versions of software like nvidia drivers and BOINC from their backports repo. Debian generally do a new stable release every 2 years.

I do most maintenance/setup activities from the command line although there are some things that are easier to do with a GUI. Raspberry Pi OS is basically Debian so its the same commands on my Rpis as the x64 machines.

My "daily driver" is a Win10 laptop, mainly because I have some software that needs Windows and there is of course MS Office, but all my number crunchers and support nodes are Linux based.

San-Fernando-Valley
San-Fernando-Valley
Joined: 16 Mar 16
Posts: 198
Credit: 4,391,897,402
RAC: 6,040

@IAN&STEVE C.: Please

@IAN&STEVE C.:

Please reread Gary Roberts post MORE CAREFULLY ...

Have a nice weekend!

Regards

Ian&Steve C.
Ian&Steve C.
Joined: 19 Jan 20
Posts: 853
Credit: 4,606,902,210
RAC: 31,553,703

@SAN-FERNANDO-VALLEY : I

@SAN-FERNANDO-VALLEY :

I read the entire WALL-O-TEXT

Regards

_____________________________________________

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.