DistroWatch Weekly, Issue 661, 16 May 2016

Feature Story (by Jesse Smith)

FreeBSD 10.3's new features



FreeBSD is a venerable operating system, often deployed on servers due to the project's focus on performance and stability. At the beginning of April the FreeBSD project released version 10.3 of their operating system. The release announcement for FreeBSD 10.3 mentioned several features and improvements which caught my attention. Specifically the availability of ZFS boot environments, 64-bit Linux compatibility and jail improvements were of interest to me. I was especially eager to try out FreeBSD's new jails technology using the iocage front-end. The iocage software has been presented as an improvement on (and replacement for) Warden, a friendly front-end for handling jail environments.



I already reviewed FreeBSD 10.0 when it was launched and so I plan to skip over most aspects of the new 10.3 release and focus on the key features I listed above, along with the notable changes I encounter. The new release is available in many different builds, ranging from x86 and ARM, to SPARC and PowerPC. For the purposes of my trial I downloaded the 2.6GB DVD image of FreeBSD's 64-bit x86 edition.



Booting from the FreeBSD media brings us to a text-based menu system where we can choose to drop to a command line or launch the project's system installer. The FreeBSD installer has not changed much in recent years so I won't spend a lot of time on it. I will say that the installer is quite thorough, allowing us to set up background services and create as many user accounts as we would like, We are also able to select which components of the base operating system (documentation, games, ports, system source code and 32-bit compatibility) we want to install. The one area where I noticed a difference was with the disk partitioning section of the installer. FreeBSD gives us the option of manually partitioning the disk or allowing the installer to take over the available space. There are two automated options, one which uses UFS (the traditional file system used by FreeBSD) while the other automated option uses ZFS. As I wanted to explore using boot environments, which are made possible through ZFS, I decided to take the automated ZFS option. In total, even with its many prompts and options, it only took me ten minutes to get through the FreeBSD installer and perform a full installation of everything except the operating system's source code.



FreeBSD boots to a text console in under twenty seconds and from there we can sign into the operating system's command line interface. My fresh install of FreeBSD used about 83MB of memory (including the 27MB overhead required by ZFS) and used approximately 1GB of disk space.



One of the first things I wanted to do was experiment with boot environments. For those who have not used them before, a boot environment is basically a snapshot of our operating system. Before performing any major configuration change or software upgrade we can take a snapshot of the operating system. This gives us a point in time when we knew the operating system was working. We then perform any changes or upgrades we want. When we boot the system we can choose, from the boot menu, which snapshot we want to use. This allows us to effectively move backward in time and boot older copies of the system. This makes the operating system virtually bullet proof as almost any change (short of hardware failure) can be fixed by simply rebooting and selecting to boot an older copy of the operating system. The PC-BSD and openSUSE projects have used boot environments successfully for some time now, but the technology has not widely caught on elsewhere.



To create and manage boot environments we first need to install the beadm package from the FreeBSD software repository. I tried running the pkg package manager and found that it was not set up by default. The pkg command line package manager will bootstrap itself, downloading and configuring the necessary software and repository configuration. The pkg utility gives us access to approximately 25,000 packages, including beadm.



I find the beadm program easy to use. The syntax is simple and allows us to create, list and destroy boot environments. We can also use beadm to "activate" an exiting snapshot which will cause it to be automatically booted the next time the operating system starts. The creation and destruction of boot environments happens almost instantly. It is also nice that boot environments take up almost no space on the drive as each snapshot only stores the changes to our files.



When we do a fresh boot of the system the FreeBSD boot loader gives us the option of selecting which boot environment to load. I soon found, however, that if I selected a snapshot from the boot loader that was not the current default (or active) snapshot, then the system would fail to start-up. My screen would display some errors about being unable to find files and then FreeBSD would hang, unresponsive to input. While selecting a snapshot from the boot menu did not work, I was able to select which snapshot to use from the command line using the beadm utility. This makes boot environments quite a bit less useful as it means we need to be able boot the system in order to switch to a different snapshot.



