Pitfalls to Installing Everything
The purpose of this article is to explain the potential problems in installing every package that comes included in any given Linux distribution. For the most part, this is a bad practice and is not conducive to becoming proficient in Linux for either a seasoned professional or a newcomer (ie. “newbie”). It is my hope that this will help educate people on this subject matter.
There are some abundancy arguments that are commonly used and overstated. Specifically: Disk space, memory and bandwidth are all “cheap”. Technically none of these are always true. In fact these are almost always entirely false in third world countries.
There are some minimal advantages to installing everything. There will not be any dependency issues among software packages included in the software distribution. All software will be immediately available for use to try and test. Other advantages are possible, but these are the most relevant.
The problems I see are as follows:
- Most software will never be used and is redundant. Many of these applications are designed for experienced users who know how to install them even though they are not included in the default install. Examples: Most newbies do not use ‘vi’ or ‘emacs’. Most
develpackages are only used for compilation.
- Every software whether used or not must be maintained if they may be accessed by multiple users whether remotely or locally. A typical problem would be for security updates or bugs that you would not normally encounter with default settings.
- Updates take longer and consume more resources. Everytime a system wide update is done (ex:
yum update) it needs to download updates for every single package on the system. Even though you may not pay for your bandwidth, there is some cost to the provider and could serve someone else who could use it more appropriately.
- (For new comers) You really do not learn anything. It is beneficial at times to understand how software dependancies work and to learn how to install software when needed. Needs change and are not the same for everyone.
- There is more immediate drain on local resources. Most distributions package enough software to run as either a server and/or a desktop. It does not make sense to run multiple server applications on a desktop machine. Furthermore, most distributions package some packages with the knowledge that some should not run at the same time, i.e. the installer should know what they are doing. Additionally many services and daemons perform redundant tasks, i.e. multiple FTP servers are not typically required or recommended.
- Although rare, some distributions may include conflicting versions of packages with the intention of the user selecting only one. This is typical of a distribution which may provide a new less popular version in addition to a widely used version. An example in past I’ve seen is (SuSE?) shipping both Apache 1.x as well as Apache 2.x.
- There are hardware specific options that should not be on every machine and require extra steps to update. In the case of Fedora Core, some kernel packages (which a small population require) are not updated on the same frequency as more common packages. This has lead to some confusion and difficulty.
- An additional note to Fedora Core users: Fedora Core has always been “bleeding edge” distribution, which basically means it will typically ship with the absolute latest (sometimes not adequately tested) software versions. Also there will always be some software included that may not make it into the next version or update.
Given these points, it is still entirely up to the end user as to what software they should install and use. However, it is very unlikely that anyone could potentially use every single included application. It is better to choose less than more and install as needed. Furthermore it is best to understand why something is needed as opposed to foolish assumptions that more unknown software is beneficial.
Larry C Robinson on November 30, 2005 - 03:15 PM
I agree with you on all points. I do not understand only having three partions. I would like a more detailed explination if you have the time.
Thank you for all you have done.
Mauriat on November 30, 2005 - 03:15 PM
Larry: Clarification is as follows. I only recommend at least 3 partitions (including /home) as described in any of my guides. This in the least will preserve /home user settings if you upgrade or update in the future. The /home is equivalent to the “Documents and Settings” directory in Windows.
Ultimately the purpose of multiple partitions is either to share data among different systems (ie. dual boot) or to preserve data during upgrades. Ex: some “server” configurations wish to save /var and /srv.
However the final layout is entirely up to you. Keep in mind my guide is only meant as a starting point, not a definitive final solution for everyone.
George on December 2, 2005 - 09:21 PM
The install everything option is okay for newbies to learn some of the software packages native to Linux distro’s, and to that extent it serves a practical purpose. It also provides a good jump off point for the intermediate users who would like to experiment with other app’s.
I did start out with the “everything” option as a newbie to Fedora Core 3, but quickly learned the pros and cons as our site and server config’s were being developed. FC3 is a strong, stable operating system with ALOT of benifits for all skill levels if it is configured to suit your needs properly.
I would also like to thank you for alot of great info here on your site. Keep up the good cause!
Denni Feagins on January 23, 2006 - 02:14 PM
I concur that resources are not necessarily cheap. I don’t have the budget to run out and upgrade all my PCs every time the mood arises. My website is currently running on one 133mhz pentium, so I’ve had to learn to conserve firsthand!
Also, the fewer unnecessary packages and services installed, the better. Many forgotten programs can lead to unexpected backdoors into your new Linux computer.
sandeep on January 25, 2006 - 04:04 AM
I am from india. Saw this post. I think u are right but u cant always know before hand what library u gonna need. Recently on a kubuntu install i couldnt install php because of missing libdb2 libraries. Heck i dont even know what i am going to do with them once i do get them installed.
Adrian Sender on February 16, 2006 - 03:03 AM
I have been using Linux for some time now; as you said speed and memory is no longer an issue;
However I do prefer to do a full installation becauise of dependencies; I know how to use google and find them but prefer a full installation still.
Does this make me different; unless there is a good reason not to install everything, I will continue to do so.
I do not think you have any valid reasons.
Adrian Sender on February 16, 2006 - 03:03 AM
Also, someone made a comment about security… I do not think this is an issue with installing everything because its not what software is installed, its the services and open ports that running.
Mauriat on February 16, 2006 - 08:08 AM
Adrian: I’m not sure I will ever understand why anybody will want to have multiple versions of similar software that they will NEVER use, but WILL have to maintain and update – but I guess that’s a personal choice.
To clarify, it DOES matter what software is installed if that software IS a service since in many cases it will automatically open ports. Also, it need NOT have to be a service or daemon to be a security hole, ex: plugins that you did not know were installed (in a browser, chat, media player, applet in an desktop environment, etc).
Furthermore, this was aimed at novices for which it is absolutely better to install minimally and build up. People who suggest otherwise are leading newbies down the wrong path. If you know better, this is all irrelevant to users like you anyways.
wankbadger on February 20, 2006 - 05:17 PM
The trouble though is that every time I as a newbie install Linux, something breaks and I end up back in Windows because it works flawlessly every time. A full install could save me these headaches. Remember, things you old pros take for granted are like greek for us noobs. You can’t just say “go download the dependencies” if I don’t even know the difference between rpm and tar. Then if I get a tar archive, I have no idea what to do with it. See? And the asinine strings of commands and flags which must be typed constantly, noobs actually have to save these in text files because they are not yet memorized and intuitive.
Remember the funny old picture from the Win95 days with the alert box which said “It appears you have moved your mouse. You must restart Windows for your changes to be applied."? Well, funny as it was, it’s no longer the case. XP Pro is fast, stable and reliable. But with Linux, every time I turn around I may not have to reboot, but I sure have to type a lot of garbage into a shell.
Think about it.
PS, does anyone know how to get sound to work in Core 4 under the KDE desktop? No? I didn’t think so, lol!
Anoop on February 18, 2006 - 11:11 AM
The problem is fedora releases till core-4 did not install what you want but installed some one else´s choices for you. The full install is the only way to get some useful software like samba-swat, which fedora thinks is not necessary , but Which I find very much needed,
What is needed is that after install there should be some program (yum works well) which can remove what you dont want (Wish for a GUI here), The old redhat 7´s had a choser, even mandriva and suse still have them , But Ubuntu(well I wont use it anyway , I still like my ISA hardware) and Fedora seem to be doing things for you .
Mauriat on February 18, 2006 - 11:11 AM
Anoop: Fedora will not have everything you need anyways (multimedia, etc). So if you plan to update and install missing applications, I don’t see the problem in a few extra post-install steps. … If you really think that things like samba-swat are really necessary, please do get involved in the Fedora project and let someone know that these changes are necessary. Community involvement is the only way to improve Linux.
Mauriat on February 20, 2006 - 06:18 PM
wankbadger: Ease of use really has nothing to do with package selection. If you are not willing to learn Linux (and I know it is a steep learning curve), then you really cannot use it. As it currently stands, you can do virtually everything from a GUI, command line is necessary in a few places, but pretty much you no longer have many commands to learn.
I guess, if you can’t learn, then there’s nothing you can do. I can’t say I want to live in France, but I don’t want to learn any French.
Mongenix on February 25, 2006 - 12:12 PM
This is a good post and had to put in my 2 cents worth.
I am a newb to Linux but not to Unix. No guru but I can get myself around. I do use vi, awk, sed and others.
Linux reminds me of the old Windows 3.x and 95 days. To get a sound card to work, you had to work your _ss off learning how to do it with which autoexec and config.sys entries that are necessary. But once you learned the details such as IRQ’s, memory addresses and yes FLAGS, it was rather simple. (Just spent 3 days getting a wireless network card to work under Linux). Had to learn things like make, make install and what devel packages are. That being said, the one thing that I cannot replace with any other (useful) operating system is the ability to modify it and all related softare and packages to what I want it to do!
With windows, I always feel at the mercy of Microsoft to tell me how my computer interface is going to look and how I am going to run my computer. This is not the case with Linux. Yes, the learning curve has been very steep and I still can’t see the top of the hill.
Today’s linux may or may not be the operating system of choice for the casual user, But, for the user who wants to take control of their system and experience a freedom not known to the Windows, Mac or SCO Unix world (unless you pay a lot of money) , it is the perfect choice.
When I do see the top of the hill, I will get involved with the future development of linux. For now, still a lot to learn.
PS. Wankbadger - I was going to write some cute stab at you and windows much like you did at linux but naaaaaa. If Linux is not for you …. it’s not for you …. why bash it?
Did you really say “works flawlessly every time”?
gritak on September 15, 2006 - 06:06 AM
When I used Fedora Core 4 previously, I simply installed everything. With Fedora Core 5, I took this advice and selected the server option, and didn’t add anything else. Now when I want to install additional programs from the CD, I don’t know how. Tried the Add/Remove Software item from the Gnome menu, but it insists on checking for dependencies, and downloading from the Internet. Adding two or tree packages can take 5 seconds. Or it could take up to 30 minutes or more. It’s stupid because I have here, 3 CDs full of programs. If I want to try out 20 programs, I should be able to just install them from the CD, not wait for hours to download new copies from the Internet, when I already have them on the CD in front of me.
A Comment on September 20, 2006 - 06:18 PM
Interesting appreciation. For newcomers iit will be profittable indicating, at the end of the point of viw how to ‘“install as needed”", particularly from disk 4.
Frank G on October 11, 2006 - 08:08 AM
Guys… I have to disagree with the post. For example:
We have a bunch of scientists… engineers… and analysts that use linux to compile, run, and analyze simulations. The simulations are very sensitive to changes in compiler, std libs, kernel, etc. so if they are in the middle of the analysis and need to run some octave plugin or some pdf utility or some new graphics driver to run their graphics or whatever… you try explaining to them that they need to sit there and install all of these dependencies to run their stuff. They don’t want (and don’t need) the hassle. They have work to do. They don’t care to learn about dependencies or how to build something from source. They immedietly ask you “why didn’t you just install everything? this thing has a 500 GB hard drive in it!"… and how would you like to say… “well mr. phd man that makes 4 times as much money than me… because I read online that you should learn how to use linux better so I wanted to force you to install stuff manually."…
and for those people voting to remove the “install everything” option altogether… you people are the reason people move away from redhat and move away from linux… it is not about what you want and how you think things should be done… changing defaults… moving buttons under an advanced menu… using a warning… all of these are valid things to do… but removing options????? give me a break!
Mauriat on October 12, 2006 - 08:08 AM
Frank: “Given these points, it is still entirely up to the end user as to what software they should install and use.” … I would hope that the “scientists… engineers… and analysts that use linux” have a knowledgeable Linux admin who knows how to support them. For that admin, this should all be a NON-issue. Additionally, admins should look into kickstart.
Although it is not clear from this, if you researched Fedora you would find that “Install Everything” is technically difficult to implement whem moving to a ‘YUM’ based installation system. Hence the option wasn’t removed. It just does not exist with the new installer.
PS. I really hope you don’t use Fedora for production environments for science, engineering and whatnot. If you moved from Fedora, I would not blame you but it has more to do with implementing brand new software technologies and methods than it has to do with ideology or philosophy as you seem to imply.
Charlie on December 8, 2007 - 06:06 AM
I not totally sure, of any option, for one side it is true that installing everything can be and headache, because of dependencies, and the contrary is also true, because of the same reasons… The problem with linux, is that it has too many sources from too many different places, and that use different versions of the same libraries and other stuff, and that causes the dependency hell, that affects linux. Plus, that stuff don’t work quite well together… Being, an developer I sometimes think, if it isn’t easier to do an operating system, myself… Since, I don’t care how I have to install something, but most of the times, I just didn’t have time for it… And I like, to have my pc, filled with libraries, interpreters, http servers, ftp servers, ldap servers, mail servers and news servers, and a few ide’s to program. But when I try to archive my goal, the system always ends up broken, it may be windows, linux, bsd, solaries (have also try it…), or another one, the result is the same. Which is why I’m an developer who don’t likes to use the pc… :(