Easing the Differences Between Unix and Linux
Recently a friend of mine needed to convert a lot of videos from AVI format to Windows Media for a client. My friend is also of the Microsoft persuasion, but didn't want to spend a lot of money acquiring batch conversion software.
I recommended that he get a copy of Ubuntu, load it up with some video codecs and editing software, then use ffmpeg (with the handy WinFF GUI) to batch convert the files. This is how I usually do the job, and I have had great success with Ubuntu and openSUSE in finding and installing the right software and having this particular task Just Work.
My friend did as I suggested, installing Ubuntu in Hyper-V since he only needed a virtual machine for this particular job. I didn't think I would need to assist him, because I'd sent him a detailed list of the packages to install and I knew he knew his way around Linux, from his early background in Unix systems.
Nevertheless, in about an hour, I started getting chats on IM:
"Where's the terminal?"
Where's the terminal? Was he kidding me? That's like a doctor asking where a stomach is.
I sent the (less snarky) reply: Applications | Accessories | Terminal.
A minute later: "I can't get root."
What the -- ???
"Are you using the password you entered on the install?," I replied.
"Yes. It throws back an 'su: Authentication failure' error," he answered.
su, su... wait a second...
"Are you using su or sudo?," I asked.
"su," was the answer.
At this point, I picked up the phone and called him, because this was going to take some explaining. Ubuntu, as most Linux users know, doesn't allow for the use of su (superuser) by default. Instead, if you want to execute a superuser command, you have to prepend the sudo command before whatever it is you're trying to do.
The argument for this, I told my friend, is to keep inexperienced users and admins from starting an su session and then forgetting to finish it. It also helps lock down another potential path into a system.
Again, for most regular users of Linux, a lot of this is old hat. And, if you really want, you can configure your system to work around it a bit. My friend's strong knowledge of Unix, however, was not able to help him in this instance.
In his experience, running as su in the command line was a simple, basic Unix function. So, too, was the ability to right-click the desktop and see an option for the terminal in the context menu. Now, in Ubuntu and other distributions, even these straightforward Unix tools have been changed.
This is not an argument to revert Linux distributions back to the days of yore. But, it is a call to recognize that for all of the talk of how easy it is to migrate systems administrator from Unix to Linux, there have been a lot of subtle differences inserted into the various Linux distributions over the years -- any one of which could trip an admin up.
There're two things going on here. One is that as Linux changes, core Unix knowledge is steadily invalidated. The second is that the knowledge required is growing by leaps and bounds, making it that much more difficult for systems administrators to switch between Linux distributions, let alone those coming from Unix.
And that's just on the administrative level. There are obviously enough differences under the hood to make porting applications to Linux from Unix a non-trivial function.
The key to this solution, of course, is training.
Red Hat, for instance, has a single-course Rapid Track class for the Red Hat Certified Engineer (RHCE) certification. This course takes prior Unix (and Linux) system administration knowledge into account to advance students toward the RHCE.
Novell offers a similar course for those administrators looking to move to SUSE Enterprise Linux Server. Canonical doesn't seem to offer a specific class for Unix admins coming to Ubuntu Server, though it states in the Ubuntu Certified Professional description that "Unix experience is an advantage."
Given the current state of the IT economy, with everyone from small- to medium-sized businesses to datacenters migrating away from Unix, I would be shouting these courses from the highest rooftops. Better still, if I worked for Red Hat or Canonical, I would design specific courses for incoming Unix admins.
These are not show-stopping differences, but they are there nonetheless. It seems a no-brainer approach to create more training that addresses the needs of experienced Unix administrators.
The easier Linux can make the transition, the sooner the employees that actually manage the machines will want to transit from Unix to Linux.
Brian Proffitt is a Linux and Open Source expert who writes for a number of publications. Formerly the Community Manager for Linux.com and the Linux Foundation, he is the author of 19 Linux and Open Source works, including the new Introducing Fedora: Desktop Linux.