Linux Desktop for Learning Linux System Administration
-
It is very common that when desiring to learn Linux System Administration people will often jump to first installing a Linux desktop distribution to use on their desktop or laptop rather than starting with a Linux system designed to be used as a server. There is nothing wrong with using a Linux desktop, of course. And there are many ways in which using one will make it easier or faster to work on other Linux systems (things like SSH, SFTP, SCP, X Windows and more built right into the shell without needing extra tools), but it is very important that the Linux desktop not become a crutch.
In the Windows world, as an example, we would never decide to learn about Windows Server System Administration and instead of installing the latest Windows Server OS, start by installing a Windows desktop and going about using it on a daily basis. Of course, partially that is because nearly everyone already has Windows desktop experience. But moreso it is because we recognize that opening applications on the desktop, writing an email, filling in a spreadsheet, surfing the web, playing video games and similar activities teach us essentially nothing about even basic, GUI-driven Windows administration and that doing so would only distract us from our task of learning. If we were to talk about GUI-less Windows administration the chasm here would be even more pronounced as PowerShell and similar tools would generally never even come up in Windows desktop use conversation. The average Windows desktop user, one who uses nothing else and uses Windows desktops all day, every day and has for decades knows absolutely nothing about the tools, concepts and approaches to systems administration. The desktop is simply not a path to that learning.
In the Linux world this is even more pronounced, for three reasons.
First, the Linux desktop world is very varied and typically far more graphical and advanced that that of the Windows world. Using a Linux graphical desktop system will often abstract the OS away to a greater degree than will a Windows desktop. This is most dramatically seen on Android where the ability to even determine that Linux is being used essentially does not exist.
Secondly, culture. In the Windows world it is seen as generally acceptable in nearly all circles to use, or to at least fall back to, graphical tools for system administration. The average Windows administration, even senior level ones, can potentially survive without knowing any great degree of the Command Shell, PowerShell, scripting or the like. Many do use these tools, of course, but few have to. You have been able to, and very commonly did, build a career based on the use of graphical tools in the Windows world. In Linux (and UNIX in general) graphical tools exists as well in the same, general way. But culturally it is seen in incompetent and unacceptable to use them for a variety of reasons (primarily for reason #3 below.) This is so dramatic that it is simply assumed that all administration is done from a command line and all testing, interviewing and job assumptions are based around this.
Thirdly, availability. In the Windows world, until very recently, it was assumed that all systems would have a GUI installed and even in 2016 with Microsoft pushing very, very hard to move administration away from GUI tools to the command line the majority of servers are still being optionally installed with a GUI and most remote management is done with a GUI as well. In the Linux (and all UNIX) world, this is very much not the case. Outside of special cases like terminal servers, it is simply assumed that Linux servers will have no GUI whatsoever. Not a local one, not a remote one. It is traditional, as well as economical, that servers be lean and not carry unnecessary code. This has, for decades, given Linux a major performance and deployment advantage over Windows based on this cultural difference alone. The GUI is often larger, on its own, than an entire server is otherwise.
For these reasons, while it is great to move to a Linux desktop, it is very important to remember that doing so should never be a "step" in learning Linux administration.