LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - General (https://www.linuxquestions.org/questions/linux-general-1/)
-   -   Why isn't Linux like..... (https://www.linuxquestions.org/questions/linux-general-1/why-isnt-linux-like-260186/)

oicdn 11-28-2004 12:24 PM

Why isn't Linux like.....
 
Why do the program developers not include the required packages for an install?

For example, if you go DL *insert program here* why doesn't it have the required dependancies to work? I can understand if it's for customization of applications, but for like default use shouldn't the required dependancies for basic operation be included? Like if a program need say GTK version xxx and Glib version xxx, why don't they include those packages. Especially when the developers say "we've found that X version works best..." WHY DON'T THEY INCLUDED IT?????

There's nothing worse than being in RPM hell because you're searching and searching for an application and X rpm won't work unless you have X rpm, and that won't work unless you have x application, and so on.

If it's all free BSD, why don't they include it? I know not everybody uses the script version of Linux and uses the GUI of it, and the default installing application (Yast for Suse users)....why don't developers include dependancies????

I know OSX asks you step by step "would you like this to install, it does this" and it includes all the dependant/required packages to run...then if you want a custom application, you go a DL that package....

XavierP 11-28-2004 12:27 PM

This has come up before. The reason is that manufacturers have no idea which dependencies you are likely to need - if you have installed everything you may need only 1 or 2 things, if you have gone for a minimalistic approach, you may need 20 or more programs. They could do this, but you'd then complain that you had to spend hours downloading a single program to run, for example, a dvd.

This is why compiling from source beats rpms every time. If you have repeated problems, try using YAST to instal your programs. It's what it's there for after all.

acid_kewpie 11-28-2004 12:35 PM

at the end of the day any app has so so so many dependencies, just that so many of them you never even know about because you've already got them installed. but if each app included a version of that, you'd get old versions, new versions, security holes on one part wouldn't be fixed in others, because they came with the faulty library fixed inside it. While it might bother you that you dependencies exist, it's a fundamental building block of the unix principle, "do one thing well, not lots of things badly". so many windows apps are crap. because they try to do to much and need to do everything as they can't use external packages. there are plenty of management apps to deal with deps now though, such as yast as him above pointed out.

if everything came prebuilt as a static package.. your distro would use about 10 times the space it does now.

oicdn 11-28-2004 12:39 PM

But the developers are basing thier version of that program on what they're running on thier Linux box. Why don't they include the programs that are utilized to make it work?

And this is where an installing program comes into play. I know Yast will leave alone certain parts of an RPM if say you DL'd GTK 2.2.2 ran it for months and then just DL'd GTK 3.3.3, not an upgrade package, but an entire new version....it will only upgrade what's needed and leave the other contents of that RPM alone.....

Why don't developers do this? I know when you DL for example Mplayer, it tells you you need:
x > version X
x > version X
x > version X
x > version X
x > version X

Why don't they just include those required packages, and if you already have a newer version, your installing program will not utilize the dated stuff on that Mplayer package.....

I'm not having particular issues with Mplayer, but this seems to be the program alot of people have issues with, and I think could be solved had developers included the req'd software WTITH the package. And if you want to go "old school" and do it by shell, they make a tgz version.....easy and simple for both parties if you don't "trust" your installing program...

oicdn 11-28-2004 12:51 PM

Quote:

Originally posted by acid_kewpie
at the end of the day any app has so so so many dependencies, just that so many of them you never even know about because you've already got them installed. but if each app included a version of that, you'd get old versions, new versions, security holes on one part wouldn't be fixed in others, because they came with the faulty library fixed inside it. While it might bother you that you dependencies exist, it's a fundamental building block of the unix principle, "do one thing well, not lots of things badly". so many windows apps are crap. because they try to do to much and need to do everything as they can't use external packages. there are plenty of management apps to deal with deps now though, such as yast as him above pointed out.

if everything came prebuilt as a static package.. your distro would use about 10 times the space it does now.

But see, that's where it would help the actual distro's out. If the developers integrated the programs with only WHAT'S REQUIRED TO JUST RUN(no little option perks...you DL those if you want them), you'de have a smaller distro and a more efficient Linux box right? I mean my Linux box is a perfect example.....

I only use this linux box for internet, videos(mpg, wmv, mov, etc) and MP3's. All the other stuff included with this distro is of NO USE to me, BUT I had to DL most of the distro so I wouldn't have to DL the packages required for other programs like Mplayer, flash, shockwave, etc...it was easier on myself to do it this way than search and hunt later.

So Imagine, your distro being only what's required to run, then in my case, I would DL Mplayer, Mozilla, and Apollon. The required dependancies for those applications came with them, and my linux box is less cluttered with unused packages and running with only what's needed as all the packages required to work came with the program.

How sick would that be eh? that would be the best OS on the planet case you only have what you're using...nothing else.....

mikeyt_333 11-28-2004 01:02 PM

Over the summer I ran into an issue that drove me insane because of the dependencies. I hosed my X-win system, KDE etc... I can't remember why, but I decided to go the route of source installs (mainly cause of reliability when compiled on your hardware etc...) So, a week later, I was still finding packages, waiting for downloads blah blah. I'm sure I could have done it better, but I didn't know how at the time, and I really wanted to work on installing from source anyways, make patches etc...

The way windows (not picking on MS, just a good example of what oicdn is refering to) does their apps seems to make sense, but that's until you install older pcanywhere which hoses your login methodology, downgrades your ms-installer, and basically breaks a few other programs. The way microsoft does their installations requires everything to be up-to-date always, you cannot patch-work it. I think the bottom line is, you might spend x time installing packages with provided dependencies, which will increase your disk usage y amount. Using package/dependency based installs increases your time (if done manually, install scripts aren't to hard to write) 2-3x, decreases your disk usage .75y and increases reliability 100%. The fact is, installing packages doesn't happen enough for it to be an issue, once you have a linux system up and running, it will keep running, especially if you can futz with the dependencies etc...