I was not the only person to run into this problem. There is an ongoing discussion of the problem of being unable to successfully select snapshots from the boot menu on the FreeBSD forums. For now, it appears as though, if we wanted to, we could create a new boot environment, copy it into a FreeBSD jail to make a copy of operating system. Then we could upgrade the jail to make sure everything works and then clone the jail back to the main operating system. This would allow us to confirm any configuration changes or upgrades worked in the jail before applying them, but that requires a good deal more effort than the approach to boot environments used by openSUSE and PC-BSD.



The next item on my list of things to try was 64-bit Linux compatibility. FreeBSD has a compatibility layer which allows the operating system to run Linux executables. There are some restrictions though. For example, up until now the Linux executable had to be compiled for 32-bit systems and any dependencies had to be copied into place manually. There is a package in the FreeBSD repository which installs the CentOS core userland software. In essence, this gives us a bare bones installation of CentOS 6 in a directory on our FreeBSD computer. This is handy if we need to run Linux software alongside FreeBSD software or if we want to run Linux software without the resource overhead of a full featured virtual machine.



I enabled the Linux compatibility layer and installed the CentOS software on my system from FreeBSD's repository. First, I tried running a dynamically linked, 64-bit Linux application. Attempting to run this program displayed an error on my FreeBSD system indicating there were no 64-bit Linux libraries available. I had to go back to my Linux desktop, find out which libraries the program needed and copy them into a directory on my FreeBSD test system. Then I tried running the program again and a new error appeared on the screen: "FATAL: kernel too old". FreeBSD's is compatible with older Linux kernels (of the 2.6 series), but is apparently not up to speed with all the features of the newer Linux kernels. I hunted down an older, statically linked application from an old Debian system and installed it on FreeBSD. Again, I ran into the "kernel too old" error message and was unable to get the Linux software to run.



At this point I felt as though I had found the limits of the FreeBSD compatibility layer. While FreeBSD was able to run 32-bit Linux software which was packaged as part of its CentOS 6 userland software and while 64-bit applications may run, in theory at least, the problem I had was I did not have any Linux software old enough to test. All of the Linux boxes I have access to use version 3.2 (or higher) of the Linux kernel while it seems FreeBSD's compatibility is limited to the Linux 2.6 kernel and older. This means FreeBSD should be able to run any binary-only software packaged for CentOS 6, but it will not run newer applications, for example modern versions of the Chrome web browser or command line software packaged for the latest versions of Ubuntu or Red Hat Enterprise Linux.



The final feature I wanted to look at was FreeBSD jails, specifically the way the iocage software works and how it compares to the older Warden jail management software. Jails on FreeBSD are basically very lightweight virtual machines. Part of the file system is roped off and processes can run in this area (jail) without knowing about or being able to affect the rest of the system. What primarily separates jails from virtual machines is jails all share the host's kernel, meaning jailed processes must be able to run on our version of FreeBSD. In recent years Docker has provided similar functionality on Linux.



I installed iocage from the FreeBSD software repository and tried to create a new jail. The iocage command line program first had to fetch a copy of a FreeBSD release and it offered to let me choose which release I wanted. This allows us to run, for example, a FreeBSD 9 jail on a FreeBSD 10 host. The iocage program downloaded the necessary files and, in the process, created about two dozen new mount points in my ZFS volume. This made things a little cluttered, but it put the pieces in place to allow me to create a jail.



