Unsucking Linux app installation

In Software installation on Linux: Today, it sucks (part 1), Ian Murdoch (whose first name is the second half of Debian) writes, Unless an application is included with your Linux distribution of choice, installing that application on Linux is a nightmare compared to Windows., and proceeds to say exactly how.

He concludes,

However, far too few applications take advantage of the LSB today (though that’s changing), and Project Portland isn’t in any of the distros yet (though we’re looking at bundling its primary deliverable, xdg-utils, with the LSB 3.2 SDK to work around that). Finally, even though the LSB provides ISVs with a consistent way to create an LSB compliant executable, there’s no consistent way to deliver an LSB compliant application that’s easy to install and that integrates well with the distribution’s package system. Yes, the LSB includes RPM today, but for a variety of reasons, ISVs don’t want to use RPM, and as already mentioned, not all distributions support RPM natively.

Fortunately, once again, this isn’t just a rant. The LSB tackled these very issues at the LSB face to face and Packaging Summit last week in Berlin, Germany, and we think we have a way forward that’s acceptable to all involved: Linux distribution vendors who already have well established package systems and systems management tools built around them; ISVs who need to support multiple platforms and so don’t want to support the Linux specific RPM format or who otherwise want more control over the installation experience; and end users who want to use the software management facilities their distributions provide, whether that’s RPM or something higher level like APT and yum. More in part 2…

So I thought it would be helpful to put this in front of Linux Journal readers while Ian works on Part II.

______________________

Doc Searls is Senior Editor of Linux Journal

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

ditto

stevendave's picture

show me someone who likes to install programs while you put an important task on hold and i'll show you a person who is paid by the hour...

I love Linux but I hate installing progs

Alex Peterson's picture

I'm still looking for the linux distribution that installs a fully usable OS right from the box, playing DVD’s, 3D drivers, etc.
One day it will happen, but it won't be soon.
I'm not a Linux pro but I think Linux has to become better at playing video files on the net, dvd’s, internet games.
Linux takes a little more knowledge and I do love Linux but Hate installing programs.

Don't blame Linux

Greg P's picture

it's just an OS.
I've compiled a lot of software, and as long as it goes something like

./configure
make
make install

it's hard to get easier than that. Usually the problem is the documentation, either on the site for the project or with the download. What's annoying is when there are dependencies which themselves have to be compiled or maybe you can't find.

Ian's right, for the most part

Fest3er's picture

I've been using unix/linux since 1985, when I bought my first computer: an AT&T UNIXPC, on which I taught myself unix and C. About the only thing I use Windows for is Adobe Illustrator, since linux equivalents aren't ready for prime time just yet.

Monolithic files were deprecated in favor of shared libs due to shear size. This is why dependencies are so bloody important today, and why ISVs don't provide monolithic files.

Distros need to provide their standard install locations in a file in /etc; ./configure could then read this file and configure itself. Linux itself should require this: linux is more than just the kernel.

Distros need to identify their 'user-installed-software tree' locations in a file in /etc and set the default PATH and LD_LIBRARY_PATH vars, so that non-root users can install software for themselves and have it work. By 'tree locations' I mean something like ~/.ProgramFiles, for instance, under which there would be a directory tree mimicking as much as is needed of the distro's root tree. Linux itself should require this.

Distros need to identify their package manager (and syntax, to a degree) in a file in /etc, so that ISV installers can look for and possibly install dependencies, as is possible. Linux itself should require this.

GUI makers need to identify their menu schemes, et al, in a file in /etc so that ISV and distro installers can figure out where icons should be placed for display.

ISV installers need to track which files they put where, so they can be uninstalled.

ISV installers should check if dependencies of the program(s) are not installed and either use the platform's package manager to resolve them or DL them from the ISV's web site. I would expect shared libs to be distro independent (for any given architecture). If an ISV's libs are used, perhaps those libs should never become a dependency for any other program.

ISV installers should have simple common switches to select GUI, curses or text installer display (-g, -c or -s, for example). No switch specified should force the installer to make its best guess.

Distro installers should prompt and install to the user software tree when the user is not root.

Configure, by default, should emit only enough information for the user or install program to track major steps.

This is just a miniscule start. I think if these problems were solved, linux software management would be even with Windows. If these concepts were extended to be more thorough, linux software management and GUI menu content management would be a step or three ahead of Windows.

Ian is right; linux software management is a hodge-podge right now. I switched from Debian to Fedora because Debian's 64-bit linux isn't quite ready. And I had to learn a whole new way, shape and means of software management. I shouldn't have had to. Yum and aptitude are very nice now, but they need to be unified. Do you see cars with the option of a steering wheel or joystick? Do you see 18-wheelers with the option of a normal driver compartment and controls or a passenger jetliner cockpit and controls? Are computers typically sold with the option of either QWERTY or Dvorak keyboards or word keyboards with English's 10,000 most common words? I agree that linux is about choice, and must remain so. And people are smart enough to figure out the differences between GUIs, as they have with Win[1239MX]*, MacOS, BeOS, AmigaOS, X11 and others. But some things must be unified; some things must be standardized. Software management and GUI menu content management are two of them.

[Now donning SFI 3.2A/20 firesuit...]

must be another world

engelbert's picture

in my world, i try to test software without installation especially on windows (although it is a work and game pc, the registry of my xp is that ruined, that i no longer can change the ip or install ms updates)

this means : no praise for installers.

this my world is not that small, containing a citrix installation that requires a reinstall every eight month and more

this means : installers donot always work.

note on ms visualstudio5preview "for deinstallation format the hard disk". I know this is long gone, but i am not convinced the ms is capable of handling installations these day better.

It's really not that hard.

Z's picture

I have had the best experience with Gentoo... mmmm... gentoo it might take a while to install occasionally (large software packages take a long time to compile) but it is a snap to see what dependencies are needed and those are automatically installed (compiled) too. How hard is that? Too many times I have dealt with rpms and having to find the dependencies, and then more dependencies... pain in the ass. Go to the source. My bias however, I am a control/optimization geek/software developer/sys admin. Bye and give your linux box some love. Or now that vista has some eye candy (3d desktop crap) that already exists on the linux platform you could buy a new more powerful computer along with the $400 dollars for vista just to get the same performance you already have. Yuk.

So it would seem that Ian

Anonymous's picture

So it would seem that Ian Murdock runs his windows box as administrator all the time? Not a great idea from a security point of view. But apparently he has to, otherwise it's...

Find and download $PROGRAM to install
Damn, it's in "compressed" format
Go find $DECOMPRESSOR and download
Scan $DECOMPRESSOR for viruses
Install $DECOMPRESSOR
Crap, I'm not admin
Get admin status
Install $DECOMPRESSOR
Reboot
Log in
Scan $PROGRAM for viruses
Decompress $PROGRAM
Doubleclick exe/msi installer
Crap, I'm not admin
Get admin status
Doubleclick exe/msi installer
Click "Next" to continue
Accept 27 page EULA
Click "Next" to continue
Confirm "install type", full/minimal/custom
Click "Next" to continue
Confirm/alter install path
Click "Next" to continue
Do you want a program group created? y/n
Click "Next" to continue
Do you want a desktop icon created? y/n
Click "Next" to continue
Watch progress bar...
Click "Next" to continue
Do you want to read the README.txt now? y/n
Click "Next" to continue
Do you want to create a desktop shortcut? y/n
Click "Next" to continue
Do you want to run the internet updater? y/n
If Y, click "Next" to continue to repeat previous instructions, if N, then click "Next" to continue
$PROGRAM has been installed to $PATHBLAHBLAH, please register, would you like to do so now? y/n
Click "Next" to continue
Installation complete, Click "Exit" to finish
You must reboot for changes to take effect, do you want to reboot now? Reboot/Cancel
Reboot
Log in
Click on desktop icon that was created even though 'No' was answered for that question
Use $PROGRAM

So that's less difficult than (aside from some obscure 3rd party applications):

Click on the menu
Synaptic [insert yast, urmpi, whatever]
Enter password
Find $PROGRAM
Install $PROGRAM
Close Synaptic
Use $PROGRAM