However, this is not set in stone, and not necessarily the best way to do things. If you believe you have a better idea, design it and present it to the community, that's the beauty of linux:

Quote:

"The essence of the bazaar is not voting—a concept I never mentioned in The Cathedral and the Bazaar and don't endorse—but the right to fork. Anyone who doesn't like Linus' decisions about Linux can fork the code base, start his own effort, and compete for developer and user attention on a legally equal footing. That is the essence of the bazaar,"

--Eric Raymond
http://story.news.yahoo.com/news?tmp...1&sid=96120751

This quote isn't refering to this kind of situation specifically, it refers more to the kernel, but open source in general is based on these principles, DIY and help the community.

If you think you can come up with a better way to handle dependencies, and package management that will increase productivity, maintain stability and reliability, then I say go for it! I personally would love to see a slick implementation of package management like you're talking about, and maybe yast,yum,apt are the way it's done, I don't know.

My .02.
Peace,
Mike.

XavierP 11-28-2004 01:04 PM

How about KDE or Gnome libraries? If a Developer relied on them and you purposely didn't include them, you'd have to spend the time downloading them or you'd end up with an install package that is a minimum or, say, 20mbs. Doesn't bother me, I have a fast connection, but what about the poor sods on dial up? Then again, for all, set up your install cd as one of your repositories and you can grab a version of a required file from there.

Windows can only get away with it because they decided to go with a huge number of dlls (check the system32 directory to see what I mean), developers then either add their own to that list or they end up modifying .dlls - which can and does give problems.

oicdn 11-28-2004 01:19 PM

If I knew how to fiddle with Linux well enough, I would try, but it's nice that somebody sees what I'm saying. A slim distro. Basically a barebones distro that just turns on and has a generic browser with it's only purpose being to get you online to DL another browser of your liking. The you utilize that browser to get what you want. And if you want the apps like Java or any other plug-ins you would have to DL it(how it already is).

