Results 1 to 10 of 23
Thread: I don't understand package logic
Enjoy an ad free experience by logging in. Not a member yet? Register.
- Join Date
- Jun 2012
I don't understand package logic
I've been using linux for some months, but I still don't understand the point about the packages management in linux.
Most packages are only a few mb and I think that if the software came with all the necessary packages would be much better. I think that the saving in memory is not worth at all, and that much more people would use linux if they could save all that time that takes to search for the packages and understand all the things you need to do.
If anyone could explain me if there is any real advantage I would appreciate it.
Hello and Welcome!
Does this help?
Package management system - Wikipedia, the free encyclopedia
In short, package management downloads the program that you want... but also automagically gets all of the stuff that your program might need.
BTW, Linux makes it far easier to install software than Windows.
This from a guy who did Windows repair and support for several years.
- Join Date
- Jun 2012
Easier than double clicking the installer and clicking next many times?
I have never had any problem installing any software in windows.
What I mean is, what about package managing is worth the time you need to learn it, use it, and solve all the problems all the time happen?
I just had too many problems with packages during these months and I'm starting to hate it
Personally, I've never used the GUI versions of the package managers... Well. maybe once or twice.
My method... terminal.
sudo apt-get install <package_name>
yum install <package_name>
prt-get install <package_name>
Slackware is slightly different, but still... pkgtool is quite useful.
GUI installers are really no different...
Open program. Click desired software. Click Install. Done.
Never had a problem with it in the 7 years that I been using Linux.
Honestly, if that is a problem, then Linux might not be right for you.
Perhaps you could start a thread describing, with detailed info, what is the problem.
So, in an ideal world, here's how package management works:
You want to install a package. So you run a command "packagemanager install package". The package manager looks up everything that package needs, and everything those need, and everything those need, etc., and installs them all for you. You run one command, and you get that thing installed, plus its dependencies.
This is better than every piece of software being forced to include everything it requires. Here is why:
There are lots of common libraries in Linux. Gtk, Xlib, libpng, etc. By doing a system like this, every library only needs to be installed once. You don't ever need to worry about WHICH Gtk is being used by a piece of software, since they're all using the same one. On Windows, how often do you have to try to install Java, Direct X, etc.? Every piece of software needs to come with it included, just in case.
It's also easier to upgrade things. Suppose that you have a lot of pieces of software using Java, for instance. Now Java comes out with a new version that fixes a bug. You can upgrade Java independently of all other software, and everyone gets that upgrade.
It lowers the barrier to entry. To write software, I just need to write some code, and send it to someone. I don't need to look up where other libraries that I use are hosted, and I don't need to try setting everything up to work on every system. I just write my own code and ship my own code. Everyone else's package management systems can handle everything else.
What package management system are you using? Some are notorious for something called dependency hell, but that's fairly rare. In most systems, you really only need to know two commands: how to refresh the package list, and how to install a package. And with graphical tools, you don't even need to know commands if you don't want to.
If you stay within the repositories, then installing couldnt be simpler.
yum install <package> or apt-get install <package>
The difference is in the approach how to build software.
In windows, everything an application needs is more or less put in a directory.
There are very few dependencies to other apps, maybe to frameworks like .net, directx, etc.
This makes it of course easy to install *for the user*
Also, such an application in its whole is usually done by one company or group.
linux, or free operating systems in general, work differently.
There is a vast number of libraries and tools for the different, focused usecases.
They depend on each other, they build a toolbox.
So if e.g. openssl gets improved/bugfixed, then all tools based on openssl get this.
It is more about building a clean, coherent system and also about contributing to the open soure ecosystem than about building one app for one operating system.
You see, there is more than linux: freebsd, netbsd, openbsd, solaris, aix to name just a few.
So an open source developerīs main focus is not to produce one package, this wouldnt make too much sense.
Because the software would be immediately limited to one version of one operating system.
Instead, source code is made available.
And the package maintainers of the various distributions and unix derivates take this code and add it as packages to their system.
It is (or at least was) also understood, that a unix guy knows how a computer and especially a compiler works.
I realize, this isnt true for the typicall new ubuntu user (no pun intended).
Hence, my recommendation for new users is always: Stay within the repositories.
You *can* download and install the newest and shiniest software from freshmeat/sourceforge/google code/etc
But then you are in the position of a package maintainer, not a user anymore.
Edit: Oops, cabhan was fasterYou must always face the curtain with a bow.
- Join Date
- Jun 2012
I was using ubuntu at first and I was happy, except because I couldn't make the sound card work.
but two moths ago, my boss brought nice computers (32 cores, 64GB RAM), but with red hat. During these months I just feel that I spent a lot of time trying to install things. Today I was really angry because I couldn't make matplotlib work. In fact, I can't even make IDLE to work. Both have an error related to tkinker. The package manager says that I have it installed (I think) and I spent hours today trying to solve the problem, but I failed miserably. There should be a solution, but I'm sure It's going to take me a lot of time.
But ok, I think now that the real advantage might be for programers.
About the updating of software, I don't agree about the advantages, but I think it's just a matter of taste.
06-26-2012 #10About the updating of software, I don't agree about the advantages, but I think it's just a matter of taste.
If your system is installed from repos only, then updating *all* packages at the same time is always the same command.
Windows doesnt have this.
For ms software, there is the update center. But each of the installed apps needs updates on its own.
Multiply that with several hundred machines.
Yes, there is specialized deployment software, but did you look at the price tag?
Also, in comparison, I find creating and building a package simpler, but I might be biased here as I am used to do this.You must always face the curtain with a bow.