openSUSE is posssibly my favorite distribution (with Arch and Manjaro as close seconds). Besides the fact that I have a fondness for it because it was the first distribution I used after discovering the boxed retail edition in 2002, I appreciate it because it is very powerful, robust, reliable, and flexible, offering tools that make it easy to use for new Linux users or for experienced users who would rather not do everything manually on the command line or by editing configuration files, but without limiting experienced Linux users who would.
I know that the idea of "the best distribution" is subjective and depends on the needs of the user. But having said that, and although I appreciate what other distributions offer, from the radical innovation of NixOS, the KISS philosophy and completely user configured learning experience of installing and maintaining Arch, or the safety of Ubuntu, I think openSUSE might be the best distribution overall. I base this opinion on the criteria I find important, those being reliability, availability of new technology and software, power, and flexibility. On top of these characteristics, it is very easy to use, providing tools to easily perform complex system administration tasks but not requiring a steep learning curve to be effective -- although the more you know the more you can get out of the tools. These tools -- the YaST2 system configuration center and modules, being front ends to deeper levels of command line tools, provide an easy option without making the system less capable or depriving the user of the option of doing things the hard way by using the command line tools and editing configuration files, for users who want to do that.
As an example of openSUSE's early implementation of new technology, consider when openSUSE began supporting installation on EFI/UEFI systems. I believe openSUSE was one of the first distributions to support installation on EFI/UEFI systems. It was available in 2013 when I installed version 12.3, even supporting Secure Boot, while some distributions prioritize the look of the desktop environment or the widget toolkit it uses over working implementations of OS-hardware interfaces -- an important feature in my opinion, still require convoluted workarounds that require completely wiping the disk if the partitions are not arranged in the way the workaround requires. The support of EFI/UEFI systems was a necessity so as not to waste the new capabilities of newer hardware. I know many people don't like EFI/UEFI over traditional BIOS, whether because they don't like change or haven't learned enough about the new technology to appreciate its benefits, but I do and I like that openSUSE does also.
Another innovation unpopular with some people but implemented early in openSUSE was systemd (and it was well integrated; it didin't require creating systemd units to replace SysVinit scripts when installing VMware Player).
With this release, openSUSE is introducing and bringing to the mainstream the innovation that is btrfs -- the next standard for a Linux file system, which is the default file system in 13.2 for the root file system. btrfs when used with snapper, which is integrated into YaST with its own module in addition to the normal command line interface, allows taking a snapshot of the system and rolling back the system. This combination, in its default configuration, creates file system snapshots before and after any YaST2 module is executed, at predefined intervals, and on demand. This allows, for example, all changes made to the file system during a software installation to be easily rolled back. It even adds entries to the GRUB menu to allow booting into an existing snapshot. This is an impressive feature, which although not as innovative as NixOS's method of accomplishing the same thing, it doesn't require a deviation from fundamental Linux standards.
The technologies implemented early by openSUSE listed above are only a few of those that would interest normal desktop Linux users. There are also many that would only interest others, such as the fact that SUSE created the first Linux OS to run on mainframe computers and progressively improving or that the upcoming live kernel update feature in the upcoming 4.0 kernel is influenced by the same feature already available in enterprise editions of SUSE.
The power of openSUSE is best exemplified by its excellent system configuration GUI program YaST2, available in GTK, Qt, and ncurses versions.
The YaST system is composed of modular components, where a certain set of the modules are installed by default and others can be installed if the user needs them. Among other capabilities, the YasT tool has components to manage services, to configure GRUB, and to configure, through the use of the /etc/sysconfig editor component, many items of system configuration that would normally be done by editing configuration files. All of the capabilities of the YaST components can be implemented through the command line, if the user prefers it, but it is much easier to use YaST in certain cases. For example, when there are multiple desktop environments, window managers, and display manager's installed on a system, setting the default desktop environment, default window manager, and display manager is as simple as opening the /etc/sysconfig editor and entering appropriate values.
Compare this process to the steps required to process of setting the default desktop and changing and configuring the display manager in Ubuntu as described here, and the value of YaST is apparent.
Another important YaST modules that may appeal to those who want to do things easily in a GUI include the Services Manager module which, as the name implies, allows the user to manage systemd units, including among other tasks, viewing, enabling, disabling, starting, and restarting, all in a GUI that allows viewing and acting on multiple services. This of course does not replace the normal systemctl commands for managing services.
A module that complements the services module is in development, on that will allow viewing and interacting with the logs managed bysystemd, which is done on the command line with thejournalctlcommand. This module, I think, is already available in Tumbleweed, so should be able to be added to 13.2 through the use of additional repositories.
Some Linux bloggers and podcasters don't like YaST, maybe because they prefer configuring and administering their systems using traditional methods. But, YaST doesn't deprive users of the ability to do this. For example, the YaST "Boot Loader" module simply runs grub-install and grub-mkconfig or in openSUSE's case grub2-mkconfig commands with selectable options for these commands in the module's dialogues and changes some of the settings in the/etc/default/grubfile. Users can still run these commands in a terminal and edit the associated files using an editor of their choice.
Package management in openSUSE is excellent on many levels. GUI software management is provided through several inter-linked YaST components offering some advanced features like ability for the user to select the version of a package if it is in more than one repository, the ability to prioritize repositories, and more. The GUI software management component of YaST, especially the Qt version, which is the default in a KDE installation, similar to Synaptic Package Manager, is feature complete. But unlike Synaptic, much more can be done through the GUI. For example, prioritization of packages from a certain repository can be done through the GUI tool easily as well as through the command line tool zypper.
The Configuration menu item can open the Software Repositories and Online Update YaST2 modules. The Software Repositories module, shown below, is the tool through which repositories can be added and prioritized.
The command line tool zypper, the analogue to Debian based systems' apt-xxx and aptitude, is very powerful and intuitive, allowing, besides common package manager tasks, the easy management of repositories, including prioritizing enabled repositories without the hassle of Debian's pinning procedures. zypper is also very capable at performing a reliable distribution upgrade, (perhaps due to thelibsolvdependency resolver used by zypper, which will be used in Fedora's upcoming default command line package manager DNF -- the replacement for YUM; I upgraded from release 12.3 to 13.1 without any of the issues one might expect, like broken packages or even a broken system, which I experienced when upgrading the Debian based Tanglu from version 1.0 to 2.0. This tool as well as the GUI version, is at least as capable as the equivalent tools on Debian based systems.
The packaging format -- the RPM format -- developed by Red Hat, and used by Red Hat's community version, Fedora, as well as other distributions not affiliated with Red Hat, including the Mandriva derivatives, Mageia, openMandriva, and ROSA (although some of these use a forked version of RPM), in my opinion is excellent, allowing the user to create and modify packages directly and easily through the rpmbuild tool, obviating and offering a better alternative to the
make install method of installing software from source, as described here. This kind of direct manipulation of packages, thus the ability to modify and make packages to be installed and managed by the package manager exists in Debian based systems, but it is not as simple. In addition to the local building of packages with rpmbuild, openSUSE provides the openSUSE Build Service, a service similar to git where code can be hosted and compiled for various architectures and distributions remotely, through a web interface or a local tool, and package repositories hosted. These user repositories can then be accessed through the web portal or added to the system directly through zypper or the YaST Software Repositories module if the url of the repository is known. For a description of openSUSE's repository management features, see this page.
Despite all of these great features found in openSUSE, there are some characteristics of the distribution some may not like. One of these is that openSUSE is not a complete out-of-the box experience because of its commitment to adhering to strict Free and Open Source Software principles. This means that proprietary codecs and drivers are not installed by default except Flash, which is installed in the first update or if the add-on repositories are enabled during an installation where a network is available, the add-on iso is downloaded along with the normal installation is and is included specified during the installation. All other codecs and proprietary drivers must be installed from unofficial repositories, to which openSUSE directs users in its wiki.
The only other issue a user may have is one that is unique to 13.2 since I didn't have the problem in past versions, specifically, one that involves installation. I first attempted to install openSUSE using the full, non-live DVD size installation ISO from a DVD. This worked one of the times I used it , but when I tried to reinstall using it after a hardware clock set to local time caused (I think) problems with btrfs, the installer would not recognize the existing partitions on the disk. When I decided to use the KDE live environment ISO from a DVD, I had the same problem, but accessing files on one of these partitions using the file manager apparently resolved the issue, which might be that an internal power saving mechanism of the disk prevented the installer from accessing it. The installation from a DVD was necessitated by the fact that using the ISO on a USB resulted in booting the environment directly to a fail-safe mode where the KDE desktop had to be started from the terminal with startkde. For more on my experience installing openSUSE 13.2 see this page.
If a user is willing to expend the little effort required to configure the additional repositories (more information on how to do this is herek, and some useful repositories are listed here) required for proprietary codecs, which will always be necessary with every version and edition of openSUSE, and be persistent with the installation medium, which may have been necessary only because of my hardware or which will only be necessary with this release, he or she will get a very good GNU/Linux OS -- one that is very powerful, flexible, innovative, and has a mature infrastructure.
Clicking the Get It button on the front page of the openSUSE website, leads to the download type and method page, which also provides a search box for the software portal. (The software portal and other software management topics are discussed here). The following screenshot shows the download page. As you can see from the screenshot, a full 4.7GB iso, which has KDE and GNOME as well as a few more desktops, is available as well as a network install. The network install iso -- less than 300 MB when I installed openSUSE 12.3 -- provides the YaST installer only and all packages that are selected for installation will be downloaded during the install; this method may save some bandwidth.
The major desktops are all available on openSUSE, including KDE, GNOME, Xfce, and Mate, some of which are customized and patched by openSUSE. (For example, the KDE desktop provides additional Konsole and Dolphin profiles for SuperUser mode.) Some not so major desktops are available also in community versions, including Cinnamon and Enlightenment. Incidentally, Enlightenment happens be implemented very well by its community in openSUSE and is very usable.
Package Management and Included Software
In my opinion package management in openSUSE is excellent. You get the RPM package format and the underlying RPM package management tool (like dpkg in Debian) with the zypper command line tool and several interconnected YaST modules for software and repository management. zypper is flexible, powerful, robust, and can be used intuitively. The YaST modules are also powerful and can accomplish package and repository management tasks that would require editing configuration files in other distribution. See this page for more details.
Ease of Use or Challenge Level
openSUSE is very easy to use. It does however require you to add repositories in order to install proprietary codecs and drivers. This can be done very easily through a couple of commands or 1-Click Installs -- see opensuse-community.org and opensuse-guide.org. Although it is easy to use, a user that wants to take advantage of getting to know this distribution well will be rewarded with much, such as being able to get the latest and uncommon software that are not in the default repositories, being able to build packages easily withrpmbuild, instead of resorting to the configure, make, install process of installing from source -- which is horrible because the system package manager will not be aware of and will not manage the installed software.
What Works and What Doesn't
Everything works very well in openSUSE after the installation problems that I had, which I didn't experience in past releases, which was probably unique to my hardware, specifically the hard drive. Even hibernation works well. Not only that but the future standard Linux file system, btrfs which is the default root filesystem, performs well, as long as the hardware clock is set to UTC. I was able to rollback one minor change and one very large change because of this file system choice using the Snapper, which also has a YaST module for it.
Software and Package Management System
openSUSE installs a lot of software by default, some may even think it is too much because of some redundant software and the inclusion of groups of applications like games, one may never even launch. But it does install a standard set of applications including LibreOffice and Firefox -- which have been patched with openSUSE specific features; in the case of LibreOffice this includes a custom splash screen displaying the gecko logo and appearance modifications and in the case of Firefox, a custom search provider for the software portal, bookmarks, and file type handling for the 1-Click-Install file type with the.ympextension.
Sadly, I can't give you a definitive idea of what is installed by openSUSE because, I initially installed this version of openSUSE using the KDE Live ISO medium almost five months ago, reinstalled it twice since then, added Xfce, and then upgraded to Plasma 5, while installing other applications along the way, but as I mentioned above it is not a lightweight installation. Almost every piece of KDE software in every category is installed. If you install Gnome instead of KDE, you can expect the same level of, possibly excessive, applications installed by default.
The more important issue regarding software is that the available software tends to get stale as the time since release increases. This can be mitigated by adding non-default repositories for important software. There are OBS repositories or community repositories maintained by either openSUSE or upstream parties for distributing these upstream products. With these repositories a user can always have the latest versions of important software such as KDE, Mozilla, Enlightenment. (I am writing this using KDE's Plasma 5.2.2 on openSUSE 13.2, which is at the same version level as Arch and Manjaro, two rolling releases -- one of which is even bleeding-edge.)
Software management in openSUSE is excellent and is one of its many outstanding features. openSUSE uses the RPM --.rpm-- package format developed in the nineties by Red Hat. RPMs, at the lowest level, are manipulated using the toolrpm, in almost the same way that Debian based systems usedpkgto manipulate.debpackages. And in the same way these systems have a hierarchy of higher level tools --apt,apt-getandapt-cache, andaptitude, openSUSE haszypper, although it incorporates all of the functions of its Debian counterparts into one powerful and easy to use tool. It is so good, the dependency resolving backend to zypper will be used by Fedora for its replacement toyum,dnf.
Thezyppercommand line tool is another strength of openSUSE as it is very robust, flexible, and intuitive, with a command structure that applies global options to zypper, an action or an argument to it, and options to the action, which are all named obviously. It can handle repository management functions in addition to package management, and even more advanced tasks like repository addition, prioritization and locking without the need to edit configuration files as in Debian based systems. Even complex operations like upgrades to a new release can done simply and reliably usingzypper.
In addition to the zypper command line tool, the YaST system management suite includes several interconnected modules for software and repository management, available in several toolkits for the control center and the individual modules. This set of GUI software management tools are at least as good as any of the other common ones that users may be familiar with. In my opinion they, are better than either Synaptic Package Manager or Yumex, because of advanced features related to repository management and package prioritization.
For more on these package management features see this page.
If you want to install source packages, many important packages are available in the.srpmsource RPM format. If you want to build a package yourself, maybe because a package is not available in any of the default or third party repositories, this is very easy to do in openSUSE, as it is in any RPM based distribution, using therpmbuildtool to build a package locally or using the openSUSE Build Service. The RPM format makes it as simple as editing a single.specfile and running therpmbuildtool with the spec file as an input argument. This is a great alternative to the method -- the./configure,make,installprocess -- that many Linux users use to install software obtained as source directly from developers, as it allows the system to manage the installations with its package manager. See this page for some guidance on building packages on openSUSE.
Documentation and Help
openSUSE has always had a tradition of providing extensive documentation. When I first purchased a retail package of openSUSE over ten years ago, it came with two books, each of several hudred pages, the first covering installation and introductory usage topics and the other covering more advanced administration topics. The tradition continues these days with a series of books, one covering introductory topics and the others covering in detail several aspects of using and administering openSUSE. Many rightly praise the Arch documentation as a valuable resource for learning Linux; the openSUSE books are worthy of the same praise. It is however sometimes more in depth, covering background information as a text book would, whereas the Arch documentation seems to be created as a sort of choose your own adventure recipe for installing and configuring Arch and solving immediate problems.
openSUSE also provides a wiki, which although not as high quality as the openSUSE books or the Arch wiki, offers quick information on current topics that probably don't belong in the books, for example, upgrading to early versions of Plasma 5 from KDE 4 is a topic covered in the wiki.
The retail package contained the Startup book of hundreds of pages covering detailed installation -- including uncommon methods for most users like the net install started from a minimal iso and installation from a network location, software management, administration, and the shell. If I remember correctly, it also included another book, even longer than the Startup book which served as a Reference manual. More recently, through version 12.3, other books -- a Security Guide, Virtualization with KVM, and System Analysis and Tuning have been available at this openSUSE pagek.
This site distributed these documents through version 12.3 including links to download the books as a PDF or epub files, at which time the documentation moved to this openSUSE page. The new page also adds a Best Practices document to the previous set, still making available all of the documents in PDF and EPUB versions as well as printer friendly pages, in addition to the normal html formatted pages with easy navigation.
As an example of the quality of the new documentation portal search for "snapper" in the portal's search box. The search result is shown in the following screenshot.
The following screenshot shows the link for "Chapter 4" of the current document opened.
This documentation was very helpful to me when I needed to roll back my installation of Plasma 5 back to KDE 4. (The reason for this rollback was before I uncovered the underlying issue I made so many changes to the system I thought it best to rollback. The underlying problem was that the plasma shell wasn't started automatically when logging in, as it should -- a problem with packaging Plasma 5, I think. A work around was to manually startplasmashelland add it to the startup applications in KDE System Settings.)
Clicking on the Discover It button on the main openSUSE page, takes you to the wiki front page, providing basic information about the distribution and links to resources -- a screenshot of this page is below.
The panel navigation at the top of the page also leads to some of the resources available to users. Some of these resources are described below and the following screenshot shows all of the links to resources from this navigation panel.
Note the openSUSE Connect link in the community menu in the above screenshot. Many distributions have a forum, but I've never seen a distribution that has its own social network.
As mentioned above, openSUSE provides a wiki. However, it doesn't compare to the quality and detail of the Arch wiki, but the openSUSE books compensate for this flaw. The wiki does, however, provide important information that may not be appropriate for the books because the information may become outdated and the wiki articles may be written very concisely in order to quickly solve a problem or accomplish a task.
Some of the essential pages on the wiki are those covering particular desktop environments and important packages, general repository management issues, upgrading important packages, and hardware related topics. Some highlights include:
|Package Repositories||Package Repositories Wiki|
|Gnome Repositories||GNOME Repositories Wiki|
|Additional Package Repositories||Additional Package Repositories Wiki|
|Tumbleweed Installation||Tumbleweed Installation Wiki|
|Packaging||Packaging Wiki Portal|
|Xfce||Xfce Wiki Portal|
|KDE Topic Index||KDE Wiki Category|
|Zypper||SDB: Zypper Usage Wiki for 12.2|
|GNOME||GNOME Wiki Category|
|KDE Repositories||SDB: KDE Repositories|
The wiki was helpful for learning what additional repositories would enhance my openSUSE experience and also provided some basic guidance in what would be necessary in upgrading to Plasma 5 on this page regarding KDE and this page regarding Plasma 5. These pages serve as an example of what is useful on the wiki -- time sensitive information on performing this type of task, that does not need to be covered in detail with background as in the books.
Forums are available as with most distributions. I found the forum most helpful on this thread when an openSUSE developer provided instructions on testing Plasma 5 immediately after it was released in July 2014. In addition to the instructions, this developer created a repository for new KDE applications that conflicted with previous KDE applications and a tweaked version of the new plasma desktop.
It offers a system that is reliable, powereful, flexible, with new technologies contributed and implemented early and well, and a mature infrastructure, offering many unique services, that benefits from a distribution that has been around for twenty years and backed by Novell in the past and SUSE now.
It is also easy to use for those new to Linux, by providing the YaST system administration suite of GUI tools, while not preventing the experienced Linux user from using traditional methods of system administration. Even experienced users may use YaST in certain cases where it may be more efficient than command line tools or editing configuration files.
The only thing potential users might be wary of is that, because of its adherence to Free and Open Source Software principles, it is not ready to use out-of-the-box for most users, and requires the addition of extra repositories. This is not such a bad thing in my opinion, since doing this will introduce the new user to the flexibility and power possible with openSUSE.
I highly recommend openSUSE. I, myself, intend to keep it permanently on my multi-boot system, which has seen the departure of Tanglu, Sabayon -- an excellent distribution, which, sadly, requires conversion to Gentoo methods and tools to fulfill its potential -- and Deepin. In fact, I will be converting it to Tumbleweed.