Thursday, November 22, 2012

Review: Ubuntu 12.10 Quantal Quetzal a mix of promise, pain

Tux shares a perch with Ubuntu 12.10's namesake bird

Write this down: Ubuntu 12.10, the late-year arrival from Canonical's six-month standard release factory, marks the first new release within the company's current long-term support cycle. Got it? Good, because it may be the best takeaway from the latest Ubuntu release, codenamed Quantal Quetzal. After that, it's a bit of a rocky ride.

The product's development lineage is important to note from more of a business/adoption side perspective. The release of Ubuntu 12.04 LTS in April was Canonical's fourth long-term support product and signaled the end of one full two-year development cycle. Quantal Quetzal is the first standard release on the road to pushing out Ubuntu 14.04 LTS in Spring 2014 (undoubtedly to be codenamed "Uber-rocking Unicorn" if the pattern holds), and it sets up themes and directions which will mature over the next two years.

Standard releases aren't terribly different from the bi-annual LTS products, though they tend to be slightly less conservative in code offerings. The Ubuntu development community lets off the brakes a little and sticks some shiny back in.

Ubuntu 12.10 is no exception, so make no mistake—there's some shiny goodness in this release. We'll get into what makes this a decent desktop and even more decent server release. But there's a little tarnish mixed in, too, and that makes Ubuntu 12.10 less special than previous editions.

Installer crazy

After writing about Linux for a little over a dozen years, I've come to the conclusion that writing about the installation of any Linux distribution should be banned from any review article. By now, Linux has gotten pretty good at installation on a variety of machines whether using thumb drives, discs, or the over-the-network approach. It's gotten so good that all you should have to say about installation is that you stick the media in, boot the machine, and a few steps later, you have a working example of distribution X.

That almost happened with Ubuntu 12.10. A showstopper bug at the very end of the install process on our first test machine broke the entire installation. A second test installation on VirtualBox crawled through the space-time continuum and ultimately failed. The only installations that performed flawlessly were a re-install on the first test machine (after fixing the boot problem that hung up the first go-around) and an express install that Parallels Desktop 8 for Mac ran through without a hitch.

