Living Free With Linux, Round 2
bsk_cw writes "About a month ago, in Living free with Linux: 2 weeks without Windows, Preston Gralla wrote about what life was like for a long-time Windows user trying to live with Linux. His main problems came when he tried to install or update software. Loads of people responded with advice — so he went back and tried again. Here's what he learned, and what did and didn't work for him."
(I won't cover apt in this piece, because it's simply too confusing for newbies; even many experienced Linux experts stay away from it.)
Lol wat?
apt-cache search
apt-get install
Yup, my head just exploded from the complexity.
People don't run OSes, they run the applications the OS runs on. It will probably be the case this guy doesn't WANT to change from Photoshop to Gimp, from IE to FireFox, from AIM to Pidgin, to run Wine for WoW. The list goes on.
I find these reviews of "converting to linux" a bit pointless really; they're only ever one persons' perspective on what a conversion is, of which I often find I can't relate to much of what they go through.
I'd suggest if someone wants to do a "Linux conversion log" type write-up, they consider a target audience. In particular, i'd like to see:
- The web-user; email, web, and IM (99% of reviews fall into this category)
- The business user; Exchange, blackberry, important Office data (spreadsheet, word), Wifi, power-saving management, enterprise facilities
- The multimedia user: MP3, iPod sync, games, DVD, video editing.
That in my opinion makes up most computer users, and in particular most MacOS/Windows users...the target audience. Take a person from each category and see how they survive 2 weeks on Linux; that I'd be truly interested in.
throw new NoSignatureException();
Choice quote:
The Update Manager is accessed via the starburst at the top right-hand top of the screen. Click it, but be prepared -- you're about to be confronted with literally hundreds of potential updates with incomprehensible names and unenlightening descriptions ...
By default, every update has a check next to it in the Update Manager. Uncheck the boxes next to those you don't want to update -- I recommend updating only software that you recognize.
That's terrible advice.
He might have a point about the huge number of updates on an initial boot confusing users -- doesn't Ubuntu pull updates as part of the install process? If not, it really should.
Switch back to Slashdot's D1 system.
"I recommend updating only software that you recognize" say what?! you do this on windows too?
And have to say that it is rather well balanced. But it also reminds me of something: I've been using Linux for more than a decade, and things to which I'm accustomed - like using the command line - are not at all intuitive to the Windows user.
There is this tendency among Linux evangelists to try to "fix" a neophyte's problems rather than listening to what he's saying. While Linux has made large inroads in the desktop arena, at its heart it is UNIX, not Windows. One of the larger issues of Linux adoption is that Windows users have a mental model of computers which is Windows-specific:
Making Linux ubiquitous on the desktop will be a matter of coming up with a simpler, more accessible mental model of a computer for the end user. It will not come about by fixing a particular problem with a particular distribution.
The average computer user is an expert in something *other* than computers. They're not interested in learning the vagaries of hardware configuration or knowing about kernel dumps and command lines. They use a computer as a tool to *do something other than programming*. They want something easy to use, secure, and reliable. Windows comes through on the first part. Linux on the latter parts. However, security and reliability are a moot point if you can't use the computer in the first place. Hence, Windows gets chosen time and again, in spite of its flaws.
The society for a thought-free internet welcomes you.
From page 4 of TFA:
This seems like really bad advice. I would say the opposite: only forego an update if you recognize the software and are sure that you don't want the newer version.
The vast majority of updates will be for "underlying" software, like the kernel, libraries, and so on. These are also the things that a newbie is most likely to "not recognize". But these are the things that critically need security updates. If a newbie only updates OpenOffice and Firefox (which he recognizes) but skips the kernel, cron, openssh, iptables, and so on (because he doesn't recognize them), he may be left with significant vulnerabilities in very important subsystems.
In a modern world the default advice should be to install updates and thereby stay as secure as possible. Users should only be skipping updates when they have good reason to think that the new version isn't better (e.g. breaks a feature they like). This is especially true on Linux, since there are no updates that are being pushed out just to limit/inhibit the end user (like, e.g. Windows Genuine Advantage does).
The thing he found hardest, the thing he singled out for special mention as the worst problem, was: installing new software.
Eeek.
That's what Linux distros, particularly Debian-based ones, do best! The package management is the best single feature of Debian and Ubuntu, light-years ahead of the situation in Windows.
Now, he's not a troll and he's not an idiot. Which means that he has just helpfully identified something we should work on.
His basic problem is that he is used to Windows, where things are done differently. Either Microsoft Office is installed or it isn't; and the only pieces of Office that you can see are large chunks like Word, Excel, etc. It was surprising and alarming to him when there were hundreds and hundreds of little packages with odd names. For example, the updater told him it would update "anachron -- cron-like program that doesn't go by time" and he didn't know what to make of that.
In his Part 2 article, he recommends that you never update any package you don't understand. Eeek, again! What if there is a critical security update to DNS or something? He is unlikely to know what it is, so he will decline it. And he will be working very hard to go through the list and uncheck the update box for the vast majority of his packages.
The correct policy is to have the updater pull from a trusted source, and just let it update. Trust the system.
In all fairness, Windows has its share of similarly weird stuff. But they have done a much better job of wrapping it up to present to the user.
When you run Windows Update, it won't give you anything called "anachron", but it will give you things like "hotfix 967363: A Windows Server 2008-based DHCP server does not register DNS records for earlier version DHCP clients that do not send option 81 to the DHCP server". But this will be labeled as a "critical" patch that you really need to take.
Perhaps Ubuntu should have a popup on the update manager that gives newbies a quick overview of package management on Linux? Things are much better than the mess in Windows, so we need to make sure that newbies understand what's going on. When new users are confused, that should be treated as a bug, and fixed.
steveha
lf(1): it's like ls(1) but sorts filenames by extension, tersely
That's exactly what Linux needs. The only way to get respect is through an easy to use UI, which is what the "clueless users" need who, you know, drive the market for desktops. If Linux was easier to use and free/cheap (as in beer), it wouldn't take long for it to be adopted. It just isn't there yet. And the only way to get there is to listen to these "clueless users."
At the time of my writing this, the above quote, which is actually quite insightful, was modded as flamebait. The modding encapsulates quite succinctly why the Linux community is seen as a collection of misfits, malcontents, and jackasses (which, by and large it is not - it is a community of good and caring people). It only takes the childish actions of a few to get Linux tarred with that brush. It's a shame really.
I consider myself well versed at the techie stuff (EE & CS major, unix user since '94, non-public Linux kernel hacker for ppc). Personally, I use LFS (yes, I compile/bootstrap everything and put it in its own place, _myself_), but I agree that apt-get is a pain in the ass. I appreciate all the effort that's gone into package management, but I can't say that it is trivial to install/upgrade a package using this command.
Problems include:
- hunting down all the (often non-obvious) package names
- dependencies
- integrity checks
- conflicts with other (new, old, default, broken) packages
Automated system installation is a tough nut to crack, considering the millions of packages out there, and apt-get has come a long way towards solving it... but it's still not where it should be in terms of ease. If we can accept that, then we can continue to improve the situation, not snigger at "clueless newbies."
Is "apt-get install" really that much different?
Yes, it is. "Rover, sit" works because "Rover" is the name of the dog, "sit" is a common English word, and the command pattern has been drilled into us since childhood. "apt-get install" - WTF is that to someone new to Linux? What's "apt" (I'd expect "app" at least)? Why the hyphenated "-get"? If I'm saying "get" the application, why do I have to include the redundant "install"? Heck, I'm a long-time hardcore geek and _still_ have to look it up every time; it's just not intuitive to someone who either is new to the concept of operating systems, nor to those who have to deal with a half-dozen or more OSes on a regular basis.
The App Store model, cheezy as it may be, works precisely because it's easy to find, easy to run, and easy to find & install applications. Linux doesn't have it yet. Having to spend hours Googling for what apps depend on what other apps, and how to install each of them in their own peculiar way, is largely what keeps Linux sidelined for now. At least with Windows I just stick in an installation CD for an application, or click on "install" on a distribution web page, and the install process just starts; with my iPod I just tap AppStore, find the app, and hit "install"; but with Linux I'm not even sure what the name of the application is, much less the precise command needed to install it.
Can we get a "-1 Wrong" moderation option?
"I recommend updating only software that you recognize."
No No No NO! Update everything. People didn't spend time updating software for you to ignore them. They updated it often because it needs securing.
Because Ubuntu has been the one to make the biggest strides towards user-friendliness. There are others who have come a long way in this regard as well, but Ubuntu stands at the front of the pack. It's probably the easiest to use, it has probably the largest amount of available pre-compiled software, it has a large user community. I could go on, but this is basically why Ubuntu gets the nod when people try to get newbies to try Linux. More advanced Linux users have their own personal preferences, but I don't know how many of them would put the proverbial Joe Sixpack on a Gentoo system, for example.
This poo is cold.
I remember having the same problem as this guy did with installing openoffice 3.0 only it was with Firefox 3.0 (back when RC2). For some insane reason, somebody thought it was a good idea to bundle Ubuntu with a Firefox 3.0 beta 3 (remember I'm talking about the time before the final version was released). This version had a very crippling bug with printing ("print selected text" did NOT work at all) so I had to manually try and update v3.0 to RC2 which like openoffice v3, was not in any repository or the "Add/Remove" area. What I ended up doing is downloading a tar.gz which contained it (no installer needed) and overwrite the beta version (but even that was tough because you can't touch the /usr/bin areas without the terminal since you need to execute "sudo" first (although now I wouldn't have this problem because I would just install Krusader which gives me a nice interface to work with similar to Window's total commander).
I've never used Windows at home. I went from an x86 mono monitor running DOS to a 386 running OS/2 (1994) to (relatively) modern computers running eComStation (OS/2) and Ubuntu. If it wasn't for work, I'd never know how bad Windows sucks.
Exactly. Every time I dig into the Linux-software-install problem, the answers are always "oh, it's easy, just do X and Y and Z and P and D and Q - no problem!" Never mind that it works most of the time (what of the rest?), and there's a dozen other comparable posts that say something different and also may or may not work. I shouldn't have to elicit an obtuse answer from some unknown guy by posting a somewhat trollish message on /. - the answer should be right there on the desktop. Even the "just click on Install Programs for Ubuntu" comments come with "but when (not if) that doesn't work, use this non-intuitive command..." disclaimers.
This is why people buy Macs: it's pervasively designed for simplicity & intuition, not presumption of knowledge of cryptic commands. Would someone kindly explain why it's "apt-get" instead of "app-get"? what's with the 't'?
Can we get a "-1 Wrong" moderation option?
All I want is Microsoft Visual Studio 2008. Is that heresy for a hardcore Linux user to say? Perhaps.
But as Ballmer would say: developers, developers, developers!
Once you woo the developers, you get the applications you want.
Buckle your ROFL belt, we're in for some LOLs.
In the same way, we can use a car analogy:
Is a Ford Taurus a car? Is a car a Ford Taurus?
Ubuntu is Linux, but Linux isn't Ubuntu about the same way that a Ford Taurus being a car, but all cars aren't Ford Tauruses...
Actually, it's more complicated than merely attracting "clueless" users: what about people like me who are anything but clueless but who have incredibly poor memories for certain things? It's a well understood fact that one of the values - if not THE value - of GUIs is the dramatic reduction in memorization and rote learning required to use such a system versus a CLI. I've been-there-done-that with CLIs, but for less than constant use I'm now forced to use cheat sheets and reference books, and that's a time-wasting pain.
I first used Linux back in 1991/92 in a job capacity, so I was an early adopter. However, I have neurological issues that result in a very unreliable memory; as a result I've been obsessed my entire adult life with retaining "reference" materials. I also suspect that poor memory caused me to develop a compensatory advanced reasoning IQ: I am often able to reason things out on-the-fly when others are dependent upon memory and rote learning. Consequently I've also been obsessed with understanding how things tick, because the better I understand the system the better I can handle unexpected situations and reconstruct things I've forgotten.
This is the primary reason why a Linux distro with a GUI and menu-item equivalents for CLI commands is important. GUIs are all about reducing the rote learning requirement. Why is rote learning so tightly bound to our perception of elite-ness? I suck at rote learning, but I can reason my way out of a black box when others dependent on memory will remain stuck inside. I shouldn't be penalized for that by my operating system.
Gimme my GUI!
It's not that apt-get is hard to use, either from the command line or via synaptic. It's that you need to know what you want to install, and lots of the packages have cryptic names that, yes, are not newbie or oldbie friendly.
Try getting your AAC files to play. It's easy if you know *exactly what* to type to get apt-get to install the codecs. But, even if you have the right repositories set up, you can be an old unix hand like me and still not know which packages you need to get the job done.
Of course, there are websites out there that'll give you step-by-step copy and paste instructions for a particular distro, but by the rules governing articles like this, I think 'use google to figure out what website tells you how to do this, and then go there and copy/paste away' isn't going to be accepted.
Now, the reason you need to do this is that nobody's willing to stick their necks out and vouch for the legality of doing that. As far as I'm concerned, even if it's not legal, it's legal. For it not to be legal is clearly anti-competitive, and I'm not about to wait for the US legal system to catch up with reality.
It wouldn't be unreasonable, however, in a 'why Linux is hard' article to explain why it is that some things that should be simple in Linux are hard, and maybe you should write your congressperson...
Posted from my Android phone. Oh, I can change this? There, that's better...
The author had lots of trouble installing things. I've gotten into arguments over it before, but here's my take: package managers were the wrong answer to the installation problem. They make installing and updating the the libraries and components that make up the the OS itself very easy, but you'll never satisfy diverse application preferences with a central repository. In his original piece, he tries to update OpenOffice from the web because the package manager isn't offering the update yet. Naturally, this is difficult and not really designed with users in mind. This is why I hate package managers - they leave you with two really crappy choices: either don't use it and have no install management at all, or use it and be doomed to only what's in the repositories and having to wait until New Widget 3.0 is blessed by your distro. Certainly don't try to mix the two options or you'll break everything. The fact that some projects now offer their own repositories is just a terrible band-aid.
My Windows box on the other hand always has the latest version of OpenOffice, and I didn't have to touch a console - anyone could do it. I just go download the installer and run it, without even bothering to uninstall the old version. And it's very easy because it's not just a tarball full of crap - it's actually a well-tested package. This way, I get managed installs - I have a list of programs and if I chose to remove one I just choose it and click the uninstall button. I know the Windows install system is much-maligned for being fragile (breaks, or breaks other stuff), messy (throwing crap everywhere, and not completely removing things), and causing as many problems as it solves. I don't disagree with that assessment, but I'd blame the implementation. The open source community could have made a standard install system. Something nice for a front end, something reliable. Hell, you could even integrate it with your fancy package manager, if you really want to. But apparently nobody finds having to wait to get software they want to be as unpleasant as I do. While I could honestly care less about system libraries most of the time, I demand very specific things of my applications, and I don't like handing control over to whoever runs the package servers.
"I do a grep for shit, bollocks, and tits before checking in code. I'm professional..." -RECURSIVE_META_JOKE, reddit.com
You haven't actually used Linux, have you? Linux is and has been for several years *much* easier to use than MS-windows.
I just realized this when I had to give some lessons on Python programming to some people at work. I hadn't used a Windows desktop for several years, but since none of these people were Linux users I used XP for the course. I then realized how hard is XP for someone who's not used to it.
Starting with the "Start" menu, which is organized by software supplier, not category. Now where the fsck do I find a file manager? I just downloaded this file, where did it go? Where is my "home" directory, which in Linux has an icon intuitively shaped as a house? I want to copy a file, why did it create links for some, but not all copy operations? And so on. Windows is *extremely* hard to use for a beginner.
I think the main problem with the Linux package management architecture is that it completely ignores the reality of the web.
For many people nowadays, the web is where you first discover an application: you might read a review of it, or see it mentioned in a forum thread, or in a mailing list archive you chanced upon while doing a google search for some problem you're having. Maybe a friend will recommend the application to you, and paste the url to its website during an IM section; or maybe he'll just give you the name, and you'll paste it into Google.
However you heard about the application, chances are you'll eventually end up at its website; which is a good thing, because that's where you can read up about it, look at some screenshots, and decide whether it's something you want to try or not.
And then what? Windows and Mac users will click the download link, run the installer (or just copy the application over, as is common on OS X), and be done. And that's exactly what a Linux newbie would try, too, as seen in TFA. It's not just because all other systems work that way: it's because it's actually a pretty streamlined experience (at least for the "look for new software" case that most newbies are likely to encounter; mass-installing a bunch of software you already know on two hundred computers you're administering is a different matter altogether).
So, the Linux user is going to look for Linux installation instructions on the webpage, and be confronted with the usual mess of different downloads and instructions for different versions of Linux. And he'll probably get it wrong, because doing it right requires knowing a bunch of stuff he's not supposed to know (such as "what kind of package does your distro use?"); and if OpenOffice, one of the most important open source projects, couldn't make an easy to use installation page for Linux, most other projects are going to fare even worse.
Of course, what you'd like to do is for the user to stop reading the page, dig for the package manager inside the administration menu, run it, and search for the name of the program inside the list. But that requires switching out from the browser interface into a wholly unfamiliar realm.
What I think would help here is some standard for putting a "download link" on a webpage that actually invokes the right package manager for the user's distribution.
It could use a url with a custom protocol and a package identifier, eg "pkgman:openoffice.org/openoffice/3.0.0". The package manager would handle the url and look for the package matching the request in its repositories; if it's not found, it could explain the situation to the user (eg "We have an older version of this program, but not the one you're trying to download; would you like to be notified when it's added to our repository?"). To support less common software, the url could contain, in addition to the identifier, a path to a description file (eg "pkgman:example.com/mycoolprogram/0.1:example.com/downloads/mycoolprogram.pkgstuff"); if the program is not found in the known repositories, the package manager could attempt to download the descriptor file over http (http://example.com/downloads/mycoolprogram.pkgstuff), where the developer could put a list of custom repositories that host the program, tagged by package type/distro/version; and the package manager would tell the user "We don't have this in our repo, but it's hosted by blah.org; they don't have a version for ubuntu 8.10, but they have a generic deb; would you like to install it?".
I think something like that would be quite helpful to newbies.
As mentioned elsewhere, the different mental model of Windows and Unix is laid bare by the often cringe-inducing "mistakes" made by the author. Whenever I recommend Linux to a Windows user, I always take the time to warn them that the will need to adjust their thinking to remain sane during the switch-over:
The Linux update system is truly a wonder, and is by far one of the best things about the operating system. But Windows people really do need a few minutes of preparation to adjust their thinking, just like the author.
"We receive as friendly that which agrees with, we resist with dislike that which opposes us" - Faraday
Some people keep saying this implying it is true, without any substantiation of this whatsoever.
In which way is Windows installing easier than Linux?
First of all, both things are nor remotely comparable. IN a Linux machine you have thousands of packages readily available, once the software is installed you can pretty much forget about it: no pop-ups, no reminders, no auto updates, no nonsense.
In Windows, the software will keep pestering you about all of the above, but because you say it was easier to install all of the sudden we should close your eyes and enjoy the constant pestering of all these applications.
As for RPMs and debs packages, what could be simpler than double click on them, wait for the graphic installer to pop-up and click one or two buttons at most? And if you are actually running he tool provided with modern installations you simply search for what you need, highlight it, dependencies are resolved for you, and click an install button that gets things done.
Honestly, the underestimation of the computing literacy of most people is very patronizing.
IANAL but write like a drunk one.
Why doesn't someone write a story about being a long time Linux/Unix user and going back to Windows for 2 weeks? I doubt I'd last the week without grep, bash or ssh. Doesn't it seem rather one-sided that Windows-centric people are evaluating Linux? Why not some Linux people evaluating Windows?
As for me, you can have my Linux when you pry it from my dead cold hands.
Overrated, Troll, and Flamebait mod points are not to be used towards posts you disagree with. That IS censorship.
Give a man a fish...
To click icons and tick boxes you need to first understand the meaning of them, rationalize which of these elements fulfill your desired goal, and then activate the proper GUI widgets... each time to you're confronted with the GUI.
Using the CLI you need to know before hand the arguments/parameters that will fulfill your desired goal. It requires preparation (i.e. read the man page), but once you learn it it stays with you.
IMO CLI provides a more immutable interface, as opposed to GUI widgets that can and will change over time.
Software is a tool than when someone uses routinely its sensible to expect him to learn how to use it properly... for the rest of the human race there is Windows.
I couldn't be happier that the Linux experience is different from the Windows experience! Attempting to make a Linux or OSX experience Windows-er is as wrong, futile and useless as trying to compare a high-school romance with your spouse.
Agree with above. From the GGGP:
I'm not surprised that Nursie finds this intuitive. What astounds me is that Nursie doesn't understand why other people don't find it intuitive as well. The fact that you have to type in certain character strings (not even words) in a predetermined order with no hint from the prompt as to what to do, the fact that the computer does not understand near misses like "app-get install firefox" or "install firefox" or "aptget install firefox" or "apt-get firefox" is a far cry from the GUI that guides the user down a limited set of possible choices. Presumably Nursie would scratch his/her head trying to figure out what's so funny about following obquote taken from http://www.bash.org/?464385:
<@insomnia> it only takes three commands to install Gentoo /dev/hda && mkfs.xfs /dev/hda1 && mount /dev/hda1 /mnt/gentoo/ && chroot /mnt/gentoo/ && env-update && . /etc/profile && emerge sync && cd /usr/portage && scripts/bootsrap.sh && emerge system && emerge vim && vi /etc/fstab && emerge gentoo-dev-sources && cd /usr/src/linux && make menuconfig && make install modules_install && emerge gnome mozilla-firefox openoffice && emerge grub && cp /boot/grub/grub.conf.sample /boot/grub/grub.conf && vi /boot/grub/grub.conf && grub && init 6
<@insomnia> cfdisk
<@insomnia>that's the first one
404555974007725459910684486621289147856453481154 in hex is "You sank my Battleship?"
[GPG key in journal]