I would like to say at this point that iocage has some very well written documentation. The iocage manual page is a shinning example of how software should be documented with clear explanations and examples. Following the iocage documentation I was able to create new jails, take ZFS snapshots of existing jails, clone jails and revert damaged jails back to earlier snapshots. The one problem I ran into early on was being unable to connect a jail to the network. I followed a helpful on-line guide to get networking enabled in my iocage jails and was able to connect to the outside world from within the jails. However, I was unable to connect to remote computers using OpenSSH. At first I ran into "Host key verification failed" errors and, when those were fixed, OpenSSH would connect, fail to find a way to authenticate and immediately disconnect. This happened when trying to contact both Linux and FreeBSD servers from within the jail. When trying to use secure shell from my host FreeBSD system, OpenSSH worked properly.



The connection problems puzzled me a bit as I have used Warden in the past to create jails and had no problems connecting to the network or using OpenSSH to transfer files or access a shell on a remote server. To verify this, I install Warden from FreeBSD's repositories. Once I had assigned an IP address to my Warden jail, I was able to contact remote servers and use OpenSSH to login to remote Linux and FreeBSD hosts. The Warden also allows us to create ZFS snapshots, roll back changes to jails and easily manage running jails. The Warden's one defect was that it did not provide a manual page. So at this point I would say Warden offers a more polished experience while iocage offers top notch documentation.



Conclusions



There were a number of new and intriguing features introduced in FreeBSD 10.3. The ones I experimented with show promise, the initial building blocks are in place, but each one seems to be missing a final, key component. Having boot environments is great, but for them to be useful we need to be able to select a snapshot from the boot menu and have it load. The 64-bit Linux compatibility is a great feature to see and I am sure a lot of work has gone into it. Unfortunately, at this stage, it is rare to find Linux software that is old enough to be compatible with FreeBSD's implementation. I loved the documentation that shipped with iocage and the software shows real promise, especially with regards to the way iocage integrates and makes use of ZFS snapshots. However, at this point, there seem to be some issues with iocage that do not exist in the older Warden jail management system.



Each of the problems I ran into will probably be fixed in time for FreeBSD 11.0, due out later this year. I suspect what we are looking at now is a preview of things to come. The features I experimented with are all promising, but I don't think the items I explored this week are quite ready to be rolled into production. * * * * * Hardware used in this review



My physical test equipment for this review was a desktop HP Pavilon p6 Series with the following specifications: Processor: Dual-core 2.8GHz AMD A4-3420 APU

Storage: 500GB Hitachi hard drive

Memory: 6GB of RAM

Networking: Realtek RTL8111 wired network card

Display: AMD Radeon HD 6410D video card

Miscellaneous News (by Jesse Smith)

Manjaro's website certificate expired once more, exploring Unity 8, OpenMandriva switches to Clang, PCLinuxOS has dropped 32-bit support, Debian packages ZFS and Linux is turning 25