To say this was a little surprising is an understatement. Leaving off the problem with VirtualBox for a moment (because that's not a typical use-case scenario), the fact Ubuntu could not be installed on a mainstream Lenovo machine due to a bootloader problem is a bit ridiculous.

This issue was wholly unexpected, that's for sure. The designers at Canonical have put together one darned fine installer in Ubiquity, with a slick and easy-to-follow process that experts can just zip through and beginners can step through without too much jargonism. We knew things were good when the Installation Type screen in Ubiquity spelled out in plain English what the system wanted to do with my hard drive.

The Ubiquity installer uses plain language to walk through partitioning decisions.

On the virtual and physical installations, we basically opted to blow away our existing hard drives. But clicking the Something Else option delivered us to an easy-to-understand partitioning model that most intermediate users could follow if they wanted to set up a multi-boot system or a separate /home directory partition.

Everything in Ubiquity is about making Ubuntu easy to install. There's no package management at all, which can be either a boon or a curse. The only choices you get on what you want to install? You decide whether to add on the third-party proprietary software such as the Fluendo MP3 plugin that lets you play MPEG-3 files (which you should do unless you have a beef against such software). You also have a choice to update any packages that need it during the installation. This is a judgment call: Do it now or do it later. If you have the time, we'd recommend "now" so you have the most-secure packages on your system once installation is complete.

Another choice we suggest you make, especially if you are using a portable machine, is opting in when the installer asks if you want to use full-disk encryption. This is a new option in the 12.10 installation (previous releases forced you to go through extra steps or use the alternate install image in order to get full disk encryption working). This means you will have to set up and remember a machine-specific password, but for peace of mind, it's worth the effort. If your machine walks away, at least you won't have to worry too much about someone casually searching your system's files.

The inclusion of full-disk encryption as such an easy installation step is a pretty big deal for a Linux distribution. Its appearance in Ubuntu's Ubiquity installation is in no small part due to the efforts of the Electronic Frontier Foundation—the organization lobbied for full-disk encryption in Ubuntu back in May 2011.

That's assuming your installation is complete, mind you. After swimmingly pacing through the installation on a Lenovo G570 laptop that only had openSUSE 12.2 on it beforehand, things came crashing to a screeching halt when Ubiquity was unable to load bootloader on the main hard drive. That's the kind of problem common at the turn of the century, not in 2012 with arguably one of the most advanced Linux distros on the market. Yet there we were, staring at an error message telling us there would be no joy in Linuxville today.

This kind of error is aggravating—not just because it's outrageous to see it. To understand and fix this issue requires the kind of technological expertise that Ubiquity and the rest of Ubuntu's approach was trying to avoid in the first place.

It was not immediately clear what happened during our installation: the error message would not install on the default partition or any other partition we selected. The literature found on various community sites suggested the problem has to do with changes Windows 7 makes to the master boot record (these supposedly make Ubuntu's bootloader, GRUB, hard to load). In our case, it seems this problem also extended to machines on which Windows 7 has been completely replaced by other Linux distros, which can install themselves without problems. This bootloader issue is not a new problem, either: a quick search found many examples back to Ubuntu 11.04. This raises a third bone of contention—if this is not new, why hasn't it been fixed?

Fortunately, a fix is available. There's a great tool called boot-repair. When installed and run, it very quickly goes in and repairs the GRUB bootloader so that it can operate. To get it, boot to the Ubuntu LiveCD again and this time click "Try Ubuntu" rather than "Install Ubuntu."

In the Dash field, type Terminal and get ready to type these commands, pressing Enter after each line. (Because that's what every new Linux user should have to do, right?)

 sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt-get update sudo apt-get install -y boot-repair boot-repair 
Fixing a troubled Ubuntu install is fortunately easy.

When the first add-get-repository command runs, you will be prompted to say "yes" or "no" by the run sequence. Just type "Y" to keep the program going when asked. After running the last command, the Boot Repair application will open.

The hard part is over. Click the Recommended repair button in Boot Repair and let the application go through its process (it's just a few steps you can click through easily). Once completed, reboot the system and Ubuntu will start normally, bootloader intact.

While it is possible to use Ubuntu this way, extra files and language packs that would have normally been unloaded had Ubiquity been allowed to finish the job were still present on our initial installation. If you want everything ship-shape, your best bet is to step through the installation again.

Ideally, all of this rigmarole will be avoided and your Ubuntu 12.10 installation will run smoothly. Since it was so easy to use and did the trick, we would like to recommend that the functionality of boot-repair be incorporated into Ubiquity in future versions.

Clean-installing Ubuntu 12.10 on the test machine with no encryption and no software updates took 12:24. Grabbing all the software updates and applying full-disk encryption to the entire hard drive (including free space to really lock the disk down) took just a smidge longer, clocking in at 17:08. Your mileage will vary, of course, depending on how many updates Ubuntu has to get and install.

The shiny stuff

One of the more intriguing desktop features for Ubuntu 12.10 is the inclusion of the Web Apps feature trialed in Ubuntu 12.04. Web apps are controls that support various popular Web tools, such as Gmail, Twitter, and Google Docs. Ubuntu includes two such Web apps out of the box: Amazon and Ubuntu One.

When you open a supported website in either Firefox or Chromium, you should be given the option to install a Web application control in the Ubuntu Launcher. If you lock the control to the Launcher, it will put your favorite apps just one click away.

Web apps blend the line between desktop and Internet.

As a concept, Web apps are pretty good—except when tested on multiple machines, they didn't install quite properly. According to documentation, when a user browses to a supported site, the browser in question (either Firefox or Chromium) is supposed to display an info window asking to create a Web app. Implementation of this auto-installation was sporadic on Firefox and non-existent on Chromium. Gmail never installed, though Twitter and LinkedIn did. Creating the Web apps that did work, it should be noted, took a long time. Once created, however, the Web apps performed as expected.

Previews is another new feature in the Dash which enables you to see more information about a given app or file. Just right-click on an icon when it shows up in the Dash results and you can learn much more about the software.

Preview opens the door to more robust information.

Managing online accounts is also something that works quite a bit better. This feature enables you to single-sign-on (SSO) to social media accounts so applications that need to reach out to them can just connect when needed. Care, though, should be taken when working with SSO in this 12.10 release of Ubuntu, as Ubuntu Online Account SSO features do not currently play well with GNOME Online Accounts. Ubuntu Online Accounts is a variation of the Meego SSO application that includes a DBus daemon built with Qt libraries, something that does not fly within GNOME world. The upshot here is that some GNOME apps, like Documents, will only use SSO with GNOME Online Accounts. Some, like Shotwell, will work well with the Ubuntu SSO app. This means signing into services like Twitter and Gmail may have to be done twice—once for each Online Accounts application.

Online Accounts enables smoother integration between Web services and some Ubuntu clients.

When Ubuntu Online Accounts works with an app, we found it to work very well. In the Shotwell Photo Manager, for instance, publishing to Picasa, Facebook, or Flickr was smooth as silk. Shotwell is a favorite among photo managers, and it was impressive how smooth the integration was with these publishing services. Having the info all lined up in Online Accounts made it that much smoother.

One side benefit to connection to your Google accounts with Ubuntu Online Accounts is that the Google search plugin for the Dash tool will be activated. This enables you to search the contents of your Google Docs library with ease.

Curiously, Canonical's Ubuntu One online service was not as tightly integrated with apps as we expected. You'd think, for instance, that a connection to the aforementioned Shotwell would have been intuitive. But Rhythmbox is very well connected, enabling you to connect straight to the Ubuntu One Music Store to purchase and download music.

Ubuntu One is a vital component of the Ubuntu experience.

Our only quibble with the Ubuntu One service was that the initial login with the client software was painful. A request for a forgotten password brought up a "can't find account" message. But registering came back with a "this account exists already" rejoinder. Only a visit to the Ubuntu One website was able to get the password situation fixed.

Commerce in Ubuntu is a touchy subject these days, thanks to the inclusion of a new shopping lens in the Dash tool. This automatically returns results not only from your computer, but from the Amazon website as well.

Terminal: useful tool, awesome movie.

The idea here is that through Amazon's affiliate program, any item purchased thorough a Dash search will send a portion of a sale's proceeds back to Canonical.

Canonical founder Mark Shuttleworth has defended this move to critics including users and the Electronic Frontier Foundation. Shuttleworth denies this was paid advertising being inserted into Ubuntu. He also maintains that user privacy would be protected for the simple reason that user information would not be communicated to Amazon for a search. (Unless, of course, the user goes off and actually buys something. At this point, Amazon will pretty much know who you are anyway.)

Shuttleworth's position is that users should trust Canonical with their personal information. After all, they already trusted their data to Canonical's software in the form of Ubuntu itself. This argument didn't fly very well.

"Updates" gets files, apps and some avant garde music.

Nor did the ensuing glitches. When the service was first introduced, it created some embarrassing moments for Canonical. For instance, someone started typing "analyzer" in the Dash and got unfortunate results after the first four letters were entered. That problem has been fixed for the most part, and now the online search results can be downgraded from awkward to merely annoying.

You can turn off this feature if you're uncomfortable with it. In System Settings>Privacy. Just click the "Include online search results" toggle to Off and the results will not appear in the Dash anymore. To remove the feature permanently, open a Terminal (the software, not the movie) and enter:

 sudo apt-get remove unity-lens-shopping 
Just the software and nothing but the software.

There's lot of other new stuff in Ubuntu that bears mentioning. A new Linux kernel, based on Linux 3.5.5, marks the jump from the 3.2 kernel series. Python 3.2 has been included as Canonical begins to ramp up its Python-dependent apps from Python 2 to 3. That transition is expected to continue through Ubuntu 13.04.

On the front-end of the new software offerings is LibreOffice 3.6, the Document Foundation's rapidly developing office suite. Throw in Firefox 16 for browsing and Thunderbird 16 for messaging and you've got yourself some decent productivity apps. Epiphany and Gwibber round out the latest and greatest in native social media apps.

Interface challenges

Right up front, let's make one thing clear: I have personally never been the world's biggest fan of Ubuntu's Unity interface. The radical departure from the GNOME (and KDE, for that matter) interface was disconcerting and frankly seemed more trouble to learn than it was worth.

It didn't help that the Unity team at Canonical and the GNOME-Shell team in the GNOME community always seemed at odds with each other when Unity was first started. This fight has cooled in recent months, but it did little to enamor users to Unity.

Having worked with Unity quite a bit in the past week, we have noted its improvements since it was first released. Beyond the pretty interface, there's a sense of real depth to this interface now, as pieces and parts fit together in ways that make sense. The Dash, the source of Canonical's current PR headache, is also what brings this whole thing together. The ability to just type in what you need, have it show, then click it is something we could get used to.

It's not perfect—not by a long shot. The aforementioned problems with Web app integrations illustrate that all too well. Older machines are going to suffer a bit more with Unity, now that there is no longer a 2D version of Unity available. Older machines without a 3D-capable card will have an emulated 2D version of Unity that's not resource heavy. When simulating an older machine on the virtual test environment, parts of the Unity environment do just fine with reduced memory and graphics capabilities. Other parts do not: Dash and Web apps, for instance, can be really slow.

For these reasons—and the perfectly fine "I hate this interface with a passion that rivals the heat of the sun" reason—a lot of people would simply like to remove Unity and use another interface instead.

There are a couple schools of thought on this. First, if you really want to avoid Unity and GNOME altogether, we suggest you try installing one of the other Ubuntu derivative flavors: Kubuntu for KDE, Lubuntu for LXDE, or Xubuntu for XFCE.

If you already have a working environment for your Ubuntu machine or simply don't want to go through the hassle of downloading and installing yet another Linux distribution, you can install these other desktop environments alongside Unity. Then you can simply choose from one of the alternatives when you log in. Users can also use this method to install straight-up "classic" GNOME, otherwise known as GNOME the way the GNOME-gods intended it.

gnome GNOME (Classic)
kde-standard KDE
lxde-core LXDE
xfce4 XFCE

To install any of the following environments, open the Ubuntu Software Center and install the metapackages at right:

This operation will take a while since the size of the software we're talking about is not on the small side. Each of these metapackages is actually pulling in and installing multiple software packages. Once each installation is complete, you will have to log out of your user session. In the login screen, click on the Ubuntu icon to open the Select desktop environment menu.

Choose your own environment.

Click the option you want, then click OK. Enter your password and the desired environment will appear.

Get Ubuntu back to basics.

Serving up the cloud

As Canonical continues its attempt to make a big mark in the cloud, two of the biggest tools in its arsenal are well-stocked in Ubuntu 12.10.

OpenStack, the much-hyped cloud infrastructure platform, is the first big asset. It's not new to Ubuntu 12.10—this is the fifth Ubuntu release that has included OpenStack. But as OpenStack gets more mature, it is becoming a force to be reckoned with as a cloud infrastructure system.

It's important to remember that OpenStack is not a single piece of software, but rather a collection of core components that can, when assembled properly, build a cloud-based system that can do whatever you need. You can use the Nova Compute engine and combine it with the Swift Object Store, for instance, controlling the whole thing with the Horizon Dashboard interface.

But here's the dirty little secret of OpenStack: getting all of those components to work together in harmony is not easy at all. There's no overarching software directing traffic and telling components how to integrate with each other. It's getting better, but right now there is no one-size-fits-all OpenStack "product." What are currently in Ubuntu are the components, and getting them to work together is very much a steep learning curve.

That's where the other big tool in the cloud arsenal comes in. juju is all Canonical's, and could very well be the key to getting OpenStack productized.

juju is an automated service deployment and orchestration tool that enables developers and administrators to spin up any sort of pre-configured node of any service. Imagine if you finally managed to get something like OpenStack configured just as you need it. With juju, you can analyze that configuration and memorize it in the form of a charm. juju can then take any given charm and replicate every thing about that given installation in minutes.

Let's look at something a little less complicated than OpenStack, like creating a Hadoop big data cluster. Hadoop isn't rocket science like OpenStack, but getting a master node set up and talking to your apps takes time. Once that's done and a charm is created, all you have to do is connect juju to the environment where the node will be deployed (such as a Amazon EC2 public cloud or an in-house private cloud), then issue two commands in the Terminal:

 juju bootstrap juju deploy hadoop-master 

Everything needed to run the master node of Hadoop on the system you pointed it to will be installed and configured. It will run as fast as the target environment can go. You don't even have to create a Hadoop charm on your own; you can download and use charms from the Bazaar version control service.

It gets better. Hadoop is a distributed data storage system. It needs a single master node and as many slave nodes as necessary to do the job. So you can download a Hadoop slave-node charm and use this command:

 juju deploy hadoop-slave 

But that's not the really cool part in juju. With one command, you can link a master node to each additional slave node.

 juju add-relation hadoop-master hadoop-slave 

This is what makes orchestration work: services are not only installed and started, but they're connected to each other as needed. That's the big differentiator of juju. With this capability to run services on demand and then connect those services with a single command, juju becomes a very powerful way for developers to start building operator functionality into their applications.

To see how easy juju really was, we endeavored to create a local sandbox environment on which to test-install a base WordPress installation. We could have just as easily created a connection to Amazon EC2, Rackspace Open Cloud or HP Cloud, but opted instead to go local. The documentation provided by Canonical was clear and simple to follow, and within a few minutes we were able to get a local environment configured.

A few commands gets a local juju environment up and running.

After Juju was running locally, it was only a matter of running four commands to get WordPress going: one command to install the MySQL database, one command to install WordPress, and one command to connect the two together.

 juju deploy mysql juju deploy wordpress juju add-relation wordpress mysql 

Running juju expose wordpress is the final command, which served to actually start the WordPress installation.

To Linux or not to Linux

There's a lot going on in Ubuntu 12.10, and much of it is working. The Unity Dash and HUD interfaces have settled in and have a lot of polish. The rest of the interface is continuing to warp off in the direction that Shuttleworth and Crew want to take Ubuntu. Other interfaces be damned.

But, as mentioned, there are gaps in the course being plotted. Existing installation bugs have the potential to hamper adoption of an operating system that is already last place in worldwide deployments. New tools like Web apps have the potential to really let Ubuntu compete as a net-friendly platform, but again, the kinks need to be worked out.

To bring it full circle, 12.10 is the first step toward the next LTS release 18 months down the road. It's a shaky first step, but for the first time, there is a more coherent picture of the direction Ubuntu is heading. You may not like that destination, but if it fits the way you want to get things done, Ubuntu is a desktop platform worth sticking around for.

Joan Jett Tania Bryer

No comments:

Post a Comment