Slashdot Mirror


Build From Source vs. Packages?

mod_critical asks: "I am a student at the University of Minnesota and I work with a professor performing research and managing more than ten Linux based servers. When it comes to installing services on these machines I am a die-hard build-from-source fanatic, while the professor I work with prefers to install and maintain everything from packages. I want to know what Slashdot readers tend to think is the best way to do things. How you feel about the ease and simplicity of installing and maintaining packaged programs versus the optimization and control that can be achieved by building from source? What are your experiences?"

863 comments

  1. Personally by jwthompson2 · · Score: 4, Interesting

    I do a bit of both. I predominantly install items from packages, when available, for testing and review of something new that I am interested in. Once I establish whether what I have been playing with may be useful for some particular purpose I will research the source build options. If there are specific optimizations that can be made for my system's hardware or pre-installed software I will then look at installing from source in order to leverage those optimizations, but if there is no advantage to compiling the source due to lack of any worthy optimizations then I will install from packages any time I want that software.

    That is my way of handling things, do what fits your needs best, that's why we have this option.

    --
    Even if I knew that tomorrow the world would go to pieces, I would still plant my apple tree. -Martin Luther
    1. Re:Personally by LoveTheIRS · · Score: 2, Interesting

      I run Fedora Core 2. The packages I have downloaded have not always been compiled to do everything that I need. Also, the packages sometimes are a couple revisions behind so in that case I tend to build from source. I am ambivalent to Gentoo because on one hand you can get code optomized only for your machine, but on the otherhand you have to wait for days for a working system. I'd say that the best for you would be to start your system out with the packages and then compile your own rpms(or whatever else you are using) (I have never been successful at doing so but it is supposed to be easy,) then you have the best of both worlds, compiled code with everything you need and all the files installed are managed by a rpm database. My 2 cents.

    2. Re:Personally by allyourbasebelongtou · · Score: 5, Interesting

      In short: I have to agree--I do a bit of both, too.

      The main thing I encounter that keeps me from using them all the time is the need for specific add-ons that are available as part of packages but are available when rolling-my-own.

      As an aside, there are certain bits that I just prefer to compile myself for any number of reasons

      That said, there are other bits of software that are pretty generic items that the packages make *trivially* easy to work with, and where compiling those same things from scratch--particularly on older hardware--makes you get a bit long-in-the-tooth waiting for the compile to return.

      To me, this is truly one of the ultimate beauties of open source: you're not stuck with pre-built, but you can leverage it when it makes sense.

      --
      ----------
      Nope. Not gonna do it. Wouldn't be prudent. Not at this juncture.
    3. Re:Personally by Aneurysm9 · · Score: 5, Interesting

      You don't have to wait days to get a working Gentoo system. With the GRP CDs you can have a working system up and running in a few hours. It's still going to take more time than Fedora or SuSE, but it will be optimized more for your platform with the option of recompiling for further optimization. That's how I setup Gentoo on my laptop as it's hideously slow. Over time it's had almost everything recompiled a piece at a time, but I didn't have to wait for it to do everything from glibc up at once.

      --
      There was Cowboy Neal at the wheel of a bus to never-ever land.
    4. Re:Personally by JustinMWard · · Score: 2, Interesting

      Not to knock Gentoo, but don't expect the install to take longer just because you're compiling things. The install process itself is very, very unfinished. While some of this might be in the name of customization, some of it is just the result of being a very unfinished process.. my favorite example is that you have to link the correct timezone files by hand, instead of choosing your timezone out of a list. Sure, it's a little detail, but it adds up. You've also got to make your own partitions (via fdisk) and do your own formatting (via mkfs).. again no more choice, just more grunt work. The installer is full of things like this.

      It's not a bad little distro, IMO. But the installer has a *long* way to go.

    5. Re:Personally by wideBlueSkies · · Score: 1

      The way I see it, a package is a convenience that doesn't necessarily have to be there. Some guy somewhere put it together this time, but there's nothing that promises that the next version of whatever it is will be packaged.

      So I try not to get lazy and rely on packages. I'll only use them if I'm in a rush or if I'm not familiar with the software.

      Even then, I'll try to build from a source RPM, to get a feel for what the build process is like.

      wbs.

      --
      Huh?
    6. Re:Personally by bee-yotch · · Score: 4, Informative

      "But the installer has a *long* way to go"

      What installer? Gentoo's only official "installer" is the install documentation.

      In my opinion if Gentoo wants to gain a larger user base it needs one. But I definately learned a lot from installing it without a pretty gui installer.

    7. Re:Personally by jobsagoodun · · Score: 5, Interesting

      BUT

      The really great thing is how well it wears. I've a RH8, RH9 installation that have lots of other bits & bobs installed, mainly from tgz's I've pulled down & built. Its an arseabout, and both boxes are cluttered with stuff - and as soon as you go off piste with an installed package, you're on your own.

      OTOH I also have a couple of gentoo installations, and for nearly everything I want, I can just 'emerge xyz' and presto, its there. It was a pain getting it installed, but now its there it is really, really good. Also upgrading it was piss easy too.

      If only I could get portage/emerge for redhat...

    8. Re:Personally by lambent · · Score: 1


      It would be freakishly easy to drop in a copy of another distro's install setup stuff. All the steps for every user are basically the same ... i dare say you could script it yourself with expect.

      I wonder why no one has done this, yet, and made it the main installation vector? Hmmmmm.

      If you are incapable of using fdisk and ln , you probably have no business administering a complete system.

      Yes, I use Gentoo, yes I did a stage-1 install, and yes, my system was down for 2 days getting it running. I also wrote a great deal of my config files by hand. I also took the time to read the instructions. The result? Rock solid, and blazingly fast as all hell.

      I've done this process my four different times, now, and even if it is a huge pain in the ass (i'll admit it), i have yet to have an install abort or crash or freeze on me. In every single previous distro i have ever used (most notably redhat), the install always died unexpectedly at least once.

      (shrug)

    9. Re:Personally by Frymaster · · Score: 5, Insightful
      In my opinion if Gentoo wants to gain a larger user base it needs one.

      and why does gentoo need or want a larger user base? gentoo is geared towards a niche market and those people will be attracted to the distro whizzy installer or no.

      porsche has a tiny market share - but nobody suggests they should make a k-car version to get a bigger slice of the pie!

    10. Re:Personally by Anonymous Coward · · Score: 0

      if Gentoo wants to gain a larger user base it needs one.

      You missed the whole point, which is to make Gentoo "l335" distro, which in turn reduces the community support load.

      Basically, the install docs is proficiency test -- if you can't follow instructions and install Gentoo, you won't be adding noise to the forums with "RTFM" questions.

    11. Re:Personally by bee-yotch · · Score: 2, Insightful

      Well, I'm not meaning to imply that they "need" a larger user base. But I'm sure it wouldn't hurt them.

      Anyway, look at it from a different perspective, user base aside, if gentoo really is about choice and control, then why not let the gentoo user's choose between a gui installer and a manual install?

    12. Re:Personally by cayenne8 · · Score: 3, Informative
      Yup....and with Gentoo, once the install is done...it is SOOOO easy to keep up to date or add new programs. emerge this, emerge that...emerge sync.

      Sure, like any distro, an install will blow here and there due to dependencies, but, for the most part, I find it rarely happens with Gentoo....and makes the whole process so easy to do.

      --
      Light travels faster than sound. This is why some people appear bright until you hear them speak.........
    13. Re:Personally by Anonymous Coward · · Score: 1, Informative

      You can get Portage for Redhat. You can get it for any distro you like. Check out the gentoo.org forums.

      I've been installing Gentoo for about 3 days now, so I've been reading a lot of junk on the forums, and have come across threads about how you can install Portage on other distros. It doesn't look all that complicated either. As I recall people have even written bash scripts to do it for you.

    14. Re:Personally by Picass0 · · Score: 1

      I install packages when it's software that updates frequently or has many dependancies. Often times I can do a YUM UPDATE SOFTWARENAME and make the Debian users jealous that apt get isn't the shiznit any more. RPM can keep track of the orphans and let me focus on what's really important, like pr0n.

      If the software is something that I think isn't going to update frequently, I'll build from source. Also when there are not packages, and the pre-built binaries have dumb dependancies. (I remember one time if I wanted to install SDL I needed to install Solder of Fortune from Loki. WTF?)

    15. Re:Personally by Alan · · Score: 1

      This is both the beauty and the curse. You can install from anything, a running system, a knoppix CD, anything that has basic unix tools available. Of course, the barrier to entry is a bit higher because of this flexibility :)

    16. Re:Personally by micromoog · · Score: 4, Funny
      porsche has a tiny market share - but nobody suggests they should make a k-car version to get a bigger slice of the pie!

      Yeah, Gentoo adding an installer would be like Porsche making an SUV . . . oh wait, right . . .

    17. Re:Personally by walt-sjc · · Score: 1

      I do both as well.

      I build all my core applications though, for tuning, options, and special patches. If I'm building a mail server for example, I'll build my own SSL, MTA (exim), IMAP / POP servers, etc. configured exactly how I need them. It also allows me to take my source tree and move it to another box that may be RedHat, Debian, Solaris, etc. and mainly do a recompile and things work. I put all MY stuff in /usr/local so upgrades don't break shit. I ALWAYS build my own kernels on Linux however - the vendor binaries are great for getting you up and running but have Way too much bloat for every day use.

      If I'm building a web server, ditto for the core apps like Apache, but I may opt to use a vendor binary for email, and just configure it to send everything to / through the smarthost.

    18. Re:Personally by WwWonka · · Score: 1, Insightful

      porsche has a tiny market share - but nobody suggests they should make a k-car version to get a bigger slice of the pie!

      Would you buy that Porshe if it were in a thousand pieces and took a whole year to build?

      FUNK DAT!

      Here's my 70 grand, gimme the fast car and I'll be cruising with your girlfriend while you're in the garage doing a "man porshe"!

    19. Re:Personally by Woody77 · · Score: 3, Insightful

      It's why I recommend Gentoo to those that are computer-literate, and interested in trying linux. You learn so much about how the computer works during the installation.

      I grew up with PCs as they grew up, and learned DOS/Windows through all of it's incarnations (well, windows 3.1 and later). And I realize that I can handle XP MUCH better than most people I know that came into it later, and don't understand how the low-levels of the OS fit together, and what does what.

      I once saw the definition of an Expert as someone that knew the low-level so well that all of the high level stuff was obvious. I'm nowhere near that (I don't think anyone is with Windows, at this point), but that's the route that I like to go towards. It's so much easier to debug things when you understand the computer is a system, and what the parts are, and what are the core required things to get it functional.

      Gentoo's install steps are essentially a how-to guide for bringing up a box after it falls on it's face. Something often learned the hard way. It's really quite simple, and most of it could be automated, but I think that they have intentionally left it manual.

      A) It requires you to learn to use it
      B) It raises the bar on the quality of noobs.

      I'd rather start someone on an OS where they need to learn how it works than on one where it's all magic. Because magic only goes so far.

    20. Re:Personally by Anonymous Coward · · Score: 0

      and why does gentoo need or want a larger user base?
      -----

      So as to make its advances more accessable to people who would be using it, if not for their issues with it.

      The point being that technology should be made more accessable to people, rather than giving them an attitude akin to "wth d00d? RTFM or u rnt l33t enuf 2 uze dis!1!" as an excuse for not polishing or improving upon one's own work.

    21. Re:Personally by Anonymous Coward · · Score: 0

      if you can call that POS an SUC^HV

    22. Re:Personally by TheLittleJetson · · Score: 1

      porsche has a tiny market share - but nobody suggests they should make a k-car version to get a bigger slice of the pie!

      no, but apparently someone suggested they make an SUV.

      -m

    23. Re:Personally by Anonymous Coward · · Score: 0

      porsche has a tiny market share

      but they did make a 4 wheel drive quasi off roader to get a bigger piece.

    24. Re:Personally by jrnchimera · · Score: 2, Insightful

      The problem is that the Gentoo Portage is made specifically for Gentoo and some configurations that out of the box only work on a Gentoo system. So yes, you can use portage on any distribution, but it will not work as well and you will most likely have problems getting stuff to compile without having to contstantly tweak ebuild files etc. The YOS Linux distribution uses Portage and though YOS is nice, the portage system rarely works as well as it does on a real Gentoo box.

    25. Re:Personally by jonbryce · · Score: 1

      That's the case with most distros these days. Debian has had apt-get for long enough, and that is pretty good. Mandrake has urpmi, which also does the job pretty well. Red Hat has yum. I haven't tried it. SuSE has the rpm version of apt-get.

    26. Re:Personally by pizza_milkshake · · Score: 1

      ruby --help|grep -- -r

    27. Re:Personally by bkr1_2k · · Score: 1

      Honestly, unless you really don't want to do your research and would rather spend your time compiling, why even consider it? Wouldn't your time be better spent the computers instead of maintaining them?

      bkr

      --
      "Growing old is inevitable; growing up is optional."
    28. Re:Personally by bkr1_2k · · Score: 1

      Wouldn't your time be better spent the computers instead of maintaining them?

      --should read "USING" the computers instead of maintaining them...

      damn I need to learn tags

      bkr

      --
      "Growing old is inevitable; growing up is optional."
    29. Re:Personally by OS24Ever · · Score: 1

      Absolutely. In my experience we have people that we call 'WIMPs' (windows icon mouse pointer) and those that actually edited an autoexec.bat and config.sys to get a PCMCIA card to work in a system. The guys/girls that did the latter have so much better troubleshooting skills than the folks that learned how to install Windows by clicking 'next next next' all the time.

      The one time I played around with Gentoo it really opened my eyes to how Linux boots up - something that was a bit of a mistery up until I tried Gentoo. That being said I'm running RH9 and Fedora on my machines because I needed a driver that was only written for Red Hat and I don't have the C++ experience to want to dink with it that long.

      --

      As a rock-in-roll Physicist once said, No matter where you go, there you are.

    30. Re:Personally by Anonymous Coward · · Score: 0

      Have you seen the Porsche Cayenne? Porsche wants to make more money, so they build what they perceive that customers want, even though it's not a sports car. Gentoo is NOT at all like Porsche, because they genuinely don't care about customers. Porsche inherently does care, and that's why you shouldn't compare Gentoo to Porsche.

    31. Re:Personally by EvilStein · · Score: 1

      True, but Porsche is certainly hopping on the tired old "luxury SUV" wagon to try and increase marketshare.

    32. Re:Personally by Christianfreak · · Score: 2, Informative

      I use Apt for RPM to keep my RedHat boxes up to date. As a busy Sysadmin/Programmer, its easier to just get the stuff updated or a new machine up than it is to compile everything.

      I know how to compile everything but when the PHB is screaming at you to get stuff done it becomes impractical.

      Oh apt for RPM can be found at Freshrpms

    33. Re:Personally by Anonymous Coward · · Score: 0

      Not only that, but you should never just download tgz's and compile them for major packages you use on a Redhat system. The entire point of package management is to make keeping things up-to-date security-wise and stability-wise easy. Otherwise, you have to constantly monitor those applications yourself to see if there are any updates.

      Also, there are a bunch of apt repositories for redhat. I have not yet found stable software I want to install that I couldn't just apt-get. In my opinion, it just blows gentoo away.

    34. Re:Personally by ozbird · · Score: 1
      Amen. I switched from RedHat to Gentoo about six months ago, and haven't looked back. The key reasons for me were:
      • Source-based. I need the source code for many packages at work to install under Solaris. Rather than trawl through X websites, I just run "emerge sync; emerge -efD world" and I have the "latest" source packages ready to go. The down side is compiling takes time, even on a fast computer. I think of it as an investment - what I spend now I reap in the future.
      • Customisable. You still get some instances of dependency hell, but in most cases once you have tuned the USE flags, you get a system built the way you like it (and optimized for your hardware.)
      • No big downloads for trivial bug fixes. What really annoyed me with RPM packages were having to download tens of megabytes of packages because of a 10 byte security fix (e.g. file permissions.) You still have some big packages to download (e.g. OpenOffice 1.1.1 - grrr....) but less frequently.
      • Always up to date. No more 3 x ISO images every few months - emerge sync; emerge -uD world.

    35. Re:Personally by Woody77 · · Score: 1

      Which driver? And I'll assume you didn't want to do the route of rpm2gz (IIRC that's what it's called), to open the RPM up and then install it as a binary package?

    36. Re:Personally by Aneurysm9 · · Score: 1

      Anyone who's visited the Gentoo Forums wouldn't say that Gentoo doesn't care about customers (broadly defined). What the Gentoo project doesn't care about is milking every last dime out of every possible customer.

      --
      There was Cowboy Neal at the wheel of a bus to never-ever land.
    37. Re:Personally by dr.newton · · Score: 1

      there is no installer, and that's part of the whole point of gentoo.

      I started with mandrake, nice and easy, learned linux a bit at a time, and now I'm more comfortable editing config files than using a pretty (and occasionally buggy or counter-intuitive) perl/tK config tool, and I like everything just the way I want it, so gentoo's for me.

      It's not for everyone and not trying to be.

      --
      Just another proletarian malcontent.
    38. Re:Personally by frisket · · Score: 1
      I do a bit of both

      Most people I know do this, but mostly packages using a reliable package-installer, because someone else has gone to the trouble of figuring out the dependencies. 99% of the time this works.

      But occasionally you get one where someone has made dipshit assumptions about your platform, or has selfishly compiled it with a library way ahead of what people have installed, or made it KDE-only or Gnome-only.

      That's what most people use source for. I doubt your professor appreciates what you do, but I hope you never need support on what you've installed, if it's as far out as most install-from-source systems I've seen.

    39. Re:Personally by JCCyC · · Score: 1

      Many people here have similar opinions, but let me add to that: start with a packaged distro and uninstall/compile what you believe is critical (Samba for the file server, Apache & PHP & MySQL for the web server, etc).

      In all of them, recompile the kernel. Tune it to the server's particular hardware with loving care. And make lots of backups of the resulting .config files. You won't regret it.

      For desktops, I recomend abject submission to a package and upgrading mechanism (Fedora and Tao, for instance, go well with yum. For Debianish distros, plain old apt). Choose repositories as if you are amending the USA Constitution.

    40. Re:Personally by Anonymous Coward · · Score: 0

      those people will be attracted to the distro whizzy installer or no.

      I would love to use one of the roll your own distros, and really learn something about Linux (right now I am nothing more than a fringe "yeah it's kinda cool" type of user.)

      I live too far out to have broadband, and satellite is too expensive, so I have broadband. The only way I can get linux is to download ISO's from work/school and take them home. I tend to stick to distros that are fairly easy to get working with just the base install cds. I have tried to compile simple things, or even install packages, and I can't meet the dependencies. So I go to school with a list of packages and tarballs to download. Then I go home and realize that I got the wrong verion of libc or whatever. @#$*&*!
      (How do you get apt-get to install without a packages.gz anyway?)

      So after several trips it's even more broken and so I install Mandrake or whatever has a wizzy installer.

    41. Re:Personally by Blastercorps · · Score: 1

      Actually.....they are trying to break into the SUV niche with the cheyanne.

    42. Re:Personally by Tandoori+Haggis · · Score: 1

      Good point.

      On the other hand...

      Porsche Escort? Ford Boxter? Lada 911 Carrera...

      I think I've stretched that one too far...

      --
      My hyperlinks aren't worth the paper they're printed on.
    43. Re:Personally by spectre_240sx · · Score: 1

      I disagree. I think that the people working on Gentoo do care about their users, but they care more about their ideals and improving it in specific ways. Porsche used to think this way. They made fast cars that were technologically sound and consumers either: A) had faith in in Porsche and dealt with the fact that they only made sports cars or B) didn't buy one. That, I feel, is how Gentoo is. Either you trust that the distro is the way it is for a reason (barring small bugs and upgrades) or you use Mandrake (sorry, couldnt resist).

      I think it's a sad state that Porsche got themselves into with the Cayenne and even the Boxter, and they got there by trying to compete with the likes of Ford and Chevy. I will never recognize these as true Porsches. Then again, I'm a Nissan guy anyway, hehe.

    44. Re:Personally by Anonymous Coward · · Score: 0

      Mmmm, bad example, the Porsche Cayenne was built exactly to get a bigger slice of the pie.

    45. Re:Personally by Reorax · · Score: 2, Funny
      Yup....and with Gentoo, once the install is done...it is SOOOO easy to keep up to date or add new programs. emerge this, emerge that...emerge sync.

      Not in that order, of course.

      --
      This sig is only here so people stop skipping the last lines of my posts.
    46. Re:Personally by Anonymous Coward · · Score: 0

      Yeah... and what's wrong with apt-get install this or apt-get install that or apt-get dist-upgrade? I feel apt / synaptic is an excellent way to maintain your linux box without compiling from source! YMMV.

    47. Re:Personally by Trejkaz · · Score: 1

      Maybe they were talking about GLIS... who knows.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    48. Re:Personally by LoadWB · · Score: 1

      I will throw in my hat and say "ME, TOO."

      I work in Solaris and find myself frequenting SunFreeware for packages -- mostly for things to compile software :) I habitually install gcc, bison, flex, and a number of other packages on a new system. Then I go to work compiling SSH, Apache with PHP, MySQL, and whatever else.

      On occassion I find a useful package that someone has put together and install it. If I am happy with how it runs, I may look into compiling it myself, or perhaps even leave it be. Packages also come in VERY handy at times when I am having problems compiling something and am in a pinch or just damned tired of messing.

      Presently, I'm working on a test environment on which I can build packages for distribution to others machines that I admin. Once the work is done, there's little sense to do it multiple times.

    49. Re:Personally by Unregistered · · Score: 1

      also, the days for gentoo thing is a myth. I can build a fully working gentoo system (with xdirectfb, flux, e, firefox, and gaim) on a K6-333 Compaq laptop in under 7 hours.

    50. Re:Personally by Anonymous Coward · · Score: 0

      I learned quite a bit from using alpha and cvs builds of software and fixing it by csh/sh when something breaks and the install fails mysteriously. In fact, I'd wager I learn more this way than by following directions. Plus, this is much more entertaining, and takes a lot longer (good for my paycheck).

    51. Re:Personally by mroch · · Score: 1

      Oh come on. If you really need to, drag out all those old 200mhz machines I know you have lying around somewhere and use GRP to install a base Gentoo system fairly quickly. Use a bunch of them with distcc and ccache to distribute the compilation load. If you run "emerge sync && emerge -u world" every couple of days, you are always up-to-date and only a few packages recompile each time, so it's quick (except for when KDE releases a new version...) The compile time is not so bad in comparison to making an RPM totally from scratch for a package that doesn't have one for an older version. Customizing ebuilds for new packages is incredibly easy (pretty much copy/paste).

    52. Re:Personally by Rich0 · · Score: 1

      I just installed on my amd64 - I figured I'd go from stage 1 just for the heck of it since I already had my favorite USE flags figured out on my last system.

      I probably had KDE up and running in less than 7 hours. I've never seen anything compile so fast... Granted, I was used to a P3-700 previously, but that AMD64-3000+ just flies...

    53. Re:Personally by Anonymous Coward · · Score: 0

      Um, wasn't Porsche going to start bringing out 4WD RVs and stuff as part of a new strategy. I remember reading about the new CEO last year and his radical plans. Many affluent households have a car for driving (well duh) and an RV for going out in and having fun, or taking trips etc. so the story went. Although it was not very traditional for Porsche, the new strategy was created so that they wouldn't lose market share to the RV trend that has taken off in recent years, and so that they could retain brand loyalty by Porsche lovers having both a Porsche car _and_ a Porsche RV...

    54. Re:Personally by Zutroi_Zatatakowsky · · Score: 1

      Which driver exactly? If it works on Red Hat, I don't see why it couldn't on Gentoo. Let us know and it may make it to Portage. :)

      --
      All Hail Discordia. Hail Eris. Fnord.
    55. Re:Personally by GolfBoy · · Score: 1

      porsche has a tiny market share - but nobody suggests they should make a k-car version to get a bigger slice of the pie!

      Well... basically that's what the Porche Cayenne is. Porche whored themselves and left their traditional sport car market for a larger user base (profit!).

      I don't object (even though I think the Cayenne is an abomination), don't get me wrong. It's just that the Porche analogy is off base.

    56. Re:Personally by Angry+Pixie · · Score: 1

      Could you explain to the uninitiated how emerge and the whole portage system works? I've read the site's explanation of the benefits, but how does it work?

      If I want an application, I just download the tarball, unpack it, customize the makefiles if necessary, and then build the app. I feel like doing things this way gives me access to the widest amount of software. I don't have to worry about finding compatible .RPMs

    57. Re:Personally by elgaard · · Score: 1

      Debian also have apt-src which install packeges from source in the same way.

    58. Re:Personally by micromoog · · Score: 1
      If I want an application, I just download the tarball, unpack it, customize the makefiles if necessary, and then build the app.

      It basically does all those things for you with a single command . . . but better yet, it goes ahead and does all those things with all of the dependencies for your package, too. It's amazingly easy.

      For example, once you have a barebones Gentoo system up and running, you can run

      emerge kde

      and it automatically builds all of the dependencies (including X) and all of KDE in one go. 'Course it takes all night to do so, but what do you expect when you're building from source with your own optimizations.

      People have built something like 6500 packages to work this way with Portage; so far almost everything I've needed has been there. Here's the list. You can always install software manually too if you want/need to.

    59. Re:Personally by Angry+Pixie · · Score: 1

      Thanks for the info. I guess part of the Gento niche is a base of users who all have broadband connections and time.

      On second thought, that's probably not true. I've downloaded a lot of source tarballs over modem myself. It wasn't that painful.

    60. Re:Personally by lifespan · · Score: 1

      "and why does gentoo need or want a larger user base? gentoo is geared towards a niche market and those people will be attracted to the distro whizzy installer or no."

      Gentoo is intended to be geared towards all users, not a niche market. This is quite obvious after reading their philosophy link.

      http://www.gentoo.org/main/en/philosophy.xml

      Obscurity is not cool or desirable for developers of any software but it does appear to be quite desirable to immature distro-centric end-users.

      "porsche has a tiny market share - but nobody suggests they should make a k-car version to get a bigger slice of the pie!"

      Porsche have a tiny user base due to cost not ease of use. The car itself is a pleasure to drive. It has all the tools you expect to be present in a car including very easy installation in your garage if you have the bucks. No-one is suggesting paring down Gentoo , just add an easy installer so the wider community can have a go. By all means leave an option to install without the GUI so posers can brag to their friends about it but I'm not interested in hand holding my OS every step of the way, and most users aren't.

      I drive a Datsun 1200 Ute (US=pickup) so please don't reply whining about how your girlfriend or Mum (US=Mom) ran off with a Porsche owner. I don't own one and probably never will since I'm paid in Pacific Pesos(US=Australian Dollars).

      --if you must use the command line, even when it's not the best way, you were probably not alive when it was our only option--

      --
      -- Howto: Get +5 (1) Whine about M$ (2) Namedrop Gentoo (3) Casually Abuse Mods (4) Namedrop Early Computer Model
    61. Re:Personally by nametaken · · Score: 1

      Or the Boxster... the poor man's Porsche?

  2. Support by ackthpt · · Score: 5, Insightful
    After you've gone it will be easier for the prof to get support on a package than something custom. From experience, the less something you have resembles what tech support is expecting the more finger pointing and the less gets done.

    As often as I've lamented how much employers spend on PC's, vs build them themselves from parts, they would rather not have to rely on someone in-house to support hardware.

    --

    A feeling of having made the same mistake before: Deja Foobar
    1. Re:Support by vrTeach · · Score: 5, Insightful

      This is very much the case. I have managed 15-20 linux machines for the past seven years, and have moved from largely building from source to largely depending on packages. The porting of apt to rpm systems has completely changed my work for the better, so if at all posible I use the packages and a small subset of apt repositories. My next step is probably develop our own apt repository.

      In some cases, the packaged version won't play well with something that I need, or I particularly don't want upgrades to disturb something. In that case I put together a pseudo-script that gets and builds the source and dependencies, and mark the packages as "Ignore" in my apt configuration.

      eks

      --
      -- Mein Systemadminstrator hat einen großen schwarzen Moustache.
    2. Re:Support by Anonymous Coward · · Score: 0

      I supported 250 linux servers and always compiled from source. How hard is it to install on one server, tar up and copy the appropriate files to another machine? Also, with packages, people then decide "why not upgrade 100 servers at the same time, they are packages why test one first?", then they have to fix 100 servers. It's the same mentality.

    3. Re:Support by pointbeing · · Score: 3, Informative
      As often as I've lamented how much employers spend on PC's, vs build them themselves from parts, they would rather not have to rely on someone in-house to support hardware.

      It's generally more expensive to build hardware than to buy it. I work for DoD and buy about a zillion computers a year. My organization has ~2000 employees and PCs are on a four-year replacement cycle. In order to build machines in-house I'd need at least one additional full-time employee (cost about $70K including benefits) and the space to build the machines.

      Right now I'm *buying* computers from a major manufacturer - 3.2GHz, Intel, 768mb RAM, 40G hard drives - perfect corporate machines - for $907 each. The major manufacturer guarantees hardware compatibility for 36 months so my existing sysprep loads will work, provides 36 month onsite warranty support and will inflict my image on these PCs for free. You can't build 'em that cheap.

      I just bought a bit more than 500 machines this year - the full-time employee alone would add at least $140 to the price of each PC you built and I'm a bit skeptical that you could build and support those machines with only one person.

      In short, you can't build the same PC, guarantee hardware compatability, inflict a standard load on them and provide worldwide onsite warranty support for anywhere near the $907 for each unit I just bought.

      --
      we see things not as as they are, but as we are.
      -- anais nin
    4. Re:Support by Anonymous Coward · · Score: 0

      You're paying your employee too much then. Should cost around 30k for someone to do something like that.

    5. Re:Support by Anonymous Coward · · Score: 0
      You're paying your employee too much then. Should cost around 30k for someone to do something like that.

      30k is what the employee takes home. The additional money is from employee overhead in the form of benefits and management/HR overhead.

    6. Re:Support by Bios_Hakr · · Score: 1

      Speaking of finger pointing:

      Why not just keep a Windows 2k install on a spare box or removable hard drive?

      When COX Cable installed my modem, the tech asked me to login to my computer. When he saw the console, he freaked. I could have made a big deal out of it and demanded that he learn Linux. Instead, I just typed 'reboot' and waited for the look of calm that all techs display upon seeing the Win2k desktop.

      I know you have standards. Just download/borrow a copy and dare them to finger-point.

      --
      I'd rather you do it wrong, than for me to have to do it at all.
    7. Re:Support by Anonymous Coward · · Score: 0

      In most cases a $30K employee will not be able to manage competitive bids, order management and tracking, and RMAs. So now you have to add a $50K manager (at least part time). The screwdriver work is the easy part.

      And the part about overhead is dead on. Especially if you use a contractor (because you probably won't hire a PC Builder).

    8. Re:Support by EvilStein · · Score: 1

      Lucky them! I had a contract at NASA and I WISH that I was getting anywhere NEAR $70k/yr (with bennies) to build computers.

      I was doing it for $18/hr, and crappy benefits. =/

    9. Re:Support by Anonymous Coward · · Score: 0

      What does your company do with the old computers? I'm interested in starting an outreach program with a friend of mine and we need cheap computers.

    10. Re:Support by pointbeing · · Score: 1
      What does your company do with the old computers? I'm interested in starting an outreach program with a friend of mine and we need cheap computers.

      We're limited by Congress - when old computers are recycled we have to follow pretty much the following procedure -

      • Redistribute them within DoD.
      • Transfer them to law enforcement agencies.
      • Donate them to schools.
      • Offer them for sale to the public.
      • Sell them as scrap.
      The organization I work for is called Defense Utilization and Marketing Service and we have about a hundred satellite offices worldwide. Used computers are sold as-is - generally palletized. You can't buy just one or two.

      You can check out our public website here. You should be able to find something for sale near you ;-)

      --
      we see things not as as they are, but as we are.
      -- anais nin
  3. One word for you... by TwistedSquare · · Score: 4, Informative

    Gentoo! (Combines the best of both worlds)

    1. Re:One word for you... by Anonymous Coward · · Score: 4, Informative

      Which of course was copied from FreeBSD...

    2. Re:One word for you... by TedCheshireAcad · · Score: 0, Troll

      But why would you ever use Gentoo in a production environment?

      FEED ME.

    3. Re:One word for you... by micromoog · · Score: 5, Funny

      . . . which of course is dying.

    4. Re:One word for you... by hkroger · · Score: 1

      Why not? It's a distribution like any other.

    5. Re:One word for you... by maximilln · · Score: 1

      Rebuilding selected packages from source in Gentoo is little more than an advertising gimmick. Unless the entire system is built from source the low-level optimizations may actually work against each other.

      There is no real "combining the best of both worlds" unless you mean you can use supplied packages and source tarballs for things that don't have packages.

      All that aside, though, I like the look and feel of Gentoo and think it'd be a good candidate for the above-average user who's new to Linux.

      --
      +++ATHZ 99:5:80
    6. Re:One word for you... by httpamphibio.us · · Score: 1

      I to am interested in why you wouldn't use gentoo in a production environment... care to explain?

      --
      sig.
    7. Re:One word for you... by Anonymous Coward · · Score: 0

      which of course is dead.

    8. Re:One word for you... by part15guy · · Score: 2, Funny
      which of course is dead.

      No, it's still dying. I am still running FreeBSD at home because I have not found the time yet to switch back to Linux.

    9. Re:One word for you... by Stonent1 · · Score: 4, Interesting

      But why would you ever use Gentoo in a production environment?

      Security updates w/o waiting for them the be packaged?

    10. Re:One word for you... by TwistedSquare · · Score: 1
      Unless the entire system is built from source

      I build everything from source, from the stage2 (I think, poss. stage 1) bootstrap. It combines the best of both worlds because it allows building from source automatically. Personally I like it because I was driven away from binary package managers by RPMs, but stayed with Gentoo because building from source appeals to me.

    11. Re:One word for you... by SoTuA · · Score: 5, Funny

      Gentoo Linux: Because life is too long to waste on windows reboots, but long enough to 'emerge openoffice'. (laugh, it's a joke!)

    12. Re:One word for you... by Stonent1 · · Score: 1

      If you compile glibc with NPTL enabled, combined with a 2.6 series kernel, the whole system becomes amazingly more responsive under load. That's my hint for Gentoo tweaking.

    13. Re:One word for you... by Khazunga · · Score: 1

      It must be a joke. Time is lost if I'm actually looking at the computer waiting for something to happen. My laptop runs Gentoo, and installing s/w on it was basically running an emerge command that spanned two or three lines, and letting it cook overnight while I was pub crawling, having fun and then sleeping. Not exactly the same as waiting for a reboot.

      --
      If at first you don't succeed, skydiving is not for you
    14. Re:One word for you... by Anonymous Coward · · Score: 0

      I have been using Linux since 1994. My first distro was Yggdrasil. I installed Slackware from floppies (5 1/4 inch ones). I have been developing free software on Linux since 1995. I was one of the first KDE developers, in early 1997. I have made a living out of understanding Linux since 1996. I write software, package software, install software, configure software, and write about software, all on Linux. So, that argument "some read books, some write them" or "some use linux, some live linux" won't fly with me, dude.

      I probably understand what goes on in a distro better than 99.999% of Linux users. I have been employed by a distro maker, too!

      And trust me, it is quite possible to "live linux" and still feel something like Gentoo lacks purpose or usefulness, to the best of my understanding. Which is a pretty good understanding.

      I am glad I don't have to use it, yes, like you said ;-)

      I am however worried how when someone points out a shortcoming of Gentoo, the kneejerk reaction is you don't have to use it, we real 31337 linux users know its better.

      If you can't put out an interesting argument on why it's better beyond it's cool and I am in control, well, you ain't that elite, either ;-)

    15. Re:One word for you... by TimmyDee · · Score: 5, Funny

      That's only because one can associate FreeBSD with Apple, who has been dying for longer than I have been alive.

      --
      Per Square Mile, a blog about density
    16. Re:One word for you... by tribulation2004 · · Score: 1

      Agreed. We are using Gentoo 1.4 on most of our production systems. Using stage 3 install (pre-compiled base environments optimized for the processor) which is significantly faster than most Linux distros I've played with in the past (Redhat, Debian, and Corel ages ago) at the console.

      After the base is installed (takes about 20-30 minutes using stage 3 tarballs), we do from source installs of MySQL, Tomcat, tcpdump, etc. Gentoo's fantastic because it allows you to tweak almost everything, but if you stay close to the generic install (stage 3), it's rock solid. Lots of fun in an R&D environment where performance and reliability are absolutely critical.

      Plus it's a lot of fun to tweak and benchmark to extract performance; in the last two months, we've looked at migrating to 2.6.3, the performance impacts of NPTL, as well as the low latency and preemptive patches. Support is also really good (on their forums) - keep an eye on this distro, it may end up being one of the most popular soon (although I don't see it overtaking Mandrake, Redhat, or Debian in the near future).

      Cheers,

      Jim

    17. Re:One word for you... by TwistedSquare · · Score: 1
      If you can't put out an interesting argument on why it's better beyond it's cool and I am in control, well, you ain't that elite, either ;-)

      Regardless of whether you are a troll (hey, the AC thing always makes me wonder!) those two reasons are enough for me. My linux box doesn't fall over and is easy enough to upgrade. So I'm happy.

    18. Re:One word for you... by SoTuA · · Score: 1

      Duh, it SAYS it's a joke :D

      I did use gentoo and liked it a lot. my gentoo install spanned three workdays :)

      (one for the first stages and emerge X mozilla, another for emerge gnome kde and another for emerge openoffice)

      But it IS a pain in the ass to wait for a compile when you NEED something pronto.

    19. Re:One word for you... by Xeleema · · Score: 0, Troll

      That's really freaking harsh. If you're an American; I hope whoever is reading over your shoulder belts you one with your own stapler. If you're not an American; may you benefit *and* suffer at the hands of one. Either way, you have no respect for the dead. You have no honor.

      (Note to Mods: I know, OT/Redundant/Flambait/Troll. But I will not hide behind AC for this one. This is Karma well-burned. Bring it on.)

      --
      "When I am king, you will be first against the wall..."
    20. Re:One word for you... by Anonymous Coward · · Score: 1, Informative

      FreeBSD is not dieing. It is quite a worthwhile project, although its intended purpose and audience are different from GNU/Linux. GNU/Linux is more appealing to the mainstream in that it is easy to use and set up. BSD, on the other hand is older and not as appealing to people who are not very good with computers and UNIX, as Linux is.

    21. Re:One word for you... by Progman3K · · Score: 0, Offtopic

      What do you mean?

      The Gentoo Portage system was copied from FreeBSD?

      --
      I don't know the meaning of the word 'don't' - J
    22. Re:One word for you... by Anonymous Coward · · Score: 0

      OpenBSD is cool (as in '1337') and you're in control with that as well.

      This is not something that gentoo exactly has a corner on; though by listening to the zealots you'd think they do!

    23. Re:One word for you... by jtev · · Score: 0, Offtopic

      You act as if no US soldiers died under clinton, that's simply untrue. Clinton got us into rat fucks all over the world. At least wtih Bush the soldiers were honored and died for the interests of their country rather than solely the interests of their country's leader.

      --
      That which is done from love exists beyond good and evil
    24. Re:One word for you... by tverbeek · · Score: 3, Informative
      The Gentoo Portage system was copied from FreeBSD?

      In a word: yes.

      --
      http://alternatives.rzero.com/
    25. Re:One word for you... by Anonymous Coward · · Score: 0

      I don't see OpenBSD being perceived as "1337" -- it's primitive, slow, and the developers are assholes. Most people either limit it's use to lowend firewalls, or just ignore it. Except for a small cadre of True Believer personality cult types.

    26. Re:One word for you... by asdfghjklqwertyuiop · · Score: 1


      Well not quite. emerge still has no equivalent of PREFIX= while doing a make install for a FreeBSD port... which is really nice for setting up trees of software to be shared among machines.

    27. Re:One word for you... by Anonymous Coward · · Score: 0

      BSD is already dead, you insensitive clod!

    28. Re:One word for you... by asdfghjklqwertyuiop · · Score: 1

      And the worst too. I tried gentoo for a week and in that time emerge failed two or three times due to failed compiles.

      And you can't set a different install prefix for your packages, like many binary packages on other systems.

    29. Re:One word for you... by Anonymous Coward · · Score: 0

      Of course Gentoo ;) After a 'emerge sync' Gentoo
      announces that there is 63 configuration files
      to check out: like hosts, passwd etc.

      After that I installed FreeBSD.

    30. Re:One word for you... by Anonymous Coward · · Score: 0

      "...solely in the interests of their country's leader."

      Excellent, excellent troll. My hat is off.

    31. Re:One word for you... by ImaRootofALLEVIL · · Score: 0

      on my transmeta crusoe laptop, i did a freebsd ports install of openoffice

      took 24 hours from start (cd /usr/ports/editors/openoffice-1.1; make; make install) until i saw a shell prompt on the terminal again

    32. Re:One word for you... by Trejkaz · · Score: 1

      And then after you type "etc-update" you might find that 20 of the files have trivial changes, you've only modified 3 of them and the remaining 40 can be merged automatically.

      Total time taken = 1 minute.

      Meanwhile over on FreeBSD you don't even know if you need to update the configuration. Way to go, FreeBSD!

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    33. Re:One word for you... by Brandybuck · · Score: 1

      Meanwhile over on FreeBSD you don't even know if you need to update the configuration. Way to go, FreeBSD!

      Over here on FreeBSD we never worry about that, because no package is allowed to overwrite any system configuration.

      --
      Don't blame me, I didn't vote for either of them!
    34. Re:One word for you... by Anonymous Coward · · Score: 0
      GNU/Linux is more appealing to the mainstream in that it is easy to use and set up.


      Oh good an religous war. :(

      Simple FreeBSD installation yields functional desktop system

    35. Re:One word for you... by Trejkaz · · Score: 1

      So what you've just done is confirmed the problem I was talking about.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    36. Re:One word for you... by Brandybuck · · Score: 1

      Not overwriting system configuration is a problem? How?

      While FreeBSD (or Gentoo) is not suitable for the raw newbie unwilling to read the documentation, it more than meets the needs of those that don't want nameless packagers a continent away messing with their configuration.

      Here's how things are done in FreeBSD: Install the CUPS package (either binary or from source). CUPS configuration files are installed to /usr/local/etc (nothing touches /etc under pain of excommunication), with suffixes of "sample". If those default configurations are good enough for you, just copy them over or rename them. Then the next time you update CUPS, the *.sample files will get overwritten, but not the real configuration files.

      Could an automatic merge be done? Of course it could. But it couldn't be done safely. I have yet to see any merge tool that didn't need human intervention to keep it from messing up. The logic behind an automatic merge is just too complex to get right every time. It doesn't matter how user friendly an automatic merge seems, if it gets it wrong only one time in a hundred, it's going to cause more frustration than it prevents.

      Configuration files COULD be written so that automatic merging would always work. But we're talking about third party packages here, and we have no control over them.

      --
      Don't blame me, I didn't vote for either of them!
    37. Re:One word for you... by Brandybuck · · Score: 1

      Getting back on track, you originally said "Meanwhile over on FreeBSD you don't even know if you need to update the configuration. Way to go, FreeBSD!"

      That's not the case. If a port's configuration files changes so that they need updating, the user will be notified. This would only happen if the new configuration format is incompatible with the old, and in real life that's a relatively rare occurance.

      --
      Don't blame me, I didn't vote for either of them!
    38. Re:One word for you... by Trejkaz · · Score: 1

      I was talking about packages which make a change in their configuration they require. The *.sample thing sort of solves it, but only if it keeps an old copy of the sample file around. Then you could "diff config.sample.old config.sample", and manually merge in the changes.

      So then it's a matter of finding every sample file and merging the changes by hand.

      Or under Gentoo you can type "etc-update", it finds all configuration files which need merging, and does it. The user ultimately gets the final word but you can tell etc-update to automatically merge remaining files, which is always safe if you haven't made any changes to the configuration file, or if the changes you made were trivial.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    39. Re:One word for you... by Trejkaz · · Score: 1

      There are occasionally situations where a change occurs which doesn't make the configuration format incompatible, but still makes your configuration behave incorrectly relative to the previous version of the app. This can easily happen if a default value changes somewhere in the configuration.

      This has happened to me before, when I've noticed in Gentoo's merging it has updated one of the commented defaults.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    40. Re:One word for you... by Anonymous Coward · · Score: 0

      Security updates that haven't been tested with your installation and may have feature changes that break things fatally? This happened repeatedly with OpenSSH, as they changed a lot of defaults and added that weird-ass "PrivSep" behavior which is actually a crippled form of chroot cage operation with its brains ripped out to do a few very, very simple operations but which broke operation if not compilation badly on every OS but OpenBSd.

    41. Re:One word for you... by Brandybuck · · Score: 1

      There's one major difference between portage and ports, and that's FreeBSD separating the base system out from the ports, which are all third party software.

      When updating the base system under FreeBSD, one DOES merge the configuration. This is done with "mergemaster", and is part of the documented upgrade process.. It is not automatic, but if you trust it, you can pipe yes through it.

      --
      Don't blame me, I didn't vote for either of them!
    42. Re:One word for you... by Anonymous Coward · · Score: 0

      Ever heard of the FreeBSD ports collection? No... you probably haven't but you'll shoot your mouth off anyway...

    43. Re:One word for you... by Anonymous Coward · · Score: 0

      That's right, the writer hadn't heard of the FreeBSD ports collection, and that's why s/he asked the question...

      I fail to see how this was "shooting mouth off".

  4. Both? by jjares · · Score: 2, Interesting

    I actually make my own gentoo ebuilds and build everything emerging them... so, both.

    1. Re:Both? by revividus · · Score: 1
      I'd have to agree, though I haven't created an ebuild of my own yet.

      I don't think I've installed more than one or two binary packages on my gentoo box -- but an ebuild is so nicely packaged that I don't feel typing "emerge -u foo" really qualifies as me building everything from source... Really, someone else did the "hard" stuff (working out dependencies and deciding which directories to save things in, for example) for me.

    2. Re:Both? by jjares · · Score: 1

      Actually, building gentoo packages is VERY easy, it's the thing I like most about it. Most often than not when I need a new package (for instance, pam_pgsql) I just get a similar one (pam_mysql) and change a few things where it is needed. Either that or check bugs.gentoo.org to see if someone already did the hard work. This is a really great reference.

  5. Gentoo is something of a middle ground. by Novanix · · Score: 5, Insightful

    Gentoo is a great OS as instead of having binary packaged systems, it builds everything from source but can build it effeciently and automatically. In addition it can allow you to just use it to manage the source and you compile it yourself. If you were dealing with many systems you could setup your own gentoo sync server and distribute custom copies of various packages exactly to your specs and compiling details. In addition it can easily determine dependencies, and even install them for you if needed. Gentoo is kind of like a bare bones OS that simply makes it easy to install whatever you want and rather helps shortcut the process of dealing with installing things by compiling things for you.

    1. Re:Gentoo is something of a middle ground. by Chuck+Bucket · · Score: 5, Informative
      Thanks for the very good points and explaination of Gentoo, but *please* remember, you CAN use binary packages with Gentoo as well:
      • emerge -k (packagename)
      This must be pointed out before the normal Gentoo FUD starts getting thrown around. Also, before anyone slams Gentoo, they should read and learn: Dispelling the myths of Gentoo Linux, an honest review

      Cvswdsf
    2. Re:Gentoo is something of a middle ground. by andrew_j_w · · Score: 1

      > instead of having binary packaged system

      That's not quite true, while building from source is an important part of Gentoo, Portage has full support for binary packages. A stage 3 GRP install, which only uses pre-built packages, will get you installed very quickly.

      Portage also has support for building a binary package when you compile from source. In a situation like this that would seem like the ideal solution - build from source once, and distribute the binary package to all servers (assuming they're similar)

      Andrew

    3. Re:Gentoo is something of a middle ground. by Brian+Blessed · · Score: 1

      Something I've been wondering about Gentoo is: How does it cope with several source packages having different dependencies?

      Thanks
      - Brian.

    4. Re:Gentoo is something of a middle ground. by X · · Score: 1

      How does it cope with several source packages having different dependencies?

      I'm not sure what you mean by this. What is the conflict you are imagining this would create?

      --
      sigs are a waste of space
    5. Re:Gentoo is something of a middle ground. by Anonymous Coward · · Score: 1, Informative

      To allow multiple versions of one package to be installed where such situations may arrise, Gentoo provides the SLOTS mechanism to avoid conflicts.

    6. Re:Gentoo is something of a middle ground. by whoever57 · · Score: 5, Interesting
      I have one Gentoo machine that is my "Compile Server" On this, I build binary packages, which go into the portage tree. All other Gentoo machines on the network then sync against the compile server (instead of using "emerge sync"), and thus also get the binary packages.

      Then, on the other machines, I install from the binaries.

      This allows me to test the installs first, resolve any problems, etc.

      Furthermore, to speed up the process, several machines run DISTCC and are used as clients of the compile server.

      --
      The real "Libtards" are the Libertarians!
    7. Re:Gentoo is something of a middle ground. by Jonboy+X · · Score: 1

      Gentoo is a great system, but as time goes by, I find myself somewhat dissatisfied. I've been using Gentoo for about 6 months now, and, in theory, it's a beautiful architecture. The problem is that many of the packages are simply poorly maintained. Bad dependency listings, _very_ slow updates, semi-broken builds, it's all enough to drive me to just go and download the damn tarballs myself. And, like many other package-dependency-based systems, once you install one library/program manually, all the other packages that depend on the first one have to be done manually too.

      But don't get me wrong, it's a great system. The maintainers of many of the packages have simply failed to live up to their end of the bargain.

      --

      "In a 32-bit world, you're a 2-bit user. You've got your own newsgroup, alt.total.loser." -Weird Al
    8. Re:Gentoo is something of a middle ground. by Brando_Calrisean · · Score: 0

      Each ebuild has a list of the dependencies required to install a package.
      For example, in the k3b ebuild:
      DEPEND="${DEPEND}
      kde? ( >=kde-base/kdebase-3.1 )
      >=media-sound/cdparanoia-3.9.8
      >=media-libs/id3lib-3.8.0_pre2
      flac? ( media-libs/flac )
      mad? ( >=media-sound/mad-0.14.2b )
      oggvorbis? ( media-libs/libvorbis )"

      etc..

      --
      Don't call me a cowboy, and don't tell me to slow down!
    9. Re:Gentoo is something of a middle ground. by RLiegh · · Score: 1

      Ok, I set a variable in *BSD to point to the packages at the main ftp site and I can simply do a pkg_add packagename.

      What site do you have to point to in order to download the binary packages for gentoo? That's something I could not figure out when I tried it, personally speaking.

    10. Re:Gentoo is something of a middle ground. by IntergalacticWalrus · · Score: 2, Informative

      You can just put the /usr/portage from your compile server on nfs and have all other machines export it, you know.

    11. Re:Gentoo is something of a middle ground. by terrac · · Score: 1

      While Gentoo does have some nice defaults, it's pretty wack as far as a distribution. Ever been on a *nix without telnet! wow! and infding packages in their portage.. woo-hoo. I would rather build from source then use their stupid, inept package management system.
      There are good package managers out there though, Apt, & Ports are both very mature and have full management capabilities including forward and reverse dependancies.

      --
      Keep Dogs Evil
    12. Re:Gentoo is something of a middle ground. by Brian+Blessed · · Score: 1

      To clarify, I meant: what does Gentoo do when, for example, two programs use the same library but use features that are exclusive to different versions of that library?

      - Brian.

    13. Re:Gentoo is something of a middle ground. by benow · · Score: 1

      I think at that point you may be able to help out maintaining packages. There's always going to be some rough edges maintaining (an interface to) a system of such size as linux and all associated projects. Distributed peerage tells us the load can be best shouldered by lots of people doing small tasks, so, help out... start from the old ebuild, fix the problems, submit an ebuild patch to gentoo bugzilla and remove the reason for others to repeat your actions. The benefit that comes from a continually up-to-date distribution far outweighs the small bit of effort required to maintain the occasional ebuild. Otherwise, there's other distros/os's that are more than happy to take money in exchange for immediate reduction in frustration (just shuffling it around, really).

    14. Re:Gentoo is something of a middle ground. by Chuck+Bucket · · Score: 1

      What site do you have to point to in order to download the binary packages for gentoo?

      You don't, you only need to use the -k (or --usepkg) option with emerge. I actually prefer the way it's done in *BSD, but portage is based on ports, so I can't complain too much; it's a nice way to do things. ;)

      CVsda

    15. Re:Gentoo is something of a middle ground. by Spellbinder · · Score: 1
      i got other experiences with dependencys
      it is very seldom something is broken and if it is it is easy to fix (i had a lot more of trouble with redhat or mandrake) IMHO portage is even better at managing dependency then debian with apt
      And, like many other package-dependency-based systems, once you install one library/program manually, all the other packages that depend on the first one have to be done manually too.
      i never occured a file in their tree which had a dependency to a package that was not there
      but just in case you do you could use portage inject to tell the system the package is already installed
      then you are able to install packages that depends on the manualy installed package
      --


      stop supporting microsoft with pirating their software!!!!!
    16. Re:Gentoo is something of a middle ground. by Khazunga · · Score: 1
      If you take the time to download and build stuff yourself, why not run the extra mile and tweak the ebuild? It's not that difficult.

      Even if you bypass portage for a given dependency and install manually, you can use the --inject emerge argument to fake the existence of the lib and proceed using portage for the rest of your software tree.

      --
      If at first you don't succeed, skydiving is not for you
    17. Re:Gentoo is something of a middle ground. by whoever57 · · Score: 1
      You can just put the /usr/portage from your compile server on nfs and have all other machines export it, you know.

      Yes, I know this. But most of these machines are not running NFS, and I don't want nfs on them.

      --
      The real "Libtards" are the Libertarians!
    18. Re:Gentoo is something of a middle ground. by Joseph+Vigneau · · Score: 2, Informative

      Each ebuild (package) specifies a SLOT variable, which is populated by the author of the ebuild. Roughly speaking, this variable tells Portage that the versions of the package are different enough that both versions need to be around, in order to satisfy the dependencies of other packages.

      For example, I have both 1.3 and 1.4 versions of the Sun JDK on my box. The sun-jdk-1.3.1.10.ebuild file has the line SLOT="1.3", while the sun-jdk-1.4.2.04.ebuild file has the line SLOT="1.4". Now, if Sun has another release of JDK 1.3, the ebuild maintainer releases a new ebuild that has that same SLOT="1.3" line. Portage now knows it is safe to replace the old 1.3, but to keep the existing 1.4, as well.

    19. Re:Gentoo is something of a middle ground. by bee-yotch · · Score: 1, Insightful

      "you CAN use binary packages with Gentoo"

      I don't know how you can argue this in any situations other than when you're initially building your gentoo system.

      Once you run your first emerge sync where do you get packages from? I don't know of any mirrors that supply binary packages and I'd be willing to bet that there aren't any. So unless you're referring to the limitted selection on the gentoo cd's, then no, you can't use binary packages unless you've pre-built them yourself.

    20. Re:Gentoo is something of a middle ground. by Jason+Hood · · Score: 0

      The problem is that many of the packages are simply poorly maintained. That is true with any distro I have ever tried. (Notably redhat, debian and mandrake). No way around that.

      It's all enough to drive me to just go and download the damn tarballs myself. If you are installing directly into the system like this then yeah, you are going to jack your system. If this is truely needed install to a single directory point so you can blow it away easily. I have rarely seen a time when gentoo didnt have a piece of software long before any other major linux distro. But people make mistakes sometimes...

      The maintainers of many of the packages have simply failed to live up to their end of the bargain. Well if they were bargaining with your system management style (apparently circumventing portage frequently) then yes I guess they have and they never will. I would definitely say your experience is not typical. If certain packages are habitually broken, post to the forums and email the maintainer.

      --
      Are you intolerant of intolerant people?
    21. Re:Gentoo is something of a middle ground. by Anonymous Coward · · Score: 0

      I think you are missing the filosophy in gentoo, the hole point of the dist. is that you don't install programs or librarys you don't need.

    22. Re:Gentoo is something of a middle ground. by Chuck+Bucket · · Score: 3, Informative

      ...unless you're referring to the limitted selection on the gentoo cd's, then no, you can't use binary packages unless you've pre-built them yourself.

      1) if your mirror doesn't have binaries, add one that does to PORTAGE_BINHOST (check with #gentoo or gentoo forums for urls)

      2) emerge -k foo that'll emerge the binary package of foo.

      more info from Gentoo's FAQ http://www.gentoo.org/doc/en/handbook/handbook.xml ?part=2&chap=2#doc_chap3 :

      2.c. Maintaining Software

      Building or Prebuilt?

      Gentoo provides ebuilds, the Gentoo packages if you like. But when you want to install such an ebuild, you can choose between building the package and using a prebuilt package. But what are the advantages/disadvantages of both approaches, and can they be used next to each other?

      As you probably have guessed, building packages takes a lot of time (especially if you have little resources or want to build big packages, such as KDE, OpenOffice.org, etc.). By building the package, you can use the USE setting to tweak the package to your system. Of course, you can also define high optimization options (in the CFLAGS and CXXFLAGS variables) to compile the package with.

      Using prebuilt packages improves the installation time (as no more compilation is needed), but you will lose the advantages of the USE setting and the CFLAGS & CXXFLAGS variables.

      As previously stated, prebuilt packages are stored in the /usr/portage/packages/All directory, while the source code of the packages is placed in /usr/portage/distfiles. If you have finished installing a package you can remove the package or source code from the respective directory. However, you might want to keep the package/source code of the latest version, just in case you want to reinstall the package (so you don't have to redownload it). ...

      Installing Prebuilt Packages

      When you want to install a prebuilt package, you should use the --usepkg option (-k in short). This will use the binary package available in /usr/portage/packages/All if the package and the version of the application you want to install match.

      Code Listing 18: Installing a prebuilt package for gnumeric

      # emerge --usepkg gnumeric

      If you want to use the binary package, even if the versions don't match, use --usepkgonly (-K in short).

      Code Listing 19: Installing the prebuilt package for gnumeric

      # emerge --usepkgonly gnumeric

      If you don't have the prebuilt package on your system yet, you can have emerge download it from a mirror, defined in the PORTAGE_BINHOST variable declared in /etc/make.conf.

      To download the binary package in case this package doesn't exist on your system already, use --getbinpkg (-g in short):

      Code Listing 20: Downloading and installing a prebuilt package for gnumeric

      # emerge --getbinpkg gnumeric

      This will download the package and the package-related information for you and install it on your system, together with the dependencies.

      CB

    23. Re:Gentoo is something of a middle ground. by Hatta · · Score: 2, Informative

      Indeed. I find the greatest benefit of Gentoo is the USE flags. Because of them I have many more video and audio drivers available on my gentoo box than my debian machines. Just specify, for instance, "opengl" in the USE flags, and everything is automatically built for opengl. I've been surprised to find out how many apps have opengl support that I never knew about. Still, the fragility of portage and its tendency to leave cruft around keep me in the debian camp most of the time.

      --
      Give me Classic Slashdot or give me death!
    24. Re:Gentoo is something of a middle ground. by hesiod · · Score: 1

      > what does Gentoo do when, for example, two programs use the same library but use features that are exclusive to different versions of that library?

      It should tell the user to kill the person that broke the library's backwards-compatibility. You might want to find newer versions of some of your software.

    25. Re:Gentoo is something of a middle ground. by kbielefe · · Score: 1
      I agree. The only ebuild problems I have had were since I switched to accept ~x86 and occasionally when I unmask an ebuild. But then I knew I was disabling stability safeguards and had no cause for complaint.

      I manually compile and inject the cvs version of mplayer (I'm working on getting a patch accepted) and have had no problems getting it to work together with the mplayer plugin ebuild, which has a pretty strong dependency relationship.

      I think the Gentoo developers as a whole do a great job of making stable ebuilds for weeks-old software, making unstable ebuilds available extremely quickly for the testing pioneers, and clearly differentiating between the two.

      If you want bleeding edge software on your machine, then the cost is doing some of the work yourself. Otherwise, just wait for it to become stable. In my experience it doesn't take very long at all with Gentoo.

      --
      This space intentionally left blank.
    26. Re:Gentoo is something of a middle ground. by Jonboy+X · · Score: 1

      The only ebuild problems I have had were since I switched to accept ~x86 and occasionally when I unmask an ebuild.

      That's precisely my point. It's not that the stable ebuilds are broken, it's that they lag by weeks, sometimes months, forcing you to use the unstable ebuilds. These "bleeding-edge" ebuilds are usually only a couple of days behind the times, but they hardly ever work without substantial tweaking. This tweaking, for me, is usually more trouble than just saying "fsck it", and installing from a source tarball manually. Granted, for the majority of packages, the stable builds are just fine, but there are a notable few that throw everything else off. Case in point, ALSA. The current stable rev is 1.3, while Gentoo's "stable" branch is still at the almost-six-month-old 0.9.8. This version-lag creeps into all sorts of other packages that depend on newer versions of ALSA. I guess my real wish is that the people who put out the brand-spanking-new ebuilds would just go the extra mile and bring it up to "stable" build quality.

      I haven't tried injecting self-built packages manually in a while, but last time I tried, I found that Gentoo expects certain files to be in certain places, and the tarball builds rarely put them there. To fix this situation, you'd have to go and reverse-engineer the dysfunctional, unstable tarball and figure out what it's trying to do, and at that point you might as well just fix the ebuild yourself.

      Sorry for the rant. It's just that I had such high hopes for Gentoo...

      --

      "In a 32-bit world, you're a 2-bit user. You've got your own newsgroup, alt.total.loser." -Weird Al
    27. Re:Gentoo is something of a middle ground. by bee-yotch · · Score: 1

      I guess I should have been more clear. I wasn't trying to argue that it's not possible with gentoo. I know the infrastructure is there to do it. However, you say

      1) if your mirror doesn't have binaries, add one that does to PORTAGE_BINHOST (check with #gentoo or gentoo forums for urls)

      Well, I can't find a single mirror that DOES have binary packages. Maybe you could point me at one, because this would definately be useful. I've checked the forums and the mirrors page and all that was said in the forums was there are no binary package mirrors.

    28. Re:Gentoo is something of a middle ground. by Chuck+Bucket · · Score: 1
      cool, I've never used the feature, but have read about it, and it sounds like it'd be a help; acting much more like apt-get (without as much variety of course). From my /etc/make.conf file:
      • Portage uses PORTAGE_BINHOST to specify mirrors for prebuilt-binary packages.
        # The list is a single extry specifying the full address of the directory
        # serving the tbz2's for your system. Running emerge with either '--getbinpkg'
        # or '--getbinpkgonly' will cause portage to retrieve the metadata from all# packages in the directory specified, and use that data to determine what will
        # be downloaded and merged. '-g' or '-gK' are the recommend parameters. Please
        # consult the man pages and 'emerge --help' for more information.
        #PORTAGE_BINHOST="ftp://login:pass@g rp.mirror.site /pub/grp/i686/athlon-xp/"
        #PORTAGE_BINHOST="http: //grp.mirror.site/gentoogrp /1.4/i686/athlon-xp/"

      So change the ../athlon-xp to your arch and give it a go. Hope that helps.

      CB
    29. Re:Gentoo is something of a middle ground. by bee-yotch · · Score: 1

      http://grp.mirror.site

      Come on now, you don't believe this is an actual mirror do you.

      I didn't know .site had become a valid domain ;-).

    30. Re:Gentoo is something of a middle ground. by Chuck+Bucket · · Score: 1

      uhhh....ok, now I'm *starting* to feel like an idiot. again, I've never done emerge -k, but I thought it was possible. from everything that *I* can see, all of the URLs in my MIRRORS list, none of them have anything useful in their ../grp directories!

      So I think I'm coming to the conclusion that you already have! Sorry for any confusion, anyone out there know what's up with this? I'm starting to think *you* have to compile the src, then stick it on a server in some dir (named grp I guess) and then point your make.conf to it. Sounds like it's quicker to just install from source ;)

      CB

    31. Re:Gentoo is something of a middle ground. by 4of12 · · Score: 1

      you could setup your own gentoo sync server and distribute custom copies of various packages exactly to your specs and compiling details.

      I'm very interested in this possibility.

      Suppose I have source for a weird, in-house application like foo that's not part of the standard public gentoo portage tree.

      Can I setup a sync server to provide foo to my internal LAN of gentoo machines?

      --
      "Provided by the management for your protection."
    32. Re:Gentoo is something of a middle ground. by Anonymous Coward · · Score: 0

      Appears to be a troll but Ill bite.

      Case in point, ALSA.

      Well no extra alsa drivers are needed if you are running 2.6. ALSA was always broken in 2.4 and was a hack. Since very few users use the 2.4 kernel anymore, no one updates the ebuild. I dont know of any packages in the last 5 systems I have built that required the alsa ebuild (KDE/Gnome/X/xmms/xine).

      As for gentoo being out of date, its the most up to date stable linux distro I have ever used. Just because RPMs show up somewhere does not mean they are stable. Gentoo by definition is bleeding edge. If you rely on legacy software or kernels you are using the wrong distro.

  6. Who are these people? by bperkins · · Score: 5, Insightful

    While building from source can be fun, and necessary sometimes, I don't think it makes sense. You spend far too much time tweaking minor issues, and lose sight of major problems.

    One problem that I've noticed is the fact the build from source people tend to install things in a way that's completely different than anyone else. This means that anyone who tried to maintain the machine is hopelessly lost trying to figure out what the previous person did. OTOH, When (e.g.) RedHat does something weird, the explanation and fix is usually just a few google queries away.

    Most (all?) package formats have source packages that can be modified and rebuild in case you need some really special feature.

    1. Re:Who are these people? by eln · · Score: 1

      I used to build everything from source before I discovered the joy of Gnome. The documentation situation has probably improved since then, but back when I first tried it, it was a mess of downloading, running configure, downloading some dependency, running configure on the dependency, finding out the dependency had its own dependencies, and on and on.

      Most projects aren't that severe, but packaging systems (good ones anyway) take care of all the dependencies for you, so it's painless. Unless you need some non-standard feature that isn't usually compiled in, use the packaging systems. If you do need something that isn't by default included, most distributions have source packages available.

      It used to be that the popular packaging systems were pretty badly broken, missing dependencies, or installing dependencies that broke other programs, but they're a whole lot better now. I really see no particular reason not to use them, unless you just want to look "hardcore" by giving yourself a lot more work than necessary.

    2. Re:Who are these people? by Anonymous Coward · · Score: 5, Interesting

      Speaking of RedHat doing something weird... RedHat managed to _rename_ p_pptr to parent in task_struct in the kernel. How did they manage to get away with something like that? If there are custom kernel modules that happen to want to use p_pptr, then everything breaks!

    3. Re:Who are these people? by KGBear · · Score: 1
      build from source people tend to install things in a way that's completely different than anyone else


      DUH! Maybe that's why they prefer to install from source? For instance some distros like to install all config files in /etc, all binaries in /usr/local/bin, all libs in /usr/libs, etc. Some people would rather have everything separated by topic or by package, for instance everything pertaining to apache goes to /usr/local/apache, everything that belogs to PostgreSQL goes to /usr/local/postgres, etc.

      This is not a problem, as long as it's documented and one single policy is adopted.

    4. Re:Who are these people? by Anonymous Coward · · Score: 0

      What? Serious? Did they give any reasons for doing it?

    5. Re:Who are these people? by delcielo · · Score: 1

      It really depends on where you get your packages.

      I often find that building from source, even if I don't utilize any options or optimizations, gives me a setup I can more easily rely on. I can now take my configs to another platform if I want, or upgrade without worrying about breaking my scripts, etc.

      Now, if you get your package from the same source every time, these may be moot points to you; but I've been in the position of wanting to upgrade that 3rd party package that somebody built for RedHat, only to find out that the provider I got it from hasn't made a new one, but has switched to making Suse packages instead.

      --
      Hot Damn! It's the Soggy Bottom Boys!
    6. Re:Who are these people? by ThisIsFred · · Score: 1

      I don't do it for fun, but it largely depends on what distro is used. I can't rely on package managers because frankly, I don't like waiting. I use Slackware, so that's part of my problem. But for certain things, like vulnerabilities in Apache, PHP, Sendmail, OpenSSL or OpenSSH, I grab the source (or patches) and compile ASAP.

      --
      Fred

      "A fool and his freedom are soon parted"
      -RMS
    7. Re:Who are these people? by adamjaskie · · Score: 3, Interesting

      I run Slackware. Most of the major stuff I need is avaliable as official packages from Pat, and quite a bit of other stuff is avaliable on LinuxPackages.net. I will usually look first to see if there is an official package, and if not, I will do a quick look on LinuxPackages.net, but those are usually a bit out of date, so I usually will end up just downloading the source and compiling it. I see nothing wrong with compiling my own stuff, as it doesn't take much longer. With checkinstall, I can even enter it into the package management system to uninstall easier in future.

      --
      /usr/games/fortune
    8. Re:Who are these people? by bwy · · Score: 5, Insightful

      You spend far too much time tweaking minor issues, and lose sight of major problems.

      Good point. There are probably very few cases where spending the extra hours of tweak time ever ends up being something that adds a significant amount of value to anybody, except yourself of course. I can think of a couple exceptions, but they are exactly that- exceptions to the rule. IMHO the ability to standardize installation packages is an important aspect of modern computing.

      If time didn't matter, I suppose we'd could all go so far as writing all our own software that would do exactly what we wanted.

    9. Re:Who are these people? by brlancer · · Score: 1
      Maybe that's why they prefer to install from source? For instance some distros like to install all config files in /etc, all binaries in /usr/local/bin, all libs in /usr/libs, etc. Some people would rather have everything separated by topic or by package, for instance everything pertaining to apache goes to /usr/local/apache, everything that belogs to PostgreSQL goes to /usr/local/postgres, etc.

      And how much time is spent doing all of this? Even with dpkg or rpm, you run into problems (I've not messed with portage). One of my complaints of FreeBSD was having to compile everything from source--yeah, it ran fast, but it was a pain to maintain. Perhaps for a hobbyist this might be an enjoyable experience, but I think one of the underlying principles of *nix (and computing in general) is laziness--don't redo something someone else has already done.

      Unless I need to add/remove an option not included by the default package or fix a bottleneck, I leave the package alone. For one or two machines, compiling everything from source can be a significant improvement. For 200 machines of varying architecture, I'll stick with someone else's effort and my laziness.

      --
      Someone asked if I had patched against MSBlast; I said yes, I installed Linux.
    10. Re:Who are these people? by Anonymous Coward · · Score: 0

      Losing sight of major problems?

      I was horrified when I discovered one of RedHat's 6.2 source RPMs didn't even do the "make"! It didn't rebuild anything! I call that pretty major.

      I think it's easier to maintain a system built from source. You aren't locked in to RedHat's dependencies and you can specify the features you want rather than what someone else's spec file says you should have. Like having my old gaim version without any annoying sound effects! That was a compile option.

      Also I don't have to let packages install their contents willy-nilly all over the system. When I upgrade an rpm how do I know it didn't overwrite my configuration files? When I remove a package how do I know it removed everything? What if I want 2 package versions installed in parallel for testing? How do I know they're isolated?

      Probably the coolest trick I've ever seen is to set the PREFIX artificially, when compiling source, to install all package components together into one directory. /usr/local/bin/xmame-0.70.1 /usr/local/bin/xmame-0.80.1

      And then just make /usr/local/bin/xmame point to the one I want. If I find the newest one is hosed I can easily revert back to the old one or test both in parallel for debugging what broke. And you can maintain your directories by hand instead of relying on emerge or rpm or apt-get. Deleting a version is just one rm -rf away rather than hunting over 5 directories and praying or letting a package manager do the hunting for you and praying.

      You don't have that kind of sane directory structure with any package system-- even gentoo.

    11. Re:Who are these people? by Nothinman · · Score: 1

      If you would spend an extra 5 minutes you could have both. Just grab the src.rpm, it has the source and an already made-up .spec file, apply the patch (or include it in the .spec file so it's applied for you on build) and make a patched RPM. That way you still have consistency with the package database and you don't have vulnerable software.

    12. Re:Who are these people? by Jason+Hood · · Score: 0

      This means that anyone who tried to maintain the machine is hopelessly lost trying to figure out what the previous person did. OTOH, When (e.g.)

      Thats not very accurate, at least when speaking about gentoo. It keeps track of what packages were installed with which "USE" flags. These are shortcuts to configure scripts are as simple as saying "Yes, I want ldap support in apache". If you log into a system and want to know if apache was compiled with ldap support, all you have to do is query portage and ask. "etcat uses apache". It will tell you what was compiled can be compiled in, what is compiled in, and what _will be_ compiled in next time. Without that functionality, yes gentoo would be a mess.

      --
      Are you intolerant of intolerant people?
    13. Re:Who are these people? by stwrtpj · · Score: 2, Informative
      While building from source can be fun, and necessary sometimes, I don't think it makes sense. You spend far too much time tweaking minor issues, and lose sight of major problems.

      I tend to agree, but I have found one case on Redhat where RPMs give me nothing but trouble: Perl.

      I have always had problems with Perl when I go to install a new module from CPAN if Perl was installed with an RPM file or came with the system (i.e. installed when the system was installed). Perl itself works great, but some CPAN packages barf when I try to compile them. Tk is the worst offender. I have yet to get it to compile cleanly using an RPM'ed Perl. Some modules are very sensitive to the exact configuration under which Perl itself was compiled, and more likely than not the Perl RPM was created on a system different enough from mine to cause problems.

      The same thing happened to me just a month ago when I got a brand new machine with RH9 preinstalled. Tk would not build properly with the preloaded Perl, so I downloaded and compiled my own from scratch and it worked perfectly after that.

      --
      Karma: Frotzed (mostly due to the Frobozz Magic Karma Company)
    14. Re:Who are these people? by Agent+Orange · · Score: 1

      The "minor issues" point here is something I especially agree with - it's the law of diminishing returns. Does it matter that you squeeze that little bit of optimism out of packages? is it worth the extra effort? Reminds me of a knuth quote which is sort of appropriate: "We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil."

      $AUS0.02

    15. Re:Who are these people? by jc42 · · Score: 2, Insightful

      One problem that I've noticed is the fact the build from source people tend to install things in a way that's completely different than anyone else.

      While I'd agree with you in general, I've found one curious case where I've learned to install from the source to make all my machines the same: apache.

      For some reason, every vendor (and sometimes every release ;-) seems to have apache installed in a clever way that's different from everyone else. They put the pieces in different directories; they munge the config files in gratuitous ways; they even change what a user's public_html directory is called. In a mixed network, figuring out where the web server is hidden on a disk can be a real nightmare.

      So I just grab the latest stable source kit from apache.org, and compile it. That takes maybe 10 minutes on current hardware. I spend 5 minutes or so munging httpd.conf, changing only what I know has to be changed. I get as close to a default install in /usr/local/apache as I can. I run the command it tells me to run to fire up the server. If it works, I copy that command to wherever it belongs in some boot script. Total time, usually about 20 minutes, far less that what I'd waste repeatedly trying to figure out the installation on a collection of machines.

      I had a fun case a few years back on a project where the management had decreed a Netscape web server. Nobody could get it to run right. The usual reason was that it was installed and managed entirely through a web interface. Sounds fine, right? Yeah, until someone misconfigged something slightly, and the web server was a zombie. Now the managment interface is dead, and all you can do is reinstall from scratch.

      One day I said "The hell with this", grabbed the current kit from apache.org, and 20 minutes later I had a live server. The developers could go crazy building their site.

      Occasionally, I'd say "You know, we really should work on that Netscape server that we're supposed to be running." The reaction was always along the lines of "Yeah; we should, but in the meantime apache is running fine and we have stuff to do today." I talked to them recently, and they're still running apache. They also have an unofficial policy of always installing it from source, because they've been frustrated by the packaged installs that they find on linux distros.

      The apache gang has done a fine job of making an install from source fast and painless. In such cases, a package usually just makes your life more difficult. If you take the defaults whenever possible, you end up in a better situation than with most packages. All your installations for all vendors come out the same, and managing a lot of machines is very easy.

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    16. Re:Who are these people? by Anonymous Coward · · Score: 1, Informative

      >> I run Slackware. Most of the major stuff I need is avaliable as official packages from Pat, and quite a bit of other stuff is avaliable on LinuxPackages.net

      Exactly!

      and anything left that isn't at either of those two sources, compiles like a dream.

      because slack uses un-altered source code from the original authors.

      i see people beat themselves because they can't get package xyz to compile on redhat/fedora.

      after hours of searching on google, they find out that the redhat tweaked dependency/kernel fubars other packages that depend upon them.

      this happens in gentoo, debian, suse & mandrake as well.

      slack is the purest linux, and the most unix like of them all.

      my other OS is great too, but it's dying. (freebsd for you newcomers)

    17. Re:Who are these people? by cowbutt · · Score: 1
      I tend to agree, but I have found one case on Redhat where RPMs give me nothing but trouble: Perl.

      I have always had problems with Perl when I go to install a new module from CPAN if Perl was installed with an RPM file or came with the system (i.e. installed when the system was installed). Perl itself works great, but some CPAN packages barf when I try to compile them.

      You want cpan2rpm

      --

    18. Re:Who are these people? by metamatic · · Score: 1

      Gentoo has a handy script which makes a Portage ebuild for any CPAN package. The ebuild downloads the package from CPAN and builds it. So you get the latest code from CPAN, but you still get to use Portage to handle packages and dependencies.

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    19. Re:Who are these people? by Anonymous Coward · · Score: 0


      OTOH when dealing with the documentation from the app's author.. under REDHAT it makes that documentation completely worthless as the config files and install locations are randomly mixed and placed.

      sorry, I find supporting a compiled app on a slackware system 1000% easier than the bastardized redhat,mandrake and debian's "let's place the files.... HERE!" install method. If the apache develiopers want the httpd.conf file in a certian location, then dammit, they know a hell of a lot more about it than the guys at the distro iso makers office.

    20. Re:Who are these people? by kirkjobsluder · · Score: 1

      While building from source can be fun, and necessary sometimes, I don't think it makes sense. You spend far too much time tweaking minor issues, and lose sight of major problems.

      Bwah? At least on freeBSD most of the time it is just a matter of "portinstall foo" and let the system-wide defaults handle the rest. Likewise, most source packages I've seen tend to have reasonable defaults for where to put files. Just because you can use a different PREFIX does not mean that everyone does.

    21. Re:Who are these people? by rk87 · · Score: 1

      Another note about distros ... some distros lend themselves much more to packages or source than others. For example, I have two systems - an older Red Hat system and SuSE 9. On SuSE, I try to build the minimum of source required, because (1) Most apps have packages for SuSE (2) SuSE, as every other distro, has its own special places for files (3) YaST is just such a nice app :). On the Red Hat one, there isn't anything I haven't (re)compiled myself.

      If you're doing the same thing on many computers, you want to go with packages. If one isn't available, build a package from source on one computer, then install it (after tweaking+fixing) on all the others.

      --
      I'M NOT ANGRY!
    22. Re:Who are these people? by Chester+K · · Score: 1

      Speaking of RedHat doing something weird... RedHat managed to _rename_ p_pptr to parent in task_struct in the kernel. How did they manage to get away with something like that?

      Likely because RedHat's kernels aren't stock kernels, they include many different patches, like NPTL and the backported O(1) scheduler; that makes them behave quite different than other kernels.

      Changing an identifier name is a simple way of making sure that nobody's going to blindly install something that might break part of the changed internals. Since they're going to have to track down the identifier problem, they'll be forced to look into the code to find the other differences. And in the event that the identifier is all that needs to be changed, a simple sed(1) and you're done.

      --

      NO CARRIER
    23. Re:Who are these people? by Brandybuck · · Score: 1

      One problem that I've noticed is the fact the build from source people tend to install things in a way that's completely different than anyone else.

      Actually most of us end up building the packages in precisely the manner that the authors intended. For example, I build KDE from scatch, and end up with a vanilla KDE that exactly matches the KDE documentation. The fact that this doesn't look the same as the Redhat's, Mandrake's, or SuSE's KDE is a Good Thing(tm).

      While it's good for a distro to fix some known bugs, merely changing a package to differentiate yourself from other distros only increases the odds of adding new bugs and confusing the user.

      "What's that new desktop you have there?"

      "It's KDE 3.2.1"

      "But it doesn't look like my KDE 3.2.1"

      "That's because I changed the wallpaper"

      "No, not that! I mean that icon there. What is it?"

      "It's the trash can"

      "I don't have one of those, all I have is a recycling bin. And how come your kicker is plain gray instead of swirly greens and yellows? And how come the home icon looks like a house instead of a penguin? And where's your NuBE(tm) Linux(tm) Web Browser? All I see is this thing called 'Konqueror'. Heck, I bet you're not even running Linux!"

      "I'm not, it's FreeBSD..."

      --
      Don't blame me, I didn't vote for either of them!
  7. OS is from a package by DR+SoB · · Score: 2, Insightful

    Your installing a OS from a package, so why not applications? Old programmers moto "Don't re-invent the wheel".

    --
    Mod +5 Drunk
    1. Re:OS is from a package by Phekko · · Score: 1

      What, something like 'friends don't let friends bootstrap?'

      I guess it's your sig that made me think about that. But the point is valid I think. You don't HAVE to install it from a package if you don't want to.

      --

      Sigs for Nerds. Sigs that Matter.
    2. Re:OS is from a package by happyfrogcow · · Score: 1

      don't reinvent the wheel, but make it better. Or: compile from source with optimizations to take advantage of your processors performance.

      bla bla bla premature optimization. ok fine, compile without optimizations, see if it works, tweak later as desired.

    3. Re:OS is from a package by divirg · · Score: 1

      not necessarily... www.gentoo.org

    4. Re:OS is from a package by Anonymous Coward · · Score: 0

      your yelling when you're caps lock is on...

    5. Re:OS is from a package by Anonymous Coward · · Score: 0

      While you were at it, you should have caught the misspelling of "motto"...

    6. Re:OS is from a package by DR+SoB · · Score: 0, Troll


      Okay, first off, "NTH" isn't a word.

      Second, if your too stupid to figure out what I meant, that's your problem. Why don't you get a job working as an editor or something, you grammar nazi. This is a public discussion board, not a magazine editoral.

      Third, it's proper English to indent paragraphs.

      Forth, you wrote "!!!!.". Are you even aware that an exclamation mark ends a sentence? You don't put a period at the end, that just makes you look dumb..

      It amazes me how high and mighty AC's can think they are.. Yes, I realize your trolling, but the fact you got modded informative say's a great deal as well. How can someone who doesn't know how to form a sentence bitch at someone who uses an incorrect word? Get a clue, YOU'RE not that smart.

      --
      Mod +5 Drunk
    7. Re:OS is from a package by Anonymous Coward · · Score: 0

      Stop ruining /. you insensitive clod.

    8. Re:OS is from a package by Anonymous Coward · · Score: 0
      First, nth is a word: here

      Second, stupidity has nothing to do with me being able to decipher your incorrect grammatical writing style. I've been reading peoples minds for decades.

      I'll allow that you simply missed putting in the letter 'u' in fourth. Also, mulitple uses of exclamation points is permissible when a distinct point is trying to be made. Were it not then the millions of comic books, certain magazines, books, etc would be in the wrong.

      I'm an AC simply because I don't feel like registering here on Slashdot.

      On a side note, my father uses the words 'stets' when speaking as opposed to the word 'instead'. My mother corrects him all the time. Even after 30+ years of marriage. He wasn't born in this country but with that one exception speaks the english language fluently. What's your excuse?

      American children consistently rank lower than most other children in industrialized nations of the world when it comes to schooling. In fact, on this very board various people have remarked how woefully unprepared todays children are when it comes to math and sciences.

      However, people such as yourself get bent out of shape when someone tries to correct them, to improve them. Apparently it's ok to not use correct english because 'people know what I mean'.

      Guess what. It's not ok. If you can't use proper english to express yourself what else are you slacking off on?

    9. Re:OS is from a package by Captain+Pedantic · · Score: 2, Funny

      I realize your trolling

      Could you clarify your meaning there, please? Do you mean that you make a profit on his trolling, or do you bring it to life? Either way, I think that's pretty cool.

      --

      None are more hopelessly enslaved than those who falsely believe they are free. Johann Wolfgang von Goethe.
    10. Re:OS is from a package by DR+SoB · · Score: 1

      Nice try, read the link carefully. "NTH" is not a word on it's own.

      Your grammar is FAR from perfect.. Again, paragraphs should be indented.

      Yes, multiple exclamation points are permissible, BUT, that's not what I complained about, I noted your use of the period after your exclamation points. An exclamation point replaces a period.

      I guess your father is dumb. My excuse? I'm Canadian. What's your excuse for being an asshole?

      I'm not American, nor a child, so I guess I need not respond to your American bashing...

      I have no problem with people correcting my faults, it's just people like you that don't know what the purpose of a discussion board that really pisses me off.

      English should be capitolized.

      Guess what, "Guess what" alone is NOT a complete sentence. If you can't use proper English you shouldn't be correcting other people. Do you like it when someone follows you around and corrects every mistake you make? (Are you a momma's boy?)

      I slack off frequently, what business is that of yours? :P

      --
      Mod +5 Drunk
    11. Re:OS is from a package by Anonymous Coward · · Score: 0

      - It's "people's", not "peoples".
      - It's "multiple", not "mulitple".
      - It's "etc.", not "etc".
      - "Even after 30+ years of marriage" is a fragment, not a sentence.
      - It's "English", not "english" (multiple mistakes).
      - It's "today's", not "todays".
      - It's "OK" or "okay", not "ok" (multiple mistakes).
      - "...what else are you slacking off on?" Sentences should not end in a preposition.

      HTH, HAND.

    12. Re:OS is from a package by DR+SoB · · Score: 1

      We'all get tagathar 'N u says "My father uses the words "stets"", and den we all uses the words stets, it r k-rad.

      --
      Mod +5 Drunk
    13. Re:OS is from a package by DR+SoB · · Score: 0, Troll

      Only if you first tell me what joy you get in posting "First post!!!".. Hint- Your supposed to post that as an AC....

      --
      Mod +5 Drunk
    14. Re:OS is from a package by Captain+Pedantic · · Score: 1

      There is no greater rush on Slashdot than getting a logged-in first post. I think that answering you without my karma bonus was enough. I'm not ashamed of my words, possibly because I use them correctly.

      --

      None are more hopelessly enslaved than those who falsely believe they are free. Johann Wolfgang von Goethe.
    15. Re:OS is from a package by DR+SoB · · Score: 1

      And your always careful to reply with one-liners so you lessen the chances of an error, correct?

      Seriously though, your reply did make me laugh, it was a good joke.. I was just pointing out you do have some troll in you. ;)

      --
      Mod +5 Drunk
    16. Re:OS is from a package by Anonymous Coward · · Score: 0

      It's "you're". Here we go again.

    17. Re:OS is from a package by DR+SoB · · Score: 1

      Your might be right but I'm sick of your trolling so your gonna have to and start with someone else, although I do plan on using your whenever possible, and someone whenever not possible, is that okay with your?

      --
      Mod +5 Drunk
  8. BOTH by Anonymous Coward · · Score: 0

    I tend to install from source when I don't have root access but package managers can make things nice and easy.

  9. Whatever get the job done by untermensch · · Score: 5, Interesting

    If you are working for someone else, maintaining servers that are intended for peforming specific tasks, then I think the best solution is to do whatever is most efficient at performing those tasks. If you really don't need the peformance gains brought by compiling from source (and you probably don't) and it's going to take you a long time to do the compiling, time that could be better spend actually doing the research, then it's not worth your effort. If however the compiling doesn't affect the user's ability to be productive and that is what you as sysadmin are most comfortable with, then it seems reasonable that you should be able to maintain the boxes however you like.

    1. Re:Whatever get the job done by ajs · · Score: 4, Insightful

      the best solution is to do whatever is most efficient at performing those tasks

      And if you've ever had to pick up and maintain a system from someone who left you will know that this is just about 100% wrong.

      The best solution is one that works and is maintainable. If you are willing to put in the extra work involved in making your from-source installations clearly maintainable and upgradable so that the next guy isn't going to have to spend 6 hours learning how everything works when he needs to upgrade foobnitz to version 2.0, then great. If not, think about letting someome else do that work for you.

    2. Re:Whatever get the job done by Anonymous Coward · · Score: 0

      Premature optimization is /still/ the root of all evil. Building from source has both costs and benefits, and it sounds like you haven't analyzed either. How much performance are you gaining? How much time are you spending gaining this performance? How much time are you spending documenting your tweaks so the next person who comes along doesn't rip out everything and start over?

    3. Re:Whatever get the job done by untermensch · · Score: 1
      >The best solution is one that works and is maintainable. If you are willing to put in the extra work involved in making your from-source installations clearly maintainable and upgradable

      >Premature optimization is /still/ the root of all evil. Building from source has both costs and benefits, and it sounds like you haven't analyzed either.


      I agree completely that maintainability is an important point here. I guess I should have mentioned in my original post that I am most familiar with Gentoo, so to me compiling from source doesn't require any special tweaks or hacks. If the original submitter is not in a similar situation where the default package system doesn't handle source, then yes, compiling everything will be much more problematic.
  10. Use Gentoo by kanaka · · Score: 1

    Use Gentoo (gentoo.org) then you get the advantages
    of both. Compiled from source the way you want,
    and package management that is really simply with
    automatic dependency resolution, etc.

  11. yup by rendelven · · Score: 2, Insightful

    I personally try to use the packages when I can. It makes it a bit easier for myself to keep track of everything.

    It's all in what you need to do. If you need those optimizations or special build options that aren't in the package, go ahead, it's what it's there for.

    --
    R.
  12. Gentoo by DarkBlackFox · · Score: 1

    Not to sound like a Zealot, but I'm enjoying the convenience and performance of both worlds through Gentoo's portage system. It manages dependancies as well or better than traditional packaging, and compiles from source ensuring optimization and performance.

    1. Re:Gentoo by maximilln · · Score: 2, Insightful

      Oh stop already. Unless you're building _every_ library from source then the optimization of later libraries is lost on the precompiled libraries they're dependent on.

      It's a nifty feature of Gentoo but how many users really want to wait for glibc? If they don't wait for glibc then are they really gaining anything significant when they build Mozilla manually as opposed to using a nightly build?

      Think Tetris. If you don't optimize from the very first row then optimization at row 15 isn't going to save your backside.

      --
      +++ATHZ 99:5:80
    2. Re:Gentoo by TheCarp · · Score: 2, Informative

      This makes gobs of sense in some situation and very little in others.

      I grant that when my coworker build the beowulf cluster, it made lots of sense to have everything optimised out the hilt. However when I watched him build his desktop, and it took him, on a very modern machine just a year ago, nearly 3 days to have a full working system with X etc... thats overkill.

      I don't need an optimised ls and df... I can do just fine with them compiled for a 386. The vast overwhelming majority of binaries on my system will give no benefit whatsoever if compiled with all the optomisations to tweak it to the box.

      I am a fan of this...

      I use debian... I install everything from packages as a rule. However for those few, oh so very few, packages that really need customization, then I compile them myself.

      At this point, I can't think of a single package that I do that with right now.

      My basic view is this:
      Compiling something that I don't NEED to compile is a waste of my time and CPU. I also like the idea of NOT having to have a compiler on every machine I run. A production server should never have a compiler on it, doesn't need it. Now I know the security argument is silly, any cracker worth his salt can put a compiler somewhere and use it... however....

      Nobody should ever be compiling anything on a production server. If the machine is in production, then development should not ever be done on it. All that should be done elsewhere. SO why leave a compiler sitting there begging lazy admins to use it?

      (OH yea and every rule can and should be broken at times, but its important to understand the rule so you know when those times are... thinking about where compilers are needed and where they arn't is a good exercise in developing those disciplines)

      Overall, I think gentoo is neat... and on our solaris systems
      we are considering stealing portage and hacking it a bit to build
      solaris packages for us. Anyone else done this?

      -Steve

      --
      "I opened my eyes, and everything went dark again"
    3. Re:Gentoo by maximilln · · Score: 1

      -----
      it took him, on a very modern machine just a year ago, nearly 3 days to have a full working system with X etc
      -----
      Bah! He's an amateur. I build fully functional systems completely from source in less than 24 hours of compiling time on 400 MHz machines.

      That said, unless you're a hobbyist or using really old machines, there's no real need to build from source. In the case of really old machines you have to decide if the extra time at the front-end of building from source is worth the little bit of performance.

      In the case of a K6-3 400 MHz machine with UDMA 33 and a VIA Apollo MVP3 chipset the answer is: YES! Building from source let's me watch Fellowship of the Ring without having to buy an external DVD player. Debian yielded choppy playback.

      --
      +++ATHZ 99:5:80
    4. Re:Gentoo by Joseph+Vigneau · · Score: 1

      Oh stop already. Unless you're building _every_ library from source then the optimization of later libraries is lost on the precompiled libraries they're dependent on.

      Of course, Gentoo gives you the option. Actually, it's the default if you do emerge sync/emerge world frequently.

      For me, the big win with the Portage system is the USES flag: it provides me with flexibility around what a given package depends on. For example, I primarily use KDE, but I do use a few GNOME-based apps. With most binary-based packaging systems, I would need to install all of GNOME. I don't want that, Gentoo allows me to specify that no, I do not want to enable GNOME features in the package. For another example, see how Debian deals with Emacs. They provide two packages, one with X11 support, and one without. There's no realistic way for them to support multiple dependency options.

    5. Re:Gentoo by TheCarp · · Score: 1

      Correction:

      I build custom kernels...and I use kernel package to make packages out
      of them before I install them.

      So there is one package I do compile myself... however, thats the major exception.

      -Steve

      --
      "I opened my eyes, and everything went dark again"
  13. Upgrades and multi-admin prefer packages by Anonymous Coward · · Score: 0

    I have found that using a package manager helps with systems that are expected to last a long time and have multiple administrators. I can quickly find out what is installed, when, what has changed from the original files, etc.

  14. One thing you'd better have... by pinkUZI · · Score: 0

    Time on your hands.

    --
    You are receiving this message because your browser supports Slashdot Sigs and you have Slashdot Sigs enabled.
    1. Re:One thing you'd better have... by rbolkey · · Score: 1

      Only as far as needing to use large applications you're installing. It's not like you need to monitor the computer as it's emerging. And after that first emerge, it's really just a few ebuilds here and there if you update it every couple weeks.

    2. Re:One thing you'd better have... by jobeus · · Score: 1

      Or a fast computer... :)

      Entire Gentoo System built from scratch with ~230 packages... ~9 hours on an Athlon64 3000+. ;)

  15. Simply by AchilleTalon · · Score: 5, Insightful
    build packages from source!

    Many sources include the SPEC file required to build the package.

    --
    Achille Talon
    Hop!
    1. Re:Simply by DaneelOlivaw · · Score: 1

      That's what I do. Works out rather well.

    2. Re:Simply by teeth · · Score: 1
      "build packages from source!"


      Way to go. Many source tarball already have spec files or debian/rules, and it's not not that difficult to roll your own if they don't.

      --
      >>>>truth; beauty; unix.<<<<
    3. Re:Simply by swb · · Score: 1

      I liked the idea of packages, but often got nailed trying to use more complex software. In man pages or documentation, I'd find something like "this feature depends on whether you built using the --fubar switch or not, and whether you added -llibrary to the linker" or my favorite, "foo.rc is located wherever you told ./configure to locate it."

      These things were seldom, if ever, documented by the package builder (in my case, typically Red Hat [and this was circa 1998]). In fact, I found that so many packages had build-time configurations and options unknowable except to the builder or through some tricky strace operations, they were hard to use.

      Of course building from scatch has its own problems; if Linux was only a tertiery target platform, the builds were hard for someone who's not a real developer.

      So building from SRPMs became my favorite tactic -- I could customize the build if I wanted (and understand all the build-time options), as well as make sure I got all the right patches and stuff.

      Now I just use FreeBSD ports.

    4. Re:Simply by MobyTurbo · · Score: 1

      If you don't have the package specification files available in the source tarball, you can use "checkinstall", which can create rpms, debs, and Slackware tgzs by simply substituting "checkinstall" for "make install".

    5. Re:Simply by boa13 · · Score: 1

      Too bad CheckInstall has several bugs (and installwatch, the core of the magic, some serious ones, like improper handling of symlinks). Too bad CheckInstall has not been updated for a year or so.

      I really enjoy the idea, I quite hate the implementation. Back to SlackBuild scripts.

  16. OSX by artlu · · Score: 4, Interesting

    I used to be a huge debian fan because of apt-get and the direct install of packages, but I have migrated to OSX and find myself needing to build packages from scratch to work correctly. However, I will never hesitate to use Fink as much as possible. I think for 90% of what gets installed the packages should be fine, but if you know that there are certain optimizations that you can implement, why not build from scratch?

    --
    -------
    artlu.net
  17. Well... by Thaidog · · Score: 1

    Not everything will work "out of the box" or package in some cases depending on your config

    --

    ||| I still can't believe Parkay's not butter.

  18. Packages are best by Anonymous Coward · · Score: 1, Funny

    Packages are the best to work with. There is too much room for error with build from source. Besides that's what you boss likes, so you better love it. Learn young man, learn. If the boss likes it, you love it. Packages!

  19. Real Men.. by grub · · Score: 1
    cat >> filename
    chmod a+x filename
    --
    Trolling is a art,
  20. How about both? by sebol · · Score: 1

    In RPM's Distro, I always rebuild .src.rpm and install binary generated.

    --
    -- Hasbullah bin Pit (sebol)
  21. My experience by Jediman1138 · · Score: 3, Interesting
    Disclaimer: I'm only 15 and am a semi-newbie to Linux.

    Anyways, I've found that by far the easiest and most simplistic and time-saving method is to use rpms or debs. But of any distro, Lindows has it down to one or two clicks...though, they're software database subscription is a serious money leech..

    If it was up to me, source would always be an option to use, and the install process for rpms and debs would be one click and automatically update themselves into Menus and such..

    Just a few thoughts..

    ___________________________________________

    --

    nothing.can.stop.me.now

    1. Re:My experience by pdbogen · · Score: 1

      While I wholeheartedly disagree with your "one click" philosophy....

      Debian packages automatically update X's menus. Updating all of the packages on a Debian box is one comment (apt-get dist-upgrade).

    2. Re:My experience by Anonymous Coward · · Score: 0

      3. They are easilly de-installed

      ./configure --prefix=/packages/own/directory

      Uninstall instructions:

      rm -rf /packages/own/directory

    3. Re:My experience by exodist-Admin-Ra · · Score: 1

      I think the idea behind open source (not necessarily linux, just open source in general) is that people were opposite of what you say in #6, if nobody complained then who's lack of complaints led to open source? some people use linux not because they hate windows, but because they love open source, those people, people like me, prefer to compile things because we liek control over our software, and we do not like othe rpeople doing all the work for us ;-)

    4. Re:My experience by Jediman1138 · · Score: 1
      While I wholeheartedly disagree with your "one click" philosophy....

      I'm still not sure why most of the experienced Linux users don't like the one-click thing..maybe it's pride, which I could understand...

      But when it comes down to it, it's not meant to make it so easy that Joe Win32VirusDownloader can install something while on morphine, it's just meant to make it easier and less complicated...

      I don't know what your reasons are, but I'm sure they're good...but no one's tryin to take the Linux experience away....Just improve it..

      Feel free to reply, and sorry about the Debian thing, I'm still learnin..

      ___________________________________________

      --

      nothing.can.stop.me.now

    5. Re:My experience by TwistedSpring · · Score: 1

      * requires autoconf.
      * requires filling your environment with nonsense in order to locate manpages, binaries, libs, etc
      * useless with libraries because if you do this subsequent installations of other packages that depend on the first one are a real pain to configure.

    6. Re:My experience by TwistedSpring · · Score: 1

      Open Source did not evolve out of people complaining. It evolved out distributed development. One guy asking for help with his project and posting the source so other people could assist in the coding. I am not arguing against open source, I am arguing against software that does not also offer binaries for plain old users (which most do now, and some are even up to date)

    7. Re:My experience by yomegaman · · Score: 1

      But then you end up with PATH and LD_LIBRARY_PATH a mile long. It's even worse with Perl modules or emacs lisp packages. Try again, smarty-pants.

      --
      ...wearing a skin-tight topless leather jumpsuit, with cutaway buttocks and transparent crotch panel.
    8. Re:My experience by Anonymous Coward · · Score: 0

      Traditionally, Unix programs (even commercial ones) were distributed as source because of the wide variety of hardware architectures. This was done for convience, NOT "the idea behind open source" (which was developed much later).

    9. Re:My experience by tverbeek · · Score: 1
      While I wholeheartedly disagree with your "one click" philosophy....

      I'm more in favor of two, maybe three clicks ("You're about to install KDE; it'll take _ minutes to download on your current connection. Continue?"), but really why shouldn't that be an option, to just let the computer figure out what it needs, where to put it, and Just Do It? Just as not everybody wants and needs a custom-built-from-source system, not everybody cares that much if, say, installing Package A is going to include downloading and installing PHP and MySQL which weren't previously on their system. It's not an optimal way to run a system, but to Aunt Tilly, easy is more important than optimal.

      --
      http://alternatives.rzero.com/
    10. Re:My experience by shadewind · · Score: 1

      From my experience, package versions tend to segfault more often than those compiled from source on your own computer.

      --
      I couldn't come up with any better sign....
    11. Re:My experience by Anonymous Coward · · Score: 0

      also: judging from all the comparisons, test, etc. on FireFox Forums there is absolutely no gain from "optimizing" your binaries. In many cases, using the optimal compiler flags reduces performance.

      I can't believe all the bullshit spouted by all the Gentoo turkeys who don't bother doing benchmarks, or even reading the existing benchmark results from those who do.
      Compiler optimizations in GCC clearly don't do squat, but changing compilers (like, to ICC) at least has an effect on performance (if you have an Intel processor).
      Of course, there's nothing quite like the feeling of spending all weekend compiling a trivial piece of software, and then finding out it has a million and one bugs - kinda like the 2.6 kernel.

      mod me troll, pups, but the truth is out.

    12. Re:My experience by Anonymous Coward · · Score: 0

      Totally agree, have found this to be the case especially with KDE. Under Binary distro's even Debian I could guarentee it would cause random Segfaults. But under Gentoo, the time of compiling it pays off as it's very rare I encounter a crash with it now. (Excluding beta versions).

    13. Re:My experience by Anonymous Coward · · Score: 0

      Yeah... and if you can get Apache, MySQL, PHP, OpenLDAP, mod_ssl, mod_auth_ldap, stunnel, MRTG, and FreeRAD to all play nice using packages I'll give a dollar.

  22. Five words by Anonymous Coward · · Score: 0

    ./configure ; make ; sudo make install

  23. It isn't necessary these days, imho. by RLiegh · · Score: 1

    The only real reason to roll your own before was for speed or to add components into your kernel. However, these days most OSs come with modules (or lkms or what have you) so compiling a kernel is unncessary, and machines are fast enough that any speed increase will be negligble (and will be offset by a potential lack of stability)

    So, I just install packages and go.

    1. Re:It isn't necessary these days, imho. by yomegaman · · Score: 1

      OOG didn't smash Open Source CD's, he SMASHED HEADS with Open Source CD's. It's an important distinction.

      --
      ...wearing a skin-tight topless leather jumpsuit, with cutaway buttocks and transparent crotch panel.
  24. --No-Deps by Doesn't_Comment_Code · · Score: 5, Insightful

    My biggest grievance against packages is the dependacy fiasco. For instance, I have Red Hat at work. And the majority of the programs are .rpm's. Well there was a certain program that I could only get as source, so I compiled and installed it. It turns out that it was required as a basis for other packages I wanted to install. But when I tried to install those, it didn't recognize the prerequisite programs because they weren't installed via rpm.

    I don't care for the dependancy model of packages, and I'd much rather install programs myself. That way I know I'm getting the program compiled most efficiently for my computer, and I don't have to worry about dependancy databases.

    --

    Slashdot Syndrome: the sudden, extreme urge to correct someone in order to validate one's self.
    1. Re:--No-Deps by idontgno · · Score: 4, Insightful
      I don't care for the dependancy model of packages, and I'd much rather install programs myself. That way I know I'm getting the program compiled most efficiently for my computer, and I don't have to worry about dependancy databases

      That just means that you'll have to store the dependancy databases in your head. A release of a particular software package, whether it's a package or a tarball of source, depends on other software. Always. "config" goes a long ways towards working that out, but if it doesn't work automagically you're going to have to take it by the hand and lead it to wherever your copy of libfoobar.so.17 might happen to be.

      I've just started using yum for RPM management and I'm already liking it a lot. At least dependency management seems a bit cleaner and more automatic.

      --
      Welcome to the Panopticon. Used to be a prison, now it's your home.
    2. Re:--No-Deps by troll · · Score: 1

      Newton, Galileo, Kepler, Dirac, Faraday, Planck, Kelvin, Maxwell and Einstein believed in God. So do I.

      Dirac? I've heard it said, "There is no God, and Dirac is His prophet.".

      --
      Official Pi Ambassador -- inquire for details!
    3. Re:--No-Deps by Urban+Garlic · · Score: 2, Informative

      For the record, the problem you describe actually is solveable within the Debian package system, although it comes under the heading of "advanced". You can build an actual package, of course, but short of that, you can make a "pseudo-package" that doesn't install anything, but has the required Debian package "provides" header. Then the apt package database will know about the capability, and will be able to install things which depend on the functionality you've put in by hand.

      I mention Debian because I'm aware of it -- it may be that the RPM system has something similar, I don't know it as well.

      --
      2*3*3*3*3*11*251
    4. Re:--No-Deps by saforrest · · Score: 1

      Newton, Galileo, Kepler, Dirac, Faraday, Planck, Kelvin, Maxwell and Einstein believed in God. So do I.

      By the way, you can add Cauchy (a devout Catholic and fervent French Royalist) to that list.

    5. Re:--No-Deps by Craig+Davison · · Score: 2, Informative

      With rpm, just write a .spec for your library or whatever it is you're installing, drop it in the source directory, and run rpmbuild to make an rpm.

      Making a barebones .spec that describes what the package provides is easy. Just modify an existing .spec from another package.

    6. Re:--No-Deps by Doesn't_Comment_Code · · Score: 1

      Well his wife said he was deeply religous, and I think she knew him better than Paulii.

      --

      Slashdot Syndrome: the sudden, extreme urge to correct someone in order to validate one's self.
    7. Re:--No-Deps by Dunkirk · · Score: 1

      Sigh. Here we go again.

      If an RPM has dependancies, I'm willing to bet that those dependencies have also been compiled and packaged as RPM's by the same person who made the original. Did you look around for that?

      --
      Acts 17:28, "For in Him we live, and move, and have our being."
    8. Re:--No-Deps by Doesn't_Comment_Code · · Score: 1

      I'm willing to bet that those dependencies have also been compiled and packaged as RPM's by the same person who made the original. Did you look around for that?

      I looked but couldn't find any. Perhaps I looked in all the wrong places.

      But more importantlyl, it would be nice to be able to have a nice mix of source/package installs without having to worry. I don't like the idea of being locked in, so that I should use packages 100% of the time to maintain my dependancy database.

      --

      Slashdot Syndrome: the sudden, extreme urge to correct someone in order to validate one's self.
    9. Re:--No-Deps by pla · · Score: 1, Informative

      My biggest grievance against packages is the dependacy fiasco.

      Ah, thank you! Someone said it. I always thought only I had that problem, due to my preference for building most things myself.

      I think, though, that this problem doesn't so much result from the whole RPM (or whatever package management tool a person uses), as a philosophy in programmers in general. I say this due to an observation at a recent job interview... They wanted someone who "knew" some (still) video processing techniques, and I rattled off some work I've done in that area. The next question really threw me - "What library/API do you use for that?". Well, none, of course - I wouldn't claim I know how to, for example write a JPEG, if my knowledge of that task extended only to calling libjpeg's jpeg_start_compress(), jpeg_write_scanlines(), and jpeg_finish_compress(). Sure, knowing that doesn't hurt, but it does't require any understanding about the structure of a JPEG in general.

      In my own code, I try to produce as few dependancies as possible. If you have GCC installed and nothing else, my code will generally build and work as I intended it. I need to write a compressed bitmap? Okay, then I include code to do so. I need to read a wav file ripped from a CD? Yup, my own code. Calculate an MD5? Inspired heavily on the RFC reference code, but essentially my own. I think more programmers need to do similarly. Don't say you "know" how to do something, if you couldn't write it yourself. And with the exception of very large packages that count as critical for a given task (OpenGL as an example), try to avoid pulling in a library just to do some trivial task.

      Now, as I mentioned, for some tasks, you really need to pull in a library. OpenGL, for example, where not only do you have a lot of code in there, but also a number of hardware optimizations that would take years to reimplement. But even then, when I say I "know" OpenGL, I mean that I could, if necessary, implement it from scatch (and have done so, for most of the primatives, just to prove to myself that I could do it).

      Okay, I've gone off on a large tangent here. My point - Just that programmers need to stop depending so much on relatively minor libraries, and implement more in their own code. And when a program does depend on a non-ubiquitous library, at least for binary distributions, they should statically link against it. Perhaps "Bill's Custom C-Strings Library" offers some great features. But when a package links against it for the sake of using a single function that the programmer could have reproduced in under ten lines of code... Well, that just screams "laziness" to me. Yet, I see situations like that all too often.

    10. Re:--No-Deps by sensi230 · · Score: 1

      Aren't the src rpms designed to handle this specific problem? Instead of downloading the src in tar format, you install the src rpm, and build the src rpm into a binary rpm. Then you not only have a custom compiled binary, but also a custom binary rpm to pass around your machines and a proper dependencies library.

      --
      "I bet the human brain is a kludge." -- Marvin Minsky
    11. Re:--No-Deps by yomegaman · · Score: 1

      I bet none of those guys signed their letters with a list of famous people who believed in God. I suggest you imitate them in that regard as well.

      --
      ...wearing a skin-tight topless leather jumpsuit, with cutaway buttocks and transparent crotch panel.
    12. Re:--No-Deps by Doesn't_Comment_Code · · Score: 1

      That sounds right, but it still doesn't address the issue of not having access to/ not being able to find an rpm and having to install source. Also, I just like to have my options open, that my hands not be tied so that I MUST use RPM's to maintain dependancies.

      --

      Slashdot Syndrome: the sudden, extreme urge to correct someone in order to validate one's self.
    13. Re:--No-Deps by koali · · Score: 1

      What are you smoking?

      Why would anyone need to rewrite md5? If someone pays you by the hour, and you are not 10x fast as everyone else, they're wasting their money.

      That said, I have written my own share of code that I could've borrowed from somewhere else, but it was because I didn't trust it (I wouldn't use that 'Bill's Custom C-Strings Library either).

      But there's no way I'm going to roll my own when I can do otherwise.

      Static linking is a mixed blessing. What if something I linked statically has a security update? What do you prefer, update just the library or update *all* of the packages that depend on it (of course, if it's something fringe enough, it might be the same amount of work).

    14. Re:--No-Deps by ajutla · · Score: 2, Informative

      My biggest grievance against packages is the dependacy fiasco. That's why you use apt or yum.

    15. Re:--No-Deps by sensi230 · · Score: 1

      Yeah, I guessing forcing you into using src rpms is a bit Big Brother-ish, but then again, this is Redhat we're talking about. :)
      However, I'm only typically finding dependency problems with my src compiled libraries. It's a huge mess trying to use something like up2date when a key library isnt registered with rpm. I think that part of using a package manager is playing nicely with it. That's sorta the price of the convenience.
      If, for the "skeletal" libraries, you force yourself to use src rpms, then you shouldnt have too much issue with the userland applications that are hard to find in rpm. If there's no rpm for the library in question, then your chances of having dependency issues with that library are next to nil in the first place.
      Basically, if you use rpms where they are available, then you shouldnt have dependency problems.

      --
      "I bet the human brain is a kludge." -- Marvin Minsky
    16. Re:--No-Deps by RAMMS+EIN · · Score: 1

      ``It turns out that it was required as a basis for other packages I wanted to install. But when I tried to install those, it didn't recognize the prerequisite programs because they weren't installed via rpm.''

      I second that. So then you end up installing packages with --force and --nodeps, which is a disaster waiting to happen.

      The funny thing is, last I used RPM (I am on Debian now, which obviates the need for looking back), it actually reported the _files_ a package depended on. How hard could it be, then, to check for the existence of these files (rather than whether a package that says it provides them is installed)? How the files got there doesn't matter, if the dependencies are met, the installed program works.

      I've worked out this idea and written a bunch of shell scripts to manage these packages. It struck me how complex other package managers are in comparison. Mine just untars the package in a directory of its own, checks dependencies listed in a file, creates symlinks specified in another file (backing up files it replaces), and done.

      Uninstall is deleting any of our symlinks that still point to files in the package directory (or replacing them by what was originally there), then deleting the package's directory.

      --
      Please correct me if I got my facts wrong.
    17. Re:--No-Deps by BadDreamer · · Score: 1

      I really dislike this approach. If you need to read wav's from a CD, are you going to do better than cdparanoia? If not, why should I use your application when another makes use of the powerful, well developed libraries available while yours is a static implementation. When I upgrade the cdparanoia libraries to handle my broken CD's, your application will still not read them.

      I agree that when something is trivial to implement and will not be inferior in performance, sure, include it. But to expect and advocate that developers reimplement functionality that takes years of experimentation to get correct instead of linking to existing libraries that get it right is sheer craziness.

    18. Re:--No-Deps by Anonymous Coward · · Score: 1, Informative

      That's why rpm provides the ability to add an entry to the package database without actually installing the package from rpm.

    19. Re:--No-Deps by Anonymous Coward · · Score: 0

      You should read Miguel's "Unix Sucks" rant. You are advocating the tradtional "portable Unix" way of programming, and the result is tons and tons of bloat. Open Source was designed to fix this situation with traditional commercial Unix.

    20. Re:--No-Deps by Doesn't_Comment_Code · · Score: 1

      How the files got there doesn't matter, if the dependencies are met, the installed program works.

      Yes! Exactly my sentiments.

      I've worked out this idea and written a bunch of shell scripts to manage these packages. It struck me how complex other package managers are in comparison. Mine just untars the package in a directory of its own, checks dependencies listed in a file, creates symlinks specified in another file (backing up files it replaces), and done.

      Uninstall is deleting any of our symlinks that still point to files in the package directory (or replacing them by what was originally there), then deleting the package's directory.


      Have you written these scripts yet, or just planned them out? They sound interesting.

      --

      Slashdot Syndrome: the sudden, extreme urge to correct someone in order to validate one's self.
    21. Re:--No-Deps by RAMMS+EIN · · Score: 1

      ``Have you written these scripts yet, or just planned them out? They sound interesting.''

      The exist and they work. I just need to do a little more testing and write documentation. I'll post them on my website as soon as I finish moving it over to new server (sometime next month).

      Please feel free contact me if you need more info or want me to email them to you.

      --
      Please correct me if I got my facts wrong.
    22. Re:--No-Deps by pla · · Score: 1

      Why would anyone need to rewrite md5?

      Because my entire point centers on a different question - Why would anyone need to pull in libMD5 as a dependancy, to get what amounts to three functions in under 100 lines of code?


      If someone pays you by the hour, and you are not 10x fast as everyone else, they're wasting their money.

      If an employer wants a code-monkey, sure, speed means everything. But when the code-monkey has a problem because a call that "can't" fail does, I can keep going. A bit more time up-front, in exchange for a lot less time debugging. And as I mention, the ability to debug parts of the code that many programmers consider an inviolable black box - Sure, a 3rd party library should have no bugs. In the real world, they do, and take immensely more effort to track down than bugs in the "local" codebase.

      What if something I linked statically has a security update?

      That goes back to the idea of how critical to the project a given dependancy seems - If you use libssl, hell no, don't statically link. If you use BillsStringsLib, first of all just don't, and second, you too can release a security update. But looking at that from another angle - You have a package deployed on a few million, mostly slightly different, systems. A bug report comes in, where an intruder apparently used your program to gain entry. If you statically linked, you can immediately reproduce and eliminate the problem, releasing a fix of your own. If you dynamically linked, customers rarely like to hear "No, it just looks like our program, you actually need to download a new version of libBlah".

      And to address the obvious response to "you too can release an update"... IMO, that tends to support my position. Statistically speaking, if a given library has a 10% chance of someone finding a major problem per week, and you don't use any external dependancies, that simply doesn't affect you. If, however, you use ten external dependancies, while each of them may have only a 10% chance of a major bug, your own code as a result has a 65% ( = 1-(0.9^10)) chance per week of a major bug appearing. And from the customer's perspective, telling them "install their new version of blah" sounds exactly the same as telling them "install our new version of blah" - With the not inconsiderable difference that in such a situation, I can control whether or not I release an update, but can't control whether or not a 3rd party releases a fix.


      But I do mean this within reason - If you take my opinion on this to an absurd degree, every program I write would need to include its own OS, compiler, libc, and so on. But just because you need to use a few off-the-shelf parts doesn't mean you need to use all off-the-shelf parts. And the fewer you use, the more you have control over.

    23. Re:--No-Deps by FyRE666 · · Score: 2, Insightful

      Yes, dependencies with RPM are its anchovies heal. I tend to start off installing via RPM until I inevitably encounter something that needs about 600 other RPMs installed first. Then I switch to source builds, at which point you can either forget RPM or use --nodeps --force for each new RPM install. Mind you, Gentoo can be as bad - if you don't constantly keep up to date then a single package update can pull in hundreds of (seemingly) pointless other package upgrades - many of these will offer questionable improvement (often you're forced to upgrade from fuzzlePack.1.2.33.3.r4 to fuzzlePack.1.2.33.3.r5 etc). So you might well end up pulling down 40mb of stuff you don't want to build a 200k library. (yes, I know you can just force portage to build a single package and ignore deps, but the maintainers tend to frown on that).

      So, in summary, stick with packages until you have to switch over to source to get anything done!

    24. Re:--No-Deps by Zathrus · · Score: 4, Insightful

      I need to write a compressed bitmap? Okay, then I include code to do so. I need to read a wav file ripped from a CD? Yup, my own code. Calculate an MD5? Inspired heavily on the RFC reference code, but essentially my own.

      Man, I'm glad other industries aren't as stupid as the software engineering industry. Otherwise car manufacturers would have to have steel foundaries, cloth weaving, a slaughterhouse and tannery (for leather), and innumerable other ancillary businesses on site just to build a car. And, of course, everyone would have to know how to do absolutely everything.

      What you're preaching is directly contrary to the practice of reusing code -- and not just your own. It's insane to reinvent the wheel every time you need to drive to the store -- but that's exactly what you're doing. It's one thing to understand the physics behind the wheel, or the foundary, or the paint shop. It's another to rebuild them from scratch.

      I hope there's never a bug in your code... because if there is you're going to have to patch every single code base, and re-issue every single binary (since you prefer to link statically). All because you felt it was better to not trust others and do it yourself. Not to mention the vast amount of time burnt re-implementing that which already works, and works extremely well.

      The code I'm working on uses a multitude of libraries -- STL, Boost (primarily for its shared_ptr's; we'd use more but much of it doesn't compile on our platform), OTL, libcurl, libxml, pcre, openssl, and others. In some cases we've ditched libraries and implemented our own solution (in particular, MQSeries, which sucked deeply). But to re-implement all of those libraries would literally add years to development. And to what purpose? To have a less feature complete, more buggy, less supportable code base?

      And, yes, we've even used libraries sometimes when the library pretty much sucks. Case in point is cgicc, which we used because it's one of the few C/C++ libraries that interfaces "properly" with fastcgi. It's full of bugs, full of really idiotic #define's, and doesn't implement things quite right... but fixing it took much less time than rewriting it from scratch. Because it doesn't do everything wrong, and there's no reason to toss the baby out with the bath water.

      No thanks. I'll happily replicate what's been done in every other scientific and engineering discipline -- to stand on the shoulders of giants while adding my own knowledge to the repository.

      But when a package links against it for the sake of using a single function that the programmer could have reproduced in under ten lines of code... Well, that just screams "laziness" to me.

      Sure. But that situation is pretty rare, at least among competent developers. If you're seeing that commonly, then you're using crap packages (and god knows there's a ton out there... I've ditched many packages because they had too many esoteric dependancies).

    25. Re:--No-Deps by cowbutt · · Score: 1
      Why would anyone need to pull in libMD5 as a dependancy, to get what amounts to three functions in under 100 lines of code?

      From bitter experience, and from the last seven years working in computer security, I've learnt that for most things, there's at least one person in the world writing and releasing open software who understands the problem-space better than I. Rather than trying to reinvent the wheel, and learning all the snags and gotchas the hard way, I use their mature, battle-hardened code and get on with life. Of course, that doesn't prevent me checking return codes and using assert() regularly, as all paranoid programmers should.

      Based on your comments, either you're in the top 0.1% of software authors out there, or you have an over-inflated sense of your own abilities. :-)

      --

    26. Re:--No-Deps by sofar · · Score: 1


      wellicht wil je lunar-linux (http://lunar-linux.org/) eens proberen en doet dat wat je wil... oh wait this is an EN spoken forum ;^). Lunar is written in BASH and could possibly benefit from your knowledge as well. We're a small but very dedicated team making a helluva source distro. Cheers

    27. Re:--No-Deps by cowbutt · · Score: 1
      The funny thing is, last I used RPM (I am on Debian now, which obviates the need for looking back), it actually reported the _files_ a package depended on. How hard could it be, then, to check for the existence of these files (rather than whether a package that says it provides them is installed)? How the files got there doesn't matter, if the dependencies are met, the installed program works.

      Except, if those files (or their sources) required patching in order to make a dependent program work, then having a random version of those files won't make that program work - though it may look that way until you come to test it (thoroughly). This is partly why package dependencies are preferred to letting RPM figure out file dependencies automagically. It also helps the administrator in figuring out which packages he needs to install (because RPM will report that package names are required, rather than file names).

      Anyway, talk of "RPM dependency hell" is somewhat redundant now; with apt-get (yes, we know Debian had it first) and yum and, most importantly, robustly-buit packages (e.g. Red Hat's, and freshrpms.net), dependencies are resolved automatically.

      --

    28. Re:--No-Deps by Ozan · · Score: 1

      They wanted someone who "knew" some (still) video processing techniques, and I rattled off some work I've done in that area. The next question really threw me - "What library/API do you use for that?". Well, none, of course. [I write my own code]

      Anyone hiring you after this must either be insane or desperately seeking. Not only do you need more time than anyone else reimplementing algorithms that elsewhere are matured and stable, you also make it difficult for others to find their way into your code, especially when you have left the company. This is pure vanity speaking out of you.

    29. Re:--No-Deps by Ozan · · Score: 1

      My biggest grievance against packages is the dependacy fiasco. For instance, I have Red Hat at work. And the majority of the programs are .rpm's

      Try apt4rpm (apt for rpm based distributions). Worked wonders for me.

    30. Re:--No-Deps by pla · · Score: 1

      Anyone hiring you after this must either be insane or desperately seeking.

      Y'know, the number of negative resposes I received to this really surprises me. I seriously expected more people to speak up agreeing with me, complaining about the overabundance of semi-competant hacks who can "make it work", with no clue how, by pulling in a dozen random libraries that do all the work. "Look, I wrote this program! 250 calls to 3rd party libraries, and 15 lines of my own code (since I couldn't find a library that would specifically search for the letter "Q" in an RTF document)". Sad.


      Not only do you need more time than anyone else

      False. First of all, I don't need to reinvent the wheel if I already have the blueprints in my head. And second, I can rebuild the wheel faster than most people can pull one off the shelves.


      This is pure vanity speaking out of you.

      A few people have mentioned something like that. Now, I consider myself a "good" programmer, but not one of the true gods of coding. But based on these responses, it makes me wonder - Do most people really need the crutch of using even known buggy libraries (as one fellow mentioned) to get the job done in a timely manner? If so, it makes a lot more sense why so many US companies have started outsourcing. Absolutely pathetic! If you use an FFT, or a least-squares regression, or do some audio or video processing, you damn well better understand how it works. Same for any technique. Yes, sometimes a library makes a better choice, if and only if it both provides a performance advantage and exists in near ubiquity (zlib, for example, I would say makes a good example of a library I would use - I can, and have, written my own version of its core functionality, but since every system will already have it, and it runs very well, no good reason not to use it exists). But to pull something into a code base without a good reason, IMO, makes for a very bad employee. To do so introduces liabilities into the code over which the supposed "author" has no control.


      you also make it difficult for others to find their way into your code, especially when you have left the company

      Do I really give a rat's derriere about a company that had so little loyalty to me that it decided to ship my job to India? Yeah, right, whatever. Welcome to the 21st century definition of "job security". Not that I would deliberately make my code harder to read, but if I use a technique that most people have never heard of (which again, I would do for efficiency, not for the sake of deliberately obscuring my code), good luck finding a drop-in replacement for me when HR decided to do the next random "noncritical" (ie, highest paid) employee reduction.

    31. Re:--No-Deps by Billly+Gates · · Score: 1

      Bravo

      True but the problem with most opensource software is that they expect the user, not the developer to have the proper dependancies.

      In the WIndows world an installer program extracts the dependancies that are included with the program. If it already exists the dll is not copied.

      Same is true with macs.

      Why can't we just include the dependancies? IS that so hard? So to save a few minutes in download time we all spend hours tracking down different versions of libraries.

      Also most if not all the libraries and dlls are backward compatible with programs that require old versions. Gnu ones generally are not. This breaks alot of programs and in an rpm system only one version of a library or program can be installed?? This causes problems where users MUST CHOSE WHICH PROGRAMS TO KEEP, all because of a stupid depancy.

      Linux is a mess and I prefer FreeBSD because its all compiled via the ports. But still Its a bandaid solution for a big problem.

      In Unix all the .so files are in /usr/lib or /usr/share/lib or someplace similiar. In Windows most dlls that are not system ones are in the programs directory.

      Life is much easier in that world in this area.

    32. Re:--No-Deps by ktakki · · Score: 1
      Yes, dependencies with RPM are its anchovies heal.

      Syntax error: core dumped

      Maybe I just don't have the right library installed for that particular idiom.

      k., who just got over a bad case of Achilles Heel.
      --
      "In spite of everything, I still believe that people are really good at heart." - Anne Frank
    33. Re:--No-Deps by Nailer · · Score: 1

      there was a certain program that I could only get as source, so I compiled and installed it.


      Sounds like a good idea, I do that all the time.

      It turns out that it was required as a basis for other packages I wanted to install. But when I tried to install those, it didn't recognize the prerequisite programs

      Why?

      because they weren't installed via rpm.

      That'd be your problem then. If you're smart enough to compile you're smart enough to package.

    34. Re:--No-Deps by Zathrus · · Score: 2, Insightful

      Why can't we just include the dependancies? IS that so hard?

      Good point, but it may actually be hard if your code is under a different license from a library you're using (namely, your code is more restrictive). But I'm not sure that's an issue either.

      This breaks alot of programs and in an rpm system only one version of a library or program can be installed??

      Well, there are ways around that. But if the program was linked against libfoo.so.a instead of libfoo.so.17.a then you're pretty well screwed.

      This, BTW, is the exact same thing as "DLL hell" on Windows systems, where multiple copies of a DLL may be installed, or a program may rampantly overwrite the existing version with its own (even if it's older!). Same story, different name...

      But still Its a bandaid solution for a big problem

      Well, GenToo's emerge system is essentially the same as ports from what I understand. But you're right -- it's a bandaid solution. What's the real fix? I dunno. If programs were linked against the full name of their libraries (instead of the symlink/hardlink shortened name) then it'd probably fix itself. Package managers are certainly capable of telling when a library is still required by a package, and there's no reason to remove old versions of a library until it's no longer required. It'd take a lot of packages being reworked, and probably a lot of devtools as well (like autoconfig, automake, etc).

  25. My experience by TwistedSpring · · Score: 5, Informative

    is that compiling from source can sometimes even be slower executing depending on your compiler.

    Also, better to install from packages because:
    1. They WILL work
    2. They install fast
    3. They are easilly de-installed
    4. They are painless
    5. Dependencies are installed automatically sometimes, and other times packages are the only way to resolve a dependency loop
    6. Most other OSes since the dawn of the home computer use pre-compiled binaries, and nobody has complained
    7. It is surely the developers job to make sure it compiles properly and do all the compiler error headache solving

    Packages are just so much nicer. A lot of the time, I can get pentium-optimised versions of the ones I want, and if I can't then 386 optimised versions are OK by me. The difference in speed one sees is pretty much only for the anally retentive, it is so minimal.

  26. Source for server apps... by millahtime · · Score: 1

    I prefer to use source build for server apps and packages for OO, gimp, etc. I have found that for servers a source build will runn better under heavy use conditions. For desktop apps I have found little or no difference.

  27. Run Debian by jchawk · · Score: 2, Insightful

    Run debian, if you absolutely must install from source you can use APT to get grab the source that you need, compile and then build a deb for it so you're still using the debian tracking system. It really is the best of both worlds.

    For most packages though there really isn't a big need to compile from source.

    1. Re:Run Debian by Archpollux · · Score: 1

      And actually you can check out the apt-build package. Just type 'apt-build install foo' and it will automatically download the source, build an optimized package for you and install it. There are options for it as well, so you can tweak your compilation the way you want. It even handles package upgrades.

  28. depends on the system by Evanrude · · Score: 4, Insightful

    I used to be a die-hard build from source person myself back when I ran slackware.
    Since that time I have gained more experience with production Linux systems.
    When it comes to managing production servers, I use Debian and typically only install programs that are in the stable tree.
    Every once in a while I have to build a deb from source, but only in rare circumstances.

    Now, when it comes to my development systems I am more likely to compile from source rather than rely on the packages to supply me with the latest and greatest.

    It really all just depends on what kind of stability vs. "new" features you need as well as ease of managment. Installing a package takes 30 seconds vs. compiling/installing from source can take longer and requires more hands on.

    --

    ~.Evanrude
    1. Re:depends on the system by cangeceiro · · Score: 1

      I would have to say that all depends on the flavor of nix i am using, FreeBSD and gentoo make it relativly pain free to install from source, but if i am using a redhat box or some other rpm based distro i tend to try the package manager that is provided with the distro be it up2date, yast, or whatever, before i install from source. I quess ultimatly for me it just depends on my feelings towards the package manager provided with the distro

  29. It's gotta be from source. by Hyperkinetic · · Score: 1, Insightful

    The only thing I use prepackaged are the GNU tools. Everything else is built from source. There are too many compile time options, and building from source eliminates the problem of binarys being linked against a different lib than that is on the system. Plus auditing the configure and makefile before compilation ensure everything goes where *you* want it to.

  30. Depends by Richard_at_work · · Score: 5, Insightful

    I use OpenBSD, which like most of the BSDs has the ports tree, and also has packages. Most of the ports tree are built as packages and are available on the FTP sites, allowing you to either install 3rd party applications from source preprepared for the job, or install the package that has already been preproduced from that port. Best of both worlds, and indeed if you are after customisation and have a number of systems, you can make the changes on one system, and bingo - you have the package ready to roll out to the other systems.

    As for what I use? I used to use solely ports, but now I usually grab all the packages when I do a fresh install, and only use ports for what isnt available as a package, as the packages give me no disadvantage.

  31. Packages, definitely. by imbaczek · · Score: 2, Interesting

    Whenever a binary package for Debian is availible, I prefer it to hand-compiled source. First, it has all the Debian patches it needs. Second, it propably installs without a hassle. Third, it's easy to get rid of it, and last but not the least, apt resolves dependency problems without human intervention in 99.9% of cases.

    In other words, binary packages work for me :)

  32. From another student... by FreakyControl · · Score: 2, Insightful

    I can tell you as a grad student with 3 years experience working in an engineering lab, packages are the way to go. Not just in software, but generally in most situations. As others have mentioned, you have the ease of use, tech support, and the time savings. While you may eke out a little bit of performance, your time is of significant cost to the lab, with which you can be doing many other more valuable services. Also, as a student, you will likely only be there for a couple of years. When you leave, and something goes wrong, someone else has to sort through what you did to try and fix it.

  33. From source, definitely. by mod_gurl · · Score: 5, Insightful

    If you're responsible for the machines you run how can you abdicate that responsibility by using whatever some package maintainer decides to give you? At the University of Michigan we use Linux from Scratch to manage hundreds of machines that provide everything from web servers to IMAP servers to user Desktops & Laptops. The trick is leveraging the work used to administer one machine well out to hundreds of machines. The tool for this is radmind. Radmind doesn't require that you build your software from source, but it leverages the work you put into one machine to manage all of your machines. It also integrates a tripwire with your management software which means you can detect unwanted filesystem changes in addition to managing software.

    1. Re:From source, definitely. by rmassa · · Score: 1

      I agree with you completely. I think another big deal is the endless upgrade cycle of machines when you rely on packages and operating system maintainance. I take care of 50+ machines with more coming every day, and the ones that I have the most problems with are the grandfathered systems running out of date versions of redhat or mandrake. Most of the time it is difficult to patch these systems because the installed system packages are so heavily customized and integrated, with myriad dependencies. I stick with slackware wherever possible (though LFS is tempting, and we'll probably go that route in the future) because Patrick tries to stick with official versions wherever possible. Also even a three year maintaince cycle (isn't that the longest right now -- RHEL?) is a big deal when you have large numbers of machines to maintain. I'd rather stick to one or two base installs and handle security, maintainance, and feature upgrades myself rather than to ALWAYS be going around upgrading machines to a supported version of the OS.

    2. Re:From source, definitely. by Kourino · · Score: 4, Insightful

      If you're responsible for the machines you run how can you abdicate that responsibility by using whatever some package maintainer decides to give you?

      While in principle I can agree with what you're saying, this is a pretty insulting view to take of all the people who work on GNU/Linux distributions. (Or put another way, how am I better than every Debian developer combined? (Substituting Debian for your distribution of choice, of course.))

    3. Re:From source, definitely. by pjt48108 · · Score: 0, Offtopic

      Ann Arbor here, how do I get a swell job like yours, and get out of this mortgage bank temp-slave hell? ;-)

      --
      Mmmmmm... Bold, yet refreshing!
    4. Re:From source, definitely. by Hal-9001 · · Score: 2, Insightful
      how am I better than every Debian developer combined?
      Because you are most likely to know your exact hardware configuration than some nameless packager, so you can optimize your compile flags accordingly.
      --
      "It take 9 months to bear a child, no matter how many women you assign to the job."
    5. Re:From source, definitely. by prockcore · · Score: 1

      Because you are most likely to know your exact hardware configuration than some nameless packager, so you can optimize your compile flags accordingly.

      -O2 should be enough for anybody!

    6. Re:From source, definitely. by awkScooby · · Score: 2, Informative
      If you're responsible for the machines you run how can you abdicate that responsibility by using whatever some package maintainer decides to give you?

      I agree. Except for the most simple minded of applications someone else has made decisions for you if you use rpms. Maybe those decisions are good enough, but maybe they aren't. The only way to be sure is to grab the source and build it for yourself. I'm building things to be used by 1-2 thousand concurrent users, so I do care about that extra 5% performance improvement.

      As important, if not more important, is that building from source allows you to turn off features you're not using. This can improve security by offering fewer chances for buffer overflows and such. Also it may improve performance.

    7. Re:From source, definitely. by ruhk · · Score: 1

      It's only insulting if you choose for it to be.

      You ask, "how am I better than every Debian developer combined?" and I say that you've asked the wrong question. The proper question is, "how are any of the Debian developers better than me for knowing my own environment or needs?"

      Consider, for a moment, the situation of a Windows administrator: he gets what Microsoft gives him. He has needs (software that does X) but he has to bow to the whims of some anonymous developer somewhere who thinks that he doesn't just need X, but needs a bunch of other functionality, too. Further, the anonymous developer might have different security priorities or prefer the EMACS-style kitchen sink approach to compiling in features.

      Contrast this with a Unix administrator. He's got his needs and there's plenty of software out there for him. If he wants to install a package, he's got the option to go with a package maintainer's idea of what he needs, or he's got the option to tailor that package's source to provide EXACTLY what he needs. If he wants, he can aggressively optimize the software--something package maintainer simply cannot do, because he has to supply a broadly useful package.

      When asking questions about systems administration, you simply cannot think about silly things like 'insulting' the delicate sensibilities of the people who work on software. You cannot think of whether or not anonymous people who have no stake in the functioning of your network have your needs in mind. You must simply do what is best for your specific systems, which might include using prepackaged binaries or building from source, on a case by case basis.

      --



      404 Error: .sig not found.
    8. Re:From source, definitely. by thepeete · · Score: 0

      I agree with you in some respect. My software development business run on Linux from scratch for everything from its web server to the development boxes. When it comes to testing the software, it must be done against a baselined distribution.

      While you can do your best insuring source code does not have bugs in it, you can only certify a binary executable for proper functionning.

      --
      My Karma is so low that even my own postings are beyond my current threshold
    9. Re:From source, definitely. by Homburg · · Score: 2, Informative

      Surely, the logical extension of your argument is that you shouldn't abdicate responsibility by using whichever kernel some programmer decides to write, either. That's obviously ridiculous, and so is a blanket rejection of packaged software in favour of building from source. Installing pre-compilled packages isn't an abdication of responsibility, it's delegation - if you ascertain that a particular packager or distribution has standards you're prepared to trust, trusting them is no worse than trusting the power company to keep the electricity flowing to the machines.

    10. Re:From source, definitely. by Zigg · · Score: 1

      Right, and I'm sure you've spent the same amount of time these "nameless packagers" have with each one of these pieces of software, so that you understand the intracacies of how they interdepend with other packages just as much.

      I'm also very confident you know so much about each package that you can be sure the optimizing of your compile flags will never affect the operation of any one of those packages.

      Finally, I know that the time you spend discovering all this is worth every minute of it because your machine will be so blazingly fast that it will blow the compile times, the time you spend troubleshooting and discovering all this (and you would never, ever duplicate effort, because nobody else's computer is at all like yours!) right out of consideration!

    11. Re:From source, definitely. by Anonymous Coward · · Score: 0
      ... trusting them is no worse than trusting the power company to keep the electricity flowing to the machines.

      This sounds like an argument for building from the source.

      Consider: Many folks who are serious about their IT do not trust the power company. Instead they maintain very expensive generators and UPSes for their data centers.

    12. Re:From source, definitely. by Chester+K · · Score: 1

      If you're responsible for the machines you run how can you abdicate that responsibility by using whatever some package maintainer decides to give you?

      One would assume that the folks at RedHat, since it's their full time job, know more about the details of what's the best way to set up a package than someone who's new to a particular package and looking to roll it out across several machines -- especially since they support it and are privy to knowledge of problems with their configuration across multiple hardware environments.

      --

      NO CARRIER
    13. Re:From source, definitely. by awkScooby · · Score: 1
      While in principle I can agree with what you're saying, this is a pretty insulting view to take of all the people who work on GNU/Linux distributions. (Or put another way, how am I better than every Debian developer combined? (Substituting Debian for your distribution of choice, of course.))

      It doesn't have to be insulting to them. What authentication mechanisms are supported in my environment? What, based on our security policy, do we not allow? Have the RedHat/Debain/whomever developers taken that into account? Of course not, they can't. They can merely put together a package which works well for most typical users.

      For Open Source in the enterprise, you really need to be willing to customize this stuff to fit your environment, not fit your environment to what has been given to you. Yes, it takes having people who know what they are doing, but the end result is better. I contend that it takes admins who know what they are doing anyways to run things well.

      I use RPMs for ensuring I've got a stable base upon which to build. Anything listening on a socket is compiled from source, with things turned off that aren't used in our environment, and things turned on which are used. A text file is placed in /usr/src which documents the options passed to configure, make, etc. It's easy for anyone to hop on and see how something was built, or re-use the flags when building a newer version. Because the base is consistent, it's easy to test new things on a test box before deploying it in production.

      For many shops, RPMs may get the job done. It's been too limiting for me in at least a couple of cases, so I don't go that route -- it just takes a bit more discipline as far as documenting things, but it's hardly unmanageable.

    14. Re:From source, definitely. by Kourino · · Score: 1

      Yes, but pretty much everyone builds everything builds with -O2 and perhaps a few other sundry flags. Compared to that, -mtune optimizations will have basically negligible effect 99% of the time. So, I don't really find this argument compelling. At all. (Well, not "at all" ... for some workloads, this is really important. But not for most people, not for most apps.)

    15. Re:From source, definitely. by Hal-9001 · · Score: 1

      A quick response, since you (and others) seem to have misunderstood me. I am not advocating that everything should be built from source. I'm just observing that if you compile a program yourself, you can optimize it for the exact hardware configuration you have (say, P4 with SSE2) instead having to compile for the lowest common denominator (i386, for example). For a lot of applications, the performance hit probably isn't noticable, but you must admit that there are applications where it is worth it to squeeze as much performance out of the code as you can. For those applications, it is worth the extra effort to build your own optimized binaries from sources instead of using a prebuilt package.

      --
      "It take 9 months to bear a child, no matter how many women you assign to the job."
    16. Re:From source, definitely. by More+Trouble · · Score: 2, Insightful

      When it comes to testing the software, it must be done against a baselined distribution.

      Sure, but by the same token you wouldn't have one baseline system. In our software development lab, we have a couple of supported RH versions, SUSE, Debian, Mandrake, FreeBSD, OpenBSD, and Solaris.

      :w

    17. Re:From source, definitely. by Archpollux · · Score: 1

      In your line of thought, how can you abdicate the responsability of coding a solution to a problem to the author whose program you are installing..

    18. Re:From source, definitely. by Zigg · · Score: 1

      Whether or not it's worth it is your call, of course. But many software authors and packagers who can use optimizations to increase their performance by an appreciable factor have already taken steps like that (i.e. some video apps in Debian, I know, will detect your processor etc. and run with optimized code; of course there's also the kernels you can select, preoptimized for several architectures.)

      I went Gentoo from OpenBSD some time back; OpenBSD wasn't keeping up with the times to let me use the apps I wanted. It was not worth the very minimal improvement to recompile, recompile, recompile all the packages, all the time, nor was it worth the system horkage that resulted from letting packages detect what was on the system at the time that may or may not have been there later. I went Debian a few months afterward, and haven't looked back. At the end of the day, I want to use my computer, after all.

  34. Benefits of Source Based Packages by Zach+Garner · · Score: 1

    There's one major and obvious benefit of Binary Packages: they're quick to install.

    You mention the optimization and control benfits that come from building from source. Have these benefits been quantified? Is the optimization it provides noticeable? Do you really need the extra control?

    For most systems, a hybrid approach where you build from source only when needed works great. It doesn't have to be a "this way only or that way only" situation. Don't like the configuration of a certain binary package, then just grab the source package and build it yourself. Using a source package instead of "./configure; make install" also helps with maintenance (easier to upgrade and easier to keep track of ./configure parameters)

  35. Optimising source is vastly overrated... by rsidd · · Score: 1
    except for stuff like scientific simulations, complex graphics/video applications etc, which you can always install by hand when you want. I'd go with packages when available just because of the time saved in installing them. You won't even notice a difference between -O and -O2 compiler options: most programs spend their time waiting on I/O, not running (run top to see who's occupying your CPU right now).

    A bigger issue is compatibility with various packages, whether binary or source. On FreeBSD for example you have the option of either a source-based install via the ports, or a binary package of the same port (via pkg_add -r) when available. The issue is not optimisation or "control": it's whether that package conflicts with the existing packages. Shortly before every release the FreeBSD ports team freezes the ports tree to be sure that there are no major problems; if you stick to that, or say to a release from Red Hat or SuSE, you'll have no issues, while if you're the type who keeps upgrading complex things like KDE to the latest and greatest version, you'll quickly run into conflicts.

  36. The answer is .... by Archangel+Michael · · Score: 3, Insightful

    It depends.

    If you are advanced enough to compile source code in such a way that it performs better or in a tighter controlled manner, which suits the purposes you need better than off the shelf builds (packages), then by all means, build it from source.

    If on the other hand, you don't have a compelling reason to compile the source, then use the packaged product.

    I don't know about you, but for most of my servers, the extra configuration options needed to squeeze an extra few percentage points of performance isn't enough to bother running my own compile.

    Those that say they review ALL code before compiling for security (backdoors, holes etc) problems are probably lying. I am sure there are a couple people who do.

    Basically if you do it just so you can be 1337, you are just vain, as I doubt that most people would see/feel the difference.

    --
    Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    1. Re:The answer is .... by Brad+Mace · · Score: 1
      Basically if you do it just so you can be 1337, you are just vain
      Yes, those people are annoying. I occasionally see emails from these people demanding to know how on earth to compile the project (it's java, and uses ant). The more amusing ones are along the lines of, "This project is the most awful thing I've ever seen. I've worked in IT for 15 years and can't even compile the stupid thing."
      1. If you don't know how to compile, you don't need to
      2. It's JAVA, the compiled version will work for everyone
      Just use the prebuilt package, unless there's a *real* reason to compile it.
    2. Re:The answer is .... by shadewind · · Score: 1

      Those that say they review ALL code before compiling for security (backdoors, holes etc) problems are probably lying. I am sure there are a couple people who do.

      I doubt there is anyone who's able to do that. Some software consists of several megabytes of code. I just isn't possible to find bugs in that amount of code (if you haven't actually written the code yourself) in a reasonable amount of time.

      --
      I couldn't come up with any better sign....
    3. Re:The answer is .... by Anonymous Coward · · Score: 0

      Yes but I don't look for bugs, I look for signs of obvious tampering (eg: shell daemons residing in Makefiles). I have no reason to trust an md5 of the archive since these could easily be replaced if the distribution machine is compromised.

      Another thing I look for is any object code residing in source distributions, all too common and I have no reason to trust the unknown machine/compiler used to build it. When you pull down a binary, you are trusting an unknown number of machines. A fair analogy (however hopeful for most us slashdotters) is that when you have sex you trust not only your partner but everybody they have ever slept with. A quick perusal of Thomsons "reflections on trusting trust" is recommended for anybody who doesn't understand.

  37. Source and un-install by KenSeymour · · Score: 5, Insightful

    I would have to agree about using packages. One gripe I have about building from source is
    that most packages do not have "make uninstall".

    With packages, you have a much better chance of removing all the files that were installed with the packages when you need to.

    --
    "We can't solve problems by using the same kind of thinking we used when we created them." -- Albert Einstein
    1. Re:Source and un-install by Aneurysm9 · · Score: 3, Informative

      Which is why Portage is so handy. It builds from source and takes care of package removal. It also offers config file protection so a new version of a package doesn't stomp all over your carefully configured system.

      --
      There was Cowboy Neal at the wheel of a bus to never-ever land.
    2. Re:Source and un-install by Hal-9001 · · Score: 1
      I would have to agree about using packages. One gripe I have about building from source is
      that most packages do not have "make uninstall".
      You need to discover FreeBSD and the godsend known as the Ports Collection. To remove a package built from source, all you have to do is enter the source directory and type "make deinstall".
      --
      "It take 9 months to bear a child, no matter how many women you assign to the job."
    3. Re:Source and un-install by hsidhu · · Score: 1

      You dont really need make uninstall. Just use ./configure --prefix=/opt/pkg-x.x.x that way its easy to keep track of your installted packages. Uninstall == rm -rf /opt/pkg-x.x.x, same thing with upgrades and such.
      I've found this really helps me keep the additional installed packages organized.

      just a thought

    4. Re:Source and un-install by Jason+Hood · · Score: 0

      One gripe I have about building from source is that most packages do not have "make uninstall".

      If you are using a ports system, they typically have a command similar to gentoo's - "emerge unmerge yomama". _All_ non protected files are removed that were installed with the application are removed. I think you might want to differentiate between "building from source" and "building from source* (*with a mangement system)"

      --
      Are you intolerant of intolerant people?
    5. Re:Source and un-install by goon+america · · Score: 4, Informative

      which is why you should always save the output of "make install" somewhere. I keep mine in /usr/local/install_logs

    6. Re:Source and un-install by Damned · · Score: 1

      Another useful tool not yet mentioned is checkinstall. You run it in place of make install, and it builds whatever package you use (rpm, deb, slack) and installs it with the proper tools for that package. You need no make uninstall as you can use your package utilities to uninstall or upgrade later.

      I like it

      --
      "I swear I won't break you if you let me take you where the willows never weep" -- Switchblade Symphony
    7. Re:Source and un-install by Draco_es · · Score: 2, Informative

      My solutions for that problem:

      • stow
      • $ make install DESTDIR=/tmp/foo
        $ cd /tmp/foo
        $ find . -type f > /usr/local/installed/list_of_files.txt
      • build from rpm.src
    8. Re:Source and un-install by frobisch · · Score: 1

      Speaking of comfortable, fast installing here, I opened a terminal, sudo yum install ruby, pw:xxxx, Is this ok [y/N]: y, ..... Test transaction successful, voila now I can read your sig :), btw is there an 'e' missing at the end?

    9. Re:Source and un-install by nite_warrior · · Score: 1

      # make deinstall on the port directory will clean the installation and its files

    10. Re:Source and un-install by ookaze · · Score: 1

      That is true.
      But I compile everything from source, with automated LFS (with nALFS exactly). And I use installwatch with the nuke script (that I tweaked a bit).

      I can then use nuke to uninstall anything, or make tarballs of compiled packages, or anything.
      I now have a bunch of profiles (more than a thousand XML files). So it's very easy to see what options I used to compile any package on my system.

      My systems are based on LFS, but are tweaked, with things like all users in a LDAP database, LVM2, devfs (and now udev), kerberos, ...

      For example, I can recreate a base system with nALFS : I put one CD and one DVD in my box, launch nALFS with my base system profiles. Then I wait several hours, and when I come back, I have a base bootable system on CD, and one another more complete, with all packages downloaded from the internet, on the DVD (also bootable).

      When I want to update some package, I update the version number in a big XML file, I launch nALFS and update. I can erase the old versions before, to clean up a bit, with nuke.

      So I am in total control of the system, and updates are very fast. For example, I'm on gnome 2.6 since 2 days, and it is not even out yet.

      I see a lot of people with problems I never had too (with XFree for example, by the way, the latest XFree is broken for Linux, on purpose I think, as I've seen where it has been borked), only because I am always up to date (sometimes, it can be backwards, living on the bleeding edge, you know ...).

      So I have my own automatic package management, and it works really well. the only time I lose, is when I update the version numbers of packages, or when I create a new XML for a new package (like a new game for example). But that is done only once. nALFS is really a powerful piece of software.

    11. Re:Source and un-install by Zigg · · Score: 1

      Which breaks horribly when your software doesn't support DESTDIR.

      I maintain a small collection of build-from-source recipes for Solaris, and many of them don't until I either patch them or fool them via configure options.

    12. Re:Source and un-install by Aneurysm9 · · Score: 1

      Yeah, for some reason the slashcode insists on putting a space before the last twelve bits so it reads "J2 ZS4" where it should read "J2ZS4" which will give you the final "e." Any suggestions for preventing that would be appreciated.

      --
      There was Cowboy Neal at the wheel of a bus to never-ever land.
    13. Re:Source and un-install by Coryoth · · Score: 1

      It's been said, but it needs to be said again until it sinks in:

      Use stow.

      It's small, and easy to use, and handles all of this very elegantly. The build process gains an extra step, but effectively goes something like this (note that you can install in /opt or wherever else you care to - I use /usr/local):

      $ ./configure --prefix=/usr/local/stow/package-x.x.x
      $ make
      $ su
      # make install
      # cd /usr/local/stow
      # stow package-x.x.x

      This very kindly puts symlinks in /usr/local/ to whatever directories you need - so for all intents and purposes, you installed the package in /usr/local as normal.

      Want to see what you have installed from source? Check the /usr/local/stow directory - there's a nice list of all the packages. Want to remove something?

      # cd /usr/local/stow
      # stow -D package-x.x.x
      # rm -rf package-x.x.x

      I find a combination of packages and stow makes for a very easy to maintian system.

      Jedidiah

    14. Re:Source and un-install by Abcd1234 · · Score: 1

      Just a note, when possible (ie, supported by the package), you really should be doing this:

      $ ./configure
      $ make
      $ su
      $ make install prefix=/usr/local/stow/package-x.x.x
      $ cd /usr/local/stow
      $ stow package-x.x.x

      The key is the movement of the prefix= option to the install step. This is important because the package will think it's installed in /usr/local, even though it's not. The result is that, if packages depend on each other (think, for example, Gstreamer and Gstreamer Plugins... basically, apps which dlopen() things, etc), things will still work correctly.

    15. Re:Source and un-install by ananke · · Score: 1

      check out checkinstall. your problems will be solved [given you use some packaging system, tgz/rpm/deb/etc]

      --
      --- d'oh
    16. Re:Source and un-install by nulltransfer · · Score: 1
      Actually, there is an application called CheckInstall. Once you run make install, CheckInstall takes over and keep tracks of all the modified files.

      Not only that, but it will create a Slackware, RedHat or Debian package so that you can re-install it, view the modified files, or remove it. This is useful if there's no 'make uninstall' rule in the Makefile.

      http://asic-linux.com.mx/~izto/checkins tall/

      --

      My dog ate my sig
    17. Re:Source and un-install by Shurhaian · · Score: 1

      For that matter, take it one step further and install the portupgrade utility. Want to install something? "portinstall name-of-port". Doesn't quite find what you want? "portinstall directory/name-of-port"(though I rarely have this problem). Want to remove it? "pkg_deinstall name-and-version"(which is easily found in /var/db/pkg on default installs).

      Want to recompile everything that's out of date? CVSup your ports tree, then "portupgrade -a" and go on vacation.

      --
      NB: YMMV. IANAL. Take the above with a grain of salt.
    18. Re:Source and un-install by mofochickamo · · Score: 1
      My way around this is to put everything I build in a special directory, like /opt/tools, for instance, so that my uninstall is to simply remove the directory. Everything in /usr and /usr/local are packages only (since they can uninstall).

      In addition, /opt/tools is also owned by a non-root user, so I can build and install without having to su to root. Each package I build gets it own subdirectory under /opt/tools (for instance /opt/tools/gcc-3.3.3, /opt/tools/binutils-2.14, etc). This allows me to have multiple versions of the same software running side by side. I then have convience scripts in /opt/tools that setup PATH for you.

      This method allows me to keep very strict control over my build processes (I'm a programmer) so that I can always build the exact same code that a customer has.

      --
      Honk if you're horny.
    19. Re:Source and un-install by Anonymous Coward · · Score: 1, Interesting

      Which is so much fun when you need to remove files splattered across 50%% of your file tree 5 directories deep and with the log entries mixed up with misc. garbage from libtool or whatever. But yeah, on the upside, at least you can do it. :)

      Personally, when I use source for maintenance, I just keep the source directory around in /usr/src, with all the object files, so I can quickly patch and upgrade later. This can be a benefit for deinstalling, as well, as you can usually figure out how the install worked, or just rerun, or save your install log files there, or whatever.

      Of course, most makefiles use the install command. Wonder why the install command is so spartan; there's really no reason why it couldn't maintain a database of files installed, and by what processes on what time/date (although maybe time/date would be redundant, since that's already tracked in the file system).

  38. Depends what you use them for,... by Creepy+Crawler · · Score: 1

    If you want stable, albeit old, use the TESTED GOOD Debian Stable packages. They're old as the hills, and little problems to boot. They just work.

    If tyou want something current, but more buggy (desktop or somesuch) go with source-compile like FreeBSD or Gentoo Linux. Looking at a Fedora system where things are kept current AND in working order (unlike unstable in Debian) would be a good idea too, but you risk going in Lib.hell

    --
  39. This is BSD vs Linux argument by gtrubetskoy · · Score: 3, Funny
    Any BSD user will swear by "build-from-source" and talk about how the ports are so great (and indeed they are).

    And any RedHat user won't really understand what the BSD user is talking about and will just keep on using binary rpms found from google or rpmfind. In a desparate moment one will use any rpm that seems to do the trick - nevermind security, PGP sigs, all that stuff...

    Seriously speaking, building from source is the UNIX way in my opinion. There is just something very heart warming and satisfying about seeing all the compiler messages scroll every time you install a package. (And try installing the native Java from BSD ports - several hours of pure joy!)

    1. Re:This is BSD vs Linux argument by RLiegh · · Score: 1

      Ok, so you get a warm, fuzzy feeling from watching the compiler output of a './configure && make && make install' ... hell, that's about as unix as running the rain program and watching that output.

      it's worth mentioning that the BSDs are excellent for pre-packaged packages. adding something like export PACKAGE_DIR="ftp://netbsd.org/pub/path-to-packages " and then being able to run pkg_add gnome is IMHO much more the unix way (which is to use several small, simple components to do a larger job.)

    2. Re:This is BSD vs Linux argument by idontgno · · Score: 4, Interesting
      (And try installing the native Java from BSD ports - several hours of pure joy!)

      I'm not sure whether to mod you -2 BSDTroll or +1 BSDFunny. However, I'll comment instead. (Commented earlier downthread, so it's already a foregone decision, but what the hey, you only offtopic once.)

      The only joy I get watching compiler messages scroll by is laughing my butt off watching all the warnings. Don't these people use lint?

      And that's funny only if I'm already in a good mood. Otherwise, I hate having to actually watch the unavoidable visible indicators of the quality of the software I'm about to start using. Just like most people don't like watching sausage being made...from live pigs...

      Yeah, I know, if I know so much, why don't I fix it? Because I didn't sign up to indentured servitude, I just want to use the damn software. I realize that violates the canon of Open Source ethics in the minds of the extremists, but I have a job to do and it's not fixing your damn object cast mismatches.

      OK, ok, cooling down now.

      Thank you, in all sincerity, to the authors of those software packages. Please forgive me if watching 2423 warnings per compile cycle makes me a little crazy.

      And that's why it was the best summer ever!

      --
      Welcome to the Panopticon. Used to be a prison, now it's your home.
    3. Re:This is BSD vs Linux argument by LoveTheIRS · · Score: 1

      I think I will feed my computer a couple packages... yum. yum... yum... I think the way RH people are doing things now adays is looking around and checking the name of the package that they want and then... yum install ... Maybe ports is easier than that. Reply if it is.

    4. Re:This is BSD vs Linux argument by millahtime · · Score: 1

      FreeBSD ports and packages are both easy to install.

      To install samba for example I would go to /usr/ports/net/samba directory and type at the command line "make install" and it would download, compile and install it with the config files and everything going to the right places. Then I just have to config it (such and the folders to share and all that jazz) and it's ready to go. Pretty darn easy. If there are any uninstalled dependencies to run it then the install will detect that something is missing, download, compile and install that too.

    5. Re:This is BSD vs Linux argument by Anonymous Coward · · Score: 1, Insightful

      There's plenty of *BSD users that wouldn't touch building a port even if their life depended on it. It's probably true that there's more people with this attitude in the redhat camp than in the *BSD camps, relatively and absolutely, but that's besides the point. And there's plenty of people that build their own RPMs, especially people that run large farms and need easy rollout.

      IME, though, building through the ports system (including building packages for rollout) is easier than building RPMs. This might influence how many actually started to build from sources themselves.

      Regardless of what you do, a good packaging system is valuable for scaling up. It helps document procedure and settings and whatnot. For certain things building a package from source yourself may even be required.

    6. Re:This is BSD vs Linux argument by blindbat · · Score: 1

      >but what the hey, you only offtopic once

      No, I get modded offtopic all the time. And so will this reply.

    7. Re:This is BSD vs Linux argument by Anonymous Coward · · Score: 0

      Simple answer: Don't use the software. At least with source you can see the errors instead of with a binary package mindlessly thinking everything's going to work and ultimately find out it doesn't.

    8. Re:This is BSD vs Linux argument by goon+america · · Score: 1
      And any RedHat user won't really understand what the BSD user is talking about and will just keep on using binary rpms found from google or rpmfind.

      I don't understand what you're talking about because I always use yum or apt-get (that's right, it comes with rhat now).

    9. Re:This is BSD vs Linux argument by gtrubetskoy · · Score: 1
      IME, though, building through the ports system (including building packages for rollout) is easier than building RPMs. This might influence how many actually started to build from sources themselves.

      I agree. My theory is that the easyness of ports comes from its reliance on make. Make is familiar to most people who have ever compiled anything, and "make fetch" and "make install" are just very intuitive.

      RPM, on the other hand (and same, BTW is true with dpkg and apt - the only other systems I'm more or less familiar with) has a pretty complex interface. I always find myself reading the rpm manpage, and arriving at "rpmbuild -bb mypkg.spec" is not simple (at least to me).

      It's not impossible that the underlying mechanics or RPM or Apt are actually superior to that of ports (I can't speak to that due to lack of familiarity with those systems), but it's the interface and the openness (it's all makefiles, nothing else) where the ports clearly win when it comes to downloading and compiling packages from source code, and especially troubleshooting. When a port fails (rare but it happens), it's usually pretty trivial to identify the cause of failure.

  40. Depends on the Distro by McSpew · · Score: 1

    As a Debian user, I prefer to install from Debian packages whenever possible. Why? Because Debian's QC is virtually unmatched. Of course, there are times when Debian's constitution or the applications' licenses (or both) forbid packaging certain kinds of applications (official Sun Java, for instance). In those cases, I either have to go get an RPM or a tarball and work through getting the app up and running manually.

    It's much easier when I can count on Debian's package to install the app and ask me the appropriate questions required to get the app up and running. There's no comparison to the ease of getting MRTG up and running on Debian via packages vs. installing from a tarball.

    However, my experiences with RPM-based distributions haven't been as good, and I'd be more tempted to build from source in those cases.

  41. Packages by TyrelHaveman · · Score: 1

    Although there certainly may be some advantages to having compiled the source code specifically for your machine, I usually don't imagine a huge performance increase over pre-compiled packages. Obviously, packages are also a lot quicker to install than source code. I usually find this a major motivation. I don't think the majority of users will benefit highly from compiling the software. In some resource-critical situations, however, I can imagine I would be more prone to compile.

  42. Source Packages by Perl-Pusher · · Score: 1

    Allow you to tweak the parameters, optimize for your architecture and still easily remove and or upgrade the package.

  43. Use the Source Luke by mike+collins · · Score: 2, Funny

    I always do.

  44. a matter of time? by M1FCJ · · Score: 1
    Do you want to be on the cutting edge of the software or is something labelled "stable" is good enough for you?

    Basicly that's the only reason you would like to build from source. Otherwise, especially if you are dealing with a large number of packages, compiling from source becomes just a waste of time. Usually I download both binaries and source, install the binaries and compile the package for my own entertainment. Also this means if there is a bit the package builder screwed up or you want to change, it is a simple matter to patch the binaries.

  45. Packages When Available by LilMikey · · Score: 1

    I prefer packages when available for 2 reasons...

    First, I'm lazy and package managers like apt, urpmi, and yum make installing software with multiple complicated dependencies easy. Finding the source for the bazillion requirements and building all of them in the correct order (taking care of their requirements as well) doesn't sound like a productive use of time to me.

    Second, removing a package doesn't require keeping the sources around. It may be possible that in whatever version of the source you can find the removal doesn't quite work right with the older version you have installed. I've never run into this problem, but hey, it could happen.

    --
    LilMikey.com... I'll stop doing it when you sto
  46. Why choose when you can have both? by Spacelord · · Score: 4, Informative

    Most package systems allow you to "roll your own" packages from the software you build from source. I use Slackware myself, so I first install my apps into a "staging" directory and build my package from there using the makepkg command.

    It takes an extra minute of your time when you're installing software but it really helps to keepi track of what software is installed on the system, what files belong to it, keeping track of versions etc.

  47. Source or Package? by bogtrotter · · Score: 2, Informative

    There's one overriding detail that you should consider.
    You're working for the professor. He's your customer. The customer makes the rules. The old saying "The customer is always right" is true. Most people don't know there's a second half to the saying. "The customer is always right, or he's no longer a customer", meaning if you don't do it his way, he could easily fire you, and rightfully so.
    Regards,
    bt

  48. Staight forward answer actually... by Anonymous Coward · · Score: 0

    Use packages as long as long as they meet your needs, and compile from source when they don't.

    If you have time to burn, go ahead and compile from source every time. But for most people this is a tad too slow.

  49. How about SRPMs? by Anonymous Coward · · Score: 0

    Aren't SRPMs, or source-RPMs, pretty much the best of both worlds?

  50. Build then...er...build. by Anonymous Coward · · Score: 0

    I manage about 50 Linux boxes. Typically if there's something I need to have severe performance on, I'll build from source then make a package from our build. Then I can just replicate it to the other machines.

    I do this especially with kernels, because frankly the RPM/DEB/TGZ/ETC ETC ETC builds suck.

  51. do both by oddpete · · Score: 1
    build your own packages from source. Ten servers are managable, but if you want to scale upwards, building from source for 20-50 servers becomes unruly. Just make your own packages using your favorite packaging tools, be it .deb, .pkg, .rpm, or whatever.

    I highly recommend cfengine to manage your configuration files, though. Makes scaling up of servers very easy. Managing 10 servers is the same as managing 500.

    --
    I use oddpost because I am cool, and because it will soon have Mozilla support!.

  52. Stow! by Abcd1234 · · Score: 5, Informative

    Personally, I use both binary packages and source. Basically, if my distribution has binary packages, and they fit my needs (recent enough version, etc, etc), I'll just use the packages. Why not? However, if I do decide I need to build something from source, I like to use GNU Stow to manage my software. Basically, Stow allows you to install your from-source packages in a nice, sane hierarchy (eg: /usr/local/packages/this-program-1.0, /usr/local/pacakges/other-program-2.4), and then Stow does the job of setting up symlinks into the traditional Unix filesystem (typically /usr/local). So, by using Stow, you get the easy management features of packages (minus dependency resolution) for your from-source build software. It's definitely saved my life... and it's especially useful in an NFS environment, as you can export your packages directory and then use stow on the workstations to install individual packages as you see fit. Quite handy. :)

  53. Source only, of course by mehaiku · · Score: 1


    I install from source only, but then I use Gentoo. With binaries, you can never be sure you will get the app like you want it. Take Mplayer for instance. I am sure that Debian, Fedora, Mandrake, etc have this package in some form or another. But will that binary app be able to play all video formats, including windows media files, real player & quicktime files? Doubtful. If you install it from source though, you can be sure it will play ALL formats you choose.

    1. Re:Source only, of course by msimm · · Score: 1

      Mandrake has official sources and 'non-official' sources. Because of licencing issues you would have to use the PLF source to get all the codecs, which you should have configured anyway.

      --
      Quack, quack.
  54. Building from tarballs can be problematic by Theovon · · Score: 3, Interesting

    I've often had a lot of trouble building programs from downloaded tarballs. Besides mysterious dependencies that I can't track down, sometimes things just don't compile, or they crash, or they produce errors of other sorts. But in many of those cases, I could download, say, an RPM of supposedly the same package, and it would install just fine.

    On the other hand, I've never had any problems. Emerging new packages deals properly with all dependencies, and things always compile correctly. And there's like a review process where packages are first added to portage as "unstable" and then once they have passed everyone's criticism, they are added to "stable". So far, the only "unstable" package I've decided to emerge was Linux kernel 2.6.4, and that all worked out brilliantly.

    Also, if you have a cluster of computers, you can do distributed compiles with, I think, distcc and/or some other package. Gentoo documents this VERY well. Plus, if your cluster is all identical machines, you can build binary packages once and then install them onto all other machines.

    BTW, Gentoo isn't for everyone. The learning curve is STEEP. I had to start from scratch and do it all a second time before I got everything right. (Although I am a bit of a dolt.) Setting up is complex but VERY WELL documented. Only once you've finished building your base system does the extreme convenience of portage become evident.

    Also, there are still a few minor unresolved issues that no one seems to have a clue about.

    1. Re:Building from tarballs can be problematic by Lawrence_Bird · · Score: 1

      I've rarely had problems building from tar balls on my
      slackware machines. I think many of the problems people
      have are related to the non-standard placement of files
      by many of the more popular distributions.

      I think the whole source vs package thing isn't so much
      for performance (except in rare cases) but a matter of
      controlling what goes where and what options are enabled,
      if they can be modified at compile time.

    2. Re:Building from tarballs can be problematic by symbolic · · Score: 1


      The gentoo documentation is good, but it could use some improvement. My biggest complaint is that it includes the steps for several different architectures on the same page. This means that you have to read very carefully, lest you skip an instruction or two that apply to your particular situation, but aren't obvious because they're buried in a lot of other stuff that doesn't apply to you. I think it would be an improvement if they put the steps required for each archecture on a separate page - that way you know where you are, where you've been, and when you're ready to move to the next step.

      Second, there is at least one place where bold text would have saved me days of trying to figure out why my system kept giving me kernel panics. The documentation should make a better effort to emphasize those items that can make this kind of difference.

  55. Dependancy issues by jobeus · · Score: 1

    Building from source almost always results in less dependancy issues than using packages. If a certain package was build against a specific version of a library, and you've got a newer or older library installed, you could be hooped.

    Building from source lets you link against the libs you have installed.

  56. an advantage of packages on Debian by mrmez · · Score: 1

    I really love being able to tell Debian "hey, please install this package" and having it reply "well, I can do that but only if I update another 150 packages in order to resolve various dependencies between them. Is that hunky dory?" with my being able to reply "have at it!" Of course, there are time when I have a reason to build from source, but that's rare; it's also ill-advised since my clients' in-house IT staff needs to be able to maintain and build boxes on their own when I'm not around. Another advantage is the saving of time - it's much speedier to type "apt-get install BBEdit" (and with my PowerBook out of commission I certainly wish that were possible) than to manually find, DL and install source.

  57. Packages by Aggrazel · · Score: 1

    Packages, production machines don't need compilers on them that way. The slimmer you can keep your production boxes, the more sane they are to manage, IMO.

  58. Gentoo and Red Hat Enterprise by anthonyclark · · Score: 1

    I use both Gentoo and Red Hat Enterprise;

    Gentoo is great not because of the source compiling that (allegedly) squeezes a couple of extra 'horsepower' out of the machine. It's great because of the USE variable; I can for instance compile gcc with or without java (gcj) support by setting 'java' or '-java' in my /etc/make.conf. I use gentoo on one machine only, my personal web server.

    Red Hat enterprise is great for creating a standard base install and using standard packages with very fast bugfix support. redhat's management website only works because all the packages are standardised. The recent OpenSSL DoS issues were fixed on all 12 of my servers by using a couple of clicks on redhat's website. I couldn't imagine compiling 12 source packages on different machines (we use a combo of x86 and opteron servers).

    If you're going to be running one or two boxes, choose gentoo. Otherwise choose Red Hat.

    --
    ----- Documentation is worth it just to be able to answer all your mail with 'RTFM' - Alan Cox.
    1. Re:Gentoo and Red Hat Enterprise by Mr.+Frilly · · Score: 1

      I look at it pragmatically.

      How much time are you wasting trying to eak out a 5% performance increase? Now multiply that time by your hourly wage, and I think you'll quickly prove that getting a processor that's 5% faster is generally going to be the more economical route.

      If it's your own time, go ahead, compile from source if it makes you happy. But if you're screwing around, compiling everything from source when you're on your professor's time, you're probably wasting his money.

    2. Re:Gentoo and Red Hat Enterprise by maximilln · · Score: 1

      -----
      How much time are you wasting trying to eak out a 5% performance increase?
      -----
      That 5% performance increase means I don't have to spend $120 for a DVD player that won't be outdated by the next iteration of DVD+.

      Of course, since the Radeon7500 is such a |expletive-deleted| of a video card, it also means that I still watch my DVDs on my 19" monitor when that S-video cable could very easily reach my TV. Some day _someone_ will figure out what the radeon driver does to mangle timings sent to the TV-out port. The VESA driver has no timing problems but lacks the performance needed for DVD.

      --
      +++ATHZ 99:5:80
  59. Gentoo for both by nagora · · Score: 1
    The portage system on Gentoo is worth using regardless of the question of source or pre-compiled and is the easiest system to maintain that I've found so far. I would suggest sharing the portage directory over nfs/samba etc, using one turbo-nutter-bastard machine to download and make pentium binaries and have all the slave machines just install those binaries, so: both really.

    TWW

    --
    "Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
  60. Beyond personally - professionally by Roadkills-R-Us · · Score: 4, Insightful

    I agree. What the professor wants is a readily supportable, production environment, and tat's what you should supply. That means packages wherever possible. IFF there is a clear need, build from source- a 5% speed optimization may not be worth it (that's the prof's call). A 50% speed improvement (unlikely, but possible) would probably be worth it (prof's call). Otherwise, I'd only build from source when there was not a trustworthy package available, or to add features, fix bugs, etc.

    I've been in both your and the prof's position, and this is generally the best bet. It'll make the prof's life a lot easier when you're gone, too.

    1. Re:Beyond personally - professionally by Shakrai · · Score: 5, Insightful
      Otherwise, I'd only build from source when there was not a trustworthy package available, or to add features, fix bugs, etc.

      If you can't find a site with a trustworthy package what makes you think you can find a site with trustworthy source code? Or are you going to review every line of code to make sure it wasn't tampered with?

      The paranoia works both ways :(

      --
      I want peace on earth and goodwill toward man.
      We are the United States Government! We don't do that sort of thing.
    2. Re:Beyond personally - professionally by JAgostoni · · Score: 5, Insightful

      In the parent post's defense, you can almost always get the source code from the "source" or author. However, sometimes you rely on some other guy to produce a .deb or .rpm or whatever which you might not trust as much as the author.

      I almost always trust packages from the vendor and the distro and only trust "3rd party" packages when there's been tons of anecdotal evidence that they work.

    3. Re:Beyond personally - professionally by codegen · · Score: 3, Insightful
      I've also been both positions. As a graduate student and then during my 6 years in industry, I was extremely interested in building from source (custom kernels, custom libaries, webservers, the whole nine yards).

      However now as a profiessor, I've become more interested in focusing on building the tools that are part of my research. These I publish (or will publish once they are ready) as open source. But for the other elements such as development libraries, servers, etc.: I just want them to work.

      --
      Atlas stands on the earth and carries the celestial sphere on his shoulders.
    4. Re:Beyond personally - professionally by infra-red · · Score: 3, Interesting

      If you want to rebuild a package to get the optimizations out of them, you should probably learn how to build the packages.

      Build once deploy everywhere makes it easy to maintain. Last time we had to do a massive openssh upgarde on our equipment, the rpm based boxes were done in 15 minutes, while the source based boxes took about 2 hours. The real kicker is that we had (at that point) about 3 times the number of rpm based systems compared to source based.

      Source is great for the hobbiest, but as a sysadmin, I won't touch them.

    5. Re:Beyond personally - professionally by jrexilius · · Score: 1

      I agree that the goal is a stable, production system but I disagree that packages are always the best solution.

      I build my production, internet exposed servcies from source (albeit with a script that automates the whole process). The reason is that security fixes can often take days or weeks to propogate out from package vendors. As well, for security, performance, and functionality reasons, I strip out or add in a lot of options and tweaks.

      I use packages for less critical items and for things that are not core to my production systems and services.

      I build a package that is a bundle of my production applications and a script to build them from source, I just drop in the new source tar ball and propogate to all my production systems. It takes about 15 minutes to build everything from scratch.

      So I guess I do a hybrid approach with my own packages as well as vendor packages.

    6. Re:Beyond personally - professionally by mmss · · Score: 1
      And if you build from sources, create your own or customize an available package, because you:
      • can easily install e deinstall the same software in several machines, saving compilation, avoiding mistakes, and making the configuration of your machines standard, which eases their administration;
      • the package specification is its own documentation, when the next version of the software comes, just modify the name of source tarball e rebuild the package, you can even delegate the rebuild and instalation to a less experient person.
      The Industrial Revolution has proven that standard products are cheaper to produce and deploy.
    7. Re:Beyond personally - professionally by bfields · · Score: 1
      IFF there is a clear need, build from source- a 5% speed optimization may not be worth it (that's the prof's call). A 50% speed improvement (unlikely, but possible)...

      Could you give an example of a 50% speed improvement gained from tweaking compile options?

      --Bruce Fields

    8. Re:Beyond personally - professionally by techno-vampire · · Score: 1

      "Trustworthy" doesn't always mean "secure." There may be a new version out with an important bug fix but only in source. Until whoever maintains the packages builds one based on that newest version, you can't really trust the older package, can you? If the bug causes problems with a feature you need, your only choice is to download the source and make your own.

      --
      Good, inexpensive web hosting
    9. Re:Beyond personally - professionally by Roadkills-R-Us · · Score: 1

      Jagostini nailed it. Sometimes packages aren't available from sources I can trust. Simple as that.

      For the record, we have 225 or so Linux systems in a production environment, about 80% servers. Another 20 Solaris servers. We're interested in security, reliability, maintainability and uptime. I'd assume the professor is interested in the same issues. 8^/

    10. Re:Beyond personally - professionally by jmusits · · Score: 1

      Since you are managing 10 servers you can build the packages from source yourself in order to get the customizations you want. After that you can install the packages on each machine. This gives you the best of both worlds, customization w/o having to compile ten times. Once you have the package built you will get the benefits of whatever package management system you are using.

      That said, I myself tend to build everything from source since my machine's hardware differs greatly from one box to another and optimizations that work for one box will cause the code to unexecutable on another.

      --
      -- 42 --
    11. Re:Beyond personally - professionally by MasTRE · · Score: 1

      Profesionally - if this is what you do for a living - there's not much of a choice. Either use an interim solution to build your own packages (i.e. SRPMs) or make your own fully-custom packages. Writing an install/uninstall script isn't that difficult - it's time-consuming, but it's worth its weight in gold. I have a test machine on which I customize build options and develop my own packages. Then, once I find the optimal solution to the problem at hand, I build my own package and deploy it. This can be of two types (and I use both): a binary package, or the source tar file accompanied by a custom install script.

      --
      Must-not-watch TV!
    12. Re:Beyond personally - professionally by skintigh2 · · Score: 1

      In the parent post's defense, you can almost always get the source code from the "source" or author. However, sometimes you rely on some other guy to produce a .deb or .rpm or whatever which you might not trust as much as the author.

      From the source? You mean you drive over to the author's house and he hands you a CD?

      Or do you mean you got it from his web page? And by "his" web page, do you mean you got it from a page that you assumed was his? Maybe it wasn't. Maybe it was a copy. Maybe someone hijacked his page. Maybe someone shut down his page and spoofed it. Maybe someone hijacked your connection and inserted their own source when you were downloading.

      But I suppose if it's on the Internet is had to be authentic, right?

      Even if you trust the source, you can't trust the medium. Now, if you used digital signatures then I take it all back.

    13. Re:Beyond personally - professionally by JAgostoni · · Score: 1

      I just knew someone would reply like this but I didn't want to type too much in the original post which is why my last sentence says "as much as" .. I never did say you could totally trust.

      You just gotsta draw the line somewhere though or you'll end of a conspiracy theor...

    14. Re:Beyond personally - professionally by skintigh2 · · Score: 1

      That depends. If you are Joe Schmoe with his home network, then yes. If you a General Joe Schmoe setting up something important, then no.

      Frankly, the sooner we all get used to using digital signatures and PK encryption the sooner a lot of problems go away. "That's odd, Joe forgot to digitally sign this strange executable he emailed me, and he signs everything..."

    15. Re:Beyond personally - professionally by boinger · · Score: 2, Informative
      I can give an example and then some.

      SNMP-monitoring tools that can be compiled to pre-load MIBs often (usually?) default to "all". Setting it to "none" and feeding the MIBs in by OID only as you need them can show improvements of 1600%. I've done it myself.

      --
      Send your friends messages of love at fuck-you.org
    16. Re:Beyond personally - professionally by orasio · · Score: 1

      Many source packages have .MD5 signatures.
      The builder of the package trusts the web page, then you can rely that source security >= package security in every case.

    17. Re:Beyond personally - professionally by Anonymous Coward · · Score: 0

      Well, yes. But locally built binaries are vulnerable to all sorts of feature mismatches that can imperil your binaries, ranging from compiler changes to kernel differences to glibc changes to different LD_LIBRARY_PATH at compilation time to different flags used because you have an SMP box, a version of libtools that had a bug in it, etc., etc.

      In my experience, the project isn't done until you bundle the binaries and source packages *and test them* in a few different environments. Until then it's development only and should not be used for production work.

      Very, very few source tarballs actually get all the configuration files set up for users: have you ever tried actually building and *installing* Apache, or bind, or any X windows, or sendmail, or perl, from a source tarball without a package manager? And then mirroring your configuration to another server for a similar use? Updating the software itself from tarball can leave behind old libraries and configuration files that break things in the new version. It's quite painful, and I'm certain the gentoo community is under-estimating the difficulty of getting reliable servers this way.

      So package managers really do have some uses in a production environment.

    18. Re:Beyond personally - professionally by GooTi · · Score: 1

      Mplayer on a P-200 MMX.

      I dare you to try playing those big fat Matrix Quicktime trailers without an MMX enabled Mplayer on that kind of machine :-)

    19. Re:Beyond personally - professionally by Anonymous Coward · · Score: 0

      how would you verify if the signature had been stolen and the source signed without auth? your are a fucking troll. besides, it's the source. if you are that paranoid, read the freaking source.

    20. Re:Beyond personally - professionally by klokwise · · Score: 1

      unless each of the source-based machines has a different configuration, surely you should be compiling on one and then using the resulting binaries on the others? even if they were all different, you could still cross-compile it all on one machine. sure, there may be a two-hour delay before you get your binaries but it's not stopping you or the other machines from doing something productive.

    21. Re:Beyond personally - professionally by skintigh2 · · Score: 1

      I love it when anon cowards call me a troll.

      You can't steal a signature, that's the whole point.

      Perhaps you meant stole the key. In that case he would report when his key was stolen so that everyone would know the second they tried to verify his signature.

      And the idea of reading the freaking source is just rediculous. Even if the source were ONLY a few hundred thousand lines, what are the odds you would catch a well hidden trojan?

      Only an idiot would suggest that every single person on the Internet should read hundreds of thousands or millions of lines of code before installing any program. I signature would obviously be much less work.

      Crawl back into your cave you usless waste of space.

  61. Multiple Machines, goody-good by SoTuA · · Score: 1
    I think that the benefits of the source-based approach are best reaped from a setup of multiple machines, with not-too-different hardware.

    At the University, the Sysadmins rolled out gentoo... basically they optimize, compile on the idle cycles of a big server, and roll out those binaries to the workstations. Great setup.

  62. Packages are better... by stm2 · · Score: 1

    ...when it works :)
    I tend to use first RPM (I have 2 boxes, a RH server and a Mandrake), but when I get to much dependencies issues, I go for sources.
    I think that in an ideal world, RPM, Apt-get or whatever is the way to go. But I often find issues that makes me install from source (some programs, like academics one, are in source only format :(

    --
    DNA in your Linux: DNALinux
  63. yes, hybrid by CrudPuppy · · Score: 2, Interesting


    build packages from source exactly how you want them , make a tarball of that, and then use ssh and key trusts to shoot them out everywhere (this coming from a person who maintains almost 1000 servers)

    it works very well.

    --
    A year spent in artificial intelligence is enough to make one believe in God.
  64. Simpler is better by GSPatton · · Score: 0

    I find that for the overwhelming majority of installations, installing from packages is FAR simpler. The drawbacks of "less optimization and control" is far outweighed by saved time. Just look at the popularity of RPM's! If we had to roll our own installs from source for everything...
    Strive for efficiency and simplicity, you won't regret it.

  65. Progress to Linux on the Desktop.... by tamuct01 · · Score: 1

    ...will require the ease of some form of package management. I can see the benefits and challenge of compiling from source, but joe user will not take the time to compile from source. just my $0.02

  66. For most people by jeffkjo1 · · Score: 1

    For most people, building from source is entirely not necessary. Most popular programs are available as binary packages for any given distribution (and 90% of the time binaries for another distribution will work.)

    Building from source for most programs yields little to no optimization, and if you ever want to uninstall the program that was built from source, you have to save your build (or, as I have had to do in the past) build the program again only to uninstall it.

  67. BSD has Packages and Ports by millahtime · · Score: 1

    FreeBSD actually gives you both ways. The ports if you want to install from source and they make it very very easy to do or from packages. It gives you the best of both worlds and makes the source way pretty easy.

  68. build your own packages by pyros · · Score: 1

    Assuming you don't use Linux from Scratch, learn the packaging format of your chosen distro. If you're just building from source to optimize but you're not actually changing the default build options or anything, than the vendor-provided packages are likely as optimized or better than installing from source. They typically patch the source to play well with the rest of the system defaults and include scripts to integrate with the system admin/config philosophy. If you have specific patches you need to apply and want build options other than the defaults, then take the source package your vendor provides, patch it and change the build options, and build it into a binary package.

    The benefit of packages is that it is far easier to audit the files on your system, remove or upgrade a package, and install the same thing on all your servers. The great thing about packages is you can customize them just as much as you can a source install.

  69. Depends by FooManChuYouMoo · · Score: 1

    If there's a lot of packages maintained often and well for whatever OS I'm using, I see no reason to go with source.

    However, if there isn't a package available, or it's out of date, obviously I have to go with source.

  70. If I were your prof by October_30th · · Score: 2, Insightful
    If you'd make your case simply "It's the right thing to do" that would definitely not convince me - in fact, such argumentation would only aggravate me. It smells like an ideological argument.

    If you could demonstrate that installing/upgrading from the source results in a quantifiable improvent in maintenance or performance over a pure binary distribution, I would consider it. If there are no existing reliable benchmarks, but you'd make a good case, perhaps I'd let you turn your own workstation into a demonstration system.

    Anything else. No way. If it works, don't mess with it.

    I run Gentoo at home and, while updating with "emerge" is kind of nice, I've yet to find any compelling reasons why it'd be better than up2date or apt-get. There really are no measurable performance or reliability advantages.

    --
    The owls are not what they seem
  71. you have to decide by pair-a-noyd · · Score: 1

    If I use packages, they are easy to uninstall (if need be), if I build from source and I have to uninstall them, it's not quite as easy but building from source gets me better performance..

    Six of one, half a dozen of the other...

  72. enterprise linux by rapiddescent · · Score: 1
    whilst compiling from source is fun - it is an action that does not scale well as the enterprise grows. I have just managed to get RedHat 3.1 AS into my customer site (woohoo!) who was a staunch windows/solaris shop. The reason I use package management is that it reduces risk, reduces management time and install time for our vast array of HP prollie DL380 servers. Our servers are built the same way using kickstart scripts and are hardened the same way.

    For me, it was important to demonstrate to management that linux builds were consistant and good quality as well as not increasing the system management cost. I think they would have not gone for linux had we said that we would be building each one from source code. You've got to remember that these guys read Gartner reports that say the Linux distros are "fragmented" and no matter how many times i explain it; they don't get Linux versioning. "So is SUSE 9.1 newer than RedHat 3.1? Which one is Linux 2.6?" ... arg!

    rd

  73. Re:Packages by Anonymous Coward · · Score: 0
    Do you fucking idiots know what we're talking about here? This is not offtopic.


    You all are too stupid to live.

  74. built or packaged? by Anonymous Coward · · Score: 0

    For my personal use, I prefer to build from source. Heck, I install only base and all sources, do a cvsup and go from there.

    Profesionally, packages are just as good. Except when the ``park'' is big enough to warrant... a build server! Then I just build my own releases from the cvsupped cvs tree with matching packages to go with it.

    Then again, me use teh FreeBSD.
    (Also available in Net and Theo flavour.)

    1. Re:built or packaged? by RLiegh · · Score: 1

      The though of "theo flavour"ed anything is going to give me nightmares for the next 4 weeks. Thanks!

  75. security issues by pavera · · Score: 1

    I nearly exclusively use packages because of the security implications of having a compiler installed on a production system. If I do build source I have one build box that I will build my own RPMs on, and then install them on the production system.

  76. Packages by altp · · Score: 1


    Doing it from source is far more 'geeky' than packages ... knowing exactly what is on a system, and how it is configured.

    But, i'll take packages over source any day of the week. Have tried building OpenOffice.Org of XFree86 from source lately?

    Have a couple days to kill?

    Personally, for me, the time it takes to build everything from source is not worth it when compared to the advantages of building it yourself.

    I have code to work on, documentation to write, and my own programs to compile. What i don't have is a couple days to baby sit compiles before i can do my work.

  77. Source Daemons -- Package Libs by Fritzy · · Score: 2, Informative

    I tend to do a lot of customization for daemons like a Apache, and some libraries like PHP. However, it's best to leave most libraries to your packaging system being as many other packages are likely to depend on them. It's a balance. Compile when you want/need to... but try to limit it to major apps like daemons that not many other packages depend on.

  78. source or packages by Spacepup · · Score: 1

    When I was in college and had time to be a really good sys admin, I always installed from the source. I felt things were cleaner and better that way. And if something went wrong and I needed to adjust a make package I had the time to work on it.

    Now that I am out of school and have other responsibilites at work beside just the two machines I maintain, I have to be practical about the time I spend performing upgrades. I have found that packages save me quite a bit of time in the long run.

    I think you can learn a lot from installing from source, and if you have the time then I would suggest doing it that way for at least one machine. But when speed is of the essence, packages come in very handy.

  79. Depends on the Job by stuffduff · · Score: 1
    When I'm learning, experimenting etc I go for the framiliar: ./configure, make, make test, sudo, make install. This is a great way to learn about the the code, dependancies etc. Also good for testing multiple versions on the same box.

    However, I usually go with rpms when dealing with something like red hat ES or AS systems, primarily for the support. It can avoid 'breaking' an sbin version by accidently pointing to something in usr/local for example.

    What it really comes down to is using common sense instead of being a zealot.

    --
    "Can there be a Klein bottle that is an efficient and effective beer pitcher?"
  80. Source Builds = Administration Nightmares by JM · · Score: 5, Insightful

    I used to run an ISP, built everything from source, but eventually it got to the point where it was un-manageable.

    You end up with different versions, different compile options, upgrades are a mess, and it's hard to support.

    Another problem is filesystem pollution. When you do your "make install", it's hard to track what files are installed, and when you upgrade to a new version, you can't be sure it's clean, since you might have configuration files or binaries anywhere on your system.

    So, one day, I started to make RPM packages of stuff I needed, and modified existing RPMS, and sent all the patches to the community.

    What happened is that Mandrake accepted all my packages, so all I had to do was to install the standard distro, and all I needed was there.

    And eventually, I made so many packages that they hired me ;-)

    But even if I wouldn't work for Mandrake, I'm still sold on RPMs. You have a clean SPEC file that contains the pristine source code, plus the patches, and basically all the instructions to build the stuff. You can specify the requirements, you can easily rebuild on another machine, uninstall the old stuff, or upgrade, with a single rpm command.

    1. Re:Source Builds = Administration Nightmares by Anonymous Coward · · Score: 0

      that is why you use a program like checkinstall to do the job AFTER you compiled and tested everything.

      I build gobs of packages this way for my LUG members. it works great and makes sure that your changes made are replicated throughout all machines.

      Most of the time I find that the deps a pre-made package wants are simply resolved by compiling on my machine with my versions of the libraries.. cince I am in control of my suite of machines, I prefer to roll all the packages used for all the machines I control so I know all of them are identical.

      Basically, nothing get's installed until it goes through my testing server first. eliminates all problems you mention and gives me the power to have apps that are not available as a precompiled package.

      nobody can find me a current webGUI mandrake package with all the security patches added... or a myphpnuke in the same state... but I can make that package that I know will install across all 15 servers.

    2. Re:Source Builds = Administration Nightmares by higuita · · Score: 1

      first start using checkinstall to manage source instalations... no need for packages if you want to install/uninstall/track package

      so other problem you said is the mess about versions and compile options...

      that is also simple, put all the source package in /usr/src, instead of building it directly, edit a small file (i like naming it 123.sh) with the ./configure --* && make && checkinstall

      this way you have a easy and fast way to recall any compile time options and its easy to change and recompile

      if they are servers, dont do this directly on the server, use a test machine, build the package with the checkinstall and install then on the servers

      when there is one security pacth or one update, just patchs the source, run ./123.sh and install the package

      yes, using only packge is easier, but its also more limited, you have to settle with their compile time options and have more junk than you need or missing that very usefull thing that little people know or use

      the only real problem that i see using the source is the sercurity updates... you have to be subscribed in security mailing lists or track the news about your programs, so you know when a new security hole was found... with packages the distro do that job and you only install the package

      --
      Higuita
  81. Gentoo by Anonymous Coward · · Score: 0

    Seriously, use gentoo
    It gives you the option of compiling from source or packages (emerge -k anyone?), manages all the dependencies, and will (generally, and as long as you set up your USE vars correctly) compile using the right options for your machine, the way you'd want it

  82. FreeBSD by bsd4me · · Score: 2, Informative

    I don't use Linux; I use FreeBSD. I build applications from source (ie, from the ports tree rather than packages) on my work machines, and my home machines.

    The biggest reason is that I can have macros in the global Makefiles that control how the application gets built (ie, globally build everything without LDAP support), and for things like PHP I can compile in exactly what I need, and not have to link against libraries I don't want.

    --

    (S(SKK)(SKK))(S(SKK)(SKK))

  83. Build you own packages, maintain your repository by grattwood · · Score: 2, Informative

    I've been working as a Solaris/Linux sysadmin since '99 and I can definatly say that over the long haul, packages are way better. However, I tend to custom build, or at least tweak, my own packages and create a local repository to store them in. Then create a local blog about what is installed where and anything special you had to do.

    Best of both worlds with documentation for the next admins.

    Oh yeah, -Os often gives better performance on modern processors than -O2 (IME) because more of the loop fits in cache.

  84. Do both by bigbadbob0 · · Score: 2, Interesting

    Why not build from source on machine 1. Then have machine 1 build a package to use on machines 2->n? Yahoo! Best of both worlds.

  85. Depends by homebrewmike · · Score: 1

    If it's something that I really don't want to screw with - such as X, I'm more than happy to let RedHat do that dirty work (come on, be honest, did YOU actually compile it from the ground up?) GCC also falls into that category.

    Also, anything with way to many software tendrils is package fodder.

    Apache, however, is one of those, I just gotta build it myself. And, of course the Kernel.

    Packages give you all sorts of benefits - change control being #1 (and, as we geeks know, is a leader cause of software cancer) they're hard not to use.

    Here's a comprimise: you build the software yourself, and then roll 'em into packages. (oh, don't forget to have decent change management structures in place) You'll both be happy, and sitting in a great position for when your tiny 10 node system turns into a 100, 1000, or 10000.

  86. Gentoo is not good for everybody... by lazy_arabica · · Score: 2, Insightful

    Yes, I know, it is a great distro (it is mine too), it compiles everything from scratch, let you optimize the produced code for your machine, and does it automatically and nearly flawlessly. But I don't think enterprises having to manage dozens of linux servers will ever be really excited about this. Why ? Because compiling simply takes *time*, and that is exactly what most serious system administrators are trying not to loose. However, I agree Gentoo is an excellent distro for geeks and advanced users, especially because of its BSD-like+compiling powerful packaging system. But it is ridiculous to stand up to say gentoo combines "the best of both binary and sources packages". It doesn't.

    1. Re:Gentoo is not good for everybody... by Brando_Calrisean · · Score: 0

      "the best of both binary and sources packages"

      The point of this statement though, is that with Gentoo you have the -choice- to use source or binary packages, and they're both integrated into the same overall package management system.

      I've said it before (as have many others).. I'll say it again:
      You don't -need- to compile packages from source with Gentoo!

      --
      Don't call me a cowboy, and don't tell me to slow down!
    2. Re:Gentoo is not good for everybody... by lazy_arabica · · Score: 1
      You don't -need- to compile packages from source with Gentoo!
      I know. But then the interest of the distro is nearly the same as debian or redhat. Plus, binary packages don't exist for every software. So, sometimes, yes, you -need- to compile ;-)
    3. Re:Gentoo is not good for everybody... by handslikesnakes · · Score: 1

      If you're managing "dozens of linux servers" then you compile it once and then use the resulting package on the rest of the servers.

      BTW, it's "lose", not "loose"

  87. 50/50 by haplo21112 · · Score: 1

    All and all I'm probably 50/50 on the whole deal. I use Slackware and for the basic setup packages do the trick, although I wish Patrick would get into the late 90's at least and Pentium optomize the packages. For the more advanced stuff like installing Apache/PHP/Mod_* I prefer a build your own approach instead of packages. I also do the same for FTP(Proftpd), and mail(Postfix). I also run alot of stuff there is no package for as well so that I have to build from source. I also am required due to the software I run for webmail (openwebmail) to build my PERL from source since it requires the suidperl, which Slackware doesn't build into the package (which is natural since its deprecated, the Openwebmail guys really need to address that issue since it will probably be removed from the perlsource entirely at some point)

    --
    Power Corrupts,Absolute Power Corrupts Absolutely, leaving one person(group)in charge is absolutely corrupt.
  88. Depends on the app by jdehnert · · Score: 1

    It really depends on the application. Typically I look for a package first, and if that isn't available I'll get the source and compile. However, having said that, you do need to think long term. Suppose you are the type that likes to upgrade as soon as new releases come out. Source will be your best bet. Another thing to consider is how easy is it to upgrade an app installed as a package with source? As an example, Nagios on SuSE 9 uses locations that make sense for its files, but it's pretty difficult to massage the configure command line to recreate that if you want to upgrade with source later on.
    Source code also seems to get you more involved with the app so you might have a better understanding of how things work once you have things installed (YMMV).

    Works for me, anyway.

    --
    Eschew Obfuscation
  89. Combination works best! by doktorstop · · Score: 1

    1.Get the source
    2.build the package
    3."unzip" the package
    4.analize the source
    5.goto 1

    --
    http://www.automatiq.se
  90. Ports or Portage by iiioxx · · Score: 4, Interesting

    As a FreeBSD user, I build almost everything from source using ports. I never install from packages. My reasons for this are many and varied, but basically, I prefer to build software myself, with the precise options I need. When you use packages, you are at the mercy of the packager and their preference for options and optimizations. Several years ago when I used Linux, I often encountered problems of pre-built packages lacking a particular build option, and sometimes installing to odd places, or other strangeness.

    And once you've started using packages and package management, it gets harder to introduce source-built software into the same environment without screwing up your dependency databases, or worse - breaking things. So if a package lacks a required option, you really have to build your own package with the option included in order to keep things orderly. That's a lot more work than just installing from source.

    I'm not a Linux user anymore (several reasons) but if I were I to go back to Linux, I would use Gentoo, specifically for its Portage system.

    So, in my opinion, building from source may be a little more time and CPU consuming, but it is the better option for a controlled, tailored environment.

    1. Re:Ports or Portage by ruhk · · Score: 1

      Mmmm. FreeBSD. :)

      The nice thing about /usr/ports is that the packages are built from it. That means that even if you DO decide to install a package under FreeBSD, you know that you're getting everything laid out the same way you would if you built it from source. Further, your packages and ports installed applications will play well with each other, unless you go out of your way to break something.

      --



      404 Error: .sig not found.
  91. Depends in Hardware and Purpose of Machine by polyp2000 · · Score: 3, Informative

    I have a dual processor Athlon MP machine; I use this machine for my Desktop at home every day. I use gentoo because I want the latest and greatest bleeding edge and I want it to runs as fast as possible on my set-up.

    Some distro's (mentioning no names) still build for 386 and I've come across distros that only utilise one processor at kernel level let alone build individual packages for multiprocessor support. I prefer to know that im using my hardware to the best of its ability.

    However if im installing a server; I'd probably choose a tried and tested distro Red-Hat for a colocated machine which i may never even get to see with my own eyes; Reason being a colo shop will have in house support staff able to fix any run of the mill problems that occur.

    For an in house server I might choose Mandrake or SuSe (more likely Suse) and maintain packages that way (last thing you want is to spend several days at work getting a gentoo box up and running!);however, stuff like apache / php etc i often like to compile fresh and configure how i need them. plus it makes patching that little bit easier if you have a specific set up.

    Generally speaking anything mission critical I'd try to use packages that have had a fair crack at being tested well after build.

    Anything personal you might not care too much about uber-stability like a desktop / research/hacking machine its generally fun to hack about with stuff and compile your own from source.

    --
    Electronic Music Made Using Linux http://soundcloud.com/polyp
    1. Re:Depends in Hardware and Purpose of Machine by FrostedWheat · · Score: 1

      Tho compiled for i386, most distros are optimised for i686. The exceptions being the kernel as you mentioned, openssl and glibc.

      For most userland utilites, there is simply no need for any more.

    2. Re:Depends in Hardware and Purpose of Machine by Poppa_Chubby · · Score: 2, Interesting
      I'm pretty much just the opposite of where you're at. I generally prefer to use packages for a workstation and src on servers. The reason being that workstations generally have a vast amount of software installed with the accompanying dependency hell. Servers, on the other hand, usually only need one or two applications installed and its easy and preferable to maintain that by hand.

      However, this goal is difficult at best to undertake with most linux distributions, since everything is maintained through packages and the whole concept of third party software is very blurry. In the BSD world, that line is strongly delineated, so maintaining BSD servers with src installations tends to be much easier.

    3. Re:Depends in Hardware and Purpose of Machine by benow · · Score: 1
      I run a similar configuration here for similar reasons. Love the flexibility and community of gentoo. AFA the multi day install goes, I'm just about due for one, and this time, am going to do it right.... do the multi day install, then, once the base is installed and working, dd a compressed image of the partitions and mbr and burn it to a dvd. Perhaps make up scripts to auto-recreate the new gentoo on hdb. A simple sync and -u world will get the system mostly up to date after that.

      I guess, in a pinch, one could also use stage3 packages from a 2004.0 for athMP iso, if such builds exist. Though one'd have to repeat the not-so-nice installation procedure.

    4. Re:Depends in Hardware and Purpose of Machine by Nailer · · Score: 1

      Some distro's (sic) still build for 386

      If you mean Red Hat, they compile all their packages with Pentium instruction ordering. On IA32, they also provide i586 / i686 / Athlon / SMP kernel and glibc packages (which use processor specific instructions) and install whichever is appropriate for your machine.

      Anything more than that wouldn't make a difference. Since Red Hat don't ship many multimedia apps due to US patent problems, you'd get CPU optimized versions of those packages elsewhere.

  92. FreeBSD... by BSDKaffee · · Score: 2, Informative

    has a great ports system which allows you to build software from the source automatically. I find with ports, you can get the latest software in a more timely fashion as a package is not always available and it can be built to use your machines entire potential. The package system is integrated into the ports system, however, so you can build your own package from the newest port then distribute it onto several machines. The other good thing about packages is for older machines with small hard drives and slow processors-you would probably run out of drive space (and patience) trying to build something like openoffice from source. That's just my experience using source and packages for a particular system.

  93. Easy. by AntEater · · Score: 2, Informative

    Build your software from source and then create a package. Distribute and install the packages. It is a trivial matter if you use Slackware. Other distributuions are not too difficult if you use the checkinstall utility. You get the best of both worlds.

    --
    Alex, I'll take keybindings not used by Emacs for $400....
  94. make your own "packages" by drdanny_orig · · Score: 5, Insightful

    I use fedora, and most often I get the *.src.rpm versions, then tweak the SPEC files as required, build my own binary rpms, and use those. Best of both worlds, IMO.

    --
    .nosig
    1. Re:make your own "packages" by chasm!killer · · Score: 1

      I have had a lot of trouble doing this myself, but I do agree it is the best of both worlds. As I get more experience doing it, I'm sure I will become more competent and it will become only marginally more difficult that simply grabbing a binary RPM and installing it.

      --
      -- Ancient (IBM 1620 and Atari 400) Programmer
    2. Re:make your own "packages" by tjwhaynes · · Score: 5, Insightful

      I use fedora, and most often I get the *.src.rpm versions, then tweak the SPEC files as required, build my own binary rpms, and use those. Best of both worlds, IMO.

      And the tweaking need not be that tricky or time consuming either. Decent defaults for building RPMS can be placed in your ~/.rpmrc file (or /etc/rpmrc, etc.). Once you have set your optimising settings, architectural preferences and packager name and cryptographic signature (if you want to submit them to other people), that's done for all future packages.

      I used to run a mix of RPM packages and tarballs (./configure --prefix=/usr/local && make && su -c "make install") so I could tell what was under RPM control and what was not, but it became annoying when I wanted to build a Source RPM with dependencies on a package I had built from tarballs. These days I usually try and wrap any install up in an RPM - it's not difficult once you get hold of a skeleton spec file for your distro and it saves much hair pulling later on. Also the dependency requirements of RPMs actually save time in the long run because you know when removing a package will hose your system (or part of it) .

      Cheers,
      Toby Haynes

      --
      Anything I post is strictly my own thoughts and doesn't necessarily have anything to do with the opinions of IBM.
    3. Re:make your own "packages" by goorath · · Score: 1

      You could always use checkinstall with source if you can't find a src rpm file. http://asic-linux.com.mx/~izto/checkinstall/index. php It just adds the compiled program to the RPM database, making it easy to remove or upgrade it. Rather than just cluttering up your computer. Cheers, Gareth "Ug" Russell FedoraForum.org Administrator

    4. Re:make your own "packages" by Anonymous Coward · · Score: 0

      This would be different from "emerge --buildpkg " how?

  95. Packages where I can, source where I can't by prisoner-of-enigma · · Score: 1

    I install from packages whenever I can (assuming the package is up to date), but I roll my own when needed. Packages are just easier in most cases, not to mention faster.

    Regardless of personal prefernce, though, we need to move towards more use of packages as opposed to compiling source. Compiling is something that scares the absolute hell out of nontechnical users. If you make it a more-or-less requirement in order to use Linux, you've just excluded those people. And don't think these people will somehow magically just want to learn to compile. They don't want to learn to compile, they want to do their jobs. Diddling with source code is neat, but most people get paid to perform job functions other than diddling with source code.

    --
    In the end they will lay their freedom at our feet and say to us, Make us your slaves, but feed us. - Fyodor Dostoyevsky
  96. build your own packages by bwlang · · Score: 1

    If you use a system like debian (maybe fedora too) you can easily use source packages.
    You get the advantages of locally compiled software and the sanity and maintainability of a package system.

  97. Package metadata and source RPMS by CustomDesigned · · Score: 1
    The benefit of packaging a project has very little to do with being precompiled. The benefit is that the package lists files belonging to the package and knows which files are config files. It knows what commands need to be run when installing, upgrading, or removing the package. It knows what other packages are needed for it to run properly.

    If your distro uses RPM, install from Source RPMs. This lets you compile from source and optimize for your system and still have all the benefits of packaging. Many optimizations and option selections can be done from the rpm command line.

    The benefits of a binary package are:

    1. Installs faster
    2. No compiler of development packages required. (important for firewall or embedded applications).

    A properly packaged Source RPM is just as easy to install as a binary RPM. The RPM lists build prerequisites. I imagine Source only distros like Gentoo automatically download build time prerequisites, just like RedCarpet automatically downloads binary RPM pre-requisites.

  98. Compile important programs from source, but!... by mgoodman · · Score: 2, Informative

    I prefer to compile most important programs from source.

    For example, if I'm running a web server, I'll install and configure apache, php, some database, etc. from source. But I really won't care if I have vim or cron or jabber or whatever installed from a package. If you do a base OS install with all basic/necessary components regardless of the application of the server, and then install important software from source, this will generally be the case.

    The key to managing this is creating a separate directory for your crap. I.e. don't just shove your stuff in /usr/local with everyone elses crap. If you're compiling it from source, it's important enough that it should be separated.

    Then, if someone else comes in you can say, "Everything is packaged, except for important software which is in this directory. All the source and configure files for that software are located in this directory, in case you need to figure something out."

    Just my two cents.

    --
    01100111 01100101 01110100 00100000 01101111 01110101 01110100 00100000 01101101 01101111 01110010 01100101 00101110
  99. Building from source is often just a bloody waste by multipartmixed · · Score: 5, Insightful

    ..of time.

    It's like the programmer who spends six hours hand-optimizing the inside of a loop that gets called once a day and already executes in 10ms... but ignores the fact that the program takes 20 times longer to run than it should because of an inefficient algorithm. This programmer doesn't know *why* his program is slow, he's guessing, and he will almost always guess badly. This is why profiling was invented.

    Look at it this way. Installing from the packages you get the following benefits:
    - You save time compiling (multiply this by the number of patches you have to add over the box's life time)
    - You save time tracking down dependencies
    - You have a standard platform you can re-deploy at will
    - You have something that another administrator can work on without asking where you shoved shit.
    - You have a package database you can query for version information, dependencies, etc.
    - You have an easily available source of "known good" binaries if you have a suspected intrusion problem.
    - Depending on the package system you use, you might be able to stay on top of security vulnerabilities with very little (or no) work.

    Now, installing from source, you get the following benefits:
    - You can pick where the files go (whoopie)
    - You tune the performance for your platform
    - You can select specific features
    - You can de-select specific features to save disk space

    The only one which gains you a lot 99% of the time is where you can select specific features which are turned off in the standard package. If you need those options, you build it from source. If you're doing ten machines, though, you build it from source on *one* machine, package it up, burn it, and install it from YOUR package on all ten machines.

    Saving a few CPU cycles is never worth saving a man-hour. You can use the man hour more productively on the macro-optimization level. Similarly, you can take the dollars that you would be pay the man and buy a new CPU with it.

    The same argument goes for saving a kilobyte of disk space. If found out that any of my guys spent *any* significant time trying to cut less than a gigabyte out of our application footprint, I would give him a footprint of my own, right in the middle of his colon. Disk is cheap. People are not.

    If you have an application is which is CPU-bound and running too slow, find out why (profile the system or binary), and build from sources only what you need to make your application conform to the target specification. Or, if that will take too long, just buy more CPU.

    Long story short -- tuning of ANY kind should not be done at the micro-level across the board, that's just a waste of time. Tuning should be done by profiling the system as a whole, identifying the constrants, and relieving them. If that requires micro-tuning of a few things, that's fine... but squeezing every last little bit of performance out of absolutely everything is either impossible or incredibly time-prohibitive. And, of course, if you were going to spend that kind of time, you could either buy new hardware with the money (remember Moore's law), OR you example the system more closely at the macro level and come up with a better way to do things.

    --

    Do daemons dream of electric sleep()?
  100. academia! by cybin · · Score: 2, Insightful

    i worked at a university in virginia in the music technology lab, where we had two linux servers that did everything from serve web pages to run netatalk. my boss (also a professor) liked the RPMs too, simply because after i left there was no guarantee he'd get any help from the IT department, and he understood how to use RPM from the command line.

    i guess in academia they are used to having funding for some things some of the time -- your professor probably wants to keep those machines running as long as he possibly can, because money has to be used for other things.

    and besides, compiling programs is a hard thing for the "sorta unix geek" to get his head around :) for a while i would recompile the kernel and he flipped out -- so i started using those crappy RPMs.

    fortunatly, i think this will change when people realize there is an ample supply of knowledgeable folks out there who can do this stuff. it's easier to find a geek now than it was even 5 years ago!

    1. Re:academia! by starcraftsicko · · Score: 1
      fortunatly, i think this will change when people realize there is an ample supply of knowledgeable folks out there who can do this stuff. it's easier to find a geek now than it was even 5 years ago!
      "Ample supply" is a bit of an overstatement. Sure there are people who know. There "always" have been. But these people are all busy compling their own stuff. And even if their own activities leave time to support this sort of thing, I'm quite sure that they get tired of answering that same question again and again. And even if they are willing, they'll want to get paid...

      My $.02---> If you are upgrading/supporting a system that MIGHT ever be supported by anyone else EVER, use packages. The next support geek may not be as much a geek as you are.
  101. I build almost everything from source by FCD1 · · Score: 1

    When I started way back with SuSE 5.2, not everything was available as rpm or source rpm, so I got used to build stuff myself. This, of course, broke rpm package management, so I has to use --nodeps most of the time. All the package management tools suffer from the problem that you can't easily mix installed packages with software installed via 'make install', it will at least break automatic dependancy checks. So I thought about switching to gentoo, but as that required a lot of stuff to download (I'm stuck with dialup), so I decided to install Linux From Scratch. Haven't regretted it since.

  102. Aww great.... by Starji · · Score: 1

    ...Another holy war. As if we didn't already have enough.

    vi vs emacs
    KDE vs GNOME
    SCO vs everybody

    and now
    Source vs Precompiled.

    Now to add something intelligent to this conversation, I personally am a Gentoo user who builds from source. Source and packages both have their pros and cons. Source is highly optimized if you know how to work the compiler flags and the downloads are smaller, but you have to wait hours for some pieces of software to install. Precompiled binaries on the other hand may be a little larger downloads and usually aren't very optimized so run a little slower, but have no compilation time so they install much quicker.

    Personally I like source, but that's because I have the time to let my stuff compile and I like having the small performance increase, even though I barely notice it at all. I'd imagine that in a more business like setting where time is much shorter it would be beneficial to use packages simply because it's quicker to install allowing for more time to configure and make sure that it works.

  103. do what you're used to by akue · · Score: 1

    i love building from source, but it's rather an emotional, than a rational thing. it's like washing your car by hand.

  104. Use Pacakges where possible by cmg · · Score: 2, Insightful

    If you have an application that you need performance out of, spend time compiling that once and then packaging it once and installing it on your 10 machines.

    When looking from the prof's view, it will be easier to get someone else up to speed after you have graduated if your machines stick closely to standard packages.

    Use the time that you'd spend compiling/installing doing more CS related activities.

    Most people (including myself) that have gone through the phase of wanting to compile everything get out of it as soon as they have some real problems to solve.

  105. packages put things in unusual places by Anonymous Coward · · Score: 1, Interesting

    It has been my experience that packages don't always put things where they should. When building from source, you typically leave the "prefix=" option at it's default, which is what the software writer intended.

    Qt is a good example

    When installing Qt from source, you are told in the install doc where everything is going to go and you are asked to set the QTDIR environment variable by hand. This variable is nowhere to be found with a package. Without this variable it is difficult to find where Qt is installed if you want to do anything with it.

    Also, I have found that installing packages that are dependencies of other packages does not always guarentee that it will be recognized by the depending package, where as it almost always is when building things from source.

    my 2 cents

    1. Re:packages put things in unusual places by Anonymous Coward · · Score: 0
      Without this variable it is difficult to find where Qt is installed if you want to do anything with it.

      rpm -ql qt

      You do know that you can query most packages to find out where things will go, right? With rpm you can do this without even downloading the package first.

  106. Build your own packages! by PoochieReds · · Score: 2, Informative

    As an experienced SysAdmin, I'm kinda on the side of your prof. Packages give ease of installation of over many machines and (perhaps most importantly) proper tracking of files that are installed to prevent files from being overwritten, and to allow for uninstalls too. OTOH, building from sources gives you fine tuned control over what gets installed and where, and specific build options.

    So, why not have the best of both worlds? Build your own packages! I use EPM to do it and it's a breeze. You can get EPM at:

    http://www.easysw.com/epm/

    I'm not religious about building everything from scratch, but I like being able to include my own default config files, as well as have control over what gets installed where (I mostly manage Solaris machines, but often build Linux packages too).

    As a shameless self-plug here, I recently wrote an article for SysAdmin magazine on packaging with EPM. It's especially handy in multi-platform environments. If you want to see my article check out the Dec. 2003 issue of sysadmin mag:

    http://www.samag.com/articles/2003/0312/

  107. What are you going for? by exodist-Admin-Ra · · Score: 1

    if you want to make it easy as possible use packages, you can distribute them to all the comps and install then and copy config files, quite simple. if you want performance adn speed and do not care how complex manegement is go with source, it will optimise it for the system you are on and its kernel (if you use custom kernel or cpu specific kernel, if u use generic packages are just as good) if you want a good combo of both create your own packages from source you compile on one machene (if all machenes are the same specs) and distribute that package, then you get the performace and speed w/ the ease of use. only compile once in other words.

  108. Packages are quick and easy. by nurb432 · · Score: 1

    But when a package doesnt exist for what you want, you are forced to head to the ports tree..

    If you are loading servers though, i bet all is available as a package, saving TONS of time....

    --
    ---- Booth was a patriot ----
  109. Context by Second_Derivative · · Score: 3, Insightful

    For servers, go with something like Debian: good clean integrated system with timely and automatic security updates. Not bleeding edge, but if it's at all a serious server you really don't want it to be.

    Desktops, Ports based system all the way. Why? Because with something like Gentoo, it might take several days to compile but you can be assured you're not going to dependency hell anytime soon when you want to try the latest and greatest. Headers and such are installed by default, so you can usually compile something by hand and it will Just Work whereas if you're using three different unofficial package streams and you need to do some upgrade of a simple library somewhere which has an anal retentive versioning and dependency specification, attempting to apt-get that new version will cause your entire house of cards to come crashing down. I lived with Debian on a desktop like that for god knows how many years until I decided "No more". Yeah I have to wait a while with Gentoo but at least I only have to do it once.

  110. Well, the *best* way is obviously... by gosand · · Score: 5, Funny
    Obviously, the absolute best way to maintain your systems is to install Windows Update. But since Linux is stuck in the dark ages, you'll have to manage your systems like the cavemen did.

    Now if you'll excuse me, I have to go reboot 100 systems.

    --

    My beliefs do not require that you agree with them.

  111. Best of both worlds? by Gudlyf · · Score: 1

    In the case of RPM's, you could always download the src.rpm and issue an 'rpmbuild --rebuild' of the file. That will produce brand-spankin' newly built RPM binaries, built on your system.

    --
    Trolls lurk everywhere. Mod them down.
  112. Roll your own by Wilebi · · Score: 1

    I'm a build-from-source guy too. I used to install from packages, then continue upgrades and new installs via source, which quickly breaks all kinds of dependencies. I found it worth my while to learn how to roll my own packages.

    Most large projects include .spec files to build RPMs, and most small projects are self-contained enough that writing your own .spec file isn't too difficult. That way you get a customized configuration that's easily (un)installed and tracked.

    It's worked well for me so far. The only upgrade I've made that I wasn't able to package was the new kernel (2.6.4 right now).

  113. dear slashdot... by DrWhizBang · · Score: 5, Funny

    which is better, vi or emacs? ;-)

    --
    Schrodinger's cat is either dead or really pissed off...
    1. Re:dear slashdot... by Anonymous Coward · · Score: 0

      vi, of course.. but you already knew that....

    2. Re:dear slashdot... by MrSelfDestruct · · Score: 1

      exactly!

      --
      Some mornings it just doesn't seem worth it to gnaw through the leather straps. -- Emo Phillips
    3. Re:dear slashdot... by Anonymous Coward · · Score: 0
      which is better, vi or emacs? ;-)

      Well, vi if you want a text editor and emacs if you want an operating environment.

    4. Re:dear slashdot... by Stween · · Score: 1

      That is effectively the equivalent of what he was asking.

      I don't always expect quality to get to the front page, but this? I was actually surprised at Slashdot for a brief moment.

    5. Re:dear slashdot... by Anonymous Coward · · Score: 0
      which is better, vi or emacs?
      The only thing I can use on this teletype is ex, you insensitive clod!
    6. Re:dear slashdot... by Anonymous Coward · · Score: 0

      Yes.

    7. Re:dear slashdot... by Anonymous Coward · · Score: 0

      dear slashdot...

      ...my butt itches.

      (and btw, I'm a student at the UofM...)

  114. Packages by duffbeer703 · · Score: 1

    If you have a sensible reason for building from source, (ie. not "just because") modify source packages and build them on demand or build your own packages.

    --
    Conformity is the jailer of freedom and enemy of growth. -JFK
  115. tangent: moving custom code by Matey-O · · Score: 1

    I'm pretty comfortable working in a u*ix environment, but a niggling detail has thusfar escaped me...how do you compile a large application on one box, and distribute it to a bunch of other machines.

    Example:
    I've downloaded the latest code for snort, I ./configure; make; make install to compile and use it on the current box. But if I want a barebones little snort sensor that doesn't have a comiler on it, do I need to physically deconstruct the script for 'make install' or is there an easy packager (rpm?) I can use to take the compiled code and install it on a remote machine. (ignore actually GETTING the bits to the other computer...unless there's an easy way to do that other than scp/sftp)

    --
    "Draco dormiens nunquam titillandus."
  116. If it's mission critical, build from source. by e9th · · Score: 1
    Sometimes you just can't wait for a package to become available. Maybe a security thing, maybe some other serious bug.

    If it's your browser, you can probably wait for the package. If it's your MTA, you had better be able to get it fixed ASAP.

  117. because by mgkimsal2 · · Score: 2, Insightful

    I'm guessing it's a bit harder to rebuild and duplicate environments exactly. If I build 3 machines today, it's not easy to ensure I can rebuild the exact same machines 3 months from now, at least not with the standard 'gentoo' approach. At least, not as easy as saying 'pop this mdk10 in and install'. You at least know what base everything is starting from.

    1. Re:because by Joseph+Vigneau · · Score: 4, Informative

      It's not really harder, I would argue it is in fact easier in Gentoo. To reproduce a Gentoo system, you need the list of installed packages (either from the 'world' file, or from 'qpkg -i'), and the global make.conf. You can easily emerge any version of any package, so if you don't want the latest tested code, you can request earlier versions of the packages...

    2. Re:because by Anonymous Coward · · Score: 0

      Or you can build one and in the case of a business environment just image the drive and install the image to the computer.

  118. Consistency is important by unixbob · · Score: 1

    Regardless of whether you choose packages or source, consistency accross servers is what is most important. You need to be able to go to any server and know that it has all the applications you need. This may be slightly altered in a distributed environment where certain servers are allocated for specific tasks, but you should still always know that all the database servers have the same MySQL install, or all the Web Servers have the same Apache configuration. This extends beyond configuration to software installs. All servers designated for a particular task need the same software, and the same versions of software on.

    Whether you choose packages or source is up to you. The benefits of packages is that it's easier to install and easier to distribute accross many servers. However you may not be able to find the specific version of the package you require. You may find that the author of a piece of software doesn't release his code as an RPM or a DEB, etc. IMHO you are probably better off creating your own software from source, but having tarballs which you can copy accross servers to do a make install. this gives you ultimate control over where configuration files live, which versions of software you run, which options the software is compiled in with, and so on.

    --
    The Romans didn't find algebra very challenging, because X was always 10
  119. apt for rpm by SeanAhern · · Score: 1

    (I don't know if someone else posted this. I haven't seen it yet. Forgive me if this is a dupe.)

    For anyone who has gone through the headache of dependency hell using RPMs, I would like to point you to apt for rpm. It's the same type of package management system that Debian uses, except that it uses the rpm system for the backend.

    This means that, when you want to install a package, apt figures out all the dependencies for you, downloads, and installs them. It will upgrade things for you on a regular basis if new ones are released. It knows how to do the dependency traversal to upgrade (or remove) packages if they become out of date. I have found it to be the best way of keeping my system happy. And I'm not chasing down dependencies manually any more. Bleah.

    For those who also install things from source, there is an ability to ignore package dependencies and just install. Plus, you always have access to the rpm system itself, so you can do things manually if you desire. You can then use apt-get's --fix-broken and --fix-missing options to "clean" things up if need be.

    Check it out!

  120. He took a Gentoo in the face at 250 knots. by thinkninja · · Score: 2, Interesting

    Duck and cover, incoming Gentoo zealots :P

    Personally, I install from packages (apt) wherever possible. If something is unpackaged and looks new and shiny, then I'll install from source. I really can't imagine managing a large number of applications without a package manger, even if it's something you've written yourself.

    If installing everything from source is your thing, you're probably already using Gentoo with its package mangagment. So the question is moot.

    --
    "The number of Unix installations has grown to ten, with more expected." (Unix Programmer's Manual, 2nd ed.; june 1972)
    1. Re:He took a Gentoo in the face at 250 knots. by gral · · Score: 1

      It is kinda pre-disposed to be Gentoo Flameworthy, eh. :-)

      Gentoo does allow you to install Binary Packages for alot of larger packages. There is also a binary download option in the `emerge` command that will download and install the Binary Package built by a maintainer.

      --
      Scott Carr
    2. Re:He took a Gentoo in the face at 250 knots. by thinkninja · · Score: 1

      Kind of :)

      Are there any binary packages besides those that come on the install cds? I was under the impression that there were very few binary repositories since it sort of negates the 'performance' aspect of the distribution (sorry, meta-distribution). And despite my negative tone, I actually like the sound of Gentoo's build customization. Possible without emerge, of course, but it makes things easier.... What I, and I think many people, dislike are the fanatics who tout 'speed' and 'performance' at any opportunity (such as this thread).

      Personally, I think Gentoo is kinda good but not for me. One, I'm on dial-up for Pete's sake :/ Downloading -k7 (where it matters) packages over apt is bad enough, downloading the source for everything would be worse by 1.5x-2x. Two, I don't want to devote 2-12 hours to recompiling every time I update. Sorry, but the benefits aren't worth it in my eyes.

      What would be great, imo, is emerge/portage + apt, or more binaries in portage. Anything you want customized, bleeding edge, or optimized you build; everything else you get the binary.

      Just a thought :)

      --
      "The number of Unix installations has grown to ten, with more expected." (Unix Programmer's Manual, 2nd ed.; june 1972)
    3. Re:He took a Gentoo in the face at 250 knots. by gral · · Score: 1

      There is a CD you can download that contains the packages already on the CD ready for you to Emerge. I think it is around 2 or 3 cds.

      --
      Scott Carr
  121. Re:OS is from a package - when it gets stale by citabjockey · · Score: 1

    I have a redhat 7.2 based system. It is not really 7.2 anymore because I have been doing LOTS of updates via source. I used to follow the strategy of upgrading the system to the latest distribution as they were released but found I was spending TONS of time trying to recover from each update.

    Instead, I now just pull updates or new apps/kernels from the web in source form. I VERY rarely have problems with the "configure" script built into most of these. The install goes quite well in most cases. I *think* this has been a win for time spent to keep my system updated as opposed to updating the distribution. Packages for a distribution have so many dependencies that it becomes nearly impossible to install from packages after a distribution has been residing on a machine for more than 1 year.

  122. That depends. by lrosa · · Score: 1
    I administer more than 20 Linux servers and my strategy is to use packages except of the critical services such as MTA, httpd, proxy, ancd, of course the kernel itself. In those cases I prefer to build a customized source for various reasons, such as security, performance, optimization, and so on.

    Ciao,
    luigi

  123. depends, really.... by chrisopherpace · · Score: 1

    Are you using the source that your distribution has available? If not, then I sure hope that you have subscribed to BugTraq. One of the nice abilities of binary packages is security/bug updates. Otherwise, you have to really keep a keen eye on what is affecting the software you compile security-wise. Some, if not most, software rarely announces updates on their site pertaining to security. This is mainly with user-space programs though, server software is usually pretty good with mentioning vulnerabilities. I would just compile the source from my distro, if I were you. Personally though, little is to gain from compiling from source, compared with what you lose (support, updates, etc). Food for thought at least.

  124. Best of both worlds: apt-get and apt-build by lewdot · · Score: 1

    Personally, I think a little of both is really the way to go for for ease of upgrade/removal/optimization, but I never compile and "make install". I run Debian unstable and maintain and upgrade most of the packages on the machine with aptitude. However, apt-build is a great tool for building processor optimized versions of those same packages. This way, all your software version tracking and removal is still handled by the Debian package system, but you can recompile for speed on important packages (in my case I compile my own x11 and kde packages). Best part, if it breaks or doesn't work, you can just apt-get the package and try again next release.

  125. Always go with binaries: by LordHunter317 · · Score: 1, Informative
    Here's why:
    • A proper setup binary package system can give the flexability of buildng from source, without the hassle of it. Debian is a perfect example of this, and the almost excessive modularity of their packages. Look at their packaging setup of KDE and XFree for two good examples (in unstable).
    • Building from source is uncommon. Most Linux users don't do it. The majority that do, only do it on desktop systems, not high-end servers and workstations. The corporate world tends to shun awya from compiling code -- they want easy, ready-to-use components wherever they can.
    • Building from source makes changing options more different. If you later decide you don't want support for a certain feature in a program, you have to recompile it and everything that depends on it. In a binary-package situation, you just download the packages and reinstall.
    • A Source-based distribution is inefficent, in that many people are doing work (compiling code) that only needs to be done once.
    • There are no 'magic' or special optimizations to gain from compiling with custom optimizations. gcc -O2 gives 99% of the speed you will get. Plus, the higher-end -march optimizers (like the P4, and Athlon XP) can still occasionally generated buggy SIMD ops. The reality of it is -- is the few programs that do need high-end optimizations will have then enabled in the build system, or will have hand-written assembly already there. A bigger speed boost would be given by switching compilers, then by trying to tweak out GCC.
    • Time to recover on a source-based distribution, say if an exploit will be released, will be higher than on a binary-based distribution, as it takes more time to compile a patch then to just install an already patched binary.
    • Using source means all the configuration management issues are in your hands. The reality of it is, you're probably not that great at handling those issues on a wide scale. That's why distributions exist: they solve these problems for you. Why do work you can already use for free?
    • AFAIK, none of the source-based distributions will support your installation officaly, for obvious reasons.
    1. Re:Always go with binaries: by maximilln · · Score: 1

      -----
      Building from source makes changing options more different. If you later decide you don't want support for a certain feature in a program, you have to recompile it and everything that depends on it. In a binary-package situation, you just download the packages and reinstall
      -----
      Oh yeah? And what do you do if the binary package includes a certain feature that you decide that you don't want?

      Most binary packages are compiled with all available options for precisely the opposite reason that you give.

      -----
      There are no 'magic' or special optimizations to gain from compiling with custom optimizations. gcc -O2 gives 99% of the speed you will get.
      -----
      You're right. Mostly. But tell me why Firefox 0.8 refuses to start on my K6-3 400 when it runs happily on my P2 400? Additionally I bet that Firefox 0.8 will run just fine once I build it from source. There is no magic in building single packages from source but if _everything_ is built from source there's a better guarantee on things working.

      --
      +++ATHZ 99:5:80
    2. Re:Always go with binaries: by LordHunter317 · · Score: 1

      Most binary packages are compiled with all available options for precisely the opposite reason that you give.
      I cited a specific example, Debian. Even in a source-based world, packages where options have to be compiled in are usually all or nothing anyway -- there's usually very few options that can only be compiled in, and not as a shared library or a dynamically-loaded one. For most packages where this isn't the case, Debian provides multiple versions for all the common combinations of potential options.

      You're right. Mostly. But tell me why Firefox 0.8 refuses to start on my K6-3 400 when it runs happily on my P2 400?
      Could be any number of things. Assuming the package was compiled wrong based on that one piece of information is stupid, as is making an assumption baed on that little aomount of information.

      There is no magic in building single packages from source but if _everything_ is built from source there's a better guarantee on things working.
      Everything is always compiled form source, just not necessarily by you. I'd love to see you expand on this in an attempt to explain how you compiling everything from source guarantees more stability. Unless you're auditing all the source before you're compiling it, it doesn't, unless you know something I don't.

    3. Re:Always go with binaries: by maximilln · · Score: 1

      -----
      I cited a specific example, Debian
      -----
      What option would you enable in building from source that Debian doesn't enable? You're mudge with source installation was needing to recompile to remove something that you don't want. AFAIK, Debian packages (and most RPMSs) are typically built with just about everything. If you don't want an option you'll still need to recompile.

      -----
      Could be any number of things
      -----
      You're pontificating. I'll post it in my journal when Firefox starts just fine after I build it from source.

      -----
      Everything is always compiled form source, just not necessarily by you. I'd love to see you expand on this in an attempt to explain how you compiling everything from source guarantees more stability
      -----
      The stability guarantee is increased by the hardware matching if _every_ library on the system has been built from source. If someone else compiled it they may have been using a different glibc or a different kernel. Case in point: there is no package for the Atheros drivers or the ndiswrapper for Centrino. I have to build those myself. The Atheros drivers (built by me) cause my Debian kernel (built by them), to upchuck on occasion. Another case in point: In Deb 3.0, kernel 2.4.21, with Xf86 4.2.0 the stock radeon drivers would cause Xf86 to lock the system when starting in 1600x1200. All other screen modes worked fine. Compiling the kernel's radeon.o and Xf86's radeon.o from gatos or dri fixed this problem. Another case in point: There is no .deb for mplayer (at least not from Debian). If I built MPlayer from source on my Debian system it would still segfault when playing my DVDs on occaision. MPlayer will loop through Ghost in the Shell all night long on my LFS.

      Perfect examples illustrating situations where sometimes it's not just the app, sometimes it's not just the driver, sometimes it's not just the compiler... Sometimes it's just that the whole thing needs to be in proper alignment to get flawless stability.

      --
      +++ATHZ 99:5:80
    4. Re:Always go with binaries: by LordHunter317 · · Score: 1

      What option would you enable in building from source that Debian doesn't enable? You're mudge with source installation was needing to recompile to remove something that you don't want. AFAIK, Debian packages (and most RPMSs) are typically built with just about everything. If you don't want an option you'll still need to recompile.
      This shows you didn't read my reply very well. You asked about binaries including packages that werent' kitchen sink, and my reply was (and still is): Go look at debian, very closely. Start with like the postfix pacakges, and see how they offer options (even mutually exclusive ones), without requring a user to take the kitchen sink.



      You're pontificating. I'll post it in my journal when Firefox starts just fine after I build it from source.
      No, it just shows I'm not dumb enough to troubleshoot based on such little information. For all I know your RAM is failing.



      The stability guarantee is increased by the hardware matching if _every_ library on the system has been built from source. If someone else compiled it they may have been using a different glibc or a different kernel.
      Differing Glibc doesn't matter as long as it was compiled against an older version in the same series (i.e., 2.1 is upwards compatible to 2.3, but you can't run code compiled against 2.3 on 2.1). The exception of course, is when your glibc is heavily patched.
      The kernel doesn't matter at all unless you're talking about kernel modules.



      Case in point: there is no package for the Atheros drivers or the ndiswrapper for Centrino. I have to build those myself. The Atheros drivers (built by me) cause my Debian kernel (built by them), to upchuck on occasion.
      You still haven't given enough information here to explain why. What version of the drivers? Which debian kernel? It could still be any number of things, and you still haven't given sufficent information for anyone to determine your problem. The same with your other examples: its a known fact that the Radeon DRI module shipped with XFree86 4.2 is buggy as all-hell. Don't blame the distribution for the fault of the software writers. As for your mplayer build, for all I know you build the program wrong.



      Perfect examples illustrating situations where sometimes it's not just the app, sometimes it's not just the driver, sometimes it's not just the compiler... Sometimes it's just that the whole thing needs to be in proper alignment to get flawless stability.
      And compiling on your hardware doesn't put things in 'proper alignment'. How stupid can you possibly be? This is all a configuration management issues, and all relatively straightforward ones (even if coming up with the optimal solution is difficult). If I compile the exact code on two different sets of hardware, but using the exact same software, I'd had better damn well come out with the same generated code, or I have a bug in my hardware, or potentially my toolchain. Remember, this is all binary -- 1's and 0's. The hardware compiled on has no magic here, it just runs code. It only matters if the hardware is buggy, and doesn't run the code correctly, or the program making the code (Read compiler) is buggy, and doesn't generate the code correctly in all cases (which can occasionally be hardware dependent).

    5. Re:Always go with binaries: by maximilln · · Score: 1

      -----
      Start with like the postfix pacakges, and see how they offer options (even mutually exclusive ones), without requring a user to take the kitchen sink.
      -----
      All done in .conf files after compilation and just as easy to do with source packages. If you're paranoid about --enable-with options you're better off building from source so that you know which --enable-with options might be an issue.

      -----
      For all I know your RAM is failing
      -----
      Or you just don't know. Using binary packages isn't going to help you know anything more.

      -----
      for all I know you build the program wrong.
      -----
      Or you just don't know. I use the same ./configure options to build MPlayer every time. On Debian it will occaisionally segfault. On LFS it doesn't. The problem may be in libdvdread. That's more reason to build those from source rather than use prepackaged binaries.

      -----
      How stupid can you possibly be?
      -----
      The existence of idiosyncracies between binaries compiled for my architecture and packages compiled on my machine does not make me stupid.

      -----
      This is all a configuration management issues
      -----
      The binary package maintainers can't produce Makefiles that work for the majority of a target audience AND account for each individual user's specific hardware configuration. Except for select kernel packages (which are necessary) the "one-size-fits-all" approach will always result in a few problems.

      -----
      If I compile the exact code on two different sets of hardware, but using the exact same software, I'd had better damn well come out with the same generated code,
      -----
      If you compile source for i386 and the same source for m68k using gcc-3.3.1 linked to glibc-2.3.2 on both machines running the 2.4.24 kernel I hope you don't come up with the same generated code. The difference is more subtle for Pentium vs. AMD but it still exists. The difference is even more subtle for the same processor with different chipsets but still exists. The difference may still exist with the same processor and chipset using different BIOS revisions.

      -----
      or I have a bug in my hardware, or potentially my toolchain
      -----
      VIA doesn't consider the ide-scsi emulation in their chipset to be a bug but it sure wreaks havoc with UDMA. I haven't seen this become a big problem under Linux but Win2k sure took a long time to install using INT13h calls to the hard drive.

      --
      +++ATHZ 99:5:80
    6. Re:Always go with binaries: by LordHunter317 · · Score: 1

      Or you just don't know. Using binary packages isn't going to help you know anything more.
      Of course I don't know, because I already told you (and I'll make this bold, since you have a serious reading comp. problem) You didn't give me sufficent information to tell me why.

      Or you just don't know. I use the same ./configure options to build MPlayer every time. On Debian it will occaisionally segfault. On LFS it doesn't. The problem may be in libdvdread. That's more reason to build those from source rather than use prepackaged binaries.
      You still haven't given enough information. What options? What versions? What version of GCC? What version of GLIBC? I seriously doubt things were 100% the same. Determining what was different will probably determine what the cause was. You still havne't given solid proof to why building from source is better, just ancedotal evidence, that can be used to disprove your point, provided you give sufficent amounts of it.

      The binary package maintainers can't produce Makefiles that work for the majority of a target audience AND account for each individual user's specific hardware configuration. Except for select kernel packages (which are necessary) the "one-size-fits-all" approach will always result in a few problems.
      Yes they can. Show me a case in which they can't, and how it matters. I bet you a nickle its just a matter of packaging correctly. You assume that binary means a one-size-fits-all approach. It doesn't, at all, provided the packakge mantainers take the time to do their job correctly.

      If you compile source for i386 and the same source for m68k using gcc-3.3.1 linked to glibc-2.3.2 on both machines running the 2.4.24 kernel I hope you don't come up with the same generated code.
      The fact that you dig down to pointing at different architectures shows that you're grasping for straws. Of course its going to be different for different architectures. How fucking dumb are you?

      The difference is more subtle for Pentium vs. AMD but it still exists. The difference is even more subtle for the same processor with different chipsets but still exists.
      These differences are touched by on < 5% of the code in the world. And the only really differences are in what SIMD sets each processor supports. The rest is how to get optimal performance out of both processors, but that's not as big as people think.

      VIA doesn't consider the ide-scsi emulation in their chipset to be a bug but it sure wreaks havoc with UDMA. I haven't seen this become a big problem under Linux but Win2k sure took a long time to install using INT13h calls to the hard drive.
      And this is relevant how so, to what we are talking about?

    7. Re:Always go with binaries: by maximilln · · Score: 1

      -----
      These differences are touched by on 5% of the code in the world
      -----
      That would be the 5% of the code that causes headaches for 95% of the programmers. That would be the 5% of the code that requires building from source over prepackaged binaries.

      Optimization isn't about squeezing out the last 0.1% of performance. This is about program stability. It takes only one bad instruction in over a billion assembler commands to cause "Abnormal exit" "Program Terminated" or "Segmentation fault".

      I'm not trying to pull you away from binary packages. You were pretty hot about saying that there's no additional performance or stability in building from source. That bug that's in 5% of the code says you're wrong.

      --
      +++ATHZ 99:5:80
    8. Re:Always go with binaries: by LordHunter317 · · Score: 1

      That would be the 5% of the code that causes headaches for 95% of the programmers. That would be the 5% of the code that requires building from source over prepackaged binaries.


      You're still wrong. If compiling software for the same architecture gives different results on different hardware, then something is terribly wrong. You can't argue that.

      Optimization isn't about squeezing out the last 0.1% of performance. This is about program stability.
      Bullshit. It it was about stability, it would be called Stablization not Optimization. Damn you're dumb.



      I'm not trying to pull you away from binary packages. You were pretty hot about saying that there's no additional performance or stability in building from source. That bug that's in 5% of the code says you're wrong.
      No it doesn't. All it says is that some programmer made a mistake. Compiling from source as opposed to using a binary package isn't goign to make that bug go away. The only extra risk added is that the packager makes a mistake -- but you have that potential risk if oyu don't compile everythign yourself anyway (i.e., using Gentoo still exposes you to that risk, and even potentially LFS, if you take the instructions as gospel).

    9. Re:Always go with binaries: by frobisch · · Score: 1

      The firefox linux package from the mozilla.org website is for i686 compiled, and I think for the K6 you have to get a i586 build,
      I use this build for pentium class cpu's and hope fred is trustable :)

    10. Re:Always go with binaries: by maximilln · · Score: 1

      -----
      You're still wrong. If compiling software for the same architecture gives different results on different hardware, then something is terribly wrong. You can't argue that
      -----
      I guess we need to define "architecture" and "hardware".

      Architecture is what you'll find in the kernel source tree. arm, i386, m68k, Sun, HPPA, etc. Hardware is what you'll find in kernel modules. Chipset patches, ide bus patches, pci bus patches, etc.

      Consider the following situation: System A is used to produce generic package binaries for distribution. System B and C have the same architecture but different hardware. Package 1, 2, and 3 are installed on both systems. Package 3 uses libraries included from 2 and Package 2 uses libraries included from Package 1. Developer's lists are full of occurences where upgrading Package 2 on both systems has resulted in Package 3 no longer functioning properly on System B yet still functioning properly on System C. It happens and it drives the package maintainers crazy when they need to go digging through the Makefiles of package 2 and find nothing wrong. Then they start checking the Makefile for Package 1 and find out that some obscure argument has far-reaching consequences.

      --
      +++ATHZ 99:5:80
    11. Re:Always go with binaries: by LordHunter317 · · Score: 1

      No, it isn't. You're giving poor thereotical examples to problesm that don't occur like that. Usually, the kind of issues you are citing are hardware-independent software configuration issues, caused by external package 4 you forgot to mention, that's on C and not on B.
      Get off it already. You're inablity to actaully know what you're talking about or cite real world examples makes you look more foolish.

    12. Re:Always go with binaries: by ookaze · · Score: 1

      I compile from source (with my own packaging system based on nALFS and installwatch), and I can not agree with all of what you say.

      Building from sources makes it easier to change an option, and you do NOT need to recompile everything that depends on it. I know, I do it all the time. At worst, you may need to restart some servers that depend on some libs (like when you update openssl).

      You are wrong when you say that a source-based distribution is inefficient, because many people can have many different options for the same package, and one binary can not bear all the choices. I use LVM, simpleinit-msb, LDAP for users and other things, a powerful mailing server with antispam and all, .... Except source based distributions, no one is able to deliver LVM, and it is old technology. There is a reason. Redhat tried and it didn't work. A LOT of common problems a lot of Linux users have (like slow boot), I just do not have them, because of this powerful system I developed, and because I can control everything with a fine grain.

      I compile everything with athlon-mp on my bi-athlon workstation (a bi Athlon MP 2200+), everything with i386 on my firewall box (a Pentium P75), everything with athlon-xp on my other box (which have an old Athlon 500).
      Why should have to cripple my main workstation ? And I never had one problem with march optimisation (I use -O2 too). I have more than a thousand packages installed on these systems, everything is automated, except the changing of version numbers of packages.

      Your point of the patched binary is stupid really. Even on my P75 (32 MB of memory), which is pretty slow to compile, I would have the patch compiled way before a patched binary appear. The reason is simple : the patch is always available as source first (hey, it's a patch). And a binary patch is always at best several hours away.

      Yes management issues are in our hand. But there are tools to deal with it. I agree that it's time consuming when you start, but after that, you have sth more powerful than any distro. I use nALFS and installwatch basically (with some LFS scripts, like nuke).

      As for the support, it is done by the authors of software, in a true free software spirit. When I have a package that do not compile, I do a fast analysis (well, because I can, not everyone can, I agree), and I make a bug report or go on the ML. I always have a fix or a workaround within 24 hours. I do not spend 3 hours searching why sth does not compile, when it used to compile before.
      As all is automated, I do not spend time monitoring anything. I change my package versions in my XML, launch nALFS, select what to install, and it does the rest. Well, sometimes, the download locations or the format of the package can change, so I may have to change that too.

    13. Re:Always go with binaries: by maximilln · · Score: 1

      I did cite real world examples. You took the "how should I know" (with hand waving) approach. I thought perhaps you were being unreasonable due to your unfamiliarity with the particular hardware configuration that I have.

      Now I know you're being unreasonable because you're bored, irritable, and I'm the only one feeding you.

      --
      +++ATHZ 99:5:80
    14. Re:Always go with binaries: by LordHunter317 · · Score: 1

      Building from sources makes it easier to change an option, and you do NOT need to recompile everything that depends on it. I know, I do it all the time. At worst, you may need to restart some servers that depend on some libs (like when you update openssl).
      It totally depends on the software in question. BTW, you will have to recompile tons of te things the next time OpenSSL does a ABI-breaking release (which happens nearly every non-bugfix release), as the old apps will simply not be able to use the new library. However, this is irrelevant, as I was talking about recompiling software to remove compiled-in features, which then requires rebuilds of all its dependents.

      You are wrong when you say that a source-based distribution is inefficient, because many people can have many different options for the same package, and one binary can not bear all the choices.
      You misunderstand why I say its inefficent. Given the same piece of software, installing from binary is more efficent because there is less duplication of work, assuming more than one person installs it. That's undisputable.
      And yes, binaries can provide the same amount of choices, its just a matter of packaging. Proper packaging solves all the problems. Eventually, there is a thereotical point where the complexity of the binary solution is more than that of the source one, but I haven't seen a case where that's true yet. Doesn't mean it doesn't exist, however.

      Your point of the patched binary is stupid really. Even on my P75 (32 MB of memory), which is pretty slow to compile, I would have the patch compiled way before a patched binary appear. The reason is simple : the patch is always available as source first (hey, it's a patch).
      Given the use of a distribution model, and using the same process to verify a patch, source patching from a distribution takes more time, as both the source and binary have to compile, install and test the patch, but the end-users of a source have to complete the compile and install steps again. Users who don't use a distribution don't count, or who only do it on one machine. They are also not a interesting CM problem either.

      I compile everything with athlon-mp on my bi-athlon workstation (a bi Athlon MP 2200+), everything with i386 on my firewall box (a Pentium P75), everything with athlon-xp on my other box (which have an old Athlon 500).
      Why should have to cripple my main workstation ?

      You're not. The fact you make that statement show you simp[y don't know what you're talking about. I'm not even going to discuss this, but look up I/O-bound vs. CPU-bound tasks.

      As for the support, it is done by the authors of software, in a true free software spirit.
      Corprations don't like that. They want paid support, with a legal contract, and libality, so when something breaks, they can sue someone.

      As for the support, it is done by the authors of software, in a true free software spirit. When I have a package that do not compile, I do a fast analysis (well, because I can, not everyone can, I agree), and I make a bug report or go on the ML. I always have a fix or a workaround within 24 hours. I do not spend 3 hours searching why sth does not compile, when it used to compile before.
      As all is automated, I do not spend time monitoring anything. I change my package versions in my XML, launch nALFS, select what to install, and it does the rest. Well, sometimes, the download locations or the format of the package can change, so I may have to change that too.

      These two statements side by side prove your system isn't automated. Idiot.

    15. Re:Always go with binaries: by LordHunter317 · · Score: 1

      I did cite real world examples. You took the "how should I know" (with hand waving) approach. I thought perhaps you were being unreasonable due to your unfamiliarity with the particular hardware configuration that I have.
      No you haven't. You have yet to show me a bug report citing cases from any software projects. or a mailing-list e-mail. The cases you've given about your own system, haven't been given with sufficent information for me to make any determination why. I've told you to give me more information, and you refuse -- because you know I'm gonna shatter your poor source-bassed world, and indisputably show that binaries are superior in nearly all cases. But, since you don't wnat that, you won't give me sufficent data to actually do anything. You just ignore me when I evne ask directed questions: like what version of kernel and GLIBC. Fucking idiot. Go home and have fun compiling, and enjoy masterbating in your mother's basement.

  126. Build packages from source by lewiz · · Score: 1

    So far I've read a lot of ``only build from source if the packages don't suit.'' I agree with this entirely.

    If, however, there is some major benefit to building from source (features, bugs, etc.) then you can still create a package of your compiled source. That way you still have the ease of maintenance.

  127. Both are good, but it depends on the situation by vivin · · Score: 1

    The ports system on FreeBSD, for example, makes it very easy to install programs. However, just a couple of days ago actually, I had uninstalled something that some other installation required. FreeBSD would say that the port was installed, but it wasn't able to find the shared libraries. Even after I tried installing the same port, it wouldn't find the libs. I was able to fix it only after I installed the uninstalled program from source.

    Building from packages is easier and it also provides a convenient way to keep track of everything you have installed. Also, you CAN have control over the installation process. In the FreeBSD ports system for example, you can pass flags to the make process. But building from source is sometimes necessary IMHO (like in the situation I ran into).

    The other main advantage (at least with FreeBSD ports) is that FreeBSD automatically goes and fetches dependencies for you. If you are building from source, you either have to get all the dependencies beforehand or you will find out what you need while building.

    --
    Vivin Suresh Paliath
    http://vivin.net

    I like
  128. Mostly packages, but I sometimes roll my own. by meldroc · · Score: 1

    I'm a lazy bastard, and I find that most packages don't need uber-performance (who's gonna notice if ls takes 10 ms to run instead of 15). I also think most packages won't get much mileage from compilation tweaks more complicated than gcc -O2, so for the most part I download precompiled packages.

    I use Debian, and I understand other package-based distros do the same thing. For me, apt-get foo to fetch precompiled packages is good enough 99% of the time. If I'm debugging a package, or am curious, or think I might get better performance from rolling my own, it's as easy as apt-get -b source foo (automagically downloads original upstream source, diffs to make the Debian package, meta info; then uncompresses & patches the source tree; then builds a source package on the spot.) Heck, Debian has some tools specifically for building kernel debs, since the kernel is something many people want to build themselves (I hate distros' Christmas tree kernels.)

    IOW, I don't have to pull a Gentoo and build from source all the time, because I don't find it necessary, but it's quite easy to build from source when I want.

    --

    Meldroc, Waster of Electrons
    1. Re:Mostly packages, but I sometimes roll my own. by meldroc · · Score: 1

      Just wanted to add that for anyone who's the least bit non-technical, or who doesn't have the time to constantly tinker, just use packages. They're easier, and are perfectly good 99.99% of the time.

      --

      Meldroc, Waster of Electrons
  129. I manage 20 Linux servers! here's what I do. by MrJerryNormandinSir · · Score: 1

    The hardware I use is the same across the board,Dell Poweredge 6650 boxes. I use the Distribulator to manage all 20 boxen. I do source compile on one box and then push the code up to the rest of the boxes with the distribulator.

  130. Usability by Anonymous Coward · · Score: 0

    This is all pretty much a non-issue. As long as you'll keep the average end user in the dark with all those source compiles and dependencies, Linux will never truly succeed on the desktop market.

    Sure, you get plenty of control while compiling from source but can you seriously imagine yourself explaining it to Joe-sixpack when he ends up with a bunch of problems and a broken install when all he needs to do under Windows is to find a setup.exe or install.exe and everything works most of the time?

    Packages are an improvement for usability, but you still have to get dependant libraries elsewhere most of the time. I think i speak for the average user when i say most people don't want to install 6 different packages only so they can install the new app they want to try.

    Ease of use for the end user, people, ease of use! Sure, it all works fine for your mom when you install her a workstation with the things she needs at the moment but the second she needs something else and you're not around to install it for her, she's lost.

  131. Re:Gentoo is not good for everybody... Distcc is by Anonymous Coward · · Score: 0

    So you put Distcc on all your servers, compile times shrink. Actually I find managing gentoo servers much easier. I am very excited and we managed over a dozen machine at one place.

  132. binary packages by Anonymous Coward · · Score: 0

    Binary packages make it a lot easier to keep track of which files are associated with which packages. Back in the old days, every time I compiled and installed a new piece of software, I installed it in /usr/local/ so that I could easily find (and, if necessary, remove) all of the files associated with it.

    The problem with this is that you end up with /usr/local/{foo,bar,baz}/{bin,lib,include} -i.e. separate bin, include, lib, etc. directories for each piece of software. You've got to make sure that you (and possibly everyone else) have all of those directories in your path, and that you specify the right -I options when you're compiling, the right -L options when you're linking, and so on. If there are shared libraries in there, you end up having to set LD_LIBRARY_PATH correctly in your shell rc files, your init scripts, your cron jobs, etc. or stuff won't run.

    With RPM, I don't have to worry about this. Everything can just get installed in a single set of directories (most commonly, /usr/*). If I later remove the package, RPM will find all of the files that it installed and delete them. If I upgrade to a later version of the package, any obsolete files will get removed. On top of that, if there are any other packages that depend on what I'm deleting or upgrading, I'll know what else I need to recompile or upgrade to avoid having things break.

    When I first started using RPM, this was really frustrating, because I didn't really understand how the system worked or how to fix broken dependencies, but as I've become more familiar with the system, I've come to really like it.

    Obviously, the other advantage of packages is that, if you're maintaining a large number of systems, you compile stuff once and install it N times. That way, you end up with the same configuration everywhere, which if done properly means less time debugging wierd problems on individual systems and more time doing things that have benefits across the board.

  133. Optimization Scmotimization. by Vellmont · · Score: 1

    Are you really running an environment where an extra 1% is going to affect anything? Most of the time you're probbably not even going to get that much. Unless a package isn't provided in your distribution, don't bother compiling it yourself. While some people like the "tough guy macho factor" of compiling everything from source, there's usually little reason to do so.

    Your time is better spent on properly configuring your server to be secure than screwing around optimizing everything to squeeze out a last 2% of performance out of a webserver. If you compile everything yourself you lose the ability for your package providers to maintain the packages. Do you really enjoy going and getting new kernel source, compiling it, and installing it every time there's a security patch?

    Try to remember that you only have a finite amount of time. You sound like you already know how to compile apps, so it's not like you're learning much new. Time spent optimizing and controling is time lost that you could be doing something more productive.

    --
    AccountKiller
  134. apt-build by _aa_ · · Score: 2, Informative

    apt-build provides automatic source based package installation in debian. Not every package offers a source package, however. This is something I'd like to see expanded in debian.

    Also note the aptly named, though apparently dead project www.debtoo.org (google cache) which is based on apt-build. Don't let this stop you though, 'apt-get install apt-build' and give it a try.

    1. Re:apt-build by eldacan · · Score: 1

      Not every package offers a source package, however.

      Do you mean packages in the official debian distributions? Or third-party packages for which of course the source may not be available?

    2. Re:apt-build by _aa_ · · Score: 1

      Well, I think you'll find that most packages that would benefit from optimization are available. Many official packages might not benefit from a source package, such as; perl, php, and python scripts, java and other WORA applications, and data-file packages such as extra themes and text files. I'm not aware of any debian rules requiring a package maintainer to include a source package, but perhaps a package maintainer to clarify. As far as third party packages, they don't even have to comply to the DFSG, so the availablity of source packages is at the whim of the third party package maintainer.

  135. Depends on the situation.... by Anonymous Coward · · Score: 0

    If I need a package right away, I would oftern prefer to build from package, but other then that, building from source is always better for me. It also depends on the hardware I have available what what's available that supports it.

  136. Depends by taradfong · · Score: 1

    Even for personal use, I used to be a die-hard source-level builder.

    But then one day I had to upgrade Apache. My target system is so old that none of the RPM's work, so I *had* to do it by hand else upset the whole thing with a new distro install.

    Well, building Apache is no big deal. But Apache out of the chute with its stock source build is *not* the Apache you know and love. I had to also build ModPerl, OpenSSL and all the other packages it needs *in the right order* because of some problem with the build script. Suffice it to say, I blew the better part of a day on it.

    So really, in some cases you must resist the die-hard urge to do it yourself. Hard drive space is basically free. Rarely will you really notice the performance. Your time is expensive and better spent.

    And most of all, you don't have to face the dreadful feeling that happens when you realize you have to do a painful install all over again and can't remember all the weird tricky hacks you had to do.

    --
    Does it hurt to hear them lying? Was this the only world you had?
  137. Source for critical apps, packages for other.. by morelife · · Score: 1

    Once you get critical with the applications you run, you'll find that most packages, although convenient, seldom have the configure options that you need.

    These apps should be built from source so you have total control, but unfortunately they require lots of care and feeding.

    Install everything else from packages, when and if you can live with the defaults, and minimal configuration on your part.

    System administration takes time, and resourcefulness, but there no shortcuts when you're talking about custom applications such as proxies, web applications, and many others..

  138. Not always the case by Anonymous Coward · · Score: 5, Interesting

    Sometimes the exact opposite is true, especially in terms of "community support". For instance, mod_perl, which for some reason Red Hat decided to ship a very early version. The typical response on the mailing lists for mod_perl or any other alpha/beta package RH included usually goes "try it from source, then email us" (that's after someone submits a reasonably complete bug report).

    Let's not forget the GCC fiasco and probably dozens of other examples where RH decided to "lead the pack" in terms of version numbers but not stability.

    Of course, then there's Debian woody, living in circa-2001 land.

    1. Re:Not always the case by jd142 · · Score: 2, Insightful

      Ah, but you see you're asking for support from the mod_perl list. If you are using the package from Red Hat, you should try Red Hat support or Red Hat specific mailing lists.

    2. Re:Not always the case by macdaddy · · Score: 2, Funny

      Debian made it into the 21st century? No way!

  139. Woo Source! by SuperChuck69 · · Score: 1
    Having run many distributions personally, I've always found that the source-built gentoo and slackware systems seemed the most "together". Compiled distros always seemed to have the occasional thing that didn't work or didn't seem quite right. Maybe it's just that source distros are typically stick-built, so you don't have a bunch of crap floating around the system.

    On the other hand, my source-oriented gentoo systems at home are kind of haphazard. The software versions are variable, packages are variable, etc. On servers, you probably want everything to be the same. That's probably easier to do using a set of Red Hat CDs. Unless you're just anal, always a possibility.

    --
    :wq
  140. On building from source by Kourino · · Score: 4, Interesting

    Optimization? Control?

    Man, what is this, Gentoo?

    Any sane distributor these days builds binary package with reasonable optimizations that won't break across architecture submodels, and occasionally releases binaries targetting submodels (e.g. PentiumPro-specific packages). On many machines, for many workloads, however, the model-specific optimizations just aren't that helpful. Obvious exceptions are floating point math on most platforms (especially x86, where x87 math code is a dog and should be replaced with SSE code if possible) and - I'm told - really slow hardware. (I'll be able to test that once I get these Indys running GNU/Linux.) In my experience, Debian hasn't really felt any slower than my LFS systems for personal use.

    So, I'll say this: if you have enough time to build everything you're using, do some careful speed comparisons between your self-built packages and the vendor's binaries. If there's really a significant speed increase, and you need that increase, source is the only way to go for the packages that need the speed increase. Otherwise, it's probably not worth your time.

    Unless whatever you're doing is extremely security critical, you can probably deal with the fact that server app foo has features bar and baz installed that you won't use. If you can't, you're probably auditing the source of everything you use anyway, and that doesn't sound like the case, so "control" probably isn't a real issue here either. Control can be found in config files as well as in the configure script.

    People say, "but package dependencies suck!" Well, yes, rpm (the program) isn't built to deal with dependencies that gracefully. If it annoys you that much, go install apt-rpm or something, or even Debian (gods forbid). Package management isn't rocket science.

    1. Re:On building from source by jmhodges · · Score: 1

      For some apps, the gained speed is huge. A nice report on the speed gains has been written up. It's really remarkable.

    2. Re:On building from source by Anonymous Coward · · Score: 0

      I Use gentoo not because of the huge optimizations but rather for easy management. For my apaches/php I need non open source sybase support. In just about every disro I have to manually compile at least PHP, with gentoo I can change a row in the ebuild and still use the preffered package management system on that distro.

      I'm very pedantic in doing everything the right way. If I use redhat I just must have a precompiled rpm, If I use gentoo I always install using an ebuild (If there is no ebuild I make one myself).

      I have come to the conclusion that if I have over 10 different servers to take care of I need to be very pedantic if I don't want to remember every little depenancy in my head.

    3. Re:On building from source by Anonymous Coward · · Score: 0

      Why the hell would you want to put Linux on an Indy, IRIX really isn't that bad if you try it (I actually prefer it). Linux is still brain-damaged in the way it handles things in sgi machines, and there is little to no graphics support (ony works with the XL graphics and even then it is SLOW due to unaccelerated graphics). Best to avoid Linux for the Indy unless you are planning on helping the Linux-MIPS delelopers out. Not to mention MIPS CPUs are much more responsive to good optimization than most CPUs, which is something GCC really sucks at. Give a try on IRIX using MipsPro and gcc and in most situations (some C++ things are slow in MipsPro 7.3 for some reason) the gcc build will much slower.

  141. Depends upon your hardware. . . by bplipschitz · · Score: 2, Insightful

    this is coming entirely from a *BSD perspective [especially FreeBSD], but the older and slower your hardware, the more you might depend upon packages, just because they take less time to install.

    That said, I routinely build stuff from source on a Pentium Pro 200 MHz dual CPU machine at work. It's not our main server, so the performance hit is never noticed.

    Portupgrade is a absolute must on this machine, as we have all kinds of software running on it. Without portupgrade, I'm sure it would be a nightmare.

    In the end, it's whatever works best in your situation, and to have this as 'news' on slashdot seem really freakin' ridiculous.

  142. source build for customizing by bl8n8r · · Score: 1

    Only reason I can think to build from source is for customizing the application. It is nice to be able to strip unwanted commands from an ftp service, or patch a bugfix quickly. Dependancies can be a pain, but usually only if you aren't doing it right. rpmdrake and gnorpm are maturing well making rpm installs less furcated.

    --
    boycott slashdot February 10th - 17th check out: altSlashdot.org
  143. my $0.02... by Raxxon · · Score: 3, Informative

    For quite a while I used RedHat and did enjoy the ease that package management gave to a system. For a workstation equivilant, I still agree with this solution in general. However having run through Linux From Scratch (www.linuxfromscratch.org) I see that on a server-class machine, there is a TON of unnecessary bloat. Why should it take a GIG of space , or more, to host just a Web server with MySQL and FTP access? With LFS I can build a specific purpose system and get that footprint down to around 350 to 425mb and that's including the kernel sources being left for recompile and a full compile environment. I've been told that some people can get the same functions stripped down to less than 200mb (this is all of course NOT counting your SQL databases).

    At this point there needs to be a big fork somewhere to divource the Linux Desktop from the Linux Server. Linux will do both, but one should not cause issues for the other. If a desktop user wants to run a FTP server, they should be able to. If the server admin wants to have a mail client (pine) or an IRC client (BitchX) installed for accessing information, he should be able to. But these features should be implemented with that specifically in mind. Not installing half a million libs because *maybe* the server admin wants to install addon XYZ for pine and it needs this lib while pine itself doesn't...

  144. Can I borrow your CRAY (or) I'm too old to wait. by Anonymous Coward · · Score: 0

    Use to build from SRC all the time, heck I would even read it before compiling, now I'm too old to wait on a compile.
    So unless someone wants to loan out their CRAY so 45meg compiles take 45sec, not 4hr45min I just don't have the time to wait. (I would imagine your prof. may be in the same boat)
    But I love the fact that I can get the source if needed.

    Package dependencies are a pain, there is no 2 ways about it. Can y'all figure out a way to package the .o files and then just link with whatever packages are needed? That would be the best solution. (Of course there would be some src files that would have to be compiled but to compile everything is just overkill)

    This may be the reason I switched to Java. No lib dependency issues, no need to compile for a target platform, or config for specific shared libraries. But I do miss the RAW power of a good 'C' app. :)

    Oh well, there's more of my life gone. ;)
    -tx

  145. ccache distcc - and spending less time compiling by ITO · · Score: 1

    I prefer building from source. And use ccache ( http://ccache.samba.org ) Together with distcc ( http://distcc.samba.org ) this rocks !

  146. As a Linux "lite weight" .... by Saeed+al-Sahaf · · Score: 1

    As a Linux "lite weight" I can honestly say that I have found installing from source not a bit more complex than packages, packages are just quicked for default installs. I prefer source because it's really not that hard, and I can play with the configuration. It seems to me to almost not even be a question.

    --
    "Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
  147. Use RPM's or DEB's if at all possible. by BenRussoUSA · · Score: 5, Insightful

    I've been a UNIX sys-admin for about a decade.
    My advice is that for a workstation that is managed by an individual you can let the admin do whatever they want, but for any server that has to be stable and maintainable you want to stick with a well maintained package repository and try to avoid 3rd party packages and tarballs if possible.

    You have to understand that there is a software stack in most services.
    With the kernel and core libs (like glibc) and such at the bottom of the stack, and applications like Evolution at the top of the stack. In between you can have gdb and openssl and various perl modules (in AMAVIS for example) and you have sasl stuff which may be related to pam and openldap and cyrus or wu.... etc..

    The thing is that even though all of those various pieces of the software stack may be linked against different libraries on the box, the maintainer of the library code may not have a QA group to co-ordinate regression testing and compatability testing before the latest CVS commit is enacted to fix a bug referenced in a CERT alert.

    RedHat and Debian and SUSE and all the others have package repositories, the repository maintainers do an amazingly fantastic job of QA and testing to make sure that new patches don't break your software stack. As an individual you simply can't keep up with that.

    For example the Development team that takes care of OpenSSL doesn't backport their bug fixes and security patches to old versions of the code. They just maintain the latest release version and the current CVS version. If you have an old server running IMAPs and HTTPs and SSH and SMTP/TLS and such, and CERT announces a bug in openssl vX.Y, then the OpenSSL development team will certainly release a patch for the latest version which may be version Z!

    That might cause you to have to upgrade APACHE or wu-IMAP or OpenSSH or Postfix etc... Those things might then have divergent dependencies that would cause you to go and rebuild half a dozen other packages, and so on and so on. Also, do you remember all the magic flags you used for configure and make? Do you have the same environment variables set today that you did the last time you built PostFix? The possibilities for problems are endless. And if you do have a problem you are kind of on your own since your system will be a unique box. Whereas if there is a problem with a standard RedHat or Debian package, then you can always go to the general newsgroups and chances are there are a dozen other "me too" posts with answers already.

    It is much easier to use apt or up2date.

    So, unless you have a very good reason for using a tarball on a production server that requires reliability and security and high availability, then you should stick with packages.

    If you want to build the packages from source, feel free! RedHat and Debian and SuSE make the SOURCE packages available so that you can dig in and read all about'em. I'm sure the Debian team could use a new package maintainer, if you are addicted to compiling and testing things, check them out.

  148. Have your cake AND eat it, too! by tmoertel · · Score: 5, Insightful
    Packages and package managers solve a real problem: Keeping track of software installations, their files, and their interdependencies is hard, hard work. By packaging software and using good, "higher-level", package managers (like yum and apt-get) you can delegate most of this problem to the computer. That's a smart move.

    It's still a smart move if you're building from source. Just package your source. Then you can build the sources under the control of a package manager (like RPM), and install the resulting packages. You get the full benefits of build-from-scratch and the full benefits of using packages.

    This is exactly the approach I use. In fact, I'm a bit more strict about it: My policy is that I don't install any software that isn't packaged. If I need to install something that isn't packaged, I'll package it first. If I don't like the way a packager built an already existing package, I'll repackage it.

    The bottom line is that creating your own packages (or fixing packages you don't like) is much easier than maintaining a from-scratch, unpackaged installation. Or ten of them.

    To get you started, here a couple of RPM-building references:

    Don't give up the benefits of source. Don't give up the benefits of packaging. Have them both.

    1. Re:Have your cake AND eat it, too! by Hatta · · Score: 1

      Cool, does anyone have analogous links for debs?

      --
      Give me Classic Slashdot or give me death!
    2. Re:Have your cake AND eat it, too! by chriskenrick · · Score: 1
    3. Re:Have your cake AND eat it, too! by cerberusss · · Score: 1
      If I need to install something that isn't packaged, I'll package it first. If I don't like the way a packager built an already existing package, I'll repackage it.

      This is even more work than compiling from source, for which you'll type some commands. Not only do you have to compile, you also have to create a spec file and build a package from it, which is another couple of commands. Then delete the mess it makes while building the package. Again, some commands.

      If there's no package, I compile and install in /opt, then add the software its bin directory to the $PATH if necessary. And if you type ls -l /opt, you can immediately see what software on your system is not packaged.

      --
      8 of 13 people found this answer helpful. Did you?
  149. Many words for you... by Wolfger · · Score: 1

    Gentoo's portage does indeed combine the advantages of compiling from source with the ease of installing a package (actually, it's *easier* IME). But if you're talking about maintaining multiple machines, time might be an issue. Portage doesn't do anything about the amount of time compiling form source takes. For home use: Portage is clearly the best choice. For business use: I would choose RPMs for the amount of time they save.

    1. Re:Many words for you... by Brazilian+Joe · · Score: 3, Insightful

      Actually, you can 'emerge -buildpkg foo' and share packages between machines. if you are managing multiple machines, chances are that you will not have each one with an unique configuration, but only a few profiles.

  150. Personally by retro128 · · Score: 1

    If a working RPM is available I will normally download and install it. However, more often than not, if I want the latest version of software X it will not be available in RPM, so it's at that point I will compile and install. The gripe I have about that is I have to look at ./configure --help and make sure that I have all the options set up that I need. If it's tied to other source trees (OpenSSH seems to be a pretty popular one), this gets really complicated.

    It's even better when you download the newer version and have to remember what options you used to compile originally and get scared of breaking your existing app.

    Or still better, the programmer decided he wanted to use some obscure headers that can only downloaded from a server in Uzbekistan hosted on a staticy dial-up connection, so now it's up to you to track them down and load them in so the damned source will compile. But then after you do this you find out that your headers are outdated and the source is calling on functions that don't exist. Now THAT'S fun.

    Is it any wonder why I tend towards binaries?

    --
    -R
  151. Stow: uninstall from source by cquark · · Score: 3, Informative

    Stow lets you install each package in its own directory (i.e., /opt/pkg-x.y.z), then symlinks them into a unified /usr/local tree. Stow -D pkg-a.b.c removes the symlinks for just that package, letting you do a single package uninstall. You can manage the files on a per-package basis, while users can ignore all the details, as it looks like everything is installed in /usr/local/bin to them. Stow provides a simple solution for building packages from source on any UNIX.

  152. checkinstall is your friend by Dunkirk · · Score: 2, Informative

    I use SuSE (formerly RH), so I'm "into" using RPM. OTOH, I usually only like RPM's that have been built by the distro's creator. (Noteable exception: PackMan RPM's for Xine.) Anything else, I usually compile from source and stick in /usr/local. Checkinstall is what you need here. After configure and make, you ``checkinstall -R'', and it makes an RPM of whatever would be installed with ``make install''. That way you can take it back out very easily.

    --
    Acts 17:28, "For in Him we live, and move, and have our being."
  153. The real issue by Starky · · Score: 4, Informative
    The real issue is whether you feel the time savings you gain from installing packages outweighs the increased performance and your own increased knowledge regarding your computing environment you gain from building from source.


    You can have the best of both worlds with Gentoo. I began using it about a year ago, and I am sold.


    Building from source using Portage is almost as easy as installing a Red Hat package. The community is extremely proactive. (I have only had problems installing or updating a couple of times in the last year, and the problems were remedied within a day or two and the portage trees updated after I submitted a bug report.) And you don't give up variety. The number of ebuilds available in the Portage tree is simply astounding.


    I am even using it on my laptop these days and am extremely pleased that it seems to work well as both a server and desktop distribution.


    Hope this helps :-)

    --
    -- My choice of computing platform is a symbol of my individuality and belief in personal freedom.
    1. Re:The real issue by Anonymous Coward · · Score: 0

      "The real issue is whether you feel the time savings you gain from installing packages outweighs the increased performance and your own increased knowledge regarding your computing environment you gain from building from source."

      -GCC doesn't autovectorize. This means the compiler doesn't know how to turn standard code into MMX/SSE instructions- those optimizations would have to be coded in, by hand. The mmx and sse compiler flags just tell GCC that its ok to use those instructions, if thats whats in the code.
      -Many applications are event driven, or I/O bound, and thus will only obtain trivial speedups from compiler optimizations, and sometimes this may even slow them down.
      -In some cases, aggressive optimization flags can hurt performance on certain architectures. Unrolling loops on the P3/P4 architecture when unecessary (most cases) is a good example of this.

      There are many good reasons to build your system from source. Compiler optimization flags isn't one of them.

    2. Re:The real issue by prockcore · · Score: 1

      The real issue is whether you feel the time savings you gain from installing packages outweighs the increased performance and your own increased knowledge regarding your computing environment you gain from building from source.

      As a programmer, I can say that compiling from source in the name of speed is a placebo.

      Every programmer knows where to look when trying to optimize their code.. and it's never the compiler.

      In fact, in the list of ways to optimize your code, mucking with compiler flags isn't even on the list.

      Using -march=pentium4 isn't going to make your program magically start using mmx extensions. You need to write that by hand, and you really should do a *runtime* check for mmx. This means that it doesn't matter if you compiled your program on a k6, it'll still use mmx or other processor extensions if they are available.

    3. Re:The real issue by B1ackDragon · · Score: 1

      Almost as easy as RPM? I'm a portage user and I love it, its way easier to have it figure out my dependencies for me and go get them too from a centralized source, than to have to go out and search for them on rpmfind or whatever.

      I remember back when I used redhat, I tried updating RPM via RPM, then it didnt work and left my RPM system pretty much borked. And given my limited knowledge of linux at the time, I was left with nothing to do but reinstall. I have never had a problem with portage however, and I don't think I know of anyone who has, other than the it can be tricky to insert a stub for a program that you don't want the newer version of.

      Oh, and I do like the "unmerge" feature as well, I try out a lot of software that I decide I don't like later, and it leaves my system clean and happy.

      --
      The snow doesn't give a soft white damn whom it touches. -- ee cummings
  154. Depends on who is paying. by jellomizer · · Score: 2, Interesting

    If the professor has some sort of grant he may prefer a package because it is quicker to setup and save time so you can be more productive in other areas. If it is some sort of continuing income then you might as well try to incorage recompiling the source because you get more out of it educationally.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  155. But less than 12? by dmccarty · · Score: 2, Funny
    I work with a professor performing research and managing more than ten Linux based servers.

    Is that, like, 11 Linux-based servers?

    --
    Have fun: Join D.N.A. (National Dyslexics Association)
  156. Performance must be tested by ChiralSoftware · · Score: 1
    Have you ever tested the performance difference between a package and something built from source with all the right optimization flags? I would be surprised if there is much of a performance difference, if any. And even if there is a measurable performance difference, how much does that matter in your application? Are these computers so overloaded that a 10% (or even a 50%) difference in application speed will matter? I was just looking at Penguincomputing and a basic dual Opteron server starts at about $2500.

    It seems like computer people tend to think about performance while business people think about reliability.

    ---------------
    Create a WAP server

  157. GCC optimizations by vlad_petric · · Score: 4, Informative
    If you used Intel's C Compiler then yes, it would be worth it (for instance icc does automatic loop vectorization, and different processors have different vector support) - with gcc however the speedups you'd get are minimal (if not inexistent ...).

    icc, btw, is free for non-commercial use on Linux.

    --

    The Raven

  158. Re:Supprt: Naa, that's not true at all. by cbreaker · · Score: 4, Interesting

    No way.

    Usually when one builds from Source, they install it to wherever the original developer has it set to by default. Unless you did some heavy patching, the software will very likely be more "true" to the original software then many packages.

    RPM's for distributions such as RedHat or Fedors often have to move configuration files all over the place to mesh with the OS properly.

    You're more likely to be able to sit down at a strange Linux box and troubleshoot whatever program when it's compiled from source tarballs versus an RPM. Unless of course, you know the RPM, or the RPM doesn't do anything funky.

    Considering the stuff is Open Source, and chances are the programs are not under a paid-for support contract, it's pretty safe to say that BOTH methods would have to be supported "In House." And if not, your support contract could very well support the source compiled versions anyways.

    I choose the Gentoo way. Everything is compiled from source; it's just nice and automated. Almost never have I run into something where the program had to be modified to fit the distribution.

    --
    - It's not the Macs I hate. It's Digg users. -
  159. I use Gentoo. by EduardoFonseca · · Score: 1

    I use Gentoo. Does this tell you anything? :)

  160. This is what I do. by GNUguy · · Score: 1

    First I install via a package, if the service does exactly what I want (90% of the time) then thats the end of it. If there is some kind of tweaking that needs to be done, I un-install the package, download the source and compile it with the option I need/want.

    But overall I go packages first. Also as a side note, I use Debian, and the apt-get package manager makes using packages real sweet, it auto solved dependencies. This is the #1 reason I started using packages. I got tired of having to track down odd libraries and such.

    -Gnu

    --
    A man, a plan, a canal, panama
  161. Anymore, there are only a few... by praedor · · Score: 1

    packages I build from source. Those that do not come prepackaged and kernels. I like to build my own kernel because I like to add a few of the grsecurity features into my kernels, but only some of them, and distros don't seem to incorporate some of the most logical ones (network protections).


    Other than that, it is really a waste of time. KDE and Gnome are just too freakin' big these days to build from source. Anything else is like trying to squeeze one last drop of performance water from a turnip. Little gain for lots of pain.


    --
    In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
  162. Depends on your distribution by MerlynEmrys67 · · Score: 2, Interesting
    I would choose a distribution based on either source/binary packaging. Don't bother fighting your distribution (have the worst of both worlds)

    That said - for a work machine, I prefer binary packages. I just want the damned thing to work, work well, and not futz with it.

    For a hobby/play/research machine - I prefer source packages. I have found there are many compilers out there that will massively outperform GCC, especially when you turn on those crazy optimizations that most binary distributions won't (plus optimize for the EXACT processor I am running on, etc.)

    --
    I have mod points and I am not afraid to use them
  163. Not worth his time??! by seibed · · Score: 1


    Lest ye forget, he did say he was a student working for a professor.

    His time is not worth a whole lot in this case!

  164. Packages are important for redundency by muckdog · · Score: 1

    On my work desktop and at home I run gentoo because I find it easy to maintain and I like the fact that it is optimized to my computer. However in my work experience I believe that it is more reliable to stay with packages epecially if you are running mission critical applications on redundent servers. Part of maintaining redundent servers is keeping them in sync. This allows you to take down one server in a production system to apply a patch or config change and test it to see if it work. If you then perform the same patch or config change on the rest of the server in a redundent cluster you can have high confidence that it will work. (Medium confidence if its windows). If I was to do this with compiling from source there would be more things to track and more red tape is needed to insure that the system comes out the same way. So overall packages, while clumsy, are simpiler and lead to more reliable systems.

  165. Already said by Zapdos · · Score: 1

    With gentoo you can compile your packages from source. The -b flag will build and install the package, the -B flag will simply build the package as long as all dependencies are installed. You need only 1 build machine. You can roll your package(s) out to the other machines via a simple script. You can taylor your make.conf file to build the system you want.

    Gentoo now has glsa-check, this command can be used to automatically update the system with security-related updates.

    I hate dependency hell. With packages I had to install arts in order to install SDL. In order to install arts I had to install kde-libs. In order to install kde-libs I had to install qt. Is arts a requirement for SDL? No, this was decided by the package maintainer at compile time. This is one of the problems with one size fits all packages.

  166. All these gentoo comments by tannhaus · · Score: 1

    This guy asked if he should use binary packages or build from source....not what distribution he should use. I guess gentoo folks think theirs is the only distribution that you can compile from source for *smirk*

    The big problem I had with gentoo is the ports. Some of the packages are outdated by weeks...if not months. If I wanted outdated ports, I'd install FreeBSD. If I'm going to go through the trouble to compile something from source, I want shiny and new. I want an ebuild within a few days of the source being released. I DON'T want to sit there and try to write my own ebuild. If THAT is the case then I can use an RPM distribution and checkinstall EASIER. ./configure --with-my-options
    make
    checkinstall

    wallah....my package, built from source, and installed.

    So clearly this isn't an issue of whether he should use Redhat/Debian/Mandrake/whatever and slackware...oh, ummm...I mean Gentoo. This is an issue of just what he said: should he use binary packages on the distro he has at work, or should he use source packages.

    1. Re:All these gentoo comments by metamatic · · Score: 1

      99% of the time you can take the ebuild for foo-3.2.5, copy it to foo-3.2.6.ebuild, edit the one line which says what version it builds, and it'll work. There's no need to wait for the Gentoo maintainers to do it for you.

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    2. Re:All these gentoo comments by tannhaus · · Score: 1

      Well, that doesn't always work. In November I waited a week for them to update the ebuild for the Sun JDK. I tried to do exactly what you're talking about...and it would not build. So, I waited a week...and still no updated Sun JDK ebuild.

      I did eventually solve my problem however. I burned ISOs for Debian.

    3. Re:All these gentoo comments by metamatic · · Score: 1

      You were fed up with Gentoo being too slow to release stuff, so you switched to Debian?

      Oh, I get it, it's comedy hour!

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    4. Re:All these gentoo comments by tannhaus · · Score: 1

      Yes...debian unstable is quick on the releases.

    5. Re:All these gentoo comments by tannhaus · · Score: 1

      Not to mention the fact that you can use checkinstall with debian. That way building your own package is as simple as ./configure --with-my-options && make && checkinstall

  167. Both by Anonymous Coward · · Score: 0

    I never build from source when I know that I have no need/interest in learning the inner workings of the code and I foresee no need in making custom modifications. The primary reason for that is testing: well-established Linux distibutions (Debian!) and BSD derivatives have more QA resources :)

    Of course, when you have patches to apply or planning to contribute to development or the code does 99% percent of what you need and you know you can write this remaining percent yourself, you must build from source.

    There is one exception: ageing systems. I have a Linux server that runs RedHat 6.2 (installed circa 2001 -- I was forced to use this one). RPMs are hard to find (especially with critical security fixes -- vendors tend to patch their current systems first). Over time I found this machine running almost no pre-packaged software (I threw away sendmail and bind first for the sake of qmail and djbdns).

  168. Re:Supprt: Naa, that's not true at all. by maximilln · · Score: 1

    How difficult is --prefix=/usr? Or, from the other standpoint, how difficult is adding /usr/local (to the PATH) and /usr/local/lib (to /etc/ld.so.conf)?

    Gentoo compiles glibc, gcc, and kernels from source? I guess I'm not the only one watching compiler scroll for 14 hours at a time.

    --
    +++ATHZ 99:5:80
  169. Source-based, binary-packaged Gentoo by strider(+corinth+) · · Score: 4, Interesting

    My arguments on why to use a source-based distribution have been covered in other posts, so I won't repeat them here. I think Gentoo provides a solution that will satisfy both you and your professor: you can use a source-based, custom-built binary distribution.

    As you probably know, Gentoo is a source-based distribution, but it also allows binary packages. Many (such as Mozilla Firefox) are distributed by Gentoo as source and binary; you can choose to install either. The ability to build a binary package from a source .ebuild (the file that describes to the system where to find the source and how to build it) requires adding only a single flag to the package compile command, ebuild.

    Additionally, since (if I read you correctly) you're probably using similar hardware for each of your machines, it would be trivial to set up a compile box which would produce binary packages for your other boxen. Packages compiled for your architecture would be faster than most binary-only distributions (many are still compiled for the i386 architecture), and writing a new ebuild is trivial compared to writing a new spec file. (Trust me; I spent a quarter writing a paper on the topic while I was in school, not to mention having had to do it myself in the Real World.)

    Finally, Gentoo integrates and tests its packages. Ebuilds come with Gentoo-specific patches, so you don't have to spend the time to make each source package work with the rest. This is probably one reason why your professor likes binary distributions: they all work together, and enough people rely on them that if something breaks, it gets fixed. A package-based Gentoo distribution would allow you to leverage that, while keeping your machines unified in their versioning (as much as you want them to be, at least) and also provide all of the benefits of a source-based distribution.

    --

    Love justice; desire mercy.
    1. Re:Source-based, binary-packaged Gentoo by WeaponOfChoice · · Score: 1

      I have a few DL360 Proliants running Gentoo 2.4.24. The first was a bit of a struggle to get up and running (compaq scsi etc...) but the others have simply been able to use the configurations and precompiled binaries from the first. New servers deploy alarmingly fast these days, much faster that ghosting windows boxes or [gasp] installing the long way with a seemingly endless succession of reboots...

      --


      It's not that I'm Anti-American - I'm Pro-Freedom
    2. Re:Source-based, binary-packaged Gentoo by Prof.Phreak · · Score: 1

      I think the only down side to Gentoo is that people get used to it.

      Once you've used portage, and compiled _everything_ yourself (changed kernels, etc.) then going back to RedHat is a _big_ pain and feels like a major limitation. (sorta like going back to Windows).

      --

      "If anything can go wrong, it will." - Murphy

    3. Re:Source-based, binary-packaged Gentoo by HoaryCripple · · Score: 1

      Quite true. I've been using Gentoo for the last 2 years, and have become accustomed to it. Recently I tried to install Fedora Core 1 for my parents, and I said to hell with it. IMHO, neither yum nor apt-get have the ease of use of ebuilds. Of course, there are some packages for which I'd rather not have a system wide install. In that case, they get installed under ~/packages. and I update the ld files manually.

  170. I was building from source now I use Gentoo by HTD · · Score: 1

    The main reason is that found myself building many server applications from source on Debian and Redhat boxes what made install-speed difference from using binary-packages inexistant, because i simply didn't use them often. The reasons for self-building was often my special needs (like having exim with mysql and postgres support) or having bleeding edge software that rocks and helps productivity (subversion, i use it for over a year now). I always documented what i did when installing from source to be able to reproduce eventual problems and to remember the ./configure flags.

    When i switched to gentoo i still document my installs but the documentation shrunk by at least 50%, because many steps are done for me by the very cool portage systems and its ebuild files. If i need exim with mysql an postgres support i simply run:

    USE="mysql postgres" emerge exim

    And that's it, exim is installed with config and log files at nice locations and fully working without the need of doing anything by hand. When updating my servers i use the binary package feature of portage, i build the package on a lan-server where cpu-usage is no issue and then i install it from the binary package on the target machine w/o the need of compiling it (or waiting for the compile to finish, which can be a pain when many servers need the OpenSSL update for example).

    I like the portage system because my systems software is fully customizeable with a minium of work involved. And if something doesn't work i simply fix it in the ebuild files, which are easy to understand and modify. When a newer release of some package is out, but the ebuild is missing, simply rename an older ebuild to the new version number and try to emerge it, it often works.

  171. Depends by Wolfier · · Score: 1

    If an *OFFICIAL* package is available, then package.

    If not, then make your own package from source.

    So at the end of the day, all I have to manage are packages. Either official ones or my own.

  172. Use binaries by Simon+Lyngshede · · Score: 1

    I always use binaries, much easier to maintain. I also have the advantage, if you will, to know that I will be replaced within a short periode of time (1 year). To make the job of my replacement easier, I use standard .deb packages for everything. It will make my successor life much easier. I also like the speed at which you can deploy a brand new installation. Im sure building from source is greate if you need absolute control and have a lot of identical servers, but I don't. My users can't live with everything being down more than a few hours, and I don't have the speedy hardware which can build all the software in that short a periode of time.

    What I think is needed i binary distributions of software is a clear understanding of what options this package have been compiled with. This, I believe is esspetially importants in server software.

  173. Future of Linux by Anonymous Coward · · Score: 0

    As long as building from source is a "must" for some distros, there is no chance against Windows.

    Although building from source will always be an option, Packages should be the standard whenever possible except for dev purposes or geek frenzy.

  174. One machine or several? by Ed+Avis · · Score: 1

    For maintaining an individual machine there may not be much difference in maintainability; the advantage of packages comes when you have several machines to keep in sync. You can easily query the installed packages, perform upgrades according to a centralized configuration, and verify that none of the installed files have been corrupted. With GPG package signing, you can have a reasonably secure mechanism for pushing out only software that you have approved (better than relying on NFS and file permissions).

    If you build from source it is very unlikely that you'd build separately on each target machine. You'd build once and then push out the binaries. Package systems give you a few more tools to manage and automate this process.

    As others have mentioned, you can make your own source packages and build those, giving the best of both worlds.

    --
    -- Ed Avis ed@membled.com
  175. Use sources by bigjnsa500 · · Score: 0, Troll

    Real geeks compile from source. Only wimps use binary packages.

    --
    This is a test. This is a test of the emergency sig system. This has been only a test.
    1. Re:Use sources by Anonymous Coward · · Score: 2, Funny

      People with jobs managing servers use binary packages. Real geeks work at Wendy's and live in their mom's basement.

    2. Re:Use sources by bigjnsa500 · · Score: 2, Funny
      People with jobs managing servers use binary packages.

      Not necessarily true when your needs are custom.

      Real geeks work at Wendy's and live in their mom's basement.

      Oh, that's where I remember you from. You didn't give me my Biggie fries.

      --
      This is a test. This is a test of the emergency sig system. This has been only a test.
  176. So many competing needs... by Leomania · · Score: 1

    I've been debating this with a couple of friends myself, and there's no super-clear answer we've come up with that meets all of the goals. Those are:

    o Ease of use/deployment (think server farm)
    o Tracking (what was built where and when it was installed)
    o Performance
    o Reliability
    o Maintainability
    o Longevity

    That last one is what bugs me. I came to Linux via RedHat 5.3, and I've learned how to set up a firewall, a LDAP server (for addresses mainly), Samba, Apache, etc. over the last few years. I'm no guru, but I can install the software and make it work pretty well. I like packaging like RPM except when the RPM database gets hosed, which has happened to me at least twice. No idea why, and it "sucked more than anything has ever sucked before" (okay, not THAT bad, but you know). That speaks directly to the "reliability" aspect. There was a lot of helpful info about rebuilding a RPM db at rpm.org that I found especially helpful then.

    But what I run into with an older system such as my personal (behind firewall) mail & web server that's running Mandrake 8.1 is that keeping up-to-date with security fixes and upgrades is that the Mandrake spec files are full of Mandrake-specific stuff that doesn't apply to newer versions. I can usually get updated tarballs and do my own builds, but eventually the spec files need more major overhauls or newer glibc is needed or something of the sort. I haven't found a good solution for keeping the system up-to-date, and I don't want to re-install newer versions every year or so. But that's what I do...

    That's an attraction of using the source-code build strategy, but my buddy is really against this in a server farm environment because of deployment issues (not to mention requirements of specific versions of Linux for many of our apps). It seems more suited to individual users than to that sort of environment, anyway.

    I installed Gentoo one time, and I liked how much less bloat it seemed to have. I am not aware how well its ports collections are maintained; if a system I install today can be gracefully updated with stable versions of updated packages over a 2 to 3 year period, I'd be interested in trying it again. I do want to install from a CD, tho (did that the first time) as I want a baseline build so I don't have to download and build quite so much.

    There was an interesting program used to manage .tar installations on package-based systems at developerWorks called Stow which was also discussed on Slashdot awhile back. Like so many other things, I'm interested but haven't looked into it...

    Also an article with tips for rebuilding from source code that was basic but still useful.

    Anyway, kind of a ramble, but there is it just the same.

    - Leo

    --
    You don't use science to show that you're right, you use science to become right.
  177. Something else to chew on.... by Raxxon · · Score: 1

    Something that package management has largely REMOVED from the Open Source community: Peer Review.

    When was the last time most of us actually scanned through the code we were about to install? I know I'm guilty of being rather lax on that, I've just been looking when I get compile errors...

    Is this a Bad Thing(tm)? I'm inclined to believe it is, but what say the rest of you?

  178. Build from source by mabu · · Score: 1, Insightful

    I always build from source. IMO, it's the only way to go. A smart admin does not trust anyone else's executables when the alternative exists of building your own code on your own system.

    More importantly, when you build your own from source, you're often reminded of outdated dependencies that need to be upgraded. I recently compiled a new version of OpenSSH and found out that I had a vulnerable copy of zlib on my system. Had I installed a package, I might not have known.

    1. Re:Build from source by prockcore · · Score: 1

      I recently compiled a new version of OpenSSH and found out that I had a vulnerable copy of zlib on my system. Had I installed a package, I might not have known.

      What? How does that work? If you couldn't compile OpenSSH using your current zlib headers and libs, then you wouldn't be able to install the OpenSSH binary either.

    2. Re:Build from source by mabu · · Score: 1

      What? How does that work? If you couldn't compile OpenSSH using your current zlib headers and libs, then you wouldn't be able to install the OpenSSH binary either.

      I could compile OpenSSH. I just got a warning about a library being outdated and in need of updating because of known vulnerabilities. I didn't try a package version but I'd venture to guess there are no such checks when binary installation is involved.

    3. Re:Build from source by prockcore · · Score: 1

      I could compile OpenSSH. I just got a warning about a library being outdated and in need of updating because of known vulnerabilities. I didn't try a package version but I'd venture to guess there are no such checks when binary installation is involved.

      Why not? That's what binary installations do best.. dependency checking. openssh could easily require libz.so.1 >= 1.1.4

  179. Do both! by Anonymous Coward · · Score: 0

    Do both! Optimise the source package, rebuild and install.

    Of couse it takes more time, but if you really want both optimisation AND ease of management (Dependencies, integrity checking...), that's the way to go...

  180. What would a time/dollar evaluation say? by plcurechax · · Score: 3, Insightful

    How you feel about the ease and simplicity of installing and maintaining packaged programs versus the optimization and control that can be achieved by building from source? What are your experiences?

    Humans do not scale well, they have very low bandwidth of information sharing, and have high latency (i.e. you can't get ahold of them). Humans are also expensive, wander off into different jobs, graduate or drop out of college, etc. So I tend to prefer the reducing human cost of the system administration complexity as a default position.

    So my gut feeling is that unless there is a major time or dollar savings in the optimization by building from source (i.e. avoid buying 10+ new CPUs for the systems, or computation runs take a day less) go with the reducing administation complexity by using a package management systems so that you can concentrate on your actual goals (research, profit, or whatever).

  181. Not wishing to state the obvious... by Medieval_Thinker · · Score: 1

    but he is the teacher and you are the student.

    He is doing things in the way he did them before you arrived on the scene, and he will probably be maintaining those machines when you are out worrying about your student loan and wondering why no one will pay you a decent salary.

    Don't overthink this. If he likes rpms, then I would be installing rpms and creating a kickstart file to install them over the network for a new box.

  182. Disenting Opinion (problems with debian packages) by skidv · · Score: 1

    I used to be a die-hard Debian proponent, but lately, several packages have failed to install and operate properly. E-mails to the maintainers have gone unreplied and in the end, I had to go to the source to make problems go away.

    Right now, I feel that debian package maintenance is lacking because

    1) maintainers are overwhelmed with the complications of actually running an install and uninstall (example, try to uninstall exim or ppp ... not all the files, especially those in cron directories are deleted)

    2) documentation lags (changes in man pages do not get updated with debian specific distribution issues)

    3) updated features are extremely delayed (yeah, yeah, use testing if stable isn't up-to-date enough, but in a production environment, that isn't an option because you'll lose the stability you need for everything when you're trying to use the latest feature on one specific package. If I want up-to-date sendmail, it doesn't mean I want to sacrifice the stability of glibc).

    4) troubleshooting difficulties. When I have a problem, I can't always determine ... is it the package maintainer, the software, the configuration or the user. Also, I find that discussion of package related issues lacking. If I'm stuck, I need someone who understands both the application and the package, not just the application and not just the package.

  183. Convenience vs. optimization/security/features by Old+Man+Kensey · · Score: 1
    By default, I apt-get packages. I break from that in basically 3 cases:

    1) I really need or want something optimized for my hardware. Things like the kernel, obviously, or other hardware-intensive stuff (I don't do 3-D rendering but if I did it would fall into this category).

    2) I'm concerned about the security of whatever I'm installing. This is things like SSH, bind, sendmail, etc. (Yes, I know nobody in their right mind uses bind or sendmail any more. Actually I use smail for mail, but if I did use sendmail still... And I'm trying to get djbdns running but I seem to be missing the part in the docs where it tells you what the "compile this so it runs by itself without requiring everything else djb ever wrote to be installed" flag is.)

    3) I want features that aren't available in packaged stable- or testing-tree versions yet. This is why I ended up compiling AbiWord 2 from source, IIRC so I could get the mail-merge functionality. It's also why I compiled xchat from source last time I installed xchat, though I forget what features I was looking for there.

    There are a few things I try not to compile from source if I can help it. Things like OpenOffice, XFree86, you know the drill. It just takes too damn long on a Celeron 433. (I know, I know. This summer I fully intend to build myself a nice almost-high-end Athlon system, before crowley turns 5 if possible.)

    --
    -- Old Man Kensey
    1. Re:Convenience vs. optimization/security/features by RossyB · · Score: 1

      (this post is heavily biased towards Debian as most apt-get uses are Debian users, but I may be wrong)

      Re (1), and the kernel -- I really recommend using kernel-package. Configure your kernel as you normally would, but call make-kpkg instead of make bzimage. This results in a set of debs you can install as usual, which has the advantage that they are all versioned and if your latest compile doesn't actually work, you can trivially backtrack to the previous build without worrying about modules hanging around.

      Re (2), if you don't trust the security of the distributed ssh, sendmail, etc, why should you trust the distributed glibc, vi, grep...

      Re (3), backports.org has recompiled for Woody huge amounts of unstable and testing. Much easier than building from source -- speaking as a packager for Debian there are many things which raw upstream tarballs forget to do or need patching to work correctly.

    2. Re:Convenience vs. optimization/security/features by derF024 · · Score: 1

      And I'm trying to get djbdns running but I seem to be missing the part in the docs where it tells you what the "compile this so it runs by itself without requiring everything else djb ever wrote to be installed" flag is.)

      # apt-get install ucspi-tcp-src djbdns-installer

      then run what it tells you to run to build ucspi-tcp and djbdns (it's one command for each, and it hands you a pair of .debs when it's done). Follow the instructions on http://cr.yp.to/ for creating the appropriate system users and placing entries in /service and you're done.

    3. Re:Convenience vs. optimization/security/features by Old+Man+Kensey · · Score: 1
      RossyB wrote:

      Re (2), if you don't trust the security of the distributed ssh, sendmail, etc, why should you trust the distributed glibc, vi, grep...

      It's a point others have made before. Basically, I figure it's a lot easier and smarter (from a cracker's point of view) to insert backdoors in things that already deal with sensitive info and/or are commonly setuid, like ssh, sendmail, bind, etc. If you have the access to substitute backdoored versions of packages on a distro tree, those would be the ones you'd go for, especially since many people tend to keep them more up-to-date because of their frequent security issues.

      Put another way, why go to all the trouble of putting a backdoor in vi, which isn't even network-aware to start with, when you could just as easily (probably more easily, even) do it in sendmail or ssh with the added bonus that some people are going to be running your backdoor setuid root?

      Crackers are lazy. They're not going to make more work for themselves than they have to to have their fun.

      I'm also aware that this is no protection at all if the original source is compromised, as I seem to recall happened with OpenSSH not too long ago. But then again there's no way to deal with that short of doing a full code review before installing anything on a machine.

      --
      -- Old Man Kensey
    4. Re:Convenience vs. optimization/security/features by Gilk180 · · Score: 2, Insightful

      I agree completely for vi, grep, etc.

      However for glibc or other common libraries you gain much more than if you hacked sendmail or any other service.

      If you have a backdoor in glibc, nearly ANY program will activate it. You just wait until a setuid root program accesses something in the library, and you have your exploit.

      Or if you need something that stays aware, have this insert a kernel module that hides it's own existence and does whatever you need or launches and hides another process that does what you want.

      In the end, putting a backdoor in a common library has many advantages to putting it in any program or service.

  184. Optimized? by InfiniteWisdom · · Score: 1

    First rule of optimization... profile before you optimize.

    The best I can tell, the only advantage you'll gain wrt optimization is code build specificallly for your processor, but I believe this will give you an extremely small speedup for most application. The kernel will probably benefit significantly, but most distros have versions of the kernel built for every minor processor type anyway (eg. i386, i586, i686 rather than just i386)

    Not selecting features you don't want will usually just result in smaller programs without any performance gain.

    So is it worth the time you'll spend compiling stuff and configuring them manually to save... maybe one gigabyte given that storage costs $1/gb now?

    OTOH there are other good reasons for compiling stuff from scratch... building a Linux From Scratch system is an EXCELLENT (albeit time-consuming) way to learn the system inside-out.

  185. Is there a significant advantage to compiling? by ajutla · · Score: 1

    I personally don't really compile much from source, mostly because I don't have the time. My own P4 desktop machine runs stock Debian, which is compiled, as far as I know, for a 386. I compiled my own kernel, though, but everything else is basically unoptimized for my hardware. Regardless, my system seems pretty speedy; my box is decent, 2.6 ghz, 512 megs of ram. But would I see a significant advantage if I were to compile everything from source? Does it dramatically increase speed, or is the difference mostly imperceptible? I haven't used Gentoo (but am interested in maybe trying it), so is there an advantage to speed for using it?

  186. do it the professor's way by Anonymous Coward · · Score: 0

    don't know about build vs. packages but I do know about professors.

    do it the professor's way!

  187. What do you want to spend your time doing? by shepard · · Score: 1

    It comes down to a choice of what you want to spend your time doing. Do you want to maintain the software on the machine and be 100% responsible if anything breaks or do you want to install software to fulfill the requirements placed on you and then move on to other things?

    Building from source is deceptively simple -- it gives you the most flexibility from the start but, if you're like me, you'll spend more time later trying to remember how (or why!) you built a piece of software they way you did.

  188. source not for newbies, but can be good by amigabill · · Score: 1

    I think this also depends on who's installing the stuff. I'm not a linux nut. Perhaps a hobbyist wannabe, but a lot of things are still beyond my motivation to deal with. I've got a project going to build a MythTV box.

    I stared trying to install Debian, as I understand MythTV's core developers use Debian. The OS installed OK, but I couldn't get X to run with my Radeon card well, only being able to get the generic VESA drivers to work with it. Not very good, and I eventually gave up.

    My next try was Redhat. Probably in the 8.something time. The OS installed pretty good, and easily set up Radeon drivers for me. But I couldn't get Myth installed. And I gave up.

    Now I'm trying Gentoo. Fought with it for some time, gave up on Radeon and gor an Nvidia based card. The OS installs OK, but I again had problems with graphics drivers, but a couple weeks ago somehow finally got things working with X nicely. I don't know what I did different, or what I did that I didn't do before, as I was going downthe install checklist printed from Gentoo's website. Seemed to be OK, so I went to ebuild mysql which MythTV requires. I can't figure this thing out, the ebuild "completes" with one error, which I can't find a reference to exactly what happened. I've started the mysql interface which appears to work, but some of the setup instructions fail on sql server not found problems, even though something from mysql is running a new command line interface. I have no clue what's up, or how to fix the ebuild error. So as I've done a couple other times with Gentoo, I'm now waiting for someone else to fix whatever is wrong. I'm not motivated to do it myself, I'm annoyed that some ebuild that should work doesn't.

    I may try Redhat/Fedora again, or perhaps Mandrake as I haven't had a go with that one yet.

    For you, always going from source might be OK. For certain things, always going from source is probably OK. For me, I'd probably have a working MythTV box if it wasn't such a mess. In my case, for me, precompiled stuff would probably be easier to install, as I wouldn't have to worry about compiler versions, compile times, etc. Might not be "optimized" for my exact hardware set, but should be usable.

    If the ebuild stuff in Gentoo gets working more reliably I'll be happy to do that, but for now I'm about to give up on this Gentoo distro as well. I may give it one more go withthe newer 2004 CDs, as my current install used the 1.4 CDs and ebuild updated to 2004. Maybe something got left out of that update, I have no idea how to know. Don't much care, if a fresh 2004 install doesn't go then I'm done with Gentoo. :/

    And I would never ask my mom to use Linux and install everything from source. If things reach the point where she could handle that, maybe source-only distribution of stuff would be great. For now, all it's done for me is give me headaches and pull my hair out. :)

  189. Depends. by WWWWolf · · Score: 2, Interesting

    My general idea is that if a pre-built binary is available, unless there's a good reason not to use it, I use it. The pre-built binaries are not always 100% cool, at least according to some people, but they tend to work for me in most of the cases.

    I'm usually using prepackaged binaries if they're out there in a reasonably well-documented repository - that is, included in Debian, in some rare cases I might even consult apt-get.org.

    For stuff that Debian doesn't yet have, or that absolutely insists that I build from CVS, there's always GNU Stow for easy management of stuff. I also build kernel from source using make-kpkg (because, once upon a time, it was a great Heresy to use the Pre-Packaged, Unoptimal Kernel, and building the kernel seemed to be everyone's baptism by fire so to speak).

    The reason I'm often relying on pre-built binaries is that I'm a very patient person except when installing software (having had a share of installing proggies for friends and relatives tends to hurt one's very being), and I just prefer to have a quick and easy installation.

    Building from source always seems to involve installing required development kits, and then million and one little bits and packages in semi-random order. There have been some pathological cases like mp1e / rte / whatever the hell it was that seemed so complex and convoluted that I needed a week's rest after that, or something like that.

    Then there have been cases where I haven't been even able to build the things due to system constraints. Back in the early days of GNOME, it was hell to try to compile MICO on my Pentium 166MHz when I had meager 32 megs of physical memory, and trying to grab the last available bits of swap space from my 6 gigabyte disk... Oh, and this happens ocassionally even on recent times: I was unable to build Ardour on my current machine. Glad I found it from apt-get.org, and it's now in main Debian tree too.

    I'm just secretly hoping that Debian goes i586 instead of i386 some time...

  190. GUI from packages. Servers from source. by rice_burners_suck · · Score: 1
    If you're a novice, I'd say use ports and packages. If you're pretty experienced, or a programmer, I'd say build from source.

    I tend to build all my important stuff from source. In other words, server daemons and things that I really want control over. But when I feel like installing pretty much any GUI software on a desktop box, I tend to use packages. I would do it all from source, but the sources for these types of software are huge and, as I see it, hardly manageable. Also, it tends to take forever to compile them, as each source files relies on about 50,000,000 others in GUI applications. Finally, desktop boxes aren't so important to me that I'd need any serious degree of control over the installed software that ports or packages don't provide.

    However, when it comes to anything non-GUI, I strongly prefer to build it for the specific application from sources. I like the ability to apply security (and other) patches directly to the source, so that I am able to stay as far ahead of '1337 h4x0rz as I can. There are also many fine patches out there to add various functionality to various software, and I don't see how installing from packages allows you to take advantage of those things (unless there is a version of the package that includes certain patches). So there's my two cents.

  191. Check out Arch Linux by bbythewa · · Score: 1

    I ran gentoo for a while (and still am on one machine), and while the amount of customization that is possible is wonderful, I just don't have the time to be constantly compiling things to keep my system up-to-date.

    I've recently installed ArchLinux and I think it provides the best of both worlds. It is a primarily binary based distro, but makes it very easy to build those packages from source, if you need to tweak something.

    The package builder is very straightforward. I've only been using Arch a few days and have already built a number of custom packages.

  192. Packages first by Cro+Magnon · · Score: 1

    If there's a suitable package, I prefer that. When I want to upgrade it's a simple up2date/apt-get/upgradepkg. However, if I want something that either doesn't have a package, or has an outdated one, then I compile.

    --
    Slow down, cowboy! It has been 4 hours since you last posted. You must wait another few hours.
  193. slackware users know... by Anonymous Coward · · Score: 0

    ...that you need to do both. built it from source, then package it so you don't have to build it again. to help with the process of compiling and packaging you can use an app i wrote called autopkg.pl.

  194. I don't want gcc on a firewall by DeadVulcan · · Score: 1

    This is only somewhat related, but hey, this is Slashdot.

    I was recently setting up a firewall/gateway machine for my parents and was annoyed to discover that the modem they were using had no free linux support. I had to buy a driver for it (for a reasonable price, mind you). I was then even more annoyed when it turned out that the driver installer needed gcc and kernel headers.

    In retrospect, I guess it's understandable, and I'm not going to second-guess the people who decided they couldn't distribute a set of object files, but I still balked at having to install a compiler on a firewall.

    My own gateway box, I'm glad to say, doesn't have gcc, binutils, and other such nonsense installed on it. It's as spare and as focused on its role as I can make it. Fewer packages, fewer security holes.

    --
    Accountability on the heads of the powerful.
    Power in the hands of the accountable.
  195. Amen. by Sevn · · Score: 5, Insightful

    What some people don't seem to understand about Gentoo or the BSD's is that not everyone is hell bent on world domination and market share. Some people want something specific, and Gentoo and the BSD's are there for them. It's not like they are ever going anywhere. BSD "despite the rumors" has never done anything but grow in usership with the steady, yet slow trickle of new users and the fiercly dedicated long time users. Gentoo is growing rather fast, but will no doubt plateau off and settle in the same way the BSD's have. But by all means, continue to have your OS flame wars and make your comparisons and talk about market share or other things that aren't important or even remotely interesting to the majority of most Gentoo and BSD users. It's very humorous. :) HAVE FUN STORMING THE CASTLE!!!

    --
    For every annoying gentoo user, are three even more annoying anti-gentoo crybabies. Take Yosh from #Gimp for example.
    1. Re:Amen. by Anonymous Coward · · Score: 1, Interesting

      and this is why I use Slackware.

      I find it immensely easier than any other distro when it comes to running bleeding edge things (Go ahead and try to install the latest ALSA beta releases and/or JACK recent releases on redhat anything or Fedora.. it's a frigging nightmare)

      I dont use the "easy" distros for the same reason I dont use windows...

      I have yet to try gentoo, I tend to like having my distro frozen in time on a set of CD's until I'm ready to jump to the next release (Yes, I build my Slackware ISO's from slackware/current)

    2. Re:Amen. by Anonymous Coward · · Score: 0

      What some people don't seem to understand about Gentoo or the BSD's is that not everyone is hell bent on world domination and market share.

      Yeah, that's why they never FUCKING SHUT UP ABOUT IT, and manage to shoehorn plugs for it into *any* slashdot discussion.

    3. Re:Amen. by Halcy0n · · Score: 1

      I completely agree with you. I love how Gentoo is currently and I don't think they should start changing to try and pull in more users. Many are already coming with how the distro works now. There are distros out there that make it easy to install and keep up to date for the normal user, one such distro that comes to mind is Mandrake. Let them keep their market share, and Gentoo keep theirs. There's no reason to fix what isn't broke.

      --
      Mark Loeser
    4. Re:Amen. by runderwo · · Score: 1
      And then there are the sort of folks who look around us and see the whole world in chains, and feel a moral obligation to do something about it.

      Enjoy your ivory tower; meanwhile, the rest of us are sacrificing our time and money to make the real world better for everyone, including even those lowly lame people who can't figure out an elite OS like Gentoo or BSD.

    5. Re:Amen. by GreyPoopon · · Score: 1

      I love how Gentoo is currently and I don't think they should start changing to try and pull in more users. I agree. What might be better is if someone created a re-packaged version of Gentoo with a nice installer. Heck, maybe something like this already exists.

      --

      GreyPoopon
      --
      Why is it I can write insightful comments but can't come up with a clever signature?

    6. Re:Amen. by Short+Circuit · · Score: 1

      I consider Debian an "easy" distro, and I compile my own packages on a regular basis. I also get fine-grained control over which packages to install, when I want it. If you don't want that kind of control, run tasksel instead of dselect or aptitude.

      Unfortunately, it's damn near impossible to compile packages optimized for your CPU from official Debian source packages. Which means that the power user will, on occasion, have to ignore the packaging system and install to /usr/local/* instead of /usr/* . The debian compile process uses the same CPU optimization that libc was compiled with. (i686, for people on the PC)

      You know, come to think of it, if I custom compile libc from GNU sources, then compile libc from Debian sources, it should retain the -march option that was applied to the GNU sources. I'll have to try that when I get home tonight.

    7. Re:Amen. by CmdrTHAC0 · · Score: 1

      I have yet to try gentoo, I tend to like having my distro frozen in time on a set of CD's until I'm ready to jump to the next release (Yes, I build my Slackware ISO's from slackware/current)

      There is no rule that says you must put (emerge sync && emerge -uD world) &>/dev/null in /etc/cron.hourly. Just don't sync, and the software won't upgrade (or want to upgrade dependencies) when you install stuff. They're also working on an "emerge security" feature reminiscent of tracking a FreeBSD release, with only security updates done.

      --
      __CmdrTHAC0__
      In Soviet Russia, Spanish Inquisition doesn't expect YOU!!
    8. Re:Amen. by Halcy0n · · Score: 2, Informative

      They already have one based off of Anaconda. I have no problem making things easier...I just don't think it should be their ultimate priority to try and become like Mandrake or something like that, and if they want to go that path, I'd hope they would keep the old way of installing.

      --
      Mark Loeser
    9. Re:Amen. by mvdwege · · Score: 2, Informative

      I don't know if you still get to read this, but if you use unstable in your sources, try installing apt-build.

      As long as there are Debian source packages available, it will build everything from source (including dependencies) with whatever flags you like, and put the built packages in a local repository. Just add that repository to your sources.list, and you can install locally built and optimised packages of just about everything.

      It is not quite up to the standards of usability of Gentoo's portage or BSD's ports system, but it works quite nicely.

      Mart
      --
      "I know I will be modded down for this": where's the option '-1, Asking for it'?
    10. Re:Amen. by nyteroot · · Score: 1
      For a long long long long LONG time I was a Slack man myself. Loved it, swore by it, refused to talk to RedHat/Mandrake users, the whole deal. Recently a friend of mine with a ppc box wanted to put linux on it, and we decided on gentoo since it wasnt a RedHat derivate like YellowDog but still had a complete ppc version (not hard to do when you build everything from source, eh..).


      It rules. Absolutely rules. I'd be willing to bet that gentoo was started by a bunch of old slack hackers disgruntled with the less than perfect package management on slack, but still wanted to stick with compiling everything from scratch. It's what I use on my box now, it's what my friend uses on his ppc box, and I'll be putting it on a couple more peoples' boxes over the next few weeks.


      I definitely wholeheartely recommend you try it.

      --
      Ratio of replies to old sig content : replies to actual post content > 0.5. Sig changed.
    11. Re:Amen. by dotKAMbot · · Score: 2, Insightful

      Seriously dude, you are being ridiculous.

      What are you saying? That because a majority of the people in the world use Windows, Gentoo should have a flashy installer?

      If we give all the distros flashy installers and gear them to be simple and not as powerful, I will be in chains with the rest of them, so lets cut the nonsense.

      People use Windows/Mac/Fedora/Gentoo/BSD/Amiga/etc because they want to, and that what fits them best. It makes sense, and there is nothing wrong with any of those choices. Stop trying to save those that don't want saving.

      daniel

    12. Re:Amen. by Rich0 · · Score: 1

      Uh - you have to admit that at least in response to a question about building from source vs packages this is on-topic...

      And nobody gets upset for somebody plugging fedora or debian...

    13. Re:Amen. by 4of12 · · Score: 1

      If we give all the distros flashy installers and gear them to be simple and not as powerful, I will be in chains with the rest of them, so lets cut the nonsense.

      Instead, let's just cut these artificial chains and make our distros simple and powerful.

      From what I see, the Gentoo and BSD folks really appreciate simplicity. The portage and ports systems look a lot simpler than the 400+ page rpm manual I downloaded a few years ago.

      --
      "Provided by the management for your protection."
    14. Re:Amen. by runderwo · · Score: 1
      Sorry for the late reply.
      What are you saying? That because a majority of the people in the world use Windows, Gentoo should have a flashy installer?
      No. That we should not exclude features because they serve no purpose other than to make the computer easier to use for the uninitiated. A flashy installer may be "pointless cruft" or whatever, but a flashy installer in no way inconveniences someone who options to drop to a shell for the installation, and it holds the hand of one who is just getting his feet wet. If someone wanted to create a flashy installer, I get the feeling that Gentoo and BSD types would reject the notion outright, citing technical grounds, but in reality due to the fact that it would threaten their elitism.
      If we give all the distros flashy installers and gear them to be simple and not as powerful, I will be in chains with the rest of them, so lets cut the nonsense.
      Nonsense, indeed. What is it that causes a flashy installer and a power-user installer to be mutually exclusive?
      People use Windows/Mac/Fedora/Gentoo/BSD/Amiga/etc because they want to, and that what fits them best.
      Maybe people like you, the elite, use an operating system because you identify with it as a person. Most people actually choose an operating system on a cost/benefit basis. If it gets the job done, and it's within the budget, it gets used. If I catch wind of something better that comes along, I might evaluate it. If the new is no better than the old, then I stick with the old.

      Of course, it's possible that I might not hear about a new platform or its specific advantages unless someone told me about it. Those people are called advocates. When they advocate their platform without paying attention to me or my needs, they are referred to as zealots. Zealots insist that their way is the best way and that you should mend your ways to fit their worldview if you want to use their elite OS.

      Unfortunately, this is not such a good formula if you really believe your platform is better and wish to increase its userbase so that it can be even more successful. It is a great formula, however, for remaining on the fringe and ensuring that a minimum of "lame" people use your platform, which is a primary goal of most elitists.

      Nothing against zealotry, after all, to each his own. But if you want your operating system to gain mindshare, it is the wrong way to approach advocacy.

      It makes sense, and there is nothing wrong with any of those choices. Stop trying to save those that don't want saving.
      It's not about "saving", no matter how you try to marginalize advocates as religious whackos pushing some lost cause on unwilling people. It's about improving accessibility, and with that comes an improvement in the cost/benefit ratio of your platform. That property in and of itself will draw people to migrate to your platform if the difference is significant enough from what they are currently using.

      One part of accessibility is having an easy way to evaluate the software. For most people, that means that they need an installer that will not destroy their existing setup, requires little to no knowledge of the system they are installing, and makes sane decisions regarding their system setup, so they don't have to modprobe this and compile this and that after installing just to get a mouse or a sound card to work, or know what a crontab or resolv.conf is.

  196. TY. I've used that sig too long anways. by Anonymous Coward · · Score: 0

    I simply haven't changed it because I haven't thought of a better one.

  197. It depends by Anonymous Coward · · Score: 0

    Really it depends on the hardware and machine that you are running. If you are looking to stability and ease of maintainance then you will be installing older versions of software that most likely will have a nice package built somewhere.

    If you are running a personal desktop (I'm assuming that most /. peeps are good enough to deal with any difficulty) then you are probably less concerned about stability and want to hit up some bleeding edge software. In that case you will obviously want to build from source.

    Besides availability there isn't much reason to decided between one or the other. Of course if you are trying to get beta software running and need to apply a patch, I think we all know which woul dbe easier, but with stable software in maintaince mode it really doesn't metter.

    Required disclaimer: I use Gentoo. For me it was the easiest distro to get working and continue to maintain. I've been able to handle all of the major upgrades of the last year (2.6 kernel, KDE 3.2, tons of other stuff) without harming my existing system. I don't know many packaged based systems that can do that (though I admit I gave up on packages after only about a year). I looked at Debian, but with Gentoo I got KDE 3.2 the day it was released.

    Ok, 3 days after it was released if you count compile time, but it was a nice excuse to go to the lake! And yes, you don't have to install from source if you don't want to, you can distribute the compilation across multiple machines and all the other statements I'm supposed to make.

  198. Both are dumb by Meor · · Score: 0

    Package implementations as of right now simply don't work well. Broken package trees should never be acceptable.

    Source? Please... The optimizations achieved from compiling a program with -i486 versus -i686 is not worth forcing compile time replication on every machine. A much better way would be to have the developers cross compile to every platform themselves on release so end users don't have to waste their time.

    In sumary both are wrong.

  199. More than ten? by p3d0 · · Score: 1

    What, like eleven?

    --
    Patrick Doyle
    I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
  200. FreeBSD offers a one-line solution to the debate by fahrvergnugen · · Score: 2, Informative

    #portupgrade -a

    or, if you prefer packages

    #portupgrade -aP

    --
    Even Jesus hates listening to Creed.
  201. This Really Isn't Either-Or by Chris+Tyler · · Score: 2

    This isn't an either-or situation.

    One of the main design goals of the RPM system (the most common package format, used in RedHat/Fedora, SuSE, Mandrake, Conectiva, and others) is that you can reliably rebuild packages in an automated way.

    The meta-data provided by a package system is essential when maintaining production servers -- you need the ability to easily figure out which package owns a given file and what will break if you change something. This is not nearly as critical for a home machine, or a system that will not be running for years, gradually upgraded over time.

    If the binary package works for you, cool. If you want to rebuild with the latest libraries and better optimizations, or for a newer architechture (amd64 vs. x86 for example), then go for it.

    Most .src.rpm files will use the ./configure provided with the package, which will generally figure out good defaults for your system, and you can further tweak this with your RPM macros.

    If there's no RPM for something you want to install, then create one! It will take you half a day to make a really good RPM the first time, but just an hour the second time, and you'll have it down to 5-10 minutes + the compile time after your first dozen.

    And to get out of dependency hell, use yum or apt/synaptic.

  202. At the mercy of package builders by bangular · · Score: 2, Insightful

    When you use binary packages you are generally at the mercy of how the maintainer decided to build the package. Want mysql with --with-lo-mem? You're stuck either without it or stuck trying to find someone else's build. I understand the need for binary packages. How many people would need coreutils with a specific build option? OTOH, how many people need Apache built a certain way. If you're using a binary package with something like apache that probably needs to be built for your needs, you done missed the boat.

  203. Fedora is NOT production, but go play by all means by Saeed+al-Sahaf · · Score: 1
    "I run Fedora Core 2" ... the packages sometimes are a couple revisions behind

    Fedora PERIOD is not a stable or production server. It's fine to play around with, but for serious tasks where stability is a necessary quality, Fedora ain't there. And, as an experimental Linux distro, it's not surprising packages are not up-to-date. Not a flame, just pointing out that Fedora is the playground distro, you get what you get.

    --
    "Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
  204. Depends on the processor by bhima · · Score: 1

    Some of my targets aren't all that fast so cross-compile or use a binary.

    --
    Nothing in the world is more dangerous than sincere ignorance and conscientious stupidity.
  205. Depends on the program by AciDive · · Score: 2, Insightful

    If the program is available for my favorite distro (Debian) as a package I will use the package. But if there isn't a package available then I use will compile from source. But as most of the other posters have pointed out it also depends on the program and if I am testing it or if it is for a production system. If it is for testing then I take the package over the source if the package is available. But I, like many others here, will usually compile from source if I am going to us the program in a production environment so I can get the pest performance for my system.

    --
    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Torvalds
  206. I think the best method... by Anonymous Coward · · Score: 1, Funny

    is to use the Click-N-Run warehouse from Lindows.com. They have all the coolest apps in there.

  207. Different stages by matt-fu · · Score: 5, Insightful
    As far as as I can tell, there are four stages of sysadmin as it relates to installed software:

    1) I am a newbie and have to use packages for *.
    2) I know my way around. I like the level of control I get with compiling/know how to code/read far too much Slashdot. I compile by default.
    3) I manage more than three boxes in my basement now. Having the ability to back out of system changes without a full OS reinstall is a necessity. I build my own packages from source that I've compiled.
    4) I manage more than just three boxes in a department now. Now I have to deal with politics, ordering hardware, the freakin' network, and I generally have time for sysadmin. On top of all that I now have a family so spending two or three extra hours per day on my Unix hobby is no longer feasable. Precompiled packages work just fine.

    1. Re:Different stages by mrmud · · Score: 1

      5) I inherit various distro's from other people, other sysadmins and other companies. All of which are different in their methods, from source to package to binaries. If I lived in Theory (where everything works) I'd scrap them all down and do it My Way. But since I don't live there, I just have to do it My Way when I can and The Other Way most of the time.

      --
      -- MrMud
  208. Fink is the reason I hate package managers by weston · · Score: 2, Informative

    However, I will never hesitate to use Fink as much as possible. I think for 90% of what gets installed the packages should be fine

    90% of what gets installed when you use Fink has nothing to do with what you're installing.

    I've given Fink a shot on a couple of occasions over the last two years, and every time I've invoked it, it's come up with false dependencies. X11 is not necessary to install, say, the Python interpreter, and there've been dependencies far more ridiculous than that.

    I've had the same problem with the CPAN shell. RPMs, on the other hand, seemed to fail to install necessary things.

    I build from source, then, simply because I don't trust the dependency handling from package managers. It's true that I have to pay more attention to such nonsense and would love to have it automated, but until I find a package manager that gets dependencies right, I'm going to have to do that anyway.

  209. Re:Supprt: Naa, that's not true at all. by ahodgson · · Score: 1

    Hey, those are nothing. Wait till you emerge kde.

  210. Modified packages by boto · · Score: 1

    I preferably use packages from the distro I am using, as they have more support, security updates, and easier to manage (install, uninstall, update).

    If I need some missing feature or package, I modify some existing package (preferably based on the original package from the distro I'm using), or create my own package. I think that controlling what is installed or not on your machine and a quick and easy way to upgrade, install or uninstall it, is essential.

  211. Devine Guidance by buffoverflow · · Score: 2, Funny

    God intended man to compile from source. It's the 11th commandment.

  212. standard builds by bbcrack · · Score: 1

    I admin 20 or so SUN v100s and a few SUN 280Rs. Our production servers dont have compilers on. why run the risk?

    So i make my own solaris packages or use ones provided by sunfreeware or blastwave depending on what i want.

    So for those apps which need compliling specially i can. then make a pakage and move them out to my identical machines

  213. Tale of two laptops. by Sevn · · Score: 1

    True Story.

    Me and another guy at work are handed Compaq Evo N800c's.

    I decide to go the Gentoo route while he picks Debian. Nearly three days later I get finished and I have everything I want. Granted, I spend an extra day on tiny piddling shit. I always do a brand new custom xdm config with some sort of eyecandy, and I make a custom fluxbox theme based on the machine name. I name my machines after anti-heroes from popular media. This one is named Alucard for example. Either way, I had my menues customized and all the applications I prefer for each thing. I even had OpenGL configured for the ATI stuff and quake3 running reasonably well at 800 by 600. The Debian guy? He finished about the same time after he got sick of messing with things and borrowed:

    My kernel config
    My XF86Config
    My /etc/fstab
    My /boot/grub.conf
    My /etc/X11/xdm/ stuff (cause he liked my login screen)

    And this was a pretty bright guy who had been using Debian for in his words "Since the dawn of time". So I guess it's all how you look at it. No matter what distro I'm going to use, I'm going to customize all those little nit-picky things that drive me nuts exactly the way I like them. I could have rushed and done a stage 3 install and been done in a few hours, then spent another day getting all my apps straightened out and never been quite happy or felt as good about the install. When it's a machine that I'm going to be spending 10+ hours a day making my living, I want to be damn sure I'm going to love it and there aren't going to be any surprises.

    --
    For every annoying gentoo user, are three even more annoying anti-gentoo crybabies. Take Yosh from #Gimp for example.
    1. Re:Tale of two laptops. by tzanger · · Score: 1

      The Debian guy's an idiot. I got my IBM T30 and had Slack 9.1 on it the way I wanted, including the security upgrades, downloading the shiny new KDE 3.2.1 and compiling freetype myself in order to get the hinter enabled, in under 3 hours. Give me another two hours and I'll have all my data moved over from the old system.

      My main beef against Gentoo (and yes I know you can get around it) is that you pretty much need a full development environment on every Gentoo system you have. I use Checkinstall with Slackware and have one "master" system I do all the builds on and then just push the additional packages around.

    2. Re:Tale of two laptops. by Rich0 · · Score: 1

      If your systems have the same USE flag requirements and compatible hardware optimizations, you can always build to a binary package on your first system and install from that package on the others. In theory you can NFS mount the package directory and make it even easier.

      I don't think you'd need a full development environment on each machine.

      Even so, it doesn't take up more than maybe 100-200MB - which is nothing these days.

      I remember tinkering with slackware on UMSDOS on a 40MB hard drive (in some spare space on a windows partition). That was an old 486/25, and I have no idea what version of the kernel it was running. I was still pretty impressed with it despite the abysmal speed (/usr was a symlink to the distro CD).

  214. Re:Building from source is often just a bloody was by nonregistered · · Score: 1
    "If found out that any of my guys spent *any* significant time trying to cut less than a gigabyte out of our application footprint, I would give him a footprint of my own..."

    Bill? Bill, is that you?

  215. my way: some source, mostly binary by Skapare · · Score: 4, Informative

    I build the mission critical programs from source code, and just let the rest be installed as binary packages. I build from source even if I don't need to just to be sure I won't have extra unexpected issues should I ever need to actually make modifications to source and rebuild. I really don't have very many local modifications, but I'm prepared just in case.

    Additionally, I do this all on one master machine (with a backup of it kept live on another machine), build binary packages of my own from my source builds, and install those packages on the actual servers. That way I have even more consistency, though at the cost of ultimate optimization. But I think it is better to be able to quickly reinstall a machine, as well as use checksum verifications that there are no trojans.

    I use Slackware, but this could be done with most systems, including FreeBSD, Linux (most distributions, including Debian and the RPM based ones), NetBSD, OpenBSD, and even Solaris.

    --
    now we need to go OSS in diesel cars
  216. Packages. Almost always by hesiod · · Score: 1

    If you are a masochist, then going completely from source is the way to go. It's strange timing, but I'm trying to get squid & squidguard working together as a filtering proxy server, but lo & behold, it's all crap. Using Mandrake 10.0 (Community, of course), squid will install very nicely from source, as well as BerkeleyDB. SquidGuard, OTOH is a different beast entirely. I tried compiling it the first time, it said there was no BorkeleyDB installed (there was). I reinstalled DB, but SG still said it wasn't there. I even told it exactly where to find it (--with-db, --with-db-*) -- no dice, it still claims it's not there. So I decided to reinstall the OS... for some reason. Now, it found BerkeleyDB before it was even installed, but "make" dies when it tries to use db.h (something about wrong # of arguments). This is even more undocumented than the first error. I found three pages about the current error, 1 was in French, one was in German, 1 English -- all were message boards, none had answers.

    Well, I used the squidGuard RPM, after bitching to an ignorant website owner who would not let anyone download the file if they changed the browser info string -- he said it was so Windows users couldn't get their hands on it. What a fucking moron, RPMs are useless for Windows users... Anyway, the cache buildng (squid -z) went fine, and I was able to add the redirect_children line, but the damned thing just starts up & shuts down without doing anything.

    I opened the port (3128) during the second install in addition to ssh & ftp, but after it's done, all ports are shut down, there is no documentation to be found on how to open them up. Supposedly Shorewall should be the problem, but the ports are all open in it. At least I never had this problem in RedHat (but I certainly had others). Fuck you, Mandrake... Fuck you in your useless, nonfunctioning distro ass. And I had heard so many good things about Mandrake...

    ANYWAY.... my point is this: compile from source only if you are able to build all of Linux from source (old slackware-style, no installer). If you can't do that, trying to install software from source is usually a waste of time -- it NEVER WORKS. I'm not saying that just because of this experience, but with experience from many different Intel/AMD PCs and 2 Sun SPARCs.

    If you aren't already a fucking genius & can fix bugs in preexisting software, and aren't lucky as shit, use packages. It saves so much time, headache, and vocal cords since you won't be screaming obscenities at the poorly-designed compiler scripts.

    Some packages are a bigger pain in the ass, though. If you decide to install any software by hand, you had better not rely on it in future package installs. As per my previous example, I had to install SG with the "--nodeps" option. If you hadn't installed the dependencies with the package installer, future installs will refuse to accept the possibility that the software might possibly already be installed (my only experience with this is RPMs, but this PITA hasn't changed since at least 1998).

    Think Linux is really ready for the desktop? As soon as I can install any software like this without jumping through a million hoops and reading a dozen novels, it will be ready. Right now? Not. Fucking. Close.

  217. One more recomendation for Gentoo by vadim_t · · Score: 1

    I won't repeat what everybody else said, but here's an extra point: Since Gentoo builds everything from source already, it naturally makes building from source very easy!

    The good thing about that is that if you happen to need a program that's not in Gentoo, it should be trivial to make an ebuild for it, if it's not made in some horribly unstandard way. And most likely all the development files and tools will be already installed.

    Gentoo's got a great system that makes making packages that can be installed with ./configure && make && make install really trivial, and contains some helper scripts for making the installation of things like Perl modules much easier as well (automatic downloading from CPAN for instance)

  218. GCC doesn't auto-vectorize by Anonymous Coward · · Score: 0

    so expecting it to turn FP math code directly into SSE/2 code isn't going to happen unless the programmer coded it that way.

  219. Re:Supprt: Naa, that's not true at all. by cayenne8 · · Score: 1
    "Gentoo compiles glibc, gcc, and kernels from source? I guess I'm not the only one watching compiler scroll for 14 hours at a time."

    As I understand it, yes...glibc, gcc and all ARE compiled from source. I think it does this during the boostrapping process.

    And no big deal...when I'm compiling on machine, I just hop on one of my other boxes. You can pick up extra boxes for almost nothing these days. Right now, I'm playing with Sun Ultra2's with Genoo...got a dual 300 mhz processor, 1G memory for just over $200....and it is pretty zippy so far....so, just get another couple boxes..just install/upgrade one at a time...

    --
    Light travels faster than sound. This is why some people appear bright until you hear them speak.........
  220. Debian is great for heavy CVS building by sabmoc · · Score: 1

    I find the biggest problem is that when I try
    to build something from source it usually
    requires tones and tones of dependancy's

    Debian is great in this regard because I can
    almost always find the needed dependancys in
    apt and then go ahead and compile the CVS code.

    I just did this with gimp2.0 the other day,
    it required tones of devel package dependancys
    all of which I was able to quickly and easily
    install with apt, then it was a simple matter
    of opening the gimp source and doing:

    ./autogen.sh --prefix=/usr/local;make;make install;

    Voila! Gimp2 on Debian Sarge :)

  221. My strategy by lone_marauder · · Score: 1

    Applications - build from source.
    Things applications depend on - install packages.

    Libraries and things of that sort tend to have complex dependency relationships with other libraries and applications. I tend to let my distro worry about that sort of thing.

    By compiling the application from source, things tend to go a lot smoother (surprising, I know) and you usually get a more recent version of the application. Just keep a copy of the source under /usr/src in case you want to recompile later with different options or uninstall the application.

    --
    who are those slashdot people? they swept over like Mongol-Tartars.
  222. Linux sucks by Anonymous Coward · · Score: 0

    Just the fact that you are discussing this shows that you people are idiots. Installing crap on linux takes forever and it never works the first time and usually not the second. There needs to be an install icon like on real computers that run windows.

    1. Re:Linux sucks by Anonymous Coward · · Score: 0

      > Installing crap on linux takes forever and it never works the first time and usually not the second.

      Yes, and installing on Windows does work the first time. The only difference is that after the Linux software is there, it works, whereas on Windows, you have to install it before you can find out it's broken.

  223. Packages are ok - until you need a fix, bad by int2str · · Score: 1

    Many others have stated already that a combination is most likely best. I switched to source based distros for this reason:

    Package systems (at least the ones I tried) are great, until they break. Or until you run some hardware that needs the latest version of an application. Then you have the choice of either wait for your disrtibution to catch up providing a package the newest version, or download the source from the apps website and compile it yourself - and hope it still works.

    Unfortunately my experience is that when you compile some applications from the original source and mix it with dependancies installed as packages, things can break. This is really frustrating because you either have a choice of not using your new hardware for a while *or* spend hours trying to figure out why that dependancy broke, only to arrive at the conclusion that the distro vendor heavily patched some lib and now it doesnt play well with others anymore.

    After years of using Linux exclusively, I have arrived at one single requirement my distro has to provide:
    It has to allow me to download any application source from its original website, compile it and have it not break anything dramatically.

    What works for me in that regard is Gentoo. Your mileage may vary.

    Cheers,
    Andre

  224. Re:Supprt: Naa, that's not true at all. by Flashbck · · Score: 1

    bah! 14 hours for glibc, gcc, and kernels from source?!!?!?!

    I run gentoo on a PIII 733 and the bootstrap "only" took 4 hours and kernel compiles literally only take 10-12 minutes.

    A fresh stage-1 install may take me a weekend, but that's mainly due to the comp sitting there waiting for my next command, as I don't hang out every minute and watch source compile. (it is fun to do though!)

    I admit that compiling everything can be a pain in the butt sometimes, but I have no problem letting my computer start compiling the big meaty packages before I goto bed and let them have fun all day while I'm at work.

    Still though, I use some of the bin packages for gentoo. OpenOffice would take 30+ hours to compile on my computer so I use the bin. But xfree only takes about 2 hours...and that's not so bad. Small price to pay for improved performance.

  225. Building from source has it's uses by petrus4 · · Score: 2, Interesting
    >- You have an easily available source
    >of "known good" binaries if you have a
    >suspected intrusion problem.

    A rather dangerous assumption to my mind, this one. I've heard of Red Hat releases in particular making it to the shelves while still having at least the odd security flaw. Of course you're not going to have time to go over it with a fine-toothed comb, but if you know how to read code I'd give at least really critical apps a cursory once over. It's better than your system going down or being invaded by some anarchistic 14 year old, anywayz IMHO.

    As well as the security/stability issue, one of my main reasons for changing to Linux has been the level of customisability. I suppose we can let overworked corporate sysadmins off the hook for wanting to use predigested distros, particularly if they have to deploy to a lot of machines, (even the most broken distro release is likely to be infintely more secure than the IE+OE knock-out punch ;-)) but I'm not sure anyone else wanting to call themselves a respectable Linux user has an excuse.

    To me, compiling from source is one of the main reasons for using Linux. The ability to compile exactly for your CPU and particular environment, coupled with the security of knowing that what you're getting is exactly what you think it is, and not something that's going to turn your system into a script kiddie gang's next 0-day ircd.

    If you need something that can be deployed on a lot of machines, buy standard hardware that you know Linux supports, (avoid exotic Winmodems, onboard cards etc) prototype from source on one machine, and then mirror it to the rest. To me, a secure, stable, well-configured system is something that cannot and should not be attained in five minutes, and any corporate sysadmin who thinks it should be possible, ought to look for a career change. Just as it's true that in the rest of life there is no such thing as a free lunch, when it comes to security, the emphasis should NOT be on short cuts.

  226. Debian packages source by boto · · Score: 1
    Not every package offers a source package, however. This is something I'd like to see expanded in debian.

    I would really like to know what are you saying here. Every package from the Debian project has its corresponding source package. What packages are you talking about?

    BTW, if I need a modified package, I like the sequence:
    apt-get source package
    cd package-version
    # edit the package
    dch -i
    #add entry to changelog and change release
    #to indicate that you changed the package
    dpkg-buildpackage
    1. Re:Debian packages source by _aa_ · · Score: 1

      My mistake. I was unaware that source packages were mandatory. But I fail to see the benefit of having source packages for applications that are entirely perl based for instance.

    2. Re:Debian packages source by boto · · Score: 1

      Even when the files on the "binary" package are the same that comes with the source, we need at least an source package that will have information about the package version, how it should be built (even it is a simple file copy), where the files will be located, and other information.

  227. Not true by bangular · · Score: 1

    >That just means that you'll have to store the dependancy databases in your head.
    Many people who use binary packages make this argument, but it's simply not true. The gnu build system (despite what many people say) is VERY good at finding deps. I've used linux from scratch for a lot of speciality servers for a long time. Anytime my libs have been out of date, ./configure has told me. Red Hat is dependency hell. They take single packages like Xfree86 and break them up. So you may think you have Xfree86 installed, but you may not have the particular library a package needs. When I compile XFree86, I compile XFree86. Not some stripped down version that's going to cause problems later. Maintaining packages you compiled yourself is not difficult or dangerous and many would like you to believe. If I download gaim and build it with ./configure, make, make install, that's how the original progammers meant it to be built. When you get an rpm, you are getting it through the grapevine with red hat patches and modifications the original authors never intended.

    1. Re:Not true by Anonymous Coward · · Score: 0

      Actually, your parent poster was correct. Once you go down the road of doing your own builds, you HAVE to build everything that depends on it also. You CAN'T install binaries of those because "you'll have to store the dependancy databases in your head."

  228. I'm a n00b but this is what I'm doing by donkeyoverlord · · Score: 1

    I'm running Slackware 9.1 on my laptop, when ever I need to install a package I first look for a slack pack. If none are available I then download the source, ./configure && make && checkinstall. Checkinstall then spits out a nice slack pack for me to install or uninstall without any hassle. The benifit of this is that I can configure the build how ever I want but still have a nice package to install and uninstall when ever I need. Checkinstall can also make .debs and .rpm.

  229. Listen to Him by jmhodges · · Score: 2, Insightful

    Do what your professor wants. Why you ask? Because its your damn professor. He will be happier with a package management system that he feels comfortable with. This will make him happier with you. Do not trifle with the grey beards, they have powers you do not yet comprehend.

    I, myself, am working with a professor on a momentum problem generator in Perl (we're physics people) and I was given a nice equation solving library that he wrote for another issue. I've showed it to a number a people with years (1 or 2 near a decade) of experience with Perl and they said that it was some of the worst code they had ever seen. I thought the way I had to interact with it was stupid and klunky. One giant kludge. I fought it in my own head but tried not to let my emotions about it out in front of him. So I worked at it again and again and you know what a few months later he, a peer of mine and I will be doing a seminar for our deptartment on it this April. The code wasn't as awful to work with as I thought (though to this day I wish it wasn't so klunky) and it worked. I just had to suck up my pride and get it done.

    Don't argue with them. Make their lives easier and you get to see the grey beards happy side. May you have many publications in your future.

  230. Build packages from source by sjames · · Score: 1

    Most of the time, optimizations don't buy very much unless the server is really busy. The primary reason to use source is when you need features or compile options that aren't available in regular package.

    In those cases, the right thing is to grab the source package, customize to taste, and then build the binary package to install.

    This is especially important if you use the packaging system AT ALL. For example, if you use apt to fetch security updates, you really want it to know about everything that might depend on a given version of a library. Otherwise, things will break with little warning. On a server, that's a real problem. So is never doing security updates out of fear that something will break.

    Having the modified source package also means that you have an exact record of how the source was configured, built, and installed. That's helpful when you need to upgrade since the patch and such may apply without issues. If not, at least you can look at the .rej files to see exactly what you need to do the get things the way you like them.

    The only exception would be for software that you KNOW you will never need to install anywhere else and will never need to upgrade or re-install for any reason. There's not much of that.

    Once you get used to the packaging system, it really doesn't take much longer than installing by hand, and if you have more than one machine to install, you'll come out ahead.

  231. Re:Supprt: Naa, that's not true at all. by IdleTime · · Score: 1
    How long it will take to install KDE from source depends on the machine used. Here are my emerge times for KDE 3.2.1 on a 2.8Ghz P4 w/HT:

    genlop -nt kdelibs kdebase kdeadmin kdegames kdegraphics kdemultimedia kdepim kdetoys kdeaddons kdeartwork kdegames kdenetwork kdeutils
    * kde-base/kdelibs

    Wed Mar 17 06:03:44 2004 >>> kde-base/kdelibs-3.2.1
    merge time: 40 minutes and 1 second.

    * kde-base/kdebase

    Wed Mar 17 07:20:48 2004 >>> kde-base/kdebase-3.2.1
    merge time: 1 hour, 12 minutes and 31 seconds.

    * kde-base/kdeadmin

    Wed Mar 17 10:51:40 2004 >>> kde-base/kdeadmin-3.2.1
    merge time: 6 minutes and 35 seconds.

    * kde-base/kdegames

    Wed Mar 17 11:29:26 2004 >>> kde-base/kdegames-3.2.1
    merge time: 20 minutes and 32 seconds.

    * kde-base/kdegraphics

    Wed Mar 17 10:15:33 2004 >>> kde-base/kdegraphics-3.2.1
    merge time: 25 minutes and 48 seconds.

    * kde-base/kdemultimedia

    Wed Mar 17 09:30:50 2004 >>> kde-base/kdemultimedia-3.2.1
    merge time: 30 minutes and 31 seconds.

    * kde-base/kdepim

    Wed Mar 17 08:28:18 2004 >>> kde-base/kdepim-3.2.1
    merge time: 36 minutes and 22 seconds.

    * kde-base/kdetoys

    Wed Mar 17 10:37:30 2004 >>> kde-base/kdetoys-3.2.1
    merge time: 3 minutes and 11 seconds.

    * kde-base/kdeaddons

    Wed Mar 17 09:46:22 2004 >>> kde-base/kdeaddons-3.2.1
    merge time: 15 minutes and 32 seconds.

    * kde-base/kdeartwork

    Wed Mar 17 10:45:05 2004 >>> kde-base/kdeartwork-3.2.1
    merge time: 7 minutes and 35 seconds.

    * kde-base/kdegames

    Wed Mar 17 11:29:26 2004 >>> kde-base/kdegames-3.2.1
    merge time: 20 minutes and 32 seconds.

    * kde-base/kdenetwork

    Wed Mar 17 07:51:56 2004 >>> kde-base/kdenetwork-3.2.1
    merge time: 21 minutes and 36 seconds.

    * kde-base/kdeutils

    Wed Mar 17 11:08:54 2004 >>> kde-base/kdeutils-3.2.1
    merge time: 17 minutes and 14 seconds.
    But the best part about Gentoo is the Forums, it has an incredible friendly userbase with a lot of knowledgable people who are willing to help you out with anything, even questions about other distros and Windows. How many other Linux user forums do that?
    --
    If you mod me down, I *will* introduce you to my sister!
  232. Packages by Chanc_Gorkon · · Score: 2, Insightful

    I do packages when available and use whatever package management system available be it apt, fink, darwinports or whatever and I use whatever format for the packages that the management system needs if there is one. I have used rpm, darwinports,deb and llp(AIX). Packages with a management system allow you to easily install and uninstall items when you need to. They also ease upgrades.

    --

    Gorkman

  233. packages, definitely by halfelven · · Score: 1

    All that "optimization and control" that you mention can be perfectly achieved through packages.
    I make my own packages, and i can customize them as much as a pure-source install.
    Custom gcc flags? No problem, just edit ~/.rpmrc then rebuild the package. I build most of my multimedia packages with "-march=athlon-xp -mcpu=athlon-xp" (and some other flags as well, depending on the package).
    Custom package layout? No problem, just modify the spec file.
    Wanna know which software owns the file /usr/lib/libBlah.so.1.2.3? No problem, just do a "rpm -qf /usr/lib/libBlah.so.1.2.3".
    Etc, etc.
    As a bonus, because everything is installed from packages, uninstall/upgrade operations are guaranteed to be clean. And you are certain you can revert the system to any given state, should you have to, with just a set of simple and standard commands (no custom scripts required).

    Everything you do straight from source, you can do with packages, with the added benefits of uniformity and easy automatization.

    I used to install from source myself. I've found, later on, that the package approach is actually the cleaner and the more controlled one. Now i install pretty much everything (like, 99%) from packages. Many of those packages i build myself.

  234. src.rpm by bucketoftruth · · Score: 1

    I used to maintain 100+ distinct servers with packages built from source. It was a full time job taking at least 50 hours a week.

    Now I use apt-get and build rpm packages from source for distribution to all those machines. I get paid the same and only spend about 5 hours a week maintaining packages.

    I'm using my free time to create a chocolate dessert recipe book. YMMV

  235. Re:Building from source is often just a bloody was by ameoba · · Score: 2, Informative

    The original poster has obviously never dealt with any number of machines. Building from source (with or without a package/ports system) is great fun for a single user systm. Once you get to multiple multi-user systems, it's just not worth the trouble to optimize one program by 5% when nobody ever cares about speed, just that they deleted an important email they've had sitting on the server for the last 18mo and never bothered reading.

    For some things, building from source is unescapable, but with a large number of systems what you want is something that can easily be done itendically to any number of systems with little to no effort.

    Right now, at work, we're trying to transition over to a system that uses Debian with FAI to do roll-outs/reimages and Cfengine to handle updates & other administrative changes (all the while, putting config files in CVS). About the only thing that's going to be custom compiled is going to be our kernel and we're only doing that 'cuz we like some custom patches applied to it.

    --
    my sig's at the bottom of the page.
  236. The point? by Anthony+Boyd · · Score: 5, Insightful

    Wow. There sure are a lot of posts about which is better, but I don't see any comments that deal with the underlying problem. And that is this: don't get into a pissing match with your professor. Seriously, what are you hoping to accomplish here?

    If you were thinking that you'd get tons of pro-compiling comments, and then put that in front of the professor, stop right there. Coming to Slashdot for validation of your side of the argument is about as helpful as those wives who write to Dear Abby about their husbands. Because no husband on Earth is going to appreciate getting chastised by Dear Abby, and if Abby sides with him, he's going to gloat. It's lose-lose for the wife, just like it's lose-lose for you if you try to use Slashdot as leverage. Screw with the computers that the professor relies on, and he'll find a way to "thank" you for it. Don't sabotage yourself.

    1. Re:The point? by Anonymous Coward · · Score: 0

      I guess good advice on salsadot is so rare that it's humorous.

    2. Re:The point? by ratloko2 · · Score: 1

      Exactly. Furthermore, please take the time to consider your purpose in that $5 per hour (plus tuition) job you landed at the U:

      1. Graduate

      If graduating is not your purpose, then ignore the rest of this reply. If it is your purpose then it might help to remember that as a student worker / graduate assistant you rank at the bottom of academia. If you are a Ph.D. candidate, the bottom is slightly above where you live.

      More importantly, it sounds like that managing these servers is more of a support activity with the research being the primary goal (and possibly the source of funding for your position). Of course your prof, after years of banging his head against the editorial boards of the major journals in his field, may have decided that the IT infractructure supporting his research is much more interesting that the research itself. It sounds like this is the case since most of the productive researchers I've run into could care less about the technology as long as it works.

      Either way, it can be really easy for very smart people like you (You did get into Minn.) to miss the forest for the trees as well as forget that you are just the help. In the end, you might consider keeping your own systems up to date however you want and following the preferences of your prof when it comes to his systems. That way, you will be the prof in no time flat and can have some GA updating your boxes from source regardless of how -they- would like to do it.

  237. Build optimized packages from source by rwa2 · · Score: 2, Insightful

    Hey, you get the best of both worlds... easy install, maintenance, uninstall; plus everything is optimized and you still get to say that you build from source "just because you can".

    We'll make a Debian package maintainer out of you yet!

  238. SOURCE by macdaddy · · Score: 2, Informative
    I always compile from source for *any* outward-facing daemons on all of my servers. I do this for many reasons. 1) I can strip out all the unnecessary modules, plugins, features and other crap from the installation that I don't need. This streamlines the overall installation. This has been benefits: 1a) It removes all unneeded features and leaves you only with what you need. The fewer compiled in features the fewer chances their are for your installation to be vulnerable to attack. 1b) The less misc crap that's compiled in the CPU has to deal with the better. Less crap means it will run noticeably faster. 2) I can provide compile-time optimizations for my specific system, not some generic everything's supported package like what Redhat builds. This lets me select which gcc optimizations I want to use, not some Redhat engineer that's trying to compile a binary that will work on almost any x86 system. Think about the Redhat-compiled kernels. Talk about bloatware. They have to build a kernel that will run on almost any system out of the box. That means you have an unbelievable amount of crap compiled in that you sure as hell don't need. Eliminating that bloat provides a significant performance boost.

    That said, perhaps you two can come to a sort of compromise. You didn't say what distro you're using some I'm going to assume you're using Redhat. You could use RH's source RPM functionality to both compile packages the way you want them compiled and yet make it easy to distibute them to other machine and update them with little overhead. It's not too terribly hard to do. Frankly I won't ever do it this way but I can understand if someone does. I currently maintain an identical directory structure on all machines of tarballs (NFS shared of course) and host-specific source files (exploded tarballs in an organized fashion of course). I can quickly copy and paste the previous ./configure options from the older release (after reading the Changelog and docs) and get that package compiled and installed within minutes. A few minutes per host doesn't hurt me any.

    Personally I'm looking into switching to Gentoo. It sounds like it matches my style of administration better than RH (anything's better than RH). You might consider trying it out as well. portage is supposed to be excellent.

  239. You've got to be kidding by Anonymous Coward · · Score: 0

    The Whole point of a package system is a self documenting database.

    Whether you choose to delude yourself into thinking you can do it all or not is the entire point.

    Simply asking the question answers it.

    Simply you don't know how to use a package manager. To debate it is irrational until you know at least one and fully understand why they are useful.

    I think you will find once you actually use one, the question becomes irrelevant.

    Put simply, there is an easier way, and your not using it.. so your choosing to to use what skills you have rather than exploring others.

    Tips and tricks, and hints and clicks will only get your so far.. sooner or later you'll come to understand "why" package managers exist and "why" they are so often debated.

    As for the package manager debate.. my opinion is the jury has come back in.. and RPM currently reigns over dpkg.. though there are easier interfaces to use it.. and YaST seems about to eclipse most.

    The build process for RPM is far from well documented.. regardless of the virtual trees sacrificed in its name.

    Once better tools emerge for using RPM.. perhaps even as an add-on to the Eclipse project.. it will just generally be accepted like rc scripts and tarballs.

  240. Use the Source by gnuLNX · · Score: 1

    see subject line.

    --
    what?
  241. Re:Building from source is often just a bloody was by jmhodges · · Score: 1

    You ignore the handy-dandy source package management systems of many *nixes. Gentoo, Lunar Linux, and many more have excellent ways of watching where packages, tracking dependencies and versioning control. Obviously, if distro is not a choice than we have a problem.

  242. You're missing the point by bangular · · Score: 1

    When I compile a package against lib-whatever-3.1.17, the rpm will not work unless you have lib-whatever-3.1.17 EXACTLY. This is annoying as hell, because I may have lib-whatever-3.1.18, but it won't work. Yay, fun with symlinking time. With rpms you need the EXACT lib, down to the minor version. With the Gnu build system, you almost never need the same minor version, and in many cases (e.g. Gtk) you don't even have to have the same major version.

    1. Re:You're missing the point by Dunkirk · · Score: 1

      Why in the world would you HAVE lib-whatever-3.1.18 on your system, yet have compiled AGAINST lib-whatever-3.1.17?! Are you trying to move binaries across systems or something?

      And it's been my experience that if you have the version called for OR GREATER, you'll be fine. Most libraries maintain backwards compatibility. (People usually start a new library if they can't.)

      --
      Acts 17:28, "For in Him we live, and move, and have our being."
    2. Re:You're missing the point by bangular · · Score: 1

      > Why in the world would you HAVE lib-whatever-3.1.18 on your system, yet have compiled AGAINST lib-whatever-3.1.17? Because the rpm package maintainer compiled it against lib-whatever-3.1.17.

  243. It depends on the app by Angst+Badger · · Score: 4, Informative

    I prefer to install everything from packages when I can. For stuff that I have to upgrade frequently -- usually server processes that need security patches -- I do it from source, partly because I prefer not to wait for a package to become available, but mostly because it saves me from the tangle of dependencies that come with packages. (The difference between RPM hell and DLL hell, as far as I'm concerned, is only that you don't have to pay for the privilege of RPM hell.)

    In general, I haven't found that there is any real optimization benefit in compiling from source in most cases -- the kernel itself and Apache being the primary exceptions. I'm sure it's there, but it's small enough to be unnoticeable in most cases, and therefore not worth my hourly wage to futz with when I could be doing something that actually generates revenues.

    Mind you, this is at work. At home, I tend to prefer compilation, but that's just because I like screwing around with the source.

    --
    Proud member of the Weirdo-American community.
  244. Re:Supprt: Naa, that's not true at all. by Anonymous Coward · · Score: 0
    You're more likely to be able to sit down at a strange Linux box and troubleshoot whatever program when it's compiled from source tarballs versus an RPM.

    What configure options were passed? What was the env like (CFLAGS, LD_LIBRARY_PATH, etc) during the compilation? What does the program depend on, or can i safely upgrade/delete any other lib's on the system? Sure you can troubleshoot these issues (most but not all packages make some issues nicer, like having a config.log, some record other info like phpinfo(), and really good admins may have run script beforehand, recording their steps), but when dealing with a lot of machines, it's nicer not to have to.

    A good packaging system allows you to not have to troubleshoot those issues, plus it gives you the luxury of going to a mailing list and saying "i installed rpm version X.Y.Z of ABC package and am getting this error. what's up?" as opposed to "I compiled ABC v. X.Y.Z with the options --really-obscure-shit and now it's not working, what's up?" Generally more ppl will understand and be able to help with the rpm than with some uniquely compiled package.

  245. To PKG or to SRC , that is the question. by BlueQuark · · Score: 1

    Well for my production systems, both Solaris and Linux systems I use packages for most everything. Unless I need something very special and specific. or if I don't feel like screwing around with building something from source.

    For test/development and personal machines I tend to use src more often.

    I started playing around with Gentoo and I find that I am quite fond of the whole system, it's package system is quite elegant compared to RPM.

    From what I can see, it seems to have the best of both Debian package system and FreeBSD's ports

    As with everything, everyone's mileage may vary.

    "Everybody who is incapable of learning has taken up teaching." - Oscar Wilde

  246. Package Source Package Custom Package Source by Anonymous Coward · · Score: 0

    My personal experience is that installing packages has several advantages: it's quick and simple, it provides an index of what's installed, and the dependency graph of software is more sound than what I keep tucked away in my own brain. There is nothing wrong with packages, and you're not apt to loose out on much performance by using standard packages.

    However, there is the rare occasion where a tweak is absolutely necessary -- such as to apply a specific patch. In that case, I generally download the source package, edit the package specfile and build a new binary (which I then install). I advocate this because it keeps the package management uniform and still lets you audit what's installed. Moreover, I can then move the package to a repository whereby other machines will see it as a new package in their software management tools.

    In a few cases, I've needed things not included in my distributions (yesterday, for example, I needed the OCI8 module for PHP -- which Mandrake doesn't provide for MDK10). So, what did I need to do? I downloaded the SPEC file for php-gd from the Mandrake web-site, changed all references of 'gd' to 'oci8', and modified the PHP configure options. In all of 5 minutes I had a binary package for the extension module and had it up and running.

    I even find that I make simple SPEC files for commercial apps that don't do RPM just so that I can easily reinstall them elsewhere and audit what I've got installed on each machine. This is especially true for things like ffmpeg-cvs and such (where no distribution tracks the package).

    Compiling completely de novo from source without any mind towards packaging is relatively rare for me these days.

  247. Binary Packages, by far. by dieman · · Score: 1

    With one of the largest Linux installs on the University of Minnesota campus I end up using packages to deal managing the machines. For optimized kernels I have some detetction to make sure SMP/non-SMP is installed. Otherwise, everything is compiled for i386.

    If I were to want 'optimized' packages, it would have to be for PPro or better, nothing higher. Too many variants would be a nightmare to manage. Alternatively, only provide optimized versions of libraries or binarys that choose themseves at runtime when it matters. IE: don't worry about ls, worry about media players, computational applications, etc.

    --
    -- dieman - Scott Dier
  248. depends on the machine and it's role by mr_burns · · Score: 1

    I tend to compile on machines that are older. Primarily because I'm trying to get as much out of it as I can. Another one of the deciding factors is availability. If the machine needs all of it's cpu all of the time it'll be hard to find time to compile.

    So that's how I decide what I'm going to do on a given box. One thing to keep in mind is to see if you can choose different distro's depending on that decision. Like using Red Hat on a box you're going to use packages on and Gentoo on a box you're going to compile on. Gentoo makes it really easy to manage compiled applications while rpm is a good package system. That can make all the difference so long as the staff has the expertise to use multiple distros.

    --
    "Let him go, Ralph. He knows what he's doing." --Otto Mann (simpsons)
  249. Most people don't understand Gentoo by bangular · · Score: 1

    While I agree, I think half the people using Gentoo have no business using it. Most people don't understand gcc optimization flags, don't make their own ebuild files, don't set up their own esync server, etc. etc. They might as well be using GRP packages, yet they compile their whole OS with default flags.

    1. Re:Most people don't understand Gentoo by pherris · · Score: 1
      I think half the people using Gentoo have no business using it. Most people don't understand gcc optimization flags ...

      I thought the gentoo folks did a pretty good job explaining what the use flags are but I understand what you're saying. Just because it's explained doesn't mean people are using them.

      I think half the people using Gentoo have no business using it.

      I'm curious, what distro would you recommend instead? Maybe a meta distro of the GRP that defaults to prebuilt optimized packages?

      --
      "And a voice was screaming: 'Holy Jesus! What are these goddamn animals?'" - HST
  250. What about bluehat? by Anonymous Coward · · Score: 0

    Are you talking about non-CAEN (computer aided engineering network) comps? When I was at Camp CAEN last summer, we did our work in Pierpont. The machines dualbooted XP and a customized (but still RH based) version of linux called BlueHat - definitely not LFS-based.

    I forget what the library computers were like, but I don't think they dual booted at all, so that's what's making me wonder.

  251. Am I the one who thinks... by ArchAngelQ · · Score: 2, Insightful

    the OP should be modded -5 flamebait?

  252. PACKAGE PACKAGE PACKAGE!!! by Mc_Anthony · · Score: 0

    I admin close to a hundred Sun and Linux boxes... mostly Sun. They all get packages... Not only does this save time, but it also makes documenting everything for the boss/legal dpt. easy.

    I do use source on my personal computers however

  253. compiler optimization? by alchemistkevin · · Score: 1

    is really the source that is compiled on a machine that will be using it optimized enough to warrant the administrator's time and effort in compiling code every time a small package change has to be introduced in the system? not in my experience, i used compilations for a period of time before moving onto rpm based distributions, the dependency thing is annoying at times, but in short, it makes sure (almost!) that my system won't break down after applying the package. the optimization in compiled packages either is nothing to write home about except when the system is so optimized that there is nothing else except this that can make the difference, which i am sure most of us will agree here, our systems need a lot more of housekeeping and time and effort to upgrade them to this status!

  254. One reason Linux is inferior to Windows by bobbabemagnet · · Score: 1

    Based on the article yesterday about too many choices, and based on my own frustrations with figuring out how to install stuff in linux, I think that Windows has Linux beat hands down in the installation department. All I need to do is download the setup program, run it, and it'll put the program into a new folder in Program Files. Sometimes it asks if I want shortcuts on the desktop. That's it. I don't have to worry about optimization features, I don't have to worry about it not compiling. I don't even have to worry about putting the program in a weird place. It does it the same way every time. Now tell me Linux will let you do that with any program you want to download and install. Grandma doesn't know how to use a console, and she's certainly not going to know all the commands you need in order to install the program.

  255. Packages from a source kind of way by Anonymous Coward · · Score: 0

    I run a slackware machine. What I like to do is download the source files. Then I will make a package depending on what options I set. The source files I create go into /usr/local/src while when the done finished package goes into /usr/local/tgz.

    This way, its easy to install and unistall programs I dont need with 100% customization :)

  256. Re:Fedora is NOT production, but go play by all me by walt-sjc · · Score: 1

    Yep. If you want RedHat but don't want to pay the price, look at WhiteBox Linux

  257. PREFIX= by sofar · · Score: 1

    as a side note, this feature is about to be finalized in lunar-linux : http://lunar-linux.org/.

    Go check it out... there's much more than *just* ghettoo. Some of these:

    http://distrowatch.org/source.php

    are even better than ghettoo!!!

  258. Re:Built from source is better by Anonymous Coward · · Score: 0

    Hi, Richard. Will you marry me?

  259. different view about dependencies by tonythepony · · Score: 1

    One reason I like to install from source that I don't think gets talked about much is dependencies. Usually this is given as a reason to use pre-compiled binary packages. But I think it is the major flaw in binary packages. When you have, say, an RPM the person who built it and declared its dependencies is usually one more person removed from the package's author or the person who writes the "configure.in" file for the souce configure script. This leaves a lot of room for the dependencies to get screwed up - your rpm installs but really needs something that's not there or it won't install because of something you do have but was written into the spec file incorrectly. However, running the configure script yourself is a much safer way to resolve dependency issues, even if it is much more time-consuming. And if the configure script is incorrect, compiling almost always lets you know right then that you need something else. As long as the program doesn't load things with libdl itself, you're ok. And in that case, the programmer is probably checking for plug-ins - which by definition don't need to be there. Generally you can be more sure that something will work correctly if you can build it yourself.

  260. try lunar by sofar · · Score: 2, Informative


    http://lunar-linux.org/

    the installer is maybe not friendly enough for you, but maybe it is.

  261. networked workstations by ArmorFiend · · Score: 1

    One thing I always wonder about that's not quite addressed here is the issue of multiple networked workstations. Suppose I run a small college lan of 20 boxes. I want them to be identically configured. Now if I install gcc on all of them thats 20*install_size_of_gcc bytes of wasted HD space. So its better to install gcc once on a nfs mounted /usr/local. BUT most packages don't support installing to admin-specified locations. So ... hm ... build from source?

  262. Try FreeBSD Unix by Anonymous Coward · · Score: 1, Insightful

    So if you like compiling you would like FreeBSD Unix and/or Slackware Linux. Your teacher, as he loves binary packages, he/she would like Debian GNU/Linux. I recommend you FreeBSD, as IMHO is faster than any Linux distro (even Slack) and tends to be more stable as well. Thanks to the FreeBSD ports you can install anything you want from source. They have the largest collection of open source software (larger than Debian's). www.freebsd.org ;)

  263. package by zpok · · Score: 1

    OK, I am as far from an expert as you're likely to find, but why put all your time in building?

    If you're not doing rocket science, if not every little bit of optimisation is needed, spare yourself and your colleagues major head-aches and make a nice, decent, easy to install package.

    In general, lack of decent, simple stupid installers are what keeps a lot of OSS from the average user's computer.

    --
    I think, therefore I am...I think.
  264. Re:One word for you... no TWO by sofar · · Score: 1


    http://distrowatch.org/source.php

    there's *much* more than just gentoo out there people!

  265. fast security updates? by sofar · · Score: 1


    other source distros (there's much more than gentoo!!!) are often even much faster than gentoo, like lunar for instance. to compare: http://distrowatch.org/source.php

  266. All this talk about Gentoo by Phleg · · Score: 1

    ...but what about Debian? With Debian, the focus is on managed packages, but you still have the option of compiling from source, whereas Gentoo seems to be the opposite (compilation, with an option for packages). In fact, apt-build is far easier to use, in my opinion, than RedHat's system for compiling source RPMs.

    Packages were invented to ease your workload, automatically handle dependencies for you, and allow for easier, faster, and standard deployments of software. If you absolutely have to compile from source (which, to be honest, is not that often), then at least have the sense to create a package for your specific build, such as apt-build does for you. There is no reason nowadays to avoid the use of packages, even when compiling from source.

    Packages make your life easier, plain and simple.

    --
    No comment.
  267. source people generally brighter by thayner · · Score: 1

    I'd go with a source-based distribution myself. It's been my experience that the support at places like Gentoo is, in general, a healthy cut above any of the binary distributions. Why? Source-based distributions attract, on average, a substantially brighter, more experienced crowd.

  268. Thank YOU! by BerntB · · Score: 1
    It's not me that's the problem!!

    (-: Well, of course it's me. But maybe not to a 100% in this case. :-)

    --
    Karma: Excellent (My Karma? I wish...:-( )
  269. Use RPM's by Listen+Up · · Score: 1

    You truly do not gain anything from a source installation. You think it does and it makes you feel good, but the performance gains will be minimum to zero. Does anyone has such specialized requires and hardware that the sourcecode needs to be optimized at the source level? No. And if it did, the research project would not be running on 'off-the-shelf' i386 hardware. Almost nobody on Slashdot appears to have a clue about actual system administration work outside of their little dorm room computers, so let's have a dose of the world outside of undergraduate school. Precompiled package's can be many things:

    1) Installed over and over with the exact same options
    2) Centrally archived
    3) Always installed in the same way and in the same place on each and every computer
    4) All files are cataloged in the RPM so you can pin-point file locations by simply querying the RPM instead of wasting time searching through source-make-install scripts or the filesystem itself
    5) Installation dependancy(s) can easily be automated (urpmi, etc.) to update entire installations without spending all day and night searching and installing and linking these files yourself
    6) And a ton more I don't have time to list

    Someone who is doing research, such as the research I also work on, is not interested in f*cking around with computer installations. Yes, it is fun. And yes, I use Linux, because aside from OSX, it is the best OS to use and the hardware is cheap. But I am interested in research. I am interested in results.

    If the person absolutely needs to compile from source, for whatever reason, then at least use a SOURCE RPM. That way, the source will be compiled, files will be located properly for the distribution you using, and you gain all of the benefits of package management.

  270. And what about security? by Feadin · · Score: 1

    I think an important point about installing from source is the security. When building the program you can specify which things you will be using and which you won't. That way you can disable many 'open doors' you won't need, and minimize the footprint (attack surface) of the programs you run on your servers.

    And about the performance difference... it CAN be considerable, many times it won't, but a few times a program will be really faster when compiled from source with the right options. So I believe you should ask yourself how often do you install new software on the servers, and how much time do you have to do so. Usually, the time it takes to compile a program in a server is pretty short, so I don't see a real reason for not doing it if you use some automated system like Gentoo's portage.

    The traditional way is not always the safer, nor the best. Every sysadmin should be conscious enough to find the better way, and let go RH ;)

  271. there is more... by sofar · · Score: 1

    than just gentoo, try lunar (lunar-linux.org) or sourcemage or even rock linux... compare them at:

    http://distrowatch.org/source.php

  272. It will depend... by nite_warrior · · Score: 1

    on what you want to do. In all my production servers, I only use packages from the specific distro in use (most are debian) I haven't come to the point of the need to tweak something really weird, so no need of sources. Im my workstaion I run FreeBSD, I could just fetch all the packages for everything I need, but just for fun I periodicaly update my ports tree and upgrade everything from the source, there is not really a reason for using sources besides I like watching all the stuff getting compiled, again, is something I don't really need, but I like

  273. Newbie by g0bshiTe · · Score: 1

    I have been using Linux for 2 years now. I consider myself a Linux newb. I am not as familiar with the os as I am with Windoz. I maitain via packages.

    I have this to offer.

    Those that can, compile!

    --
    I am Bennett Haselton! I am Bennett Haselton!
  274. OT - lib/cpp sanity check by feidaykin · · Score: 1
    It's funny this topic would come up. I know this is OT but slashdot folk have helped me before when I post OT questions like this...

    I installed Mandrake 10.0 on a box, and went to install GAIM from source. It barfed at me about GTK, even though it is apparently installed. So I downloaded the latest GTK, but when I try to ./configure it I get /lib/cpp failed sanity check.

    Now I installed all the "development" packages, and checked to make sure GCC was there, and it is, so I have no clue why I'm getting this error. From my understanding ./configure shouldn't even be trying to use cpp instead of GCC. What's going on?

    --

    "To confine our attention to terrestrial matters would be to limit the human spirit." -Stephen Hawking

  275. Packages (source doesn't usually buy you anything) by RAMMS+EIN · · Score: 1

    I'd say, packages.

    Let's some up:

    1. Packages have better integration with the system (dependencies, upgrades, uninstall, etc.)

    Objection: you can build your own packages, or let ports, source debs, SRPMS, emerge, checkinstall, etc. etc. do it for you.

    2. Sources allow optimization, leading to better performance.

    Objection: Results of optimization are virtually unnoticable for most software; differences are usually a few percent tops.

    3. Sources allow customization.

    This is very true if you don't have a good packager. For example, if they only provide a package that depends on GNOME, but you could build it from source withoit GNOME. or you want esd support, but there is only a package without it. Debian, however, does a good job of providing different packages, tailored to the needs of different people.

    4. Binary packages save you time

    Obviously, you don't have to compile, so you save time. Sometimes you might not even be able to compile, e.g. the openh323 library needs so much memory to compile that my machine can't do it. On the other hand, sources tend to be smaller than binaries (especially in compressed form), so if your download speed is really low, sources might save you time.

    So, the conclusion is that building from sources is sometimes useful, but usually a waste of time and energy. Also beware that most software you build and install from source will not keep track of what files it puts where, which is a maintenance nightmare. Always put everything together in one directory, or build a package and let the package manager take care of it.

    --
    Please correct me if I got my facts wrong.
  276. Make your own packages by ToasterTester · · Score: 1

    Don't want development tools on production servers for security reasons. So build from source on another box and test, once okay build a package and install. That will also help insure all your boxes are built the same.

  277. I love Gentoo, but.... by Visceral+Monkey · · Score: 1

    For the number of machines you're talking about, I dunno if source is the best way to go. Personally, I've never understood the hate some have for those of us who build from source instead of using packages. If I was going to do something for a production machine though, It would probably be a package distro like Fedora or SuSE. Maybe Debian, but I've never been that impressed by it. For my own personal use, it will always be from source like Gentoo. I just prefer it.

    --
    *Fortitudo, aequitas, fidelitas.*
  278. Support? What's that? by macdaddy · · Score: 2, Insightful
    Here's another perspective. I've been admining Linux systems for years and I have never had pay for Linux support. I contend that a compotent sysadm using an open source piece of software needs no support other than what's available freely online in FAQs, web forums, newsgroups, mailing lists and his own professional experience. They certainly don't need commercial support. Hardware is a different story. How many people do you know that can still perform component-level repair? How likely do you think it is that a compotent component-level repair technician can get a schematic for an IBM mobo? First I suspect they'll not know what you're asking for. Then once they do realize what you're asking for they'll laugh out loud under the grease their shorts. After that they'll probably suspect you have bad intentions for the data you're asking for and sic their legal team on you.

    In short, Support? Who needs it? Not me. Do you?

  279. both by Anonymous Coward · · Score: 0

    Both, of course. With debian. I use "apt-build install foo" to compile and install the packages I want to be optimized, most of the time XFree86, libc, and some graphic libraries. And yes, it makes a difference (see http://www.terra.es/personal/diegocg/benchs/x11per f)

    For the rest, it doesn't has any sense. Yes, I'd like that debian would switch to i586 code by default, but at the end, in the x86 world, nothing has changed. The success of x86 is _that_, being the same across several version. Yes there're some multimedia extensions (SSE, etc). That's whay I compile some _multimedia_ packages (which may use or not optimization) like Xfree and the gnome libraries.

    And it works. I don't see a reason to do what ej: gentoo or BSDs are doing. THe "configurability" reason is stupid: I do not need to recompile gaim to get rid of msn support, I'd just delete /usr/lib/gaim/libmsn.so . d if I want to get rid of XFree fb support, I delete An/usr/X11R6/lib/modules/libfb.a . I don't need to recompile with USE="fb". _Good_ software allows you to choose what you want at _RUN_ time not at compile time, and if it needs it it's just broken. There're very very few cases where you really need it (ej: a graphic app with a gtk/qt backend) and for those you make two different packages. No need to waste time & bandwith in sources more than neccesary.

  280. gentoo makes source easy by TheLittleJetson · · Score: 1

    i usually do the stage3 gentoo install, building the rest from source. it takes a day or two before everything's built and ready. but after that, the system is pretty simple to maintain, and if you update regularly, the updates dont take very long. i guess my point is -- ive had a history of using packages when they're easier, but if building from source is as simple as "emerge kde" or what have you, i'd prefer to wait a little longer to install, and get better performance in the long term.

    flame-retardent: i know gentoo wasn't the first to have this type of system. it's simply the one i've got the most familiarity with.

    -m

  281. Well, what I do... by c_dog · · Score: 1

    I'm not even going to pretend I've read all of the many responses already made to this, but I will put in my two cents...

    Build once from source, and package for like machines to cut-down on the time costs of replicating work. You just can't beat the optimization benefits of compiling from source using proper build flags (e.g. Gentoo Linux), but you also cannot rationalize the time cost of repetitive actions on identical (or near identical) hardware.

    Of course, there are always those packages where build optimizations are of minimal benefit. Best bet: know your apps, know your hardware, and manage your time effectively to maximize the usefulness of both.

  282. thats the perfect flamefest question:) by hitmark · · Score: 1

    if this does not give the aplha geeks something to do for the next millenia i dont know what will, alltho we do have the old standbys:

    what is best of (select from below)?

    vi and emacs
    microkernel or monolithic
    net/open/free-bsd and linux

    "does like the turtle, ducks and covers!"

    --
    comment first, facts later. http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm
  283. I am a cygwin user, you insensitive clod! by Tei · · Score: 1

    What Is suppose a cygwin user can do with a .deb or .rpm file???... I (cyg user) build everything from source, else... some prebuild stuff.

    --

    -Woof woof woof!

  284. I prefer the EASIEST way to install by Jerry · · Score: 1
    and that is a binary installer that installs a static version of the application which contains ALL of the required libraries built in. Bender is an excellent example, nvidia is another. Memory and disk space are no longer a premium and shouldn't be the coder's main consideration when choosing an install technique.

    When I can't get a binary install then I try for an rpm install, using an rpm made for the version of the distro I am running. I used urpmi when I was running Mandrake and now that I am running SUSE I use YaST2. Even then there is a chance I will run into missing dependencies or version conflicts, sometimes so severe that installation of the app is impossible without breaking my system.

    I have began avoiding the tars because even though the ./configure step may build a Makefile, seemingly without errors, the make step frequently dies with a msg about something missing or being the wrong version. Then you are fighting the parameter trap, if not the version conflict trap.

    One thing for sure... Linux will never replace Windows on the desktop as long as developers keep requiring users to do the steps
    tar -xvfz somefile.tar.gz
    cd somefiledir
    ./configure
    make
    su
    make install
    While it may be easy distribution method for the lazy or inexperienced coder, which is probably why it is used so often, its reliability is suffering because of the traits those programmers exhibit.
    --

    Running with Linux for over 20 years!

  285. the OpenBSD team answers another FAQ unix question by Anonymous Coward · · Score: 1, Informative
    via the OpenBSD FAQ:
    8.6 - Should I use Ports or Packages?

    In general, you are HIGHLY advised to use packages over building an application from ports. The OpenBSD ports team considers packages to be the goal of their porting work, not the ports themselves.

    Building a complex application from source is not trivial. Not only must the application be compiled, but the tools used to build it must be built. Unfortunately, OpenBSD, the tools, and the application are all evolving, and often, getting all the pieces working together is a challenge. Once everything works, a revision in any of the pieces the next day could render it broken. Every six months, as a new release of OpenBSD is made, an effort is made to test the building of every port on every platform, but during the development cycle it is likely that some ports will break.

    In addition to having all the pieces work together, there is just the matter of time and resources required to compile some applications from source. A common example is CVSup, a tool commonly used to track the OpenBSD source tree. To install CVSup on a moderately fast system with a good Internet connection may take only about ten seconds -- the time required to download and unpack a single 511kB package file. In contrast, building CVSup on the same machine from source is a huge task, requiring many tools and bootstrapping a compiler, takes almost half an hour on the same machine. Other applications, such as Mozilla or KDE may take hours and huge amounts of disk space and RAM/swap to build. Why go through this much time and effort, when the programs are already compiled and sitting on your CD-ROM or FTP mirror, waiting to be used?

    Of course, there are a few good reasons to use ports over packages in some cases:

    • Distribution rules prohibit OpenBSD from distributing a package.
    • You wish to modify or debug the application or study its source code.
    • You need a FLAVOR of a port that is not built by the OpenBSD ports team.
    • You wish to alter the directory layout (i.e., modifying PREFIX or SYSCONFDIR)
    However, for most people and most applications, using packages is a far easier, and is the recommended way of adding applications to OpenBSD.
  286. I prefer Custom packages. by EMR · · Score: 1

    I have SRPMS setup with customization options (--with this feature, --without that feature). And as I have a VMware system with an identicle software setup as the server except with compilers, and I build the packages there the way I want them and test them as well, then have the real servers pull them via my APT repository once I they are tested enough.

  287. Best Practices by Anonymous Coward · · Score: 0

    The usual response..."that depends"...

    IF packages are available, then that is what I use. The logic is, that a package install is repeatable. If you compile, there are subtle differences in the machines that will evolve as you add pieces that may give you trouble if you need to recover from a catastrophic failure.

    This is particularly important in business application areas...building a reliable, repeatable process is key to success.

    If you can't get a package, or have to highly customize, then compiling is certainly an option. The caviat here, is the three worst fears of a system administrator: DOCUMENT! DOCUMENT! DOCUMENT!

    Either way, be very careful to maintain libraries of your installed versions. Again, as you might expect, subtle differences can and will bite you...or worse yet, a required dependency may become hard to find if not impossible.

    Hope that helps...

  288. You'll get tired of it eventually by sd3 · · Score: 1

    Ah, to have the energy of a student once again. Eventually you get tired---I got tired of it at some point and decided that having stuff work today was more important than having stuff work optimally, to my unique exacting specifications, or whatever.

    You make the same calculation with money, believe me, and nobody's cheaper than I am. At some point you get frustrated enough that stuff doesn't work and you snap, nevermore to roll your own when you can just buy your way out.

    This is why eventually we'll all give in to time, fatigue, the realization that life is passing by... and we'll all switch to OSX.

  289. My Thoughts by JoelW · · Score: 1

    I tend to do the first install using whatever the distribution uses. Cureently I'm using slackware 9.0.

    After the install, I update things as needed using source. By doing this, I can set the compile options I want and have the executables set for my cpu and what I want.

    I've also found that in most cases, my compiled executeables are smaller and tend to run a bit faster. For me, since I'm only using a 4 gig drive for linux, saving space where I can helps.

  290. PRIDE - 'diehard' or 'blowhard' by freakmaster · · Score: 1
    as usual with techies, everyone gets caught up in bolstering their own egos over performing some job.

    is compiling better? sometimes. are packages better? sometimes. anybody who's 'diehard' anything is usually closeminded.

    diehard linux? there's things that windows does better, hate to break it to ya.

    diehard windows? well, anyway...

    diehard C,C++,Assembler,Perl,PHP,Python.... who gives a crap?

    ok fine, 'C' is objectively the best, but that's another story ;)

    ask yourself this: am I doing ______ in order to get the job done better? or am I doing _____ for my self?

    selfish motivations include:

    1) doing it the hard way so you understand every detail. a commendable method no doubt, but do you need to know every detail of Apache to use it? Not if apache is any good, which it is. If understanding apache is not your job description, which it's not you are WASTING TIME AND MONEY.

    2) going to extensive efforts to improve efficiency. again 99% chance you will never recoup the hours you spend benchmarking and compiling in CPU cycles. once again you're probably wasting time and money.

    3) using 1 method because you HATE XXXX corp. possibly dumb if XXX corp happens to have a product that does what you need better.

    4) using 1 method becuase you got burned doing it a different way before. understandable, but things change & maybe you're work around is no longer necessary & again a waste of time. argh, i don't know, i guess i'm done. ok i'm done :)

  291. Mostly packages by Alioth · · Score: 1

    The only time I don't use a package is when there isn't one available, for example, if you want to run Exim on RedHat.

    Typically, I prefer to use Debian. If you use the packages, apt-get update && apt-get upgrade will upgrade them all when bugs are found (particularly important with security on an Internet server). If you're doing everything from source, it's quite a bit of hassle manually compiling new versions of things that have vulnerabilities.

    Generally, go with the packages (or at least a BSD-style ports system).

  292. packages for the easy stuff but from by Anonymous Coward · · Score: 0

    source for the code that has a lot of security
    issues - you need the latest. Code like
    BIND or sendmail or DHCP Server, etc.

  293. Mandrake Expatriate Syndrome by windi · · Score: 1

    http://www.greenfly.org/mes.html

    Seriously, Gentoo is not suitable for servers at all, especially not for production machines. Apart from the CPU cycles spend compiling, Gentoo doesn't have the quality control that some other distros have.

    Now, I don't hate Gentoo, but it's not ment for servers.

  294. Re:Building from source is often just a bloody was by ookaze · · Score: 1

    Actually, you are right for basic "compiling from sources". But I use nALFS, and while I spent a lot of time creating more than a thousand XML install description files (one for each package I use), I now have all the benefits of packages you noted, and all the benefits of compiling from source.
    I have all of these, and I have a complete control of my box. When a security update is out, I need only the time to modify the software version in one XML file, then I launch nALFS, and I update.
    Updating Gnome or KDE is a breeze, well, after I updated all version numbers of packages. Security updates are a breeze too.
    The point is not just a petty performance tweak, the point is to have a powerful and durable system. It worked beautifully.

    My install system can even recreate a boot CD (in 5 hours, zero human intervention) or/and a boot DVD. It's really powerful, really.

    And as I am in control, I have none of the problems of distributions, like no more support for old versions (I am always up to date if I really want to, I can lag behind if I want to, that is a change of version in a XML file away), or everything that changes between versions.

  295. If you build it - it will shine! by moshiko · · Score: 1

    My trusty amd800 runs only software it compiled.
    Sure, everyone said it, and were right:
    source code takes longer to install, doesn't always work and is generally a pain in the neck.
    But still - it's fun ;-)

    --
    I love burekas in the morning
  296. For me it depends... by ErisCalmsme · · Score: 2, Informative

    I'd rather use source all the time, but when you are using a really slow machine that could take forever... thats where packages make things a bit easier...

    However, the problem I've run into very recently, with mandrake 10, are that even though certain programs like apache, and php, can support a lot of things (i.e. can be compiled to support things), the binaries distributed with mdk 10 dont include all of things I needed...

    Specifically, when installing Mambo on a webserver here I found that zlib support and xml support were both missing, even though apache and php were both installed. The only solution I could find is to install zlib (from source), and then recompile php and apache. I still havent quite figured out why xml support is missing, but I digress;)

    Using packages and source together can also be extra work because a lot of the stuff you need to compile programs are in "devel" packages that arent installed by default (That doesn't happen at all with LFS.)

    It's a tough call but the way I see it, try packages and if you don't run into problems, then fine... otherwise just don't forget that open souce is... well open source? =)

    Sorry if all this was said already but I had to give my .02

    --
    Chaos is Divine *
  297. Sounds like... by adamofgreyskull · · Score: 1

    ...the programmers in days of yore who didn't mind submitting their programs as punched cards and coming back a week later to find that the room-sized computer* had failed on the 2nd card.

    *So expensive that only the 5 richest kings of Europe could afford them.

  298. Re: Lunar Linux by RAMMS+EIN · · Score: 1

    Thanks for pointing me at Lunar. I might give it a spin someday, but for now I am very very happy with Debian. Honestly, I think Debian is so hard to beat that we shouldn't even try, and instead focus on improving it.

    The other thing is that my mind is slowly moving away from Linux. It is much too monolithic for my taste, and there are some other issues as well. I would like to experiment with event-driven I/O, database-like filesystems, unification of shell and programming (imagine having the full capabilities of the system available via the shell, full-fledged access control on functions instead of e.g. needing to be root to bind port 80), and more such things.

    I'll still use Linux for times to come, because it works better for me than any other OS, but I'll be looking out for and/or working on more revolutionary things.

    --
    Please correct me if I got my facts wrong.
  299. Pick the "Right" Tool by ChaoticCoyote · · Score: 1

    Why must it always be a binary, black-or-white choice? Gnome or KDE, source or package distribution, AMD or Intel ... it's as bad as religion sometimes!

    A smart person learns the advanatages and disadvantages of different tools; it really doesn't take that much effort, especially for anyone who calls themselves a "professional."

    I just bought a dual Opteron workstation, and it had Gentoo-amd64 installed, built from source. Why? I wanted a pure 64-bit environment, and I wanted the machine tightly tuned.

    Would I recommend this to a non-expert? No.

    What does my wife's laptop run? Windows 2000, because she needs to be compatible with co-workers.

    What do I use on my Pentium 4 workstation? Debian 'sid', installed from packages.

    My dual P3 server? Debian stable, from packages.

    Only proselytizers, trolls, and pundits think that one size fits all.

  300. Source is the best ... for now by Kleedrac2 · · Score: 2, Interesting

    As there are over 500 comments I'm assuming I'm being "-1 Redundant" but I'm also assuming moderators probably won't get this far ... come to think of it neither will readers! Oh well. Anywho I've always been a build-from-source kind of guy but that's due (at least in part) to my FreeBSD background. In FreeBSD I had the best of both worlds, the port list which made it very easy to install a software package, and the fact that the port list downloaded source and installed! Nowadays I use Suse and as such I can use RPM's, however I usually find myself building from source whenever possible. One of those, "just because I can doesn't mean I should" type of things. I think that until there is a universally accepted and implemented package type that simply works in all linuxes I'll stick to source, not packaged.

    Kleedrac

    --
    Sure we wang, can.
  301. Whichever is the best for the purpose--- by Sedennial · · Score: 1

    We use a mix of both. We run Gentoo on most of our SMP production servers (and unlike a previous post have never had any 'quality control' issues). Compile time on a good machine is minimal. A complete kernel build and building all programs necessary for a virtualhost mailserver takes under an hour for a Dual 2.4 Ghz Xeon with 2 GB RAM.

    However for machines which need minimal clue level (i.e. for customer maintined machines we install into a customer network) we usually use Debian or RedHat unless there is a performance issue. The performance boost we see when comparing optimized source builds vs. generic architecture package builds (.deb,.rpm) is substantial.

    We generally sit down internally and make a decision on which is going to provide the best performance:maintainence ratio.

  302. Start from packages; document the modifications by karlandtanya · · Score: 2, Insightful
    If the "standard" package gets the job done, leave it alone.


    I know there is temptation to make things a little bit better, but support after you're gone is the issue.


    The genius who designs a system that only (s)he can maintain is a poor engineer.


    Find out what your customer's (the prof sounds like the customer in this context) requirements truly are. Is good enough good enough for the prof? If you give him what he wants and he finds out next week that it could have all been optimized to perform .5% better, will he be pissed? Functionality? Optimization?Robustness? Maintainability? Look & Feel? Thorough documentation? Easy transfer of support (to the next slave^H^H^H^H^H student?


    Meet those requirements with the minimum customization.


    Document the system. This may be a nightmare if the system has already been "tweaked" by the previous maintainers. If that's the case, it's even MORE important to simplify and document.


    Provide recovery tools--as simple as a set of drive backup images, or as complex as a set of scripts that rebuild the system from source. At a minimum, supply a system administrator's manual.


    Building a system for a customer to use is a completely different endeavor from elaborately tweaking your own box so it is just exactly the way you like it.

    --
    "Reality is that which, when you stop believing in it, it doesn't go away." - Philip K. Dick
  303. Red Hat Blues by spun · · Score: 1

    I've got several RH8 production servers. I compile the major applications we use from source: mysql, apache, php, perl, and qmail. I have always had minor problems getting things to compile right on RedHat. Recently, they have taken to compiling everything including the kitchen sink into every package. I had to uninstall half my system in order to remove RedHat's perl. I was up all night compiling ImageMagic. Shudder. I still don't have freetype and Ghostscript support working right. Qmail and supporting programs need dozens of patches, especially now that RedHat uses Glibc 2.3.2.

    --
    - None can love freedom heartily, but good men; the rest love not freedom, but license. -- John Milton
  304. Gentoo dose both by photon317 · · Score: 1


    Install from source, automatically with nice package tree management and dependency tracking. If you feel the need to custom compile a package or two in such a way that precludes using their automated build system, you can do it manually and then "inject" the package into your installed base, so that dependencies work for the manually added package.

    --
    11*43+456^2
  305. Compiling A Red Hat Kernel from .src.rpm by KidSock · · Score: 2, Informative

    If you should need to recompile your Red Hat kernel do not try to install the raw kernel source from kernel.org. Red Hat and other distributions require that they use their versions of kernels specifically taylored to their distribution. For Red Hat, install the kernel-.src.rpm (note that this is different from the kernel-source package) and look at the file /usr/src/redhat/SPECS/kernel-2.4.spec. At the top of this file you will see something like the following:

    Summary: The Linux kernel (the core of the Linux operating system)

    # What parts do we want to build? We must build at least one kernel.
    # These are the kernels that are built IF the architecture allows and
    # no contrary --with/--without arguments are given on the command line.
    %define buildup 1
    %define buildsmp 0
    %define buildBOOT 0
    %define buildenterprise 0
    %define builddebug 0
    %define buildjensen 0
    %define buildtape 0
    %define buildBOOTtape 0

    Change all of the 1's to 0's leaving a 1 for only the kernel version you wish to build. The above listing shows the modified spec file for building the uni-processor kernel. Now build with an appropriate target option like:

    # rpm -bb --target i686 SPECS/kernel-2.4.spec

    If you do not do this, RPM will attempt to build multiple kernel versions. Usually it is only necessary to build one kernel specifically targeted for your machine. Building all of the kernels defined in the default kernel.spec will take many hours even on a fast machine. When the build is complete there should be an RPM in the RPMS/i686 directory (or the directory for the specified target) that can be installed with:

    # rpm -Uvh RPMS/i686/kernel-2.4.20-28.7.i686.rpm

    Now can someone explain how to run make xconfig beforehand?

  306. Build vs use by po8 · · Score: 4, Informative

    I've been building from source since the late 80s. What has happened is, I've gotten old, and tired of the same ol' repetition and screwups. These days, I always try the Deb package first. 95 times out of 100, that works fine. Even if it doesn't, the infrastructure to build is typically installable as Deb packages.

    It's not even the compile time that's so significant. It's the pain of figuring out somebody's config/build system, and the even greater pain of configuring the thing once its installed. Deb packages make these problems mostly go away.

    Go ahead and build from source if you like. Someday you'll get old too.

    1. Re:Build vs use by Anonymous Coward · · Score: 0

      Thats why we have gentoo dude.

    2. Re:Build vs use by evilviper · · Score: 1
      It's not even the compile time that's so significant. It's the pain of figuring out somebody's config/build system, and the even greater pain of configuring the thing once its installed. Deb packages make these problems mostly go away.

      Ports/Pkgsrc on *BSD, as well as "ebuilds" on Gentoo also make this problem go away. All the advantages of both!
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
  307. Packages by Anonymous Coward · · Score: 1, Informative

    I definitely prefer prebuilt packages. I run Arch and Slack on two machines and will only use source installs as a last ditch (because the author only provides source). I don't mind the idea of compiling, but only if it's quick. I refuse to spend 2 days building my system when I can download it in 5 hours with packages.
    When I have a machine quick enough to build a system (linux, KDE, Gnome, Mozilla, several other packages) in two hours then I will build from source. So maybe 5 years?
    I don't think either matter, the gains from optimization are nothing if the person who built the package knew what they were doing, maybe a small gain by using some new instructions on your CPU.

  308. Versioning by RAMMS+EIN · · Score: 1

    ``Except, if those files (or their sources) required patching in order to make a dependent program work, then having a random version of those files won't make that program work''

    This is why we have version numbers on .so files. If your program needs libfoo.so.2.1, than it should list that as a dependency, rather than just libfoo.so, which might actually be a link to libfoo.so.1.0 (without some bugfix or feature).

    Binaries usually don't have those version suffixes, but there's no reason they couldn't or shouldn't have. Debian, for example, provides gcc-3.3 and php4, so programs that need some specific version of a binary can get it.

    If you need to distribute software with some specific feature, try first to get it included in the main version of that software. If that won't work, you'll have to distribute a custom version _and name it distinctively_ so that your feature can be detected, and the standard version of the software can coexist with your custom version.

    --
    Please correct me if I got my facts wrong.
    1. Re:Versioning by cowbutt · · Score: 1
      This is why we have version numbers on .so files. If your program needs libfoo.so.2.1, than it should list that as a dependency, rather than just libfoo.so, which might actually be a link to libfoo.so.1.0 (without some bugfix or feature).

      Unfortunately, there have been many cases of libraries changing their APIs without changing the major version number (e.g. glibc). So you can't rely on the library major version number as you would like to do.

      As far as I can tell, the argument goes that if you change the major version too frequently, you'll end up with lots of versions of the library present in memory, depending on which version a binary was compiled against.

      I'm not saying that I go along entirely with that line of reasoning, but I present it for reasons of balance.

      Personally, I think AmigaOS' implementation of shared libraries were about the tidiest I've seen.

      Incidentally, RH/Fedora has started adopting a number of Debian-isms; both MySQL and PostgreSQL provide the 'database' virtual package (so either satisfy an application's dependency for 'database') and Sendmail and Postfix can be switched using a Debian-like alternatives scheme.

      --

  309. Gentoo + PHP = infinite pain by CmdrTHAC0 · · Score: 1

    Sure, like any distro, an install will blow here and there due to dependencies, but, for the most part, I find it rarely happens with Gentoo....and makes the whole process so easy to do.

    You have clearly never worked with mod_php. It likes to install a fresh copy over the old one, install both mod_php and CLI php whether you wanted CLI or not, and then warn you... "Due to previous bloopers with PHP and slotting, you may have multiple instances installed..." They're not too previous if the same thing still happens constantly!

    Granted it's a worst case, but it is pretty awful (and repeatable, and persistent). Maybe nobody's fixed it because they all commit suicide after looking at the tangle of PHP ebuilds?

    --
    __CmdrTHAC0__
    In Soviet Russia, Spanish Inquisition doesn't expect YOU!!
    1. Re:Gentoo + PHP = infinite pain by dotKAMbot · · Score: 2, Interesting

      personally I think you are silly if you use packages or ebuilds when it comes to Apache + modules. Your best bet is to just do it from source.

      I run gentoo, redhat or FreeBSD, and I never use any of their packages/ports/portage for Apache or MySQL anymore, it just rarely works out right if you have complex needs.

    2. Re:Gentoo + PHP = infinite pain by Trejkaz · · Score: 1

      Whatever pain there is, it seems to be minimal. I've seen PHP update itself about six times since I first installed my Gentoo system, and have no complaints about it.

      Multiple instances means multiple versions of the same thing. PHP and mod_php are still different packages, not multiple instances of the same package.

      Whatever has happened PHP still worked at the end of it.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    3. Re:Gentoo + PHP = infinite pain by just-a-stone · · Score: 1

      php, apache & tools i link against oracle - things i always compile myself in order to avoid problems. if you work in a heterogenous environment, this is one of the possibilities of keeping things even a lil' bit similar - and as a bonus, it's more stable. very common things like the most common gnu tools, i get from sunfreeware, debian, as ports or via cygwin - and i'm used to a lack of goodies (ahh- tar knows "z" here?). what really saves me a lot of time is a collection of shell scripts containing the configure strings and some written dependency trees (compiling the next missing lib on next term gets boring after a while - and too much coffee a day keeps the girlfriend away)

    4. Re:Gentoo + PHP = infinite pain by eraser.cpp · · Score: 1

      Very much so agreed. I myself am a gentoo user and love the organization of portage, and how easy it is to keep software up to date with the latest patches. But for some reason php is a complete pain in the ass to get working sometimes. It took me at least an hour longer than it should have to migrate from php4 -> php5. That said, php5 was in the unstable branch at the time and I have yet to experience any other problems.

  310. FreeBSD is the way to go. by rawg · · Score: 2, Insightful

    I am currently migrating to FreeBSD from Debian. The main reason is the easy of installing and maintaining software. With FreeBSD Ports system, installing is easy.

    I get the latest stable software. I don't have to worry about crazy dependancies (I don't want MySQL dammit, I use Postgres). The software is in a standard place. It's easy to tweak things.

    I also find that FreeBSD is much faster than my Linux system... Especially RedHat.

    --
    The above is not worth reading.
  311. Only interesting stuff from source. Mostly rpm by RedLaggedTeut · · Score: 1
    I mostly use rpms, but you have to use the source when you want to add something to the source code, use ggc -g/gdb to debug, or do profiling.

    So I'm happy that the most interesting stuff is available as source. (That is the stuff that I'm interested in. YMMV.) When you don't expect to work out anything from the source(not even pngs and config files) you are better off with rpms.

    --
    I'm still trying to figure out what people mean by 'social skills' here.
  312. YOU WILL WIN NEO by Anonymous Coward · · Score: 0

    TELL TRINITY I SAID HI.

    1. Re:YOU WILL WIN NEO by Anonymous Coward · · Score: 0

      HAHAHAHAHAHHAAHAH!

      This is so fucking funny on so many levels. I almost pissed myself laughing.

  313. Setup a build logging tool for a LAMP system. by Anonymous Coward · · Score: 0

    I compiled Linux from scratch, I don't mean gentoo or any distribution, I literally mean creating a
    chrooted build environment, compiling a compiler, glibc etc.. then using the build environment to build a working linux system, all from scratch.
    http://www.linuxfromscratch.org/

    The procedure took about a month, and was a lot of work.

    Right away I knew I'd need a log of how I compiled everything, (so I knew what I did to get xyz working) I wrote a tool to do the job. It lives on sourceforge (http://buildog.sourceforge.net)

    Keeping a log of the commands, notes, etc.. has been invaluable when it's time to recompile with different options. Storing this "documentation" as a shell script allows me to alter the options and recompile.

    Keeping a build tool as minimal as possible (no spec files, dependancies or rigid syntax) means that I'm more likely to actually use it. The fact that the documentation is also the shell script means that things actually do get documented, at least in a minimal sort of way. (the script is designed to operate within a controller type of environment, to keep most of the ugly shell details out of the actual build script)

    I would say that for a LAMP system, source is the way to go. Particularly because you'll know exactly what and why things are installed. But it's important to keep notes so you can refer to them later, the notes have to be centralized because you'll need to actually find them, keeping a bunch of text files scattered here and there won't work. (been there, done that..)

    I would say that a source based setup is actually easier to maintain because it tends to be minimal.

    With a package system you've got dozens of conf files, package data, etc.. and can never really be sure what a given package did, or if something will go behind your back and modify a conf file that you've already edited.

    For other systems, such as a desktop machine I wouldn't even attempt it. It's simply too much work.

    If you've got a server farm or need to do several machines, source-based installation may not be such a great idea (unless you have some way of distributing the binaries on all the servers)

    I suppose in the case of a professor or other authority that demands a package based system, packages are the way to go just to keep him or her happy.

  314. BSD Ports by Mirko.S · · Score: 1

    With open source software you have so much fscking possibilitys to build your software so every binary package lose when you want to use it under a "special" environment when you have to inlcude some exotic things or something like that.
    With the FreeBSD ports for example you have the possibility to change the Makefile for compiling options. So you have you OWN package which going to be included as a package into your system and it is simple to use.
    When a "port" needs another "port" to be builded, freebsd automaticaly download the source, compile it and install it unlike an RPM where only the dependencies are printed when you don't use YaST or some other dummy-administrator software.

  315. Pay for WHAT? Put down the pipe. by Saeed+al-Sahaf · · Score: 1
    Yep. If you want RedHat but don't want to pay the price, look at WhiteBox Linux

    :ast time I looked, RH9 was still there for download, as is RH Enterprise. For FREE. What are you talking about paying for?

    --
    "Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
    1. Re:Pay for WHAT? Put down the pipe. by walt-sjc · · Score: 1

      RH9 is about end of life. Enterprise only has source RPM's, no ISO available.

      Go read the Whitebox FAQ and you will understand.

  316. Simple by Anonymous Coward · · Score: 0

    Build packages from source, install packages.

    Building and installing directly from sources is okay for temporary use but, in practice, it will eventually leads to a cluttered, unmanageable system since there's no formal file management/control system.

  317. gentoo by Anonymous Coward · · Score: 0

    I started using gentoo a few months ago and I love it! Yah, it's sometimes a pain waiting for something to finish compiling but it is definetly worth it. Upgrading is so easy, just a simple "emerge sync && emerge world" Gentoo is linux at its best.

  318. Keep your packages separate. by Morth · · Score: 1

    Well a bit late to post here perhaps but one thing I've found important when building from source is to keep your packages separate. That is run ./configure --prefix=/sw/\${PACKAGE_NAME}/\${PACKAGE_VERSION} (note you'll probably have to fill it out manually). Then you use a script to set up your PATH, LIBRARY_PATH and CPATH etc...

    It saves a lot of headache, and gcc will still find all includes and libraries.

  319. Re:Supprt: Naa, that's not true at all. by TheTomcat · · Score: 1

    Debian is your friend in this situation.
    The Policy Manual is very specific about how and where your packages behave and install, respectively.

    S

  320. Unfinished?! by stealth.c · · Score: 1

    The Gentoo installation method IS finished! It is exactly the way it is supposed to be.

    To introduce some push-a-button-and-go installer would cause Gentoo to cease to be Gentoo. Gentoo is [for/by] people who WANT to be the one to do all those things to construct the system and install manually. It's for people who want total, explicit, unfettered top-to-bottom control of every cotton-picking thing in their box. I think if you really want to learn Linux, install Gentoo (or Slackware). If you want an easier/faster install process, there's always Mandrake or Fedora.

    Dif'rent strokes for dif'rent folks.

  321. From Source or Bust! by meyeaard · · Score: 1

    My server is a LinuxFromScratch 4.0 system and as with all 'FromScratch' systems it is completely source based.

    How do you deal with the clutter of libraries, includes, man pages, logfiles, config files, etc that each new application needs to install?

    Good question: When compiling running the Configure script ( or by Editing the Makefile if there is no Configure script ) I select a --prefix= /opt/[packagename-version] Now all files that this application installs is under this directory branch. Update /etc/ld.so.conf to indicate the new lib folder /opt/[packagename]/lib and run ldconfig. I then use symbolic links to setup init scripts and to link the man pages to the man directories. Want to move to a new version? Install new version to another /opt/ directory.

    Side benefit! You can have multiple copies of the same applications installed and running independantly of each other! I have samba 2.8.1 and 3.x as well as Apache 1.3.x and 2.x running at the same time! You can test the new version without interferring with the older version. ( With network applications as those listed you will need to create virtual adapters ie. eth0:1 and explicitely bind them to that application in their config. Samab is interfaces=eth0:1 or interfaces=10.10.10.1 )

  322. May the source be with you! by Zemplar · · Score: 1

    But use a package when source-envy is not a problem.

  323. PREFIX == ROOT by CmdrTHAC0 · · Score: 1

    From emerge(5):
    ENVIRONMENT OPTIONS
    ROOT = [path]
    Use ROOT to specify the target root filesystem to be used for
    merging packages or ebuilds. Defaults to /.
    This may have been added recently, since I've never looked for it before, but it's definitely there in portage 2.0.50.

    --
    __CmdrTHAC0__
    In Soviet Russia, Spanish Inquisition doesn't expect YOU!!
    1. Re:PREFIX == ROOT by asdfghjklqwertyuiop · · Score: 1

      No, ROOT is completely different from PREFIX. The software you install that way expects that when you run it that directory will be the filesystem root. And emerge does not check if dependancies are satisified by stuff outside that directory anyway. It is like building a whole new system in that directory.

  324. Use checkinstall! by Atmchicago · · Score: 1

    If you have the time to compile from source, and have slackware, debian, or use RPMs, you can use checkinstall (found here: http://asic-linux.com.mx/~izto/checkinstall/ ) to make packages from source. Works great under slackware in tandem with pkgtool, as it gives you the optimizations that you need along with the benefits of packages.

    --

    You can lead a horse to water, but you can't make it dissolve.

  325. Anaconda Gentoo Installer by Anonymous Coward · · Score: 0

    If you want to install Gentoo by the easy way go get the anaconda-gentoo-installer based on anaconda from RedHat here is the link: http://gentoo.vidalinux.com/?q=node/view/35

  326. Slackware by KamuZ · · Score: 1

    If you are look for the benefits of a package and you use Slackware, try checkinstall.
    Just configure the sources, make them and before installing use this programa, it will make a good slackware packages, and you will get the benefit of remove or update packages in a clean way!

  327. Maybe build your own packages? by SCHecklerX · · Score: 1

    Then you get to build from source, but can manage packages on those 10 linux servers much more easily.

  328. Four reasons for building from source by darthtuttle · · Score: 1
    --
    Darthtuttle
    Thought Architect
  329. I am not very experienced, but... by bicho · · Score: 1

    ... why not build a package?
    Not to hard.

    If rpm, just grab the source rpm from the same program and modify it to your needs, if there is none, start your own.

    slackware packages are very simple.
    Though I am clueless about debs and gentoo's packages, but you could get example packages and follow them to build your own custom made one.

    --

    errera hunamum ets
  330. Gentoo graphical installer by carlitoslinux · · Score: 1

    If you want to install gentoo by the easy way go to the following link: http://gentoo.vidalinux.com/?q=node/view/35

  331. Thus reducing it to a problem already solved by akajerry · · Score: 1

    Prof. Joe Weizenbaum used to tell this joke to his intro programming students.

    Question: There's a cabin in the woods, a table in the middle of the cabin, a bucket of water on a table, a fire burning in the fireplace, and it's raining outside. How do you boil the water?

    Answer: Take the bucket off the table and put it in the fireplace.

    Question: There's a cabin in the woods, a table in the middle of the cabin, a bucket of water on the floor, a fire burning in the fireplace, and it's raining outside. How do you boil the water?

    Answer: Put the bucket of water on the table, thus reducing it to a problem already solved.

  332. Security and Trust by aminorex · · Score: 1

    "Optimization" should not be misplaced, because then it is no longer optimal.
    If your time is not worth anything, convenience does not add value.

    If you require internal certification of the security of a package, then source is your only option.

    --
    -I like my women like I like my tea: green-
  333. MOD PARENT AS FLAMEBAIT by Ant2 · · Score: 1

    MOD PARENT AS FLAMEBAIT...yes I DO mean the original article.

  334. Re:Building from source is often just a bloody was by Anonymous Coward · · Score: 0

    your forgetting though... my system != your system

  335. source vs package & packaging, or just support by Sleepy · · Score: 3, Insightful

    Usually when one builds from Source, they install it to wherever the original developer has it set to by default. Unless you did some heavy patching, the software will very likely be more "true" to the original software then many packages.

    Correct me if I am wrong, but are you contridicting yourself here? Gentoo DOES use developer source, but they ALSO do what you call "heavy patching".

    I interpret this "source vs package" debate to be something different: What is the NORM for your distribution, and are you using the OS in ways that were not tested by the vendor's SQA team

    For example, ANY of these distros can get borked if you install Ximian on top of them and THEN go back to the vendor for updates. It wouldn't matter if you did it from source or packages.

    Same with Alien packages on Debian, or "Redhat centric" rpms on Mandrake or SuSE.

    Bottom line is don't mix oil and water. :-)

    I agree with your comments about what is good with Gentoo. I happen to like Gentoo and FreeBSD for the very reason that there's a BAZILLION source packages that all have cross-testing against each other. Same for Debian I suppose.

    Best thing RedHat ever did for their desktop distro was set it free. They NEVER wanted to be in the business of supporting user-borked desktops when they install random stuff from the net, and they never wanted to manage and QA a large repository. Now it looks like there's a Fedora community (two actually) addressing the package distribution issue. Good for them.

  336. No ulterior motives here... by zorander · · Score: 1

    This thread wasn't chosen by editors to create a Debian/Gentoo flamewar. Nope. Not at all.

  337. I need TAR first..but by Anonymous Coward · · Score: 0

    When I went to the GNU ftp sites, to my horror, the TAR program was TAR'd. After much gnashing of teeth, I get the thing uncompressed, and follow the 20 steps to install. Of course, I have to tweak some of the scripts because of some libc incompatibilities. And so it goes.

  338. Wow...How Speedy by Eravau · · Score: 1

    I can't imagine how wonderful it would be to admin a slew of boxes on which every update had to go through this process. That's 5 hours, 12 minutes...just for KDE...just for one machine. No thanks. If it was my own machine...maybe. If it was for work where downtime means down profits...no way. That's a lot of wasted time when you can throw a few bucks at the problem (or in some cases just keep your money) and have pre-compiled, ready-to-install packages that will install in a handful of minutes.

    1. Re:Wow...How Speedy by Anonymous Coward · · Score: 0

      Except that, if your machines are identical, just copy over the results

  339. Mostly packages by Guspaz · · Score: 1

    I like RPM and up2date in RedHat ES 3.0. However, some things I still install from source, like Apache and PHP. Others, like MySQL, I do from packages.

  340. build your own packages from source ... by brainchill · · Score: 1

    I prefer to maintain the system via packages because they are easier to add/remove/upgrade and maintain but I like the optimization and control you get over the finished product when you build it from source. All of the packaging systems are fairly well documented so I choose to build my software from source and build packages myself. This way I can maintain a large number of machines and keep them identical quite easily.

  341. A Concise Answer by Anonymous Coward · · Score: 0
    Stolen from a colleague who works at a telephony company deploying thousands of machines: 'nuf said.
  342. Shouldn't you be studying? by Xhris · · Score: 1

    Assuming you are a postgrad student and not actually being paid to administer the system, you really should be spending your time doing your study/research instead of tweaking the last 10% out of your applications. It really isn't worth the bother. And it is hardly an achievement to add to your cv ("I know how to type ./configure;make;make install"). As someone who had to do this for a Solaris network in the days before packages, I can tell you what I would be doing given a second chance...

  343. Numbers Matter by smwalker · · Score: 2, Interesting

    1 Server, 1 Admin - Build from source
    5 Servers, 1 Admin - Build Packages and install
    1 Server, 5 Admins - Use Standard Packages
    5 Servers, 5 Admins - Build Packages with custom names/versions and install

    Seriously, I have 7 Admins managing a mix of 160 Servers.
    The simplest way I've found to have the best of both worlds, is to D/L the source RPM (SRPM), customize to taste, modify name slightly, rebuild, and distribute.

    For instance,
    Needed customized apache to support a couple of things we're doing.
    D/L apache SRPM
    Modify config files with our own patch
    modify configure line in SPEC file to suit
    modify package name (!Important!)
    rebuild
    uninstall old packages
    install our packages
    WA-LA

    Advantages
    - still get to run up2date/autorpm/fav-update-package with no worries of breaking your own custom stuff
    - Know which packages you've mod-ed by running rpm -q -a | grep "myinitials" or whatever.

    Disadvantage
    - Auto Update doesn't fix the stuff you're behind on...gotta keep up!

  344. my anecdotal evidence PROVES you wrong! by illogic · · Score: 1

    The really great thing is how well it wears.

    I've been using Gentoo as my only OS on my only computer for about a year now. I was crazy about portage at first, but at least two different times the build process has gone horribly wrong and hosed my system.

    The most recent was about two weeks ago when during a seemingly innocuous emerge, GCC was apparently unmerged or otherwise incapacitated. somehow it deleted certain symbolic links to glibc, which meant I couldn't even start any programs linked against it... which is basically every program ever. I managed to fix the links but the compiler itself is still MIA.

    If it were a binary distro, I could just download a new GCC package and be done with it. But no, it's source-based, so to reinstall it I have to compile it... with what? I could get a GRP package, but there isn't one for GCC because it's included in the stage tarball.

    I got tired of messing with it, so I now have a Gentoo system with no compiler, which means I can never upgrade until I get it fixed. Portage is great, but in my experience I think it might still have a few kinks left to work out.

    1. Re: my anecdotal evidence PROVES you wrong! by Aneurysm9 · · Score: 1

      Try using "emerge -B gcc" on another system and "emerge -k gcc" on the dead one (after copying the package over to /usr/portage/packages/All). If you don't have another system, let me know what USE and CFLAGS you need and I'll see what I can do to get you a package.

      --
      There was Cowboy Neal at the wheel of a bus to never-ever land.
  345. Slashdot hypocrisy by Anonymous Coward · · Score: 0

    Slashdotters love to make fun of IIS, when meanwhile, from GLSA:

    Multiple security vulnerabilities in Apache 2

    A memory leak in mod_ssl allows a remote denial of service attack against an SSL-enabled server via plain HTTP requests. Another flaw was found when arbitrary client-supplied strings can be written to the error log, allowing the exploit of certain terminal emulators. A third flaw exists with the mod_disk_cache module.

    For more information, please see the GLSA Announcement

    UUDeview MIME Buffer Overflow

    A specially-crafted MIME file (.mim, .uue, .uu, .b64, .bhx, .hqx, and .xxe extensions) may cause UUDeview to crash or execute arbitrary code.

    For more information, please see the GLSA Announcement

    Multiple remote buffer overflow vulnerabilities in Courier

    Remote buffer overflow vulnerabilites have been found in Courier-IMAP and Courier MTA. These exploits may allow the execution of abritrary code, allowing unauthorized access to a vulnerable system.

    For more information, please see the GLSA Announcement

    Multiple remote overflows and vulnerabilities in Ethereal

    Mulitple overflows and vulnerabilities exist in Ethereal which may allow an attacker to crash the program or run arbitrary code.

    For more information, please see the GLSA Announcement

    oftpd DoS vulnerability

    A remotely-exploitable overflow exists in oftpd, allowing an attacker to crash the oftpd daemon.

    For more information, please see the GLSA Announcement

    Buffer overflow in Midnight Commander

    A remotely-exploitable buffer overflow in Midnight Commander allows arbitrary code to be run on a user's computer

    For more information, please see the GLSA Announcement

  346. Speaking of security holes by Anonymous Coward · · Score: 0

    Slashdotters pretend OSS is flawless and "M$" is all evil, when meanwhile according to GLSA, even a MIME header can execute arbritrary code on Apache! Look at all these buffer overflows just announced:

    Multiple security vulnerabilities in Apache 2

    A memory leak in mod_ssl allows a remote denial of service attack against an SSL-enabled server via plain HTTP requests. Another flaw was found when arbitrary client-supplied strings can be written to the error log, allowing the exploit of certain terminal emulators. A third flaw exists with the mod_disk_cache module.

    For more information, please see the GLSA Announcement

    UUDeview MIME Buffer Overflow

    A specially-crafted MIME file (.mim, .uue, .uu, .b64, .bhx, .hqx, and .xxe extensions) may cause UUDeview to crash or execute arbitrary code.

    For more information, please see the GLSA Announcement

    Multiple remote buffer overflow vulnerabilities in Courier

    Remote buffer overflow vulnerabilites have been found in Courier-IMAP and Courier MTA. These exploits may allow the execution of abritrary code, allowing unauthorized access to a vulnerable system.

    For more information, please see the GLSA Announcement

    Multiple remote overflows and vulnerabilities in Ethereal

    Mulitple overflows and vulnerabilities exist in Ethereal which may allow an attacker to crash the program or run arbitrary code.

    For more information, please see the GLSA Announcement

    oftpd DoS vulnerability

    A remotely-exploitable overflow exists in oftpd, allowing an attacker to crash the oftpd daemon.

    For more information, please see the GLSA Announcement

    Buffer overflow in Midnight Commander

    A remotely-exploitable buffer overflow in Midnight Commander allows arbitrary code to be run on a user's computer

    For more information, please see the GLSA Announcement

    1. Re:Speaking of security holes by Anonymous Coward · · Score: 0

      All of which have been immediately patched against, whilst Microsoft has been known to take at least 6 months to roll out some fixes.

      Also I'd be interested to know how many undiscovered exploits exist in Microsofts IIS vs Apache 2.

      Just because something's had a lot of recent bug reports doesn't mean it's the less secure application.

      In the real running of the world an application is only insecure whilst a known exploit exists and hasn't been fixed. Based on that argument, Microsoft is way behind with the times.

      The nature of open source means anyone can find and fix bugs. With a closed source environment your faith lies with one person alone. Do you trust one coporation or a few thousand independent people? I think it's an obvious choice.

  347. Re:Supprt: Naa, that's not true at all. by ArsonSmith · · Score: 2, Interesting

    Exactly why developers shouldn't be systems admins. all too often source tar balls put things in the most f-ed up places. Atleast when I install a pre packaged debian supplyed .deb that it will fit to the system layout. conf files, documentation, binaries, and libs will all be in the expected places and not where the programmer thought about putting them. Some programmers would rather just run everything out of your home directory.

    --
    Paying taxes to buy civilization is like paying a hooker to buy love.
  348. Funny? by Anonymous Coward · · Score: 0

    MOC.

  349. Just a thought: by Trejkaz · · Score: 1

    If you're concerned about time... USE THE BLOODY BINARIES!!!

    Nobody ever said you *have* to compile every package. Ever heard of GRP?

    --
    Karma: It's all a bunch of tree-huggin' hippy crap!
  350. time by adamiis111 · · Score: 1

    Remember, the whole point of packages is to: A) save time in the future B) reduce nuances for future administrators C) keep similarity with other machines Packages help on all of those fronts. At some point, when you're no longer an undergrad, time will be your biggest limiter. When a system is package based, it may be a few days (or if you're sticking to stable packages, longer) behind the times, but the chances of you mucking up the system are much lower. Also, if somebody else takes over the system and it's all package based, there aren't any gotchas. In a corporate setting, packages should ALWAYS be used unless absolutely necessary not to (which it never is because you can make your own binary or source packages). Academics, it doesn't matter so much, but it's like any skill. Start with proper and then allow yourself the privilege of breaking the rules.

  351. Re:Personally (Wrong question answered!!!) by Anonymous Coward · · Score: 0
    Actually it looks like a lot of people are looking at this the wrong way, installing from source may, in many cases be more rewarding except in the most important aspect: getting some research done. You're a student so you have better things to do than maintaining those 10 Linux-based servers, or one would rather hope so. If installing from packages keeps your professor happy then do so, you may also want to go with one of the commercial distros. This will keep people from pointing a finger and blaming you, even if installing from source is totally unrelated you will end up being made to repair the supposed problem.

    Initially, doing this work may seem like fun and not take too much time but please consider your options carefully. Think about it and choose the way of least resistance and requiring the smallest amount of work... not good systems maintenance practice but definitely good for your studies. Try to also involve as many other student as possible, otherwise you will end up running the system on your own.

    If you are a PhD student and are thinking of doing a lot on maintaining your lab's system, DON'T. You will regret it once you find yourself in a position of wasting time to maintain computers and other irrelevant work and no time for research after your quals.

    If you're good (or even crap to mediocre like me) at using computers, people will take advantage. Your work as a technician will expand to random coding and scripting as well because people will no longer bother to learn and your professor will likely just make you do it because it takes the least time.

    That's all for this rant :)

  352. From packages for the corporate environment by drinkypoo · · Score: 1
    From source for the heavily-tweaked Unix geek's PC. From packages for everyone else. Why bother compiling from source when you don't need to? But if you want to compile for your specific architecture, then you basically have to do everything from source. There's no gentoo build optimized for pentium2 and if there were the packages would still come out slower than the ebuilds. This is true of any other open distribution as well. The only time this isn't true is when they don't release the source build instructions (SRPM or whatever it might be) until they are done with it (as in tested and ready to release.) Well, piss on that :)

    But of course, in the corporate environment I'd want everyone running known versions of everything so I knew what behavior to expect. Meanwhile if you need something, let me know and I'll build you an executable, test it, and then send you a binary package.

    Of course I work in a windows shop now so this is all irrelevant there.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  353. Forget performance, consistency vs control by Anonymous Coward · · Score: 0
    I am a sysadmin in a small software house. In my time, I have not yet seen a situation where the pure performance gains would justify compiling your own stuff.

    For me, pre-compiled packages have two big advantages:
    - They fit well in the overall architecture of the system. All config files are where the distribution expects them to be, and the stuff works well with the rest of the system.
    - The system is easy to upgrade, when ever there is serious need to do so. If a security vulnerability is found, it gets patched, and automagic updates make sure my system is not so vulnerable.

    On the other hand, manually compiling stuff has the advantage (and problem) of getting the latest features. Occasionally we need them. The drawback is that when (not if) the thing needs upgrading, it will have to be a manual one. That is fine for a system or three, but a pain if you have a dozen of them. If you have hundreds, you probably have (and need) your own repackaging system...

    So it all boils down to how many machines you need to manage, and on what level.

    p.s. I run Debian/Stable for the servers where I can get away with it, but Gentoo for my home workstation.

  354. How do you uninstall? by Sivaram_Velauthapill · · Score: 1

    How do you uninstall stuff installed from source, when the original build files aren't available?

    Isn't that the #1 reason to use packages instead?

    Sivaram Velauthapillai

    --
    Sivaram Velauthapillai
    Seeking the meaning of life... @slashdot of all places ;)
    1. Re:How do you uninstall? by Maljin+Jolt · · Score: 2, Informative
      How do you uninstall stuff installed from source, when the original build files aren't available?

      That's easy. Get the source again and build with the same target options as previously. Then "make uninstall" as root.

      Isn't that the #1 reason to use packages instead?

      No, it is not.

      --
      There you are, staring at me again.
    2. Re:How do you uninstall? by Sivaram_Velauthapill · · Score: 1

      I knew that (thanks for replying though). I was referring to when the original files weren't available. I hardly ever keep the original files around. How do you uninstall then?

      Getting the original source is not as easy as you imply. You have to hunt down the right version; you are not sure what you have installed; you don't know where you got it from; have to re-download everything; etc. Yes, you can overcome all of these issues but it is a huge hassle. People without broadband, like me :(, don't like to download the source again just to uninstall. In contrast, uninstalling packages is just click-and-go.

      (Actually there are other reasons I dont' like sources too. For example, I don't want to waste time compiling--let alone install development libraries. BUT, the uninstall issue ithe #1 reason I use packages).

      Sivaram Velauthapillai

      --
      Sivaram Velauthapillai
      Seeking the meaning of life... @slashdot of all places ;)
    3. Re:How do you uninstall? by Maljin+Jolt · · Score: 2, Informative
      I hardly ever keep the original files around. How do you uninstall then?

      That's matter of methodology. I always keep a source tree I have built from, for 1. uninstall ;-) and 2. just for case something went wrong so I can look at the source.

      I always uninstall old version only if new version build succeeds. If it fails at runtime, no problem to roll back the old one. This is not so easy with packaged dependencies. With critical ware, I keep even multiple versions build tree around. A single dedicated 100GB drive holds me stuff for all platforms I use (i486, i686, arm), and I still have a 80G in reserve. A CD/RW is my friend, too. And you are right, broadband *is* essential, but even some distros are about 1G of packages updates monthly (Mandrake cooker).

      For example, I don't want to waste time compiling

      No need to waste your time. Did you try "nice -n 10 make"? I always run builds on lowered priority. Just now, I am building globulation somewhere on the background here...

      --
      There you are, staring at me again.
    4. Re:How do you uninstall? by Sivaram_Velauthapill · · Score: 1

      What you are saying is good advice if you are a developer. If you are just a user that just wants to install and run stuff, keeping around the build tree is a no-go.

      I think users pretty much have to go with binaries and packages. Building from source is almost impossible these days.

      Sivaram Velauthapillai

      --
      Sivaram Velauthapillai
      Seeking the meaning of life... @slashdot of all places ;)
  355. Re: Build From Source vs. Packages? by Kenjiro_Tanaka · · Score: 1

    I personally like to build the software I use on my Linux boxes. However, nowadays I tend to compile it only once, create my own packages to use on a later installation or to spread the software on other workstations/servers which have the same hardware configuration as mine. That speeds my workflow and I still have the confidence on the software I compiled. Anyway, I think it is all a matter of "taste".

  356. Non-existent Packages built by Anonymous Coward · · Score: 0

    For those lucky enough to have a pre-built package repository then the tool may not be as useful. But for those of us that don't have the option of downloading a pre-built binary, this is a great tool. Some might say, that there is a binary for just about everything. Well, here is one: Provide me a binary for fetchmail 6.2.x for Solaris 2.8.

  357. Here We Go. . . by MikeDawg · · Score: 1

    (Standard Disclaimer: This is NOT a flame/flame-bait or troll; I PROMISE!!!)

    The first distro I tried in my early days of using Linux, was Slackware, (Slackware 3.1 to be exact), I played around with it a bunch, and I was very impressed with it. After about a weeks use, I started playing with Debian (1.2.1 I believe, can't exactly remember, same time as Slackware 3.1) and I found the install to be difficult, and I didn't like the style of scripts that I had already become accustom to in Slackware (yes, I became accustomed to scripts after just over a week of use), and I trashed the Debian install. I then installed Red Hat (Red Hat 4.2 I believe was the version) and I ran into the same sort of things that I didn't like about Debian. So I once again trashed my distro, and installed Slackware again; ever since, I've been a pretty diehard Slackware junky.

    That being said, I have gotten into several discussions with people about Slackware (and its supposed lack of a package management system); many people out there believe that Slackware doesn't even have a package management system, but it does pkgtool is a very capable package management tool. While it doesn't dive too deep into your system, looking into and tracking dependencies and what not; it does get the job done if you should have any problems with souce. All-in-all, I am a compile from source kind of guy, I like to build every single one of my packages from hand, track all the dependencies by hand, and install/compile in different modules or options into each one of the programs I compile. No, I am not managing 400 linux systems, but I am managing 4, and I have no problems on time constraints, and maybe, maybe, if I one day have/get to manage 400 linux systems, I will look more in depth to a distro with a more powerful package management utility.

    --

    YOU'RE WINNER !
    Another lame blog

  358. Re:Supprt: Naa, that's not true at all. by wskellenger · · Score: 1
    genlop -nt kdelibs kdebase kdeadmin kdegames kdegraphics kdemultimedia kdepim kdetoys kdeaddons kdeartwork kdegames kdenetwork kdeutils * kde-base/kdelibs

    I saw this line and immediately su'ed and tried to run "genlop". Nope, not there.

    emerge -p genlop

    Waiting... Yup, there is such a package!

    So I emerged it. Actually, it's building right now while my KDE build is going on in the bg. (Still going after 9 hours) Okay, genlop is finished building, only took like a minute or two.

    I know that kdelibs is done so I'm curious how long it took...

    Tue Mar 30 14:06:19 2004 --> kde-base/kdelibs-3.2.1
    merge time: 2 hours, 57 minutes, and 40 seconds.

    Tue Mar 30 18:31:49 2004 --> kde-base/kdebase-3.2.1
    merge time: 4 hours, 9 minutes, and 56 seconds.

    Maybe that old box I've got taking up space in the basement would be a good distcc box after all...

  359. Use the package manager for everything ... by phoenix_rizzen · · Score: 1

    but make your own packages. This way, you get the ease of install / uninstall / upgrade / query that the package manager gives you, but you get the full optimisation and feature control that you get with installing from source.

    Or, switch to an OS that uses the same methods for building packages as installing from source (like the ports trees in OpenBSD and FreeBSD, or the pkgsrc system from NetBSD).

    Either use the package manager for everything, or only install from source. If you try to do both, you will run into all kinds of problems. We have 30+ RedHat servers running with a mix of RPMs and source installs, and it's a royal mess to install anything. Try to use the RPM and it complains that you don't have libX version Y ... but you do because it was installed via source last week. It's horrible, and I've been trying to fix it for the past couple months (RPM spec files suck).

  360. The most important keyword by Pan+T.+Hose · · Score: 1

    "I am a student at the University of Minnesota and I work with a professor performing research and managing more than ten Linux based servers. When it comes to installing services on these machines I am a die-hard build-from-source fanatic, while the professor I work with prefers to install and maintain everything from packages."

    That's right. The most important keyword here is the maintenancability itself. I can assure you sonny that as soon as you will get out of your cave and do some real work in the real world, your naive "fanatism" will instantly vanish in the day (or rather in the month) when you will have to clone a five years old multipurpose server and move it to a new remote colocation farm with barebones systems installed. You will want to kill that stupid joker who installed everything there from sources. You will literally want to kill him. Do you really think your professor is stupid? Kids...

    --
    Sincerely,
    Pan Tarhei Hosé, PhD.
    "Homo sum et cogito ergo odi profanum vulgus et libido."
    1. Re:The most important keyword by funwithBSD · · Score: 1

      One more thing:

      No one ever got fired for buying IBM...

      Yeesh, Ph.D.'s. Just proves you can be trained like a poodle, not that you can think.

      --
      Never answer an anonymous letter. - Yogi Berra
  361. packages--the only way to go by hak1du · · Score: 2, Insightful

    Packages in a distribution like Debian update and uninstall cleanly, you can build every one from source if you want to, and someone else has worried about (1) testing the binary and (2) getting all the dependencies right.

    Build from source if you need the software and no package exists, or if you really, really need a processor-specific version. But for most applications, go with the pre-packaged version: as a system manager, there are a lot more useful things you can do than recompile "ls" on a dozen machines.

  362. pfft.. by destiney · · Score: 1


    my favorite example is that you have to link the correct timezone files by hand, instead of choosing your timezone out of a list.
    I'll bet you my next month's salary i can type

    ln -sf /usr/share/zoneinfo/GMT /etc/localtime

    on my Gentoo box before you can use whatever gui list tool you use with your mouse.

    Besides that what do you think `ls /usr/share/zoneinfo/` gives you anyway? A fucking list to choose from, imagine that!

    I can only guess that you either
    a) don't know your own timezone or
    b) think making a simple link is hard work.

    Please, go back to Mandrake or whatever you use. Leave Gentoo to those of us who actually want to be more than an ordinary Linux user.

    All you anti-Gentoo people really piss me off with all your whining. If you don't like Gentoo then don't use it..

    Oh yeah and Gentoo is not a little distro at all, it has over 6500 packages available for emerge.

  363. My two cents by jcuervo · · Score: 1

    Y'know, I've recently started liking Debian for apt-get. Sometimes when I'm feeling lazy, it's nice to just be able to *have* something.

    On the other hand, there are definitely times you need to compile from source, especially when you need to hack something. And you never know quite where those files are going to *go* ... /usr/local/bin, or /bin? /usr/local/etc, or /etc? ...Etc. :-)

    --
    Assume I was drunk when I posted this.
  364. Agreed - a bit of both (base sys VS apps) by HighOrbit · · Score: 1
    the need for specific add-ons that are available as part of packages but are available when rolling-my-own.
    My criteria for package vs source is what the program is supposed to do - i.e. a "system package" vs application package. Pre-built packages are a *best guess* of what options the package maintainer thinks you might want included. But that guess is not always right for me. So I use the binary packages from the distrubution vendor for updates to the base system, but for the production apps (such as apache, php, MySQL/PostgreSQL, mail servers, etc), I use source compiles because it gives me finer grain control of the included options. The gives me the best of both worlds. I get the convienence of quick system and security updates with little hassle, while I also get to have maximum control over the applications that really matter productivity.
  365. file size by kardar · · Score: 1

    I recently "built world" on a FreeBSD system, and I was somehow under the impression that, for instance, if I was on dial-up, it would have been easier to download the source, and that the binary code that resulted from my building the FreeBSD base files that I downloaded was larger. I actually have broadband, so it doesn't matter for me so much, but I was just thinking that if I were somewhere else and only had access to dial-up, downloading source would be easier.

    Now, as I was surfing a couple sites (Open Office, Mozilla, etc..) just now to test my theory, I realize that I am wrong in this. The source, for instance, of Open Office is 180 megs, whereas the binary is like 60. And that's probably because there is support for many different platforms in that source. The binaries I was just looking into seem to be smaller, because you have already chosen your platform, your CPU, etc., but the source has everything you need for any situation.

    So, for those with dial-up, binaries _may_ be an easier way to go. I thought it was the other way around, that source code was smaller, but maybe I have been wrong thinking that. My very un-broad, un-scientific comparison of several .deb files and the corresponding source points out that the binaries are about half the size of the source. This might be significant for those with dial-up.

    Just one example -

    A debian kernel-image 2.4.19 for a sun4u smp (.deb file) is 3846K

    A debian kernel-source (.deb file) for the same version 2.4.19 source is 25285K

    This may be an extreme example, but generally speaking, since the binary is already specialized for your hardware, it's going to be smaller. Am I missing something or is this correct? I thought it was the other way around, but now after looking into it, it appears that binaries are more bandwidth-friendly.

  366. Gentoo by Rexburg · · Score: 1

    http://gentoo.org

    Satisfy both your needs.

    --

    ---------
    Launch all sig
  367. Source, mostly, with a bit of installers by einhverfr · · Score: 1

    I mostly use source distributions for a very different reason-- most automake packages are a bit more tolerant of dependency issues than RPM, etc. Furthermore, once you install the source of one program, the rpm db is out of sync and you have to try with --no-deps and hope for the best.

    Gaim is easier to install as an RPM if you want MSN connectivity, however, so I do use RPM for that.

    --

    LedgerSMB: Open source Accounting/ERP
  368. I do both by fairfax · · Score: 2, Informative
    I have used Debian Linux since version 0.93 (about 1995), and I teach Linux at a community college. I have a seven-node home computer network with a SUSE firewall, a Debian workstation, a dual-boot (Linux/Windows) machine for the kids, a Windows machine for my wife, and two laptops (one for me, one for my wife, mine is dual-boot). I built all the machines, except the laptops, from parts.

    When I build a machine for Linux, I will typically download and install the latest stable build of the Linux distribution which is going to land on the machine. From there, what I do varies. Anything that could affect security or efficient operation of the machine (starting with the OS here -- I always prefer to build my own kernel locally, you never *really* know what is included in a pre-built kernel) I build from source packages. Anything trivial included in default packages from Linux distribution (for example, games) I download as a package -- but with that comment, keep in mind that no package is ever *truly* trivial: if you are building a server that must be secure, you need to know what is in the package you are loading.

    But I believe (and from a cursory view at the headlines to the responses here, I think most probably agree), that you have to draw the line somewhere. If you are running a top-secret government laboratory, you ought to compile from source, and not even start from a Linux distribution. If you are setting up a machine for your kids to play games and won't connect it to the internet, would it be worth it to compile from source?

    Somewhere in between, there is a line you must draw.

    The two cases I presented above are the two absolute extremes. Discounting the trivial game box, I think one should always compile their own kernel for that specific machine (and possibly for the kids' game box, possibly not); if you are building a server, or a machine which needs to have high performance or will see extreme usage, then there are obviously certain things which need to be compiled from source.

    But do you need to build (trying to think of a fairly trivial example) more/less/most from source in most cases? Why?

    Check the security sources -- are there any security holes reported for that particular package? Do you suspect any may be possible (it is possible to build a trivial game that includes a security hole, but how important is it to you to check the game's source for possible security holes?).

    I will not say that it is wrong to compile *everything* from source, that is certainly admirable. But compile a to-do list with all the compiles and all the other stuff you have to do during the day/week/month, and then order all the tasks according to importance.

    Now, think about the question about compiling a trivial package from source once again: how important is that to you?

    Some instances of compiling from source are going to end up high on your list no matter how you order it, others near the bottom.

    Fairfax

  369. Next on /.: Wearing pants versus Wearing a Shirt by Nailer · · Score: 1

    Both the poster and his friend seem to have missed a very important point: building from source should result in packages, and it it doesn't, you're not doing it properly.

    RPM has macros that make it possible to package anything using GNU autoconf (configure; make; make install) in about five minutes. I bet dpkg would too. Anything else is generally pretty simple too (cpan2rpm for perl modules, make and archive and don't bother filling out the %build section for binary onmly apps, etc).

  370. My two cents by digitalhermit · · Score: 2, Insightful

    You probably won't ever see this because of how late I'm posting... However:

    Building from source is great if you want to tweak a system and get it running exactly how you imagine. Be prepared for configuration and all the various issues associated with source builds. I'm assuming that even if you build from source that you are using some sort of package/file management system to alert you of dependencies and file modifications. This is easy to do with binary packages, not so easy managing sources. I regularly rebuild *on my test machines* all manner of software from source, including the kernel, KDE, glibc and a bunch of other libraries.

    Now for the problems with source builds:
    1) You need a development machine. I.e., you need the compiler tools and libraries. For a regular workstation this is no problem, but you DO NOT want these tools accessible on a server even if they're 'chmod 700' or otherwise locked away. This means you'll build on another machine and create a binary package and... well, you're back where you started except you lost some time.

    2) There's no easy way to create snapshots of packages. Differences in libraries and config files can make or break software. The best errors are those that prevent the software from compiling. The worst are those that compile, but errors or weirdness doesn't show up until a month later. Now RPM is much maligned, but it does allow you to keep the build instructions, dependency information, etc.. inside the package. You get lots of control, once you've learned RPM, on where things get installed.

    3) Backouts are not as easy. You can often do a 'make uninstall' but this requires the sources be kept around in some cases. Tools like checkinstall can ease the burden, however.

    4) Duplication of effort. Source builds are good for customizing, as I mentioned. It's a myth, however, that rebuilding from source will dramatically improve performance except in a few, somewhat rare cases. E.g., rebuilding a 2.4 kernel with a pre-emptible patch can make your desktop faster. Rebuilding a stock 2.4 from kernel.org or your distro's sources will likely not be noticeable.

  371. Re:Support? What's that? by asciiRider · · Score: 1

    You must not run any systems that -need- to be up, or you're not paying for any good hardware support.

    First, I do agree with you on the software support issue.

    I don't think anybody is talking about component level repair, rather, replacement is the issue here. I can call a vendor and have them onsite within an hour for a 6-7 year old system. These are Intel compaq servers. Yes, you pay a lot for this type of support, but when a system -has- to be up, it's really not a lot of money compared to the cost of downtime. Drop in the bucket really.

  372. Re: Build From Source vs. Packages? by Kenjiro_Tanaka · · Score: 1

    Oh yeah, and I forgot to say I run Slackware since the first time I got in touch with the marvelous world of Open Source. What else...? Oh, I now use 'checkinstall' to create my own slackware packages (.tgz) and yes, slackware has a pretty good 'package managing system'. As already said it is called 'pkgtool'. To sum with it we have the slackpkg tool which makes our lives a bit more easier.

  373. My opinion by Anonymous Coward · · Score: 0

    Building and installing from FreeBSD ports is just as easy and sometimes more reliable than installing a packaged binary. You might not get "instant satisfaction" from it, but I normally just do long compiles in the background while I work on other stuff in X. portupgrade makes it a snap, and you can get the lastest versions of ports before the binary package is updated back at FreeBSD.org. I can upgrade the java development kit or my entire OS while I'm sleeping. Also, since I follow -CURRENT and they've made a number of software-breaking changes, builds are clearly the way to go. The sort of programs I hate using are the ones that the company was nice enough to port to FreeBSD a few millenia ago but can't be bothered to upgrade, fix bugs, or even recompile. I didn't quite realize how clever and powerful this novel concept of portability and the ability to make your very own copy of an application was until I learned to use ports. Packaged software is crap.

  374. The Best Of Both Worlds by banetbi · · Score: 1

    Hey, why not switch to BSD and use the ports system, it keeps everything standardized and with tools like portupgrade, its just about as simple as a package install.

  375. Re:Supprt: Naa, that's not true at all. by Anonymous Coward · · Score: 0

    Hey, in the case of some programmers, their software should run everything out of your home directory. :)

  376. Too much idle time for you. by seppy · · Score: 1

    Building from source once, and packaging it yourself is useful. But if you insist on building on all servers, you're downright mad, and I'd look at replacing you with someone more interested in effeciency.

    --

    Brian Seppanen

    Minister of Information and Propaganda
    Area 54 The Secret Government Disco Labs Provo

  377. Re:Support? What's that? by macdaddy · · Score: 1

    I probably didn't spell out my thoughts on hardware very well. I do carry support contracts on all my critical pieces of hardware. All of our new Dell servers have next day replacement. It's worth paying for HW support because it's not something the average guru can repair unlike software which is almost always able to be fixed. As a netadm we had maintenance on all our campus network switches. It's just a good way to go. Does that make more sense? Yes for HW. No for open source SW.

  378. gentoo users piss me off. by ocularDeathRay · · Score: 0

    Hi, I am a gentoo user. I love it. but as I read the comments on this story I now understand why other linux users are annoyed with us. Even *I* am a little annoyed after reading this preachy stuff. Gentoo is great. If you don't like it... don't use it. If I run across someone that needs some help with it... By all means, I am happy to help. but PLEASE stop trying to convert everyone. I don't want to be part of the jehova's witness group of the linux world.

    --
    Obama is a twitter sock puppet
  379. Source packages rock by vegetasaiyajin · · Score: 1

    Package systems suck.
    Source installs rock.
    IMHO, the best way to install packages is to compile them and install them on a dedicated directory, like /opt/package-name or similar.

    Package installers suck. For example, I was using an RPM based distribution that had OpenSSL 0.9.6. I wanted to update to 0.9.7, but there was no RPM for that distribution. I couldn't delete 0.9.6 because other packages depended on it.
    A similar program happened to me with the Postfix MTA. With that one, I removed the package and installed the source version and I always get an error saying I need to install postfix.
    So I have on that server a mix of packages and source installs on some of my servers.

    I am testing a distribution called Server Opimtized Linux that uses my philosophy. They install almost all packages in the /server directory (e.g. /server/samba, /server/openldap). This this distribution is really great for servers. It is very beautyful. No X Server. No stupid tools that do strange things without telling you. It boots in about 10 seconds on a Duron 1600 computer.
    Highly recommended.

    --

    My heart is pure, but make no mistake, it's pure evil
    1. Re:Source packages rock by vegetasaiyajin · · Score: 1

      My previous post applies to servers, of course. For clients, packages are more convenient because absolute control of what gets installed and how is not as important as with servers.

      --

      My heart is pure, but make no mistake, it's pure evil
  380. Re:Supprt: Naa, that's not true at all. by Nailer · · Score: 1

    Usually when one builds from Source, they install it to wherever the original developer has it set to by default. Unless you did some heavy patching, the software will very likely be more "true" to the original software then many packages.

    Distros patch their apps to use the FHS. Sorry developer, you have no right to rape my system and put binaries in /var because that's What You Want.

    Having this fixed is yet another reason to use packages. Hopefully the developer gets the idea and fixes his program.

  381. srcpkg!!! Re:Source and un-install by Anonymous Coward · · Score: 0

    While looking for a better source/package managment system than those recommended by linuxfromscratch.org, I found this: srcpkg

    Works with both compiled-from-source and packages. Supports uninstall. Very easy to use.

  382. Re:Supprt: Naa, that's not true at all. by cbreaker · · Score: 1

    What software have you installed that puts binaries in /var? I mean, I could whip one up right now I guess, but for anything I've installed it's cool.

    Distros patch their apps and move stuff around for a lot more reasons the a standard filesystem hierarchy.

    But hey, it doesn't matter. To each his own, that's what I like about Linux.

    --
    - It's not the Macs I hate. It's Digg users. -
  383. graphical installer by Anonymous Coward · · Score: 0

    there are plenty of installer projects

    i'm personally involved in one at school.

    http://pen2.sclab.clarkson.edu
    (may be down right now...)

  384. I'd love to see your bash.history file. by Anonymous Coward · · Score: 0

    during a seemingly innocuous emerge, GCC was apparently unmerged or otherwise incapacitated.

    Damn if you don't sound like one of my customers. "I didn't do ANYTHING! It just BROKE!" then you find out they renamed something, were in there typing a bunch of stuff they shouldn't have been, or generally doing shit they had no business doing because they are retarded. There was NO EMERGE BUG EFFECTING GCC. You DID SOMETHING TO FUCK UP YOUR BOX. It's not GENTOO'S FAULT YOU ARE A FUCKING MORON.

  385. demystifying djbdns by Sevn · · Score: 1

    There is no shortcut. You need daemontools because it relies on "service" for monitoring, logging, and rudimentary host based access control where applicable. Just READ THIS and follow the instructions. Take the time to understand what the difference is between dns-cache and tinydns. Do yourself a favor and install axfrdns if you install tinydns. If you are going to do authoritative nameserving, read up on all the goodness HERE. I've taken the time to install the VegaDNS administration front end and it's pretty neat. The most useful patches so far that I've used for tinydns are the round-robin dns patch, the errno patch (to get the bastard to rpmbuild on ES 3.0 but I think debian is still using fred flintstone's glibc so you should be cool) and the patch for the new zone transfer method that BIND 9 uses. If you aren't needing to mess with authoritative domain hosting, you probably only need DNScache. It's awesome stuff. Good Luck!

    --
    For every annoying gentoo user, are three even more annoying anti-gentoo crybabies. Take Yosh from #Gimp for example.
  386. make packages from sources by Anonymous Coward · · Score: 0

    not sure if this is mentioned already & too lazy to check > 600 comments :)

    take a source, compile it and create package. this way you will have less problems with upgrading, rogue files left from older versions and installing the same software on different machines.

    as i use slackware i stick to checkinstall, it also supports rpm & deb and i believe that other distros should have something similar.

    i used to have problems with all kind of software that i built from sources (and i always do this at least for apache/php/mysql) with old files, unability to uninstall them correctly utt - until i started to use checkinstall ! ... oh, too excited. sorry.

  387. Solaris - package management by Anonymous Coward · · Score: 0

    I'm continually surprised that Linux users don't take the approach taken by Solaris admins - if you build it from source, you might as well build a package for it and keep it in your package repository for future installs. It also makes upgrading/uninstalling much easier, and allows you to easily integrate it into custom installs.

  388. packages vs source by Exter-C · · Score: 1

    I work as a systems administrator on several hundred servers worldwide. I have made sure that all of the processor / os version and gcc etc versions are identical on these servers. i then have a separate system for what i call staging (im sure others do also)...

    From this I build the source and make packages so that I can easily install the software and manage it on the other servers. The real benefit of packages is that its easily removed and installed.You can always see whats on your system in one go. And being able to md5 all the files on the staging system allows you to run checks on breakins etc more efficiently.

  389. What I do, would prefer, and what we really need. by Deal-a-Neil · · Score: 1

    I compile everything from scratch. I'm a Slackware devotee for reasons of habit and, well, always just been a CLI guy. A mouse for an install? Gag me with a.. umm.. mouse?

    What would I prefer? A perfect world where I know exactly what dependencies (and their respective versions) are required for every single piece of software that I install. Hell, I just had that struggle this morning trying to compile some stuff on servers that didn't have a single X11 library installed.

    What we really need is something as cool as CPAN, that notifies you of library/module version dependencies when you install something, and actually PROMPTS you to install a new dependency module.

    In the 10 years I've been using Linux, I've probably used RPM or something like it about 5 times. But after tooling around with Cygwin on my Windows boxes, and getting an X server, the latest Perl and Python running in 8 minutes -- I think I may just have to check out what this Gentoo hype is all about.

  390. sysadmins with too much time on their hands by Anonymous Coward · · Score: 0

    see subject. ;-)

  391. Both, no compiler on server by DerPflanz · · Score: 1

    I do both, depends on the time I have on my hands and the package (source or binary) I can find. Usually build from scratch on my desktop, as it is Gentoo and it gets me the latest version.

    My server has to get binaries, because there is no C compiler installed there, or even the make tools. Because of security reasons. So what happens is I build it from source on my desktop, make a package and install that on my server.

    --
    -- The Internet is a too slow way of doing things, you'd never do without it.
  392. No Problems, Man! by Vagary · · Score: 1

    I am not a Debian developer, but I play one on TV:

    maintainers are overwhelmed with the complications of actually running an install and uninstall

    They should be using file tracking tools to help them. Scold them.

    documentation lags

    Yes, this is a common problem; but it's also an easy thing to submit bug reports on. Chances are, if it's in the bugs DB, it'll get updated by the next pkg release.

    updated features are extremely delayed

    apt-get --target-release unstable install foo (this will also update all the dependencies -- if you can't handle the instability that comes from doing that, there's still a good chance you can build the unstable package against stable build-deps)

    troubleshooting difficulties. When I have a problem, I can't always determine

    Yeah, this is a bitch. I've taken to trying upstream first, although every Debian developer I've ever submitted a bug to has been nice about submitting it to upstream if I misattribute the bug. It would be nice if the Debian bug database were more integrated with other bug databases (even with links to the appropriate sites as they're sometimes non-trivial to find).

  393. As the numbers increase, the meaning changes by Karora · · Score: 2, Insightful

    As the numbers of machines you manage increases, you will find the meaning of the word "control" changes. We only manage a couple of hundred, but the pressure to standardise, as far as is practicable, is a strong one.

    Look at the people running clusters, and you can see where that gets to in the end.

    The reason we (primarily) use Debian is that the potential architectures for distributing change, and for customisation-with-binary-releases seems to be much greater.

    --

    ...heellpppp! I've been captured by little green penguins!
  394. build from source -but with a strategy by chegosaurus · · Score: 2, Interesting

    I do ./configure --prefix=/usr/local/pkg_name plus whatever other options, then make. When make finishes, I mkdir/usr/local/pkg_name-version, and ln -s /usr/local/pkg_name to that, then make install.

    I get all my applications in their own directory, and it's only a matter of changing a link to roll back a version or two. It's also easy to copy an app to another host.

    Some discretion is necessary here: I just dump a lot of small stuff into /usr/local (gnu utils like groff, less, stuff like that) only things like gimp, gcc, TeX, python etc get their own directory. This keeps the PATH sensible.

    My main OS is Solaris, but I employ this technique on HP-UX, Linux, BSD, whatever I'm working on at the time. Keeps things simple for me, and it's easy to tell someone else just where things are.

    The only time I go outside the app dir is for things like logs, which always live in /var/log/app_name, and tablespaces. I always try to keep /usr/local as static as possible.

    As for maintining consistency across a network - NFS?

  395. use both by stry_cat · · Score: 1

    When I first started using Linux, I used the rpms. However after several disasters where the dependencies wouldn't work out or the binaries just wouldn't work, I started doing source only.

    Reciently I've started using rpms again. Mainly b/c if it works, it's easier to upgrade, uninstall, etc. They seem to be a lot better now than they were a few years ago.

    I only use source now when something doesn't work right or I want some special configuration.

  396. Did you say source??? by davidl9999 · · Score: 1

    Packages are convenient, but sometimes one really should consider using source. For instance, some tools like lsof (great tool btw Vic!) have so many server-specific hooks that installing a generic package likely causes some amount of feature neutering. I try to stick with source when I have the time available to install it, or when a product "should" be customized for a particular system. On the other hand, how many times can one stand to Config and compile only to have cc blow up or waste an afternoon debugging why make install fails... Then there's the "well I finally got the bzip2 source, but I gotta build gcc before I can build bzip2 so I can unbzip the lsof source..." :P

    --
    (Yes, it's my Yahoo id) :P
  397. A lengthy reply with my thoughts on packaging. by jafo · · Score: 1
  398. That is not true by Pan+T.+Hose · · Score: 1

    One more thing: No one ever got fired for buying IBM...

    That is simply not true. I have personally fired few people for doing just that. Actually, I have fired them mostly because of buying Microsoft software installed on IBM boxen, but I have fired them nonetheless. So please stop spreading that myth.

    Yeesh, Ph.D.'s. Just proves you can be trained like a poodle, not that you can think.

    Could you please explain that supposed proof? I honestly fail to follow your reasoning.

    --
    Sincerely,
    Pan Tarhei Hosé, PhD.
    "Homo sum et cogito ergo odi profanum vulgus et libido."