When you DL a package like Mplayer, and it needs certain programs like glibc, and gtk. that particular version of Mplayer would come with the optimal versions of those packages. And then say you went to DL say, Apollon and it requires a newer version of gtk, the appollon install would only modify/update the difference in the gtk application, not completely remove and install (like windows boxes do)the program. Yast does this already, only modify the existing package to the new versions', not remove and replace.

This way, I would a have a fast running, efficient Linux box tailored to my uses, and only contain what I need/use the system for. Thus still keeping the Linux at heart with doing one thing at a time well, only using your box for it's use, not multi-tasking machine. I wouldn't have a notepad unless I wanted it, nor a video player, unless I dl'd it. Only thing the distro package comes with is the required drivers to run, shell command for your wiser guys, your installing program(yast for example), and a really generic plug-in less browser to get you on the web to search for the browser you want...then use that browser for further installs, DLing, etc....

but this kind of system would take developers of programs to include the programs necessary for the program you want to run....essentially, a team effort more or less....

mAineAc 11-28-2004 01:44 PM

to do this all programs would be huge. There is a price to pay for choice. You can choose desktop environments but if you chose Gnome and you get apackage that was intended for kde, you can end up with one huge package to just fulfill dependancies. And what about the program that decides to install a downgraded libxxx and it breaks 12 other brograms that needs libyyy. If you are worried about it use a package manager. it will download and install dependancies. If not then compile from source and read the docs for it. They tell you what you need.

speel 11-28-2004 01:44 PM

cause they like to make our lives complacated and spend hours to install somthing like gaim lol

oicdn 11-28-2004 01:46 PM

yes...GAIM is the other thing Iw as thinking of...GAT DAMN that sucks ass to install......mine still doesn't work so I said F it and just DL'd aim and yahoo....the only two I use anyhow....

acid_kewpie 11-28-2004 01:46 PM

yast will deliberately fudge an already installed library and essentially break the consistency within it? somehow i don't think so.

ok, so mplayer now comes with x, y and even z with it. what about the dependencies of those? what happens to libraries x1, x2, x3, y1, y2, y3, z1, z2 and yes... z3?

your move.

acid_kewpie 11-28-2004 01:46 PM

gaim is a doddle to install... you just need to use a decent package manager. go use portage, yum, apt....

oicdn 11-28-2004 01:51 PM

Although your post is absolutely correct, I smell a slight scent of dookie behind it you act like it's not possible to install those programs without you DLing a thousand other things.

Like I said, the programmers use what's included to MAKE IT WORK, without all the little option perks like skins, and tones, and whatever crap is not needed it for it to run in a GUI without it being drab and taking the "if you want it, DL it" to the extreme...and I think everybody knows what that line is...

XavierP 11-28-2004 02:15 PM

You know that if they did this someone would try to install it without any gui and then complain that installing GAIM also installed KDE :)

He is right though, dependency a may be included, but things that that file depend on would also need to be added and so on down the line. As I said at the top of this post, you can't ask a programmer to guess what's on your pc, there are as many different installed versions of Linux as there are users - just because 2 people are running a particular distro it doesn't mean that their setup is the same...... one is running Gnome, the other IceWM. One is set up for internet and multimedia, the other as a scientific workstation.

And let's not get started on the poor sod who has faithfully kept his RH 6.2 box up to date...... :D

oicdn 11-28-2004 02:18 PM

But that's why this barebones thing would work, because the programmers wouldn't have to guess if there was nothing on the distro from the start.......everything needed would be with the program you're trying to install.

XavierP 11-28-2004 02:22 PM

Everything? All rpms then? What about Debian users?

Distrowatch has over a hundred distros listed, you are asking for a program which has all dependencies resolved for all those distros in a format which they can not only read and use but which will show up in their package management systems and can be upgraded as a nd when they need to. Quite a job.

oicdn 11-28-2004 02:28 PM

Well, that would be the "perk" if you will for having this distro. It contains all the dependancy issues resolves as every install is treated as a blank slate for that program, and if it is infact already there, it just updates it or leaves it alone (as yast does).

Saying "well what about the other distros?" is absurd...you don't see Debian or Mandrake users DLing Suse or Redhat RPMs. You could call this distro Slim Linux orwhatever, and make the RPM formatted specifically for that distro, as most people already have (packman is great example). His RPMs are Suse specific and are pretty close to what I'm talking about, treating each install as if it were the first install, including what's needed for it to run in most instances only, his packages still require dependancies. So essentially, it'd be like a Packman, but with all the dependancies included....

speel 11-28-2004 02:37 PM

Quote:

Originally posted by oicdn
yes...GAIM is the other thing Iw as thinking of...GAT DAMN that sucks ass to install......mine still doesn't work so I said F it and just DL'd aim and yahoo....the only two I use anyhow....
rofl

XavierP 11-28-2004 02:43 PM

actually, I was being obtuse. There is already an OS that does this. Go here to check it out

:D

oicdn 11-28-2004 02:46 PM

LOL!....touche'....the only reason I'm not running a MS OS on this box is spam, spyware, virus'.....I don't have to worry about them on this machine. my other machine, for video editing, and general use however, is MS XP Pro....I would just like an OS that's low key on the Virus and other net crap (linux is it)....

XavierP 11-28-2004 02:52 PM

OK. Personally, I can't see a problem with the distro side of it, making a very minimal distro is possible and there are a few out there. The problem I see is that you would need someone to post these programs (all umpty thousand of them - Debian quotes over 8000 packages) which is amega job in itself.

The way I would get around this (and I've not tried it) is to set up a repository directory on your hard drive. Let's say you are using YUM or APT. You point YUM/APT at that directory as well as the internet repositories. Open the gui frontend for that program (or do it via console) and when you install your program via APT/YUM, it would also resolve dependencies.

Job done.

acid_kewpie 11-28-2004 03:06 PM

Ok, well i *AM* a developer. So I totally entitled to say why some developers won't do this or that.

I write acidrip, a perl dvd ripping tool.
Code:

acidrip
  |---> gtk2-perl
  |        |---> perl
  |        |---> glib-perl
  |        |        |---> glib
  |        |---> gtk2
  |---> lsdvd
  |        |---> libdvdread
  |                    |---> libdvdcss
  |---> mencoder
          |---> lame 
          |---> ffmpeg
          |---> xvid
          |---> win32libs
          |---> etc...

at what point am I supposed to stop adding default requirements to my 2000 line program??? programs like mplayer work ok one a minimal set of libraries, but people want it to do all these extra things too, and it backs up that it's my fault, as the acidrip developer that the version of mplayer i ship doesn't include say... xvid codecs. well lucky me.

Quote:

Although your post is absolutely correct, I smell a slight scent of dookie behind it (a$$hole-ish maybe?)you act like it's not possible to install those programs without you DLing a thousand other things.
Please watch your mouth... or fingers. being rude and insulting to members will get you nowhere. And personally, I would appreciate an apology

rehab junkie 11-28-2004 04:17 PM

I'm not going to get on my high horse about the whole Linux vs. BSD thing... but in FreeBSD, if you wanted to install for example gaim... to install a package you just type pkg_add -r gaim from a terminal, and it will fetch the current precompiled package with any dependancies needed.

FreeBSD also has what's called the ports system (similar to Gentoo's portage) - a collection of make scripts which do the same as pkg_add but will go out and fetch the sources and compile them on your system.

Updating is simple. You keep the ports tree in synch with cvsup, then run a tool which will update everything that needs it.


It's a simple and elegant way to manage your installed apps. Now that I use it I can't go back to Linux, not even Debian with its apt-get. For those who say there isn't as much software available, there are currently ~12000 ports in the collection now.

acid_kewpie 11-28-2004 04:19 PM

like you said gentoo has portage. there's also yum and apt that give very similar functionality now. Ports alone isn't a reason to stick with BSD.

rehab junkie 11-28-2004 04:23 PM

Personal preference. I like the way BSD is organised, it suits my way of thinking.

speel 11-28-2004 04:25 PM

ok well to kinda make your life easyer try debian or ubuntu ( ubuntu is debian based) beacuase there package management apt-get collects the dependencys you need and installs them automaticly and its all i use

