LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > General
User Name
Password
General This forum is for non-technical general discussion which can include both Linux and non-Linux topics. Have fun!

Notices


Reply
  Search this Thread
Old 05-10-2009, 05:59 PM   #1
chessonly
Member
 
Registered: Jan 2005
Distribution: ubuntu
Posts: 60

Rep: Reputation: 15
If all applications came in their separate self-contained packages


I am really not sure how to ask this question...I hope someone understands me !

As we all know in linux applications are all interdependent on each other , libraries are shared , etc.

My question is , what if all linux apps came with their own libraries, and installed them in their own separate folders (windows style) . How fat would the system get? What about performance?

I believe pcbsd already has such an implementation, but am sure . Is there any linux distro which has done something similar?
 
Old 05-10-2009, 10:09 PM   #2
jiml8
Senior Member
 
Registered: Sep 2003
Posts: 3,171

Rep: Reputation: 116Reputation: 116
"Windows style" ?

Windows uses shared libraries. It uses them extensively. All modern operating systems do - and that is how you want it. Without shared libraries, upgrades would become almost impossible.

An upgrade to the kernel causes many of your self-contained apps to break, so you have to upgrade all of them rather than upgrading the one shared library that they all should have been using.

Shared libraries are the way to go - and there are good reasons why.

And, as far as that goes, Linux apps are far more encapsulated and independent than Windows apps are. "Windows style" means totally confused, mixed up, stirred together in a big pot, and inseparable.

Last edited by jiml8; 05-10-2009 at 10:10 PM.
 
Old 05-10-2009, 10:29 PM   #3
pixellany
LQ Veteran
 
Registered: Nov 2005
Location: Annapolis, MD
Distribution: Mint
Posts: 17,809

Rep: Reputation: 743Reputation: 743Reputation: 743Reputation: 743Reputation: 743Reputation: 743Reputation: 743
There's a standard system-engineering reponse to this kind of question: "What problem are you trying to solve?"

Yes, you could duplicate the required library functions in separate folders for every app. But you could also write the apps so they have everything built in--no dependencies required.

Downside: Use up more space on your system and make life more difficult for developers.
Benefit: ?????
 
Old 05-10-2009, 10:39 PM   #4
syg00
LQ Veteran
 
Registered: Aug 2003
Location: Australia
Distribution: Lots ...
Posts: 21,120

Rep: Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120
Already available - have a look at nix
 
Old 05-10-2009, 10:56 PM   #5
chessonly
Member
 
Registered: Jan 2005
Distribution: ubuntu
Posts: 60

Original Poster
Rep: Reputation: 15
Quote:
Windows uses shared libraries. It uses them extensively
I know.
Please note that I am talking about applications running on the platform and not about the platform itself. A application on a windows installer contains all necessary libraries and dependencies in the installer(most of the time)
Currently , installing and running applications on my distro released in 2008 (pclinuxos) is impossible without a dist-upgrade. while I can virtually install and use any modern application on a windows OS released in 2001. I don't need to update windows, I can just download the independent *.exe file and just install without having to update my OS
 
Old 05-10-2009, 10:57 PM   #6
chessonly
Member
 
Registered: Jan 2005
Distribution: ubuntu
Posts: 60

Original Poster
Rep: Reputation: 15
Quote:
Benefit: ?????
not having to dist-upgrade every year. One could simply load a 5 year distro and just grab the static packages. I am pretty sure thats how pcbsd rolls.
IMHO it would be great if there is a nice popular linux distro that follows suit

Last edited by chessonly; 05-10-2009 at 11:08 PM.
 
Old 05-11-2009, 03:43 AM   #7
gnashley
Amigo developer
 
Registered: Dec 2003
Location: Germany
Distribution: Slackware
Posts: 4,928

Rep: Reputation: 612Reputation: 612Reputation: 612Reputation: 612Reputation: 612Reputation: 612
The concept you describe is called an 'application directory' or AppDir. ROX-filer makes good use of them.
You can build a pretty complete system using them, but usually libraries which are 'expected' to be on the system are installed normally. Only libraries which are likely to be needed only by the 'packaged' application should be kept inside the AppDir.
The idea of including every lib needed by the application in the AppDir would get you a *very* big system quickly!
You can get ROX-compatible AppDirs from the ROX-Filer site, but they all need python. You can also check out some of mine, which use bash instead of python. You can use AppDirs with nearly any window manager, but ROX makes them even more capable.
Anyway, you can find binary AppDirs (some are just wrappers to normally-installed programs) here:
http://distro.ibiblio.org/pub/linux/...nload/AppDirs/
I've just looked and see that I don't have my source-based AppDirs uploaded, but I'll send you the sources to any of thos above which you want. AppDirs which contain their sources get compiled on your system the first time you run them.
 
Old 05-18-2009, 01:17 PM   #8
baldy3105
Member
 
Registered: Jan 2003
Location: Cambridgeshire, UK
Distribution: Mint (Desktop), Debian (Server)
Posts: 891

Rep: Reputation: 184Reputation: 184
Quote:
Originally Posted by chessonly View Post
I know.
... I don't need to update windows, I can just download the independent *.exe file and just install without having to update my OS
Excuse me? Have you attempted to use a .NET program yet? What do you think .NET is apart from a shared library? And it massive!

And how many windows apps have you installed that only come as an exe? Very few. Most carry DLL files etc, and upgrade existing system files without your permission, and without regard to compaitibilty with other apps that are already using them. The number of times that I've installed one windows app only to find that the new version of a dll has broken something else!

The only reason you thing that windows apps don't upgrade shared libraries etc is that it doesn't tell you about it.
 
Old 05-18-2009, 09:20 PM   #9
lumak
Member
 
Registered: Aug 2008
Location: Phoenix
Distribution: Arch
Posts: 799
Blog Entries: 32

Rep: Reputation: 111Reputation: 111
Linux does self contain things. Any commercial software developer that wants to reach the broadest audience will self contain as much as they need to within reason. X libs, standard C libs, and open gl for example would not be self contained. In this respect linux already meets what you call 'windows style'. As for things like games... try installing Final Fantasy 7 on to your windows xp or above box. It's going to have a hard time running on anything other than windows 98 with old graphics drivers.
 
Old 05-19-2009, 01:40 PM   #10
ProtoformX
Member
 
Registered: Feb 2004
Location: Canada
Distribution: LFS SVN
Posts: 334

Rep: Reputation: 34
Quote:
Originally Posted by lumak View Post
Linux does self contain things. Any commercial software developer that wants to reach the broadest audience will self contain as much as they need to within reason. X libs, standard C libs, and open gl for example would not be self contained. In this respect linux already meets what you call 'windows style'. As for things like games... try installing Final Fantasy 7 on to your windows xp or above box. It's going to have a hard time running on anything other than windows 98 with old graphics drivers.
I think I understand what he means, he is talking about DLL hell
having 50 version of the same lib on the same box, this can happen on Linux as well, but usually never does because of how the packager works and usually commercial apps are statically linked to prevent this. Yes Linux would get massive and very confused if you installed every version of glibc, every version of the kernel headers. this would also eat up space.

(Thats probably why Vista is 12~14gigs because they have a lot of apps that are all in ones) eg: svchost, explorer, run32dll.dll if you take anyone of these down the whole OS literally pukes up. Under Linux this can only happen if you kill init.
 
Old 05-20-2009, 10:27 PM   #11
lumak
Member
 
Registered: Aug 2008
Location: Phoenix
Distribution: Arch
Posts: 799
Blog Entries: 32

Rep: Reputation: 111Reputation: 111
Off topic: Explorer actually has a recovery feature in Windows XP. When it pukes and crashes (I sometimes get this once a day) your start bar disappears and you can't launch any new applications until it recovers. Which surprisingly takes less than a minute even on old slow refurbished dell machines. Before windows it self would have to be rebooted. I've even killed the explorer process on Windows XP. Does the same thing as when it crashes.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
scripting question: Extract extra packages in a separate file kushalkoolwal Programming 2 03-09-2009 02:06 PM
how to purge a set of packages contained in a file? kpachopoulos Debian 4 02-11-2007 03:40 PM
Office suites/Applications, presentation packages? Michael_aust Linux - Software 4 04-04-2006 11:56 AM
Installing separate development packages slavo Linux - Newbie 1 01-29-2006 05:05 PM
packages not found when installing programs from add/remove applications barryjones Red Hat 5 01-10-2004 01:51 PM

LinuxQuestions.org > Forums > Non-*NIX Forums > General

All times are GMT -5. The time now is 04:37 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration