Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I've used Gentoo (and obviously Portage) before, but I'm not really that familiar with it. According to the Gentoo website it "is frequently seen as the best software management tool available for Linux." What, specifically, makes Portage so much better than other package managers.
I'd not only like to hear from Gentoo uses as to why they think it is the best, but also from non-Gentoo users as to why they don't think it is the best.
ok well portage is a rip off of the BSD ports system. it's good in the way it works in line with what gentoo is all about. portage uses things called use flags to decide which dependencies are going to be installed in line with the compilation of the ebuild. I mean, RPM's are statically built. their dependencies are fixed and must be installed as well. with portage as everything is built from source a single ebuild can be bult with or without support for many many supporting packages, meaning you get the wrong result without all the extra bits you don't want.
at the same time, it has a very amateur side from what i saw of it. Things work the way they do because some guy in the dev team decided that he wanted it to, and nothign will change that.
also remember that as portage (generally) builds from source, it can be a very very slow process to install anything, which you won't get from rpm systems like yum or apt.
Personally, I absolutely love portage. It really lets you do anything you want; you tell it what to do and it does it. Using make.conf, USE flags, package.mask, package.umask and package.keywords you can get the exact package you want compiled exactly the way you want it. The dependency management is top notch as well, proper use of USE flags guarentees you only drag in the dependencies you really want or need. Also, updating a particular package or even your entire system is a breeze.
With Portage its easy to take a peak under the hood and see whats really going on. Nothing is hidden from you as it is written entirely in python and development tools for it are nicely documented.
With all these pros (and more I couldn't figure out how to explain) theres gotta be a con. Really, the only con I can think of is the tradeoff you have to make because you're compiling everything from source. While I love the idea of everything fitting nicely you do have to wait for compiles, which can be a turn off for some people. I really don't mind as I don't find most compiles to be that long at all, and for really big packages such as KDE and OpenOffice, there are binary alternatives available from portage.
Portage, ebuild, and Gentoo in general have amazingly clear and extensive documentation. Once you understand these it's easy to apply what you learn and get exactly what you want with no suprises.
at the same time, it has a very amateur side from what i saw of it. Things work the way they do because some guy in the dev team decided that he wanted it to, and nothign will change that.
well the biggest thing that annoyed me was that the use flags were managed in a totally flat format. a use flag to enable X sits right along side a USE flag to enable extra wizard points in the 3rd dungeon of supermegageekmud... that's ridiculous and horrible as when i was using gentoo you'd get an extra 5 flags a week and couldn't find the important stuff you actually wanted, as i found the 3rd dungeon really hard!
I've never really had a problem with that. In my make.conf I have only a few very basic USE flags that I know I'd really want (or not want) with any package I install. After that I just customize each package by reading which flags are available for it off of "emerge -pvt <package>" and adding any interesting ones to that package with package.use. If I'm unsure what a USE flag does for that package I either don't need it or I can always look it up.
The USE flags are only flat if you read them off a chart at some website, if read them off of emerge -pv you only see which ones are relavent for that build...so I never have to worry about, or even know about, that (non-existant?) 3rd level USE flag when compiling firefox .
Edit: There's also a small script called 'euses' that looks up USE flags. Although I've never really had to use it I can see its uses. Installing it is just as easy as "emerge euses"
Thanks for the input. That cleared up quite a bit. I wasn't aware Portage was capable of all that. It sounds like I need to take a look at the Gentoo documentation about Portage. Once again, thanks.
I think portage is good, but one thing I hate is masking of packages. In FreeBSD ports you don't have to mess around unmasking packages and its fairly easy to install a particular version of a package. With Portage, you have to mess around unmasking packages. This is okay for small packages, but for bigger packages like Xorg, this can be really annoying.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.