Um... ok. yeah, thanks Ian.

Okay Get Real

Anonymous's picture

Let's see....

1. 99% of Windows users run with admin privileges because that's the way a Windows system creates accounts.

2. 99% of Windows programs come with an EXE installer, not a ZIP anymore. Of course if you haven't been using Windows at all then you wouldn't know that.

3. It's as simple as double click and answer yes to a few easy default questions that are there to give advanced users a choice in the install.

It takes maybe a minute to install a Windows App. Compare that to jumping through hoops and having to use a terminal window to type in command line options in Linux. I'm sure that not a single current Windows user is going to do that.

Geez, I use the command line everyday and I hate it. You can do a lot, but it's tedious. If I can do it in a GUI I'll do it first, before I use the command line.

So, in summary, you exaggerate the facts.

So GUI is faster than

Anonymous's picture

So GUI is faster than command line? LOL. Good one.

Re: So it would seem that Ian

Anonymous's picture

And what happens when Synaptic doesn't return anything?

If you're running Debian, it probably will

Anonymous's picture

Dude! There are over 15,000 apps available for Debian! There are thousands for just about every other distro, too, even the PowerPC Yellow Dog Linux. I've not yet found myself wanting for an application.

Now, that said, perhaps there's some special, niche app that you want to run. At least in my environment (the enterprise business environment), these apps are usually tens of thousands of dollars. One example is SolarWinds, a network polling application; it is *VERY EXPENSIVE* per year. Our solution: we are replacing SolarWinds with the tag team of Nagios and NMIS. Oops, NMIS didn't support user authentication or authorization out of the box. Oh, wait...it's Free Software! So, all we did was hire a PERL hacker to add that to NMIS. For "contract vehicle" reasons (we're government), it cost us low five figures; it would've been less otherwise. But even so, we're saving several tens of thousands of dollars...EVERY YEAR. Oh, and it's been merged into upstream NMIS, so you can use it now, too.

The lesson: if there's a niche app that you need, just hire a developer or two to write it for you. We've found that they gladly do contract work. And if you release it under the GPL or other F/OSS license, then everyone can benefit, including those Synaptic users. :-)

Still no good

goblin's picture

The new link points to the wrong article...

You want to link to http://ianmurdock.com/?p=388 (not 389).

I have a loptop which had XP

Anonymous's picture

I have a loptop which had XP preinstalled and installed also some other applications (mind you, most of Microsoft). The installation was indeed without trouble, However after that the machine crashed several times a day. Several reinstalls of both XP and the applications gave no solution, So i installed Linux (Slackware) on the laptop and it never broke. Indeed installation of applications is more troublesome in Linux , but only a fraction of the trouble which I had when running XP.

From another Slackware user

Anonymous's picture

Amen, brother. I have Slackware on two of my laptops, my home desktop, and a LTSP demo server that I use. I just installed Slackware 11.0 and the latest DropLine GNOME 2.16 (I need Evolution; it's a Microsoft shop), and it Just Works. Both laptops were running Windows 2K/XP before, and it sucked. Now, the boxes are actually useable. As for the desktop and LTSP server, I built those myself, thus they have never seen a Microsoft OS and never will. Yes, I buy the CD's. :-) Thank you, Pat!

BTW, I find that I like CentOS and Ubuntu Dapper Drake as well in some situations. These distros, too, have "just worked" for me.

b0rken link

Anonymous's picture

That link to the part 1 of Ian's article ain't no worky!

Broken link

tuxicity's picture

correct link is :
http://ianmurdock.com/?p=389

Unsucking Linux by Ian Murdock

Anonymous's picture

Seems Doc can't copy/paste yet. Works on both platforms the same! goblin got it right.
You want to link to http://ianmurdock.com/?p=388 (not 389).

Woops!

Doc Searls's picture

Just fixed it.

Shows I'm as good at catching my own mistakes as I am at installing Linux apps. Meaning: not very.

Thanks!

Doc Searls is Senior Editor of Linux Journal

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState