Normally, the go to distro for newcomers is Ubuntu. It comes with a nice installer and an interface of brand "good enough". But I always recommend Antergos Linux for newcomers, because it is an Arch Linux based distro. Why?
Software
In Ubuntu the software is usually around one whole year behind the current version. Because the maintainers want the software to be tested and not buggy as new versions are often. In my experience however, the exact opposite is the case: I just had another "incident". Currently I have to use ubuntu, because it is not my PC. I was using Keepass and tried to synchronize the password database via my WebDAV server.
It was not working. Why? Because the version of Mono that was installed by Ubuntu (the "newest" version) was one complete major version behind the current stable version and this old version was not able to handle letsencrypt certificates. The solution after 1 day of searching: Adding the official mono ppa as repository and use the version from there.
With Arch (and Arch based distros) you always get the newest version in the main software repositories. I never encountered this issue on my Arch machine, simply because installing keepass also pulled the newest version of mono.
Software not in the official repositories
On Ubuntu, if your software is not in the official repositories, you are out of luck most of the time. If you are lucky, the software maintainer is hosting a ppa from where you can install it. If not, you have to download a .deb
and update it manually.
Arch Linux on the other hand has the AUR - the Arch User Repository. Every user can upload a package build script to package any software available. This has the consequence, that if a software is available for linux, you can find it in the AUR. This also means you get normal package updates for those user packages.
Package manager
Ubuntu's package manager is very verbose, so you have to type a lot in order to do common tasks. To update all installed packages:
sudo apt update && sudo apt upgrade
compare that to pacman, the Arch Linux package manager:
sudo pacman -Syu
If you want access to the AUR through the package manager, the most common way is to install yaourt
a wrapper around pacman
. With this you can search easily the database of packages:
yaourt vlc
TL;DR
If you are a Linux beginner, install Antergos Linux. Once you are comfortable with the command line, switch to bare Arch Linux.
Top comments (68)
Arch is great until it breaks, and it will break. If you want to deepen your Linux skills at debugging and repair, or just deepen your knowledge, there's no better distribution. But if you're just looking to get things done, Debian/Ubuntu/Fedora is a more stable option.
The point I am making is that Arch does not break. In two years of daily Arch usage, it never failed on me.
Ubuntu on the other hand was hell to upgrade from 14.04 to 16.04. Plus the annoying old versions.
Our experiences differ vastly then. Upgrading from 14 to 16 was very smooth for me the few times I tried it. Arch, however, would inevitably fail some months down the road after a world update. It's not a criticism of Arch per se - any rolling distro (Gentoo, etc...) is risky. The last time it was Xorg that got borked because the proprietary nvidia driver couldn't compile cleanly with the new kernel headers. After that I decided no more gratuitous kernel upgrades, and switched to something more stable.
I agree that the old versions of some of the software available in the 'static' distros is annoying, but it's easily overcome by installing from source, using vendor repos or the cutting edge releases available in repos such as Debian's backports.
When you run at the bleeding edge of everything, something will break. It's inevitable - it's the cost of living with the state of the art. Consider yourself fortunate it hasn't happened to you yet. It has for me, multiple times, and thus I can't recommend it for non-experts.
That's why I argued that beginners should choose something stable like Ubuntu ... great docs and resources and it just works. Did anyone ever try to install ArchLinux on a Mac? With Ubuntu it works and it's not even that hard.
I'd be curious to hear about that as well. I'm trying to install linux on an old macbook pro, but the dual-gpu frustrates me. I can get it running with the nvidia driver, which consumes power and generates a lot of heat, but when I remove the nvidia drivers to force it to use the internal intel GPU, the nvidia card remains powered. Bumblebee/Primus doesn't work in any of the distros I tried: Fedora, Debian or Ubuntu. Maybe I'd have better luck with Arch.
I did it two times, first on my Mac Mini, second time on my Macbook.
Second time went a LOT easier:
first time I used reFIND (boot manager), second time skipped that, just using the Mac book manager (pressing Alt while booting) works fine, the extra hassle of reFIND isn't worth it (first time I messaged around a lot also with creating the partitions). First time lots of fussing with reFIND, grub, "bios" installation and so on and so on (trial and error).
first time I had some trouble with video as well (not sure how I fixed that but it was a lot of hassle) and the network (Airport) didn't work out of the box, I had to manually download/compile a driver. Second time (Macbook) all of that was not a problem, PROBABLY because I used a much newer Ubuntu version.
(I think first time I used Ubuntu 12, second time Ubuntu 16)
I assume you've read the official guide:
help.ubuntu.com/community/MactelSu...
Don't have my macbook model/brand handy but I could give that to you.
All in all the second time things went 10 times easier than the first time.
At the bottom I pasted the notes ("installation instructions") I put together the first time (actually I did the whole process 2 times, talking about "get a life", haha), to illustrate how complicated it was. It was a terrible experience in fact but by now it runs just fine.
Some other links that might be useful:
frozenindustries.com/2012/11/04/ub...
askubuntu.com/questions/43939/macb...
lifehacker.com/5934942/how-to-dual...
My "first time" installation notes:
Mac mini 6.2
PREPARATIONS AND 'BIOS' INSTALLATION
preparations:
boot from CD 'ubuntu 12.03 amd-64+mac':
once ubuntu is booted from live-cd:
CONVERSION TO EFI BOOT
POST-INSTALLATION CONFIGURATION
grub config:
broadcom ethernet driver (wired):
add wireless driver (broadcom/AirPort):
add "Fan Control" to control the temperature of the CPU, as follows:
sudo add-apt-repository ppa:mactel-support/ppa
sudo apt-get update
sudo apt-get install macfanctld
sudo apt-get install applesmc-dkms
Before installing these packages, you will see messages like these in /var/log/syslog:
applesmc: : read arg fail
After installing the packages, this message should not be there anymore.
NOTE: if you don't install fan/temperature control, then you can get system freezes due to overheating of the CPU.
(indeed this happened to me at least once per day before I installed the above!)
For background see:
frozenindustries.com/2012/11/04/ub...
askubuntu.com/questions/43939/macb...
ubuntu classic:
install "vim" (sudo apt-get install vim)
install "gvim":
passwordless sudo:
create application/task shortcuts on panels (taskbar/menubar), 2 methods:
keyboard: System settings -> Layout -> English (US)
workaround for bad screen colors/dithering: use "suspend" option (make a keyboard shortcut for it)
(this problem is not present under BIOS boots but only under EFI boots)
fix screen resolutions/displays (note: this is only needed when using EFI boot -
when using BIOS boot the resolutions were okay already):
PROBLEMS AFTER UBUNTU KERNEL UPDATE (Linux kernel updated from 3.2.0-29 to 3.2.0-38 by automated update)
After this kernel update, the Broadcom wired (Ethernet) AND wireless drivers both stopped working.
solution for wired (ethernet) driver:
solution for wireless driver:
NOTE: this needs to be done after every kernel update!! An automated solution using "dkms" is described here:
frozenindustries.com/2012/11/04/ub...
and consists of executing the following commands (see the above web page for details):
sudo mkdir -p /usr/src/tg3-3.124c/src
cd /usr/src/tg3-3.124c/src
sudo tar xvfz ~/broadcom/Server/Linux/Driver/tg3-3.124c.tar.gz
sudo vim /usr/src/tg3-3.124c/dkms.conf
........
sudo dkms add -m tg3 -v 3.124c
#sudo dkms build -m tg3 -v 3.124c
#sudo dkms install -m tg3 -v 3.124c
(last two commands commented out - not necessary at this time?)
However when executing the last 2 commands ("sudo dkms build -m tg3 -v 3.124c" and "sudo dkms install -m tg3 -v 3.124c"),
they failed (see the error messages in: broadcom_tg3_dkms_errors.txt), so I'm not sure if this really works - check when the next kernel update arrives!
FINISHING TOUCHES
Install LTS Hardware Enablement Stack (wiki.ubuntu.com/Kernel/LTSEnableme...
sudo apt-get install --install-recommends linux-generic-lts-quantal xserver-xorg-lts-quantal libgl1-mesa-glx-lts-quantal
then change and recompile Broadcom ethernet driver:
ubuntuforums.org/showthread.php?t=...
(see also changed sources under: setup_notes/broadcom/tg3-3.124c_changed_sources - note: tg3_flags.h is auto-generated by "make")
install Microsoft fonts, from Ubuntu software center or using:
sudo apt-get install ttf-mscorefonts-installer
Desktop configuration:
make window borders thicker to make window resize easier:
ubuntuforums.org/showthread.php?t=...
-> use Applications -> System Tools -> Preferences -> Advanced Settings (Gnome Tweak Tool) to see which Window Theme is used
-> edit the XML file for the theme under /usr/share/themes (make a backup first), e.g:
sudo cp /usr/share/themes/Ambiance/metacity-1/metacity-theme-1.xml /usr/share/themes/Ambiance/metacity-1/metacity-theme-1.xml.backup
sudo vim /usr/share/themes/Ambiance/metacity-1/metacity-theme-1.xml
-> logout and login
As I said, crazy stuff, just to get a dual boot Mac working.
It sounds like an interesting hobby, I guess. I found that nothing I had to do on any form of Linux actually helped me to develop software, though.
I wouldn't really call it a hobby, it was something I undertook and which in hindsight consumed way to much time, especially the first time around ... second time it was a piece of cake though.
What's your point about Linux? In my opinion Linux makes for an ideal developer system, unless you have no choice but to run OSX or Windows (i.e. you need to develop OSX/iOS or Windows software).
Well I guess it's ideal if you don't mind spending so much of your time on it.
As a developer, I feel like working on Linux is a bit like being a taxi driver who has to spend time continually tweaking and maintaining their car, and every now and then the car won't start in the morning and you need to spend 15 minutes on doing something to it. That's not what taxi driving is about.
I used it (Ubuntu I think) until I was told I had to edit a text file in order to be able to increase the size of a grab point on a window in order to be able to resize it to make it usable, and the text file just didn't exist. At that point, I thought "I do not have time for this shit", and bought a Mac.
Haha, I like that analogy, a taxi driver who has to fix their own car.
In my experience it doesn't have to cost so much time ... system maintenance on a mainstream distro like Ubuntu is simple and does not need to take more time than on Windows or OSX. You can customize if you want but you don't have to babysit it.
I recognize your story about the border width, I tweaked that same file to make the border draggable for a mere mortal (I think it was called something like X-Windows/Metacity).
Flipside of the coin is that you CAN customize everything about the OS, with OSX or Windows if there's something about the OS that you don't like then you're out of luck. Hate the "Metro" interface on Windows 10 ? You're stuck with it. Don't like "Unity" on Ubuntu? Just dump it and install Gnome (takes less than 15 minutes, if your connection is slow).
Nowadays I'm mainly using OSX primarily because for one client I had to develop/test an iOS app, so you have no choice really ... I'm used to OSX now but there are still a few things that annoy me and that in Linux I would just have tweaked so that it works the way I want.
Last but not least it's a fast and efficient OS, and the Ubuntu package manager (installing software) is superb (although nowadays on OSX there's Homebrew, which works quite well).
Most important for me is that we have choices, that's a good thing.
You have ArchLinux everywhere or archibold.io to install ArchLinux pretty much wherever you want.
medium.freecodecamp.org/installing...
Okay cool, glad to hear that ArchLinux has so many fans.
Mine was just a hint on how to install on a Mac with just an ISO or a single bash line.
I've used most distros but ArchLinux has greater freedom thanks to AUR.
I can write (and I did) software for my own OS, and it's on GitHub, how cool is that?
Everything else is the same and the usual boring fan-boys comments I'm not interested in.
Ubuntu works for you? Good, I'm happily in ArchLinux since 2014 and I'd never change it, combined with GNOME.
Have a nice weekend.
You're right, if you're happy with something and it works for you, then why change. Besides, there's almost never a situation where you can say "XYZ is the best", it always depends on the situation and on one's preferences (and on what you're used to).
I'd make the argument that you're just lucky then. But I think it is fairly safe to say, it breaks for a lot of people - it certainly did for me. Things were going just fine, and then they wern't.
I've never had that experience with Ubuntu.
laughs in twice-a-year-chroot to restore system
I actually found this thread when looking the instructions for chrooting to reinstall the kernel. Had to come back here to reply once my system is working. So, three years passed since and still no issues with Arch? Mmm? :D
No, not really, two or three inconveniences maybe, but those were quickly resolved.
I had more issued back when I used gnome, because a gnome update would break most of my extensions. But I've since moved to a tiling window manager
Gnome breaking extensions is part of every Gnome update in Arch experience, is a feature, not a bug, LOL. :D
Running Arch for three years without any breaks I could not recover without a quick look-up on Google! <3
This is from my experience.
I have a laptop with Arch and RPi with Raspbian.
RPi - There are breaking changes if I directly upgrade from jessie to stretch and a clean install is recommended
Arch - The only time I broke my installation was when I accidentally switched off the machine during an upgrade. It was easy to fix too. One more time, GTK broke the sliders. A bug report was submitted and was fixed within a week upstream.
I think Arch is fair enough, if one has time to maintain one's system in case it breaks.
That is a fair assessment. Arch requires commitment. That's why I didn't agree with the statement that Arch is for everybody.
I'm on Arch at my workplace since 6 years and it never breaks. Same for my ThinkPad. But my colleagues with Ubuntu have every dist-upgrade problems ..
when i installed arch after few year of using debian base distro's i feel in love with arch, literally it doesn't break it's much more cooler than ubuntu, installing stuff and configuring it is easy, but installation part it's little bit tricky
I'm not ok with the verbose. With Ubuntu, you understand what you ask. It's longer to type but whatever, you get what you do.
I have no idea what -Syu mean and no way to memorize it..
This, and there are always aliases to the rescue, like these:
alias agi='apt install'
alias agr='apt remove'
alias agp='apt purge'
alias agu='apt update'
alias agup='apt dist-upgrade'
alias agar='apt autoremove'
alias ags='apt source'
alias agbd='apt build-dep'
alias acsh='apt show'
alias acs='apt search'
alias acd='apt depends'
alias acrd='apt rdepends'
alias afs='apt-file search'
alias afl='apt-file list'
alias afu='apt-file update'
alias acp='apt policy'
It all boils down to the personal experience that's highly influenced by the environment, hardware, tasks and whatnot. I use Debian testing, it has much richer repos than Ubuntu and is more stable than bleeding-edge distros (like Arch). I also don't use DEs as they tend to break more often than anything else, Awesome WM is the choice.
If you know your system it'll work OK, if you don't any distro would be fragile and error prone.
I have been using arch for two years. The ones that I use most frequently are,
Syu - update, upgrade
Qe - query all explicitly installed packages
Qi - query info about a package
Qtd - unneeded dependencies
Ss - search repos for a package
Sc - clear local cache
These are muscle memory and are easy to use after some time :)
In my case, it's the opposite.
I find apt more confusing, some of the tasks by the apt-get and the others with apt-cache or ap-file.
Even using the python wrapper(apt), there are tons of completely different commands to remember (remove, purge, auto-remove, auto-purge and update, dist-update ...)
On the contrary Pacman is symmetrical, there are operations (8 of them) , the most important are S for Sync, R for Remove, Q for Query.
And then there are options to each of those operations.
if I need to do something related to a package installation, I am sure that I'll use the S.
While I generally agree and tend to use Arch (or Antergos) on my personal working computers and laptops, your mileage might vary when talking about servers.
Arch is great but the "rolling release" approach can be a major pain if you keep productive applications running on Linux servers and, in example, want or need to install security patches but can't risk "larger" upgrades because they might break parts of your applications. That's where distributions with stable releases and long support terms (such as Ubuntu LTS or Debian) are better or at least make your life a bit easier. ;)
It's a two-edged sword for non-server users too. I run Arch and love it most of the time, but have for instance found myself unable to work with jobs in a remote Kubernetes cluster because
kubectl
had rolled to a newer version that wasn't 100% backwards-compatible with the unupgraded cluster.True, yes. I used to run into issues like these too, and this is a painful mess most of the time. But on a workstation it's way easier to resolve or work around this, at least given most of the people I know using Arch are somewhat tech-savvy and able to fix this more or less quickly. Nothing compared to an external production server not coming up again just because your application doesn't like the new libc which you can't easily downgrade without breaking half of your distribution ... ;)
Yeah, for Servers, I usually use Ubuntu Server. My Arch recommendation is for desktops.
ArchLinux rocks. My distro of choice since a really long time, no regret at all.
PD: yaourt does not need sudo, when installing it should ask for password. Plus I totally recommend using pacaur. (wiki.archlinux.org/index.php/AUR_h...)
That sudo was a typo, thanks :)
Will take a look at pacaur
Didn't know about pacaur. Thanks for that, it looks much better than yaourt according to the table you gave.
There's one huge argument in favor of Ubuntu: world + dog uses it, stuff actually gets tested on it, documented for it, and generally should just work. Especially cutting edge stuff tends to come with instructions that are typically ubuntu centric. Lets be honest, if your stuff doesn't work on Ubuntu, it probably isn't anywhere near mainstream.
I share your annoyance with the notion that stuff only gets major updates once a year and that that typically means all the stuff you would care about is out of date. But then you can usually find solutions for just these things. IMHO, ubuntu is overly obsessed with sticking with obsolete stuff for the wrong reasons.
Arch linux is nice if you know what you are doing. By definition, that excludes any first time users.
For me, that's the strongest point for Ubuntu (and any Ubuntu based distro): Ubuntu instructions for almost every software out there.
I'm not a web developer, I mostly work with embedded and backend stuff. Most tools I need have only instructions for Ubuntu, or packaged with Ubuntu in mind.
Even that, I've been using Arch in my work desktop for more than a year now, I had to fix some breaking updates (a big one, some minor ones with Virtual Box), I like having quick access to the latest version of (almost) everything, I love the Arch Linux wiki, I enjoy adapting to any Ubuntu installation guide. But I still have some fear that the next update may break my system, and that I'll need to use my time to recover it instead of getting stuff done.
I have two laptops, one not too old (4th gen Intel Core i5) and an older one (Core 2 duo). I run Xubuntu 16.04 on both of them, the oldest one with the 32 bit version, Arch just dropped 32 bit support last year. To be fair, that's something that will happen with most distros in the near future. I like that after the installation process, I have a complete usable system (desktop and basic software, and know that I can customize it if I want to).
So, I will always recommend Ubuntu (or any Ubuntu based distro) to a beginner, they will always have time to try any other one once they get more confident :).
I know many first time users that tried ubuntu, got annoyed with "linux" because of stuff not working (which os working on my Arch) and switching back to Windows/Mac.
Documentation is even better for Arch, the Arch Wiki is the best source of Linux knowledge I know of and the forum is very helpful very fast.
Some good points but I've been a happy Ubuntu user for years and I've never run into serious roadblocks with it. Even installed it dual-boot on both my Macbook and Mac Mini and it works.
So I'm choosing it (sticking with it) because it's a professional distro, backed by a company (meaning stability) and has the largest community around it (easy to find answers online) - all of that means safety, stability, and less risk (choose an LTS release - Long Term Support).
As a beginner I wouldn't choose a distro with a smaller online community and less resources, Ubuntu is a safe choice.
Just a small point about finding answers online. This is not just about the size of the community - in many, MANY cases, the most helpful bits of information for any distribution are found on Archlinux wiki or forum.
Agreed, it's about the quality, not the quantity, but so far my experience with both the Ubuntu forum and the docs have been very helpful, I'm always finding good information there. Can't speak for the Archlinux community of course since I've never used it.
You can set up an alias in your .bashrc file that automates the upgrade process so now all I do is type upgrade and it does both commands. Don’t like verbose? Try setting up your own aliases. Very easy.
God damn it you made me want to try Arch. I did it in a VM and it was cool, but a part of me would prefer to keep my current, working, system :P
EDIT: I now use Arch :)
That's why I use Debian Testing. Debian has the largest software repository, and the testing branch is full of updated and tested software, so it's like the best of two worlds.
Currently we are with Linux 4.14, PHP 7.2, Mesa 17.3.3 and Wine 3.0, just to mention some of the most famous packages.
I used before Manjaro and Arch, liked both but no matter what distro I test, I always came back to Debian.
I made a discovery today. I found a computer. Wait a second, this is
cool. It does what I want it to. If it makes a mistake, it's because I
screwed it up. Not because it doesn't like me...
Or feels threatened by me...
Or thinks I'm a smart ass...
Or doesn't like teaching and shouldn't be here...
Damn kid. All he does is play games. They're all alike.