acid_kewpie 11-28-2004 04:30 PM

well we've already been passed apt a number of times, but that's not what the thread is about.

oicdn 11-28-2004 05:50 PM

Quote:

Originally posted by acid_kewpie
Please watch your mouth... or fingers. being rude and insulting to members will get you nowhere. And personally, I would appreciate an apology [/B]
Sorry if that seemed rude, it was just meant to state your post seemed a little d!ckheaded....no offense meant to you personally, your post just seemed a little rude....sorry if mine came accross brash as well....

Tinkster 11-28-2004 07:29 PM

Quote:

Originally posted by oicdn
His RPMs are Suse specific and are pretty close to what I'm talking about, treating each install as if it were the first install, including what's needed for it to run in most instances only, his packages still require dependancies. So essentially, it'd be like a Packman, but with all the dependancies included....
That is SO hilarious, words fail me :)

Even in these days when RAM, disk-space and bandwidth are
cheap as dirt that's as brain-dead an approach to the problem
of user stupidity/laziness as there can possibly be :)

I assume you'd like it best if any app was statically linked against
all the required libraries (I don't even want to THINK about a 80
MB text-editor or 60MB mp3-tag-editor... ). And no, dynamic linking
with 30 versions of the same thing in separate directories doesn't
really resolve the underlying stupidity).


Cheers,
Tink

mikeyt_333 11-29-2004 06:27 AM

You know, I've bitched many a time about having to download so many dependencies etc... But I have also had my ars saved because my X-win system died (as mentioned before) without losing any other data. One of the most beautiful aspects of linux is its modularity, nothing is on that you don't want, and you can modify anything in anyway to fit your needs. We would lose modularity on say a slack box with a feature like this.

However, from a new distro standpoint, I don't see why it isn't possible. I saw people saying that "a new distro would require so many uploads and package changes to fit the distro", well ya! There was a time before RPM, yast, yum etc... What we are talking about here is another potential distro, however, it does seem like a lot of work with gentoo in the world. Oicdn, have you tried gentoo? I think you may find what you're looking for there.

The main problem with your proposition is the majority of the linux community uses linux for efficiency and reliability, you will lose these when dealing with binaries, or prepacked packages. Not necessarily reliability, but efficiency will be lost. An installed RPM benchmarked to compiled source -- compiled source will win everytime.

Mike.

Tinkster 11-30-2004 11:43 AM

I just realised that no-one actually answered the question
in the subject line yet:

Quote:

Why isn't Linux like.....
Because it was meant to be GOOD, not PRETTY
or FRIENDLY.


Cheers,
Tink

oicdn 11-30-2004 12:35 PM

I'm a fan of learning...hence the reason I'm still using linux. I like learning the ins and outs, it's just at times, I wish things were a little easier.

I haven't tried Gentoo. But will sometime in the future. But I think perhaps the new distro "proposed" could be the "user friendly" version. Obviously there are people who like linux over windows for whatever reason, but some people would like easier versions, hence the reason this forum is aorund. You'll notice 99% of the software threads are about getting something to WORK. But like stated, once it works, it works well. But some people WOULD just like a Linux platform and reliability, with the ease of package installs for those who use 90% gui and 10% script.

EThitop 12-05-2004 06:29 PM

Quote:

Originally posted by XavierP
OK. Personally, I can't see a problem with the distro side of it, making a very minimal distro is possible and there are a few out there. The problem I see is that you would need someone to post these programs (all umpty thousand of them - Debian quotes over 8000 packages) which is amega job in itself.

The way I would get around this (and I've not tried it) is to set up a repository directory on your hard drive. Let's say you are using YUM or APT. You point YUM/APT at that directory as well as the internet repositories. Open the gui frontend for that program (or do it via console) and when you install your program via APT/YUM, it would also resolve dependencies.

Job done.

That seems like a pretty good idea... So that would be a lot like the System32 folder in Windows, with all of it's dll's right?


All times are GMT -5. The time now is 11:45 PM.