The security certificate used by the Manjaro Linux project to secure the distribution's website has expired. This is not the first time parts of the website have become inaccessible to visitors due to a lapsed security certificate, a similar issue befell the project in April 2015. A message on the Manjaro website reports the developers are looking at moving from their existing certificate authority to Let's Encrypt which will allow the team to automate the certificate renewal process. " Our SSL certificate has once again expired. We are waiting for a new one to be issued (while also looking at more sustainable alternatives, i.e. Let's Encrypt). If you're having problems accessing any of the sites please use a different browser profile, or Private/Incognito Browsing. You will then be able to add a temporary exception. " * * * * * Canonical has been working on the Mir display server and new Unity 8 desktop environment for a few years now, but the release date of these two technologies keeps getting pushed back. Ubuntu developer Michael Hall recently accepted a challenge to use Unity 8 running on the Mir display server for two weeks to see how well (or how poorly) the new Unity desktop performs. In a blog post titled "Dogfooding Unity", Mr Hall walks through the steps required to install Unity 8 on Ubuntu and run the new desktop environment. He also covers some of the pros and cons he has faced to date with the Mir-powered desktop. " Now that you've got some apps running natively on Mir, you probably want to try out support for all of your traditional desktop apps, as you've heard advertised. This is done by a project called Libertine, which creates an LXC container and XMir to keep those unconfined apps safely away from your new properly confined setup. The first thing you will need to do is install the Libertine packages... " * * * * * OpenMandriva may have become the first Linux distribution to switch to using Clang as the default compiler to build its thousands of open source packages. To date, Linux distributions have defaulted to using the GNU Compiler Collection (GCC) to build software. Clang offers a number of advantages in error reporting, has a more liberal license and can provide performance gains in some situations. This has made Clang increasingly popular among BSD developers and, it appears, a few Linux developers too. A blog post on the OpenMandriva website states: " OpenMandriva is currently the only distribution that uses Clang as [the] main compiler. Though there is no clear difference between both compilers, that proves, at least, that we are not wrong using it. " * * * * * In a short and to the point Twitter post, the PCLinuxOS project has made it clear that the distribution will be developed exclusively for 64-bit x86 computers. " Official announcement since some don't seem to want to accept what I've been saying for the past six months. PCLOS 32-bit is dead dead dead! " People who are still using the 32-bit version of the rolling release distribution should look at performing a fresh installation from 64-bit media. * * * * * Debian has become the latest Linux distribution to package ZFS, an advanced file system which supports snapshots, deduplication, copy-on-write and mirroring. Petter Reinholdtsen announced the news in a brief blog post: " Today, after many years of hard work from many people, ZFS for Linux finally entered Debian. " The ZFS packages are currently available in Debian's unstable branch and will likely migrate into Debian's next Stable release, Stretch, later this year. * * * * * The IEEE website is celebrating the 25th anniversary of the creation of Linux with two articles in its widely read magazine. The first, Linux at 25: Why It Flourished While Others Fizzled focuses on where Linux came from and what was happening in operating system development at the time. The second article, Linux at 25: Q&A With Linus Torvalds, involves a discussion with Linus Torvalds about the Linux and Git projects, why he created them and the transition from Linux as a hobby to a world-wide phenomenon. " The fact that I didn't really know where [Linux] would end up meant that I was perhaps more open to outside suggestions and influence than I would have been if I had a very good idea of what I wanted to accomplish. That openness to outside influences I think made it much easier, and much more interesting, for others to join the project. People didn't have to sign on to somebody else's vision, but could join with their own vision of where things should go. I think that helped motivate lots of people. " * * * * * These and other news stories can be found on our Headlines page.





Questions and Answers (by Jesse Smith)

Switching from CentOS to Red Hat Enterprise Linux



Seeking-official-supports asks: I have a bunch of servers running CentOS and our shop is growing to the point where it would be nice to have official support for these machines. Can I purchase support subscriptions from Red Hat for my CentOS servers?



DistroWatch answers: The most qualified person to answer this question is probably a Red Hat sales representative. My guess though is the answer will be "no", unless you are willing to wipe the servers in question and re-install Red Hat Enterprise Linux.



This topic is addressed on the CentOS wiki: " CentOS Linux is NOT supported in any way by Red Hat®, Inc. "



The topic is also covered on the Red Hat website. Their community site states: " Converting from using CentOS to Red Hat Enterprise Linux is not changing as a result of Red Hat's participation in the CentOS Project. CentOS users seeking commercial support will need to install Red Hat Enterprise Linux and purchase a subscription. Subscribers will also need to re-install any existing applications. " * * * * * Eyeing-Red-Hat's-free-subscription asks: Now that Red Hat has a free subscription to their services, I am wondering if I should upgrade from CentOS to RHEL. Are there any benefits for me to upgrade my laptop at home to RHEL? Any problems?



DistroWatch answers: First, I would like to point out that the free subscription is for Red Hat's Developer Program, not for computers in production and it does not seem the subscription is intended for personal home computers. The subscription does not include support, meaning if you use the free subscription and something breaks, you are on your own; Red Hat will not assist you. This means there is virtually no benefit to switching to an official Red Hat build, unless you are a developer testing software that must be deployed and supported on Red Hat Enterprise Linux.



There are, in my opinion, a few drawbacks to switching from CentOS to Red Hat's free subscription. With CentOS you can download and install the operating system without having an account or setting up the subscription or managing repositories. CentOS is a community distribution and there is no need for you to maintain any account or credentials or log into the CentOS website. With Red Hat you need to have a (free) developer account and you may need to log into their on-line management system in order to set up extra repositories.



In short, the free subscription will not provide support and will probably not benefit you (unless you need to test your software in a pure Red Hat Enterprise Linux environment) and it will likely be more hassle to set up and maintain the operating system. Red Hat produces a fine operating system, but it is (in my opinion) best suited for people who know they need to pay someone to support the system. Chances are a personal laptop does not fit that situation. * * * * * Past Questions and Answers columns can be found in our Q&A Archive.

Torrent Corner

Weekly Torrents



Bittorrent is a great way to transfer large files, particularly open source operating system images, from one place to another. Most bittorrent clients recover from dropped connections automatically, check the integrity of files and can re-download corrupted bits of data without starting a download over from scratch. These characteristics make bittorrent well suited for distributing open source operating systems, particularly to regions where Internet connections are slow or unstable.



Many Linux and BSD projects offer bittorrent as a download option, partly for the reasons listed above and partly because bittorrent's peer-to-peer nature takes some of the strain off the project's servers. However, some projects do not offer bittorrent as a download option. There can be several reasons for excluding bittorrent as an option. Some projects do not have enough time or volunteers, some may be restricted by their web host provider's terms of service. Whatever the reason, the lack of a bittorrent option puts more strain on a distribution's bandwidth and may prevent some people from downloading their preferred open source operating system.



With this in mind, DistroWatch plans to give back to the open source community by hosting and seeding bittorrent files. For now, we are hosting a small number of distribution torrents, listed below. The list of torrents offered will be updated each week and we invite readers to e-mail us with suggestions as to which distributions we should be hosting. When you message us, please place the word "Torrent" in the subject line, make sure to include a link to the ISO file you want us to seed. To help us maintain and grow this free service, please consider making a donation.



The table below provides a list of torrents we currently host. If you do not currently have a bittorrent client capable of handling the linked files, we suggest installing either the Transmission or KTorrent bittorrent clients.



Operating System Torrent MD5 checksum AryaLinux 2016.04 aryalinux-builder-x86_64-2016.04.iso 7986ef40b15de37a1d290bd2069856aa Rebellin Linux 3.0 "MATE" rebellin3Mate_64bit.iso 172c7a7977fe54a73d96d78ed9af08db



Archives of our previously seeded torrents may be found here. All torrents we make available here are also listed on the very useful Linux Tracker website. Thanks to Linux Tracker we are able to share the following torrent statistics.



Torrent Corner statistics:

Total torrents seeded: 194

Total data uploaded: 35.8TB

Released Last Week

Upcoming Releases and Announcements

Opinion Poll

Beta testing



Most Linux distributions engage in development cycles where the project will release Alpha and Beta snapshots prior to a stable release. These development snapshots give users a chance to test out new features, find bugs and provide feedback to the distribution. Ideally, most issues will be discovered early in the development cycle and everyone benefits from a better final release.



Of course, for this development process to work people need to download and try the Alpha and Beta releases and report any bugs they find in the software. Since development snapshots tend to be relatively unreliable, some people do not want to try them.



This week we would like to know if you take part in Alpha/Beta testing your primary distribution? If you do, please share some of your best and worst experiences testing development releases.



You can see the results of our previous poll on upgrade methods here. All previous poll results can be found in our poll archives. Beta testing



I participate in Alpha/Beta testing: 167 (14%) I sometimes Alpha/Beta test releases I will use: 500 (41%) I do not Alpha/Beta test: 472 (38%) My preferred distribution does not Alpha/Beta test: 88 (7%)

DistroWatch.com News