Open-source developers have been busy in excess of two years, working hard to release the latest version of the Debian Linux operating system. Debian 10.0 enjoys the code name “Buster”. And its predecessor Debian 9.9 (as part of the 9.0 series) enjoys the code name “Stretch”. For ease of reference, in this article I will refer to them as simply D10 and D9.9, respectively.
D9.9 was released on April 27, 2019. And D10 was released just last week on July 6, 2019.
The former release comes as an update to the pre-existing “Stretch” series of releases. Respectfully, it is not correct to refer to it as a new release because it is not. It is a point update only, as the Debian team have explicitly stated in the release announcement. However, I think it’s fair to sneak in a peek at the latest update to complement any review of “Buster”.
I collaborated on a review of Debian 9.0.0 for Tecseek Technology, when it was released on June 19, 2017. In our review, we said Debian on the desktop “just feels so naked”. We did however conclude by saying “Debian on the server is where it really shines. Perhaps not so much on the desktop.”. That conclusion is still as relevant today as it was when it went to press in 2017, and is relatively applicable for D9.9 and D10.
I’m not so sure that Debian will ever change. It’s in a league of its own and has attitude – attitude that screams arrogance (a good kind of arrogance) and one that defines Debian’s presence as one that aims to please itself and nobody else. That’s fine by me, I can work with that. So somewhat ignoring the traditional desktop review format readers might expect, Debian on the server is where my focus shifts for this review.
My time with D10 on the desktop was actually when I was previewing early development builds and admittedly, was brief. My thoughts on my experience was actually captured quite well in a review I composed for this brilliant publication, on April 15, 2019. In the Ubuntu 19.04 review, about D10 I stated that from “what I’ve seen of systems running Debian 10, which is admittedly a little further over the horizon, looks to be a brilliant contender to take the top spot for the best Linux distribution. Debian 10 is shaping itself to be one seriously awesome release”. I think that summarizes my thoughts well enough for Debian on the desktop. But for my thoughts on the server? Keep reading.
D9.9 includes some welcome updates, most coming in the form of package updates and important bug fixes. All welcome nevertheless. It gets a Linux kernel update, along with some important systemd fixes. Also, security is paramount for Debian and this is reflected by the extensive amount of security patches D9.9 receives.
D10 includes a nice collection of desktop environment updates. I won’t go into a complete detailed list of all the updates and new stuff in D10, but will name a few important ones. GNOME 3.30 is included, as is XFCE 4.12 and MATE 1.20. There are other desktop environments available too which have all received some welcome updates to improve your experience with Debian on the desktop. Although my focus is on the server this time, for the desktop I’d recommend you stick with XFCE or MATE. The experience is much better, without question. Please, just avoid GNOME Shell. It’s just too bloated and promotes too much system lag, which is not a reflection of the technical ability of Debian, rather the GNOME Shell desktop environment itself.
It is a little disappointing that neither D9.9 or D10 have yet been migrated to the Linux 5.x kernel branch. For those who really want to upgrade, they can do it manually. Most mainstream distributions have made the move so I was actually a little surprised to see Debian sticking with the 4.x branch. Remaining hopeful, I cross my fingers that the switch to the 5.x kernel branch will come soon. Again, it goes back to the aforementioned ‘Debian attitude’.
I have constantly opposed any default move to Wayland as the default display server. In my experience, its performance seriously lags behind that of X server. At least that is my experience of testing Wayland on systems without serious graphics hardware grunt kicking things along. As a Ubuntu desktop user myself, I am thankful Ubuntu has held back on making Wayland its default display server. Debian on the other hand has surprising made the jump, which I accept was probably always inevitable. There is little doubt mainstream Linux distributions will follow the trend and make Wayland the default display server eventually. Still, I do not like Wayland and prefer X server. I guess I’m a Linux veteran and traditionalist. If you have a different take on Wayland, please let us know your thoughts in the comments section below. For now, just allow me to share my Wayland misery with you – the reader – and then we can continue.
I installed both D9.9 and D10 on bare metal using the net installer. This guaranteed me the ability to configure the systems as needed while only installing the necessary packages fit for purpose and none of the unnecessary or unwanted extras which pose a risk of bogging the system down. The configurations I used for D9.9 and D10 were very similar with the only difference being D9.9 having an extra hard disk thrown at it and configured to RAID1 for data redundancy. Both systems used the same split partition configuration which separated the core filesystem from /home and /var.
There was no identifiable performance difference obvious between the two running systems. D9.9 did take a considerable amount of time longer to install due to suffering from the extra overhead produced by the RAID1 configuration. But this was expected, acceptable and was not present post-installation.
When using Debian you really need to try and escape your traditional Linux usage habits. Especially when working on a server system with no X display server and relying on the console only. With Debian there is no sudo ability by default and switching to super-user inside a system logged in with limited account privileges, is limited in use and execution ability too. To truly get to the core of your server system you really need to just login as root and go from there. This is certainly not an issue for Linux/Unix veterans and system administrators who are used to working at such an elevated privilege user level. But it could pose some challenges for seasoned Ubuntu users who have become very comfortable with the much loathed ‘Ubuntu way’ of doing things. If you do lack experience, be careful. You’ve been warned!
So who uses Debian? A lot of people, actually. There is lots of Linux-based distributions and server operating systems that are primarily derived from Debian. This places Debian in a position where it plays a very important role in the entire open-source operating system ecosystem. But can it hold its own instead of serving as a base for others? Absolutely, it can.
Debian evangelists use it, Linux veterans use it and system administrators use it. Some in the latter party use it for both desktop and the server. As I mentioned earlier in this review, it is on the server where Debian really shines at the top. I set up a custom server with D9.9 and Apache, and then I mirrored an entire website. Setup and configuration effort was minimal, albeit advanced knowledge is still preferred if you want to put a Debian server into production use with public internet access.
My Apache server delivered the website with minimal system resource usage and load increase was absolute minimal to the point that any actual load increase was barely noticeable. I repeated the same test with D10 and Apache. The results were equally impressive and D10 combined with Apache proved delivery of a rather large website with lots of visible content was not a problem.
To have some extra fun, I dumped Apache and replaced the web server framework with Lighttpd. Configuration was equally as nimble as that of Apache. However, the same rules apply – if you’re going to put your web server into production use then make sure you know what you are doing and take security extremely serious.
There was no detectable increase or decrease of server access times between Apache and Lighttpd. This was possibly assisted by the uninterrupted network access I provided the server, through network isolation. But I believe Apache done the better job of content delivery as the page appeared to complete rendering faster from Apache as opposed to Lighttpd. Perhaps there could be some bias in my conclusion though, which sway in favor of Apache. As a long-time user of Apache, I guess it’s only fitting that I sway my own conclusion to the tools that I am familiar with and what I have worked with for so long. Basically, as a general rule, stick with what you feel comfortable with.
I originally had the intention of performing additional testing of web load balancing with NGINX, to compare to single threaded Apache and Lighttpd delivery. Regretfully, a combination of limited hardware resources and publishing time constraints limited my testing.
Both D9.9 and D10 are incredible performers on the server and reaffirm Debian as the king of Linux, on the server. You could make the argument it has never been off the throne, really.
If you want a specific server configuration which focuses on a specific delivery feature or task, then there’s plenty of pre-configured options out there to suit your needs which will save you lots of time on the configuration of the final server build. You never know, your choice might even be a Debian derivative anyway. After all, it is everywhere.
For those who are serious about setting up a server and having the most control over every stage and process from install – to boot – to production roll-out, then D9.9 or D10 is the only way to go.
If you are giving this serious consideration, then I’d recommend you install “Buster” as it makes no sense to opt for an older version when you have a more updated option readily available.
If you’re already using an older build of “Stretch”, then update your system to D9.9 as soon as possible and get that last breath out of your server before you consider upgrading to “Buster”. Still, understand that both versions are still supported for a very long time yet. So there’s no reason to rush your decision and make an important decision you’re not comfortable with.
In unplanned (yet related) testing, I installed a third server which booted the latest Debian Testing build. The code base will eventually become Debian 11, with a code name of “Bullseye”.
I replicated the same tests as I employed with D9.9 and D10, this time limiting web server testing to Apache only. There’s nothing to differentiate the experience to that of what I have detailed already in this review. But it’s worth noting that the resilience and stability of Debian Testing was promising and a genuine credit to the Debian developers and thousands of volunteer programmers and engineers that contribute their time and code to the project.
I don’t at all recommend going ahead and installing Debian Testing on your production server just yet. But even in extremely early testing stages, the experience is a good indication that Debian has a positive development path ahead. But until then, let’s take a step back and enjoy Debian 10.0 “Buster”.