This is a read-only archive!

Some Gentoo-related whining

I sometimes get tired of Gentoo. Those times are usually right about when I hear about some new application, and decide I really want to try it out, and then I realize it's going to take 2 hours to install it. Or when I want to try out the newest release of Gnome/KDE and I realize I won't even be able to begin using it until it finishes compiling tomorrow night. Gentoo isn't a "try stuff out and see what you like" kind of distro. If not due to how long it takes to install things, then for how hard it is to uninstall things.

Which brings me to my other senseless gripe... I have over 600 packages installed, and that's mostly because there's no sane way I know of to uninstall things safely without breaking other things. I'm sure there are ways of keeping track of what's safe to be removed and what isn't. For example people hand-manage their world files. But what's the point of having a package manager if the package manager itself has to be micromanaged? I have so much crap in my world file that I can't even remember whether half of it is something I want/need or not. Sure, you can --oneshot to keep stuff out of the world file. But how do I even know I'm putting the right things into my world file? I use a general philosophy "Only put applications in there; don't put libraries". But that distinction is something I made up out of my arse, and half the time I'm not even sure how to make that distinction. I don't know all there is to know about every single one of the packages I install, and it seems like I'd almost have to know that to get Portage working smoothly.

Sometime in the past year www-misc/htdig ended up in my world file. What the heck is htdig? Did I specifically emerge this to fix something that was broken? Oh look, it's app-arch/rpm2targz. I have a good idea what that is, but why the heck is it installed? Maybe I should start keeping a journal? Hmm, sys-boot/grub is in my world file. If I remove it, will it stay installed? I imagine, but is it worth the hours of hassle fixing things if I'm wrong? I can easily look up what these things are, but doing that for the hundreds packages in my world file doesn't seem like a good time to me. And why should I have to?

There's always --depclean, but search for depclean on the Gentoo forums and behold the carnage it has meted out on the unwary. I have had it fail to run, or outright destroy my system, too many times to even bother trying it. I'm sure I'm not the only one. It's always great when you start with a big red message saying essentially "Check to make sure you aren't uninstalling vital system apps by mistake, thus rendering your system unusable! Whoops! This command is so dangerous and unlikely to work correctly that it will refuse to run unless you force it! Tee hee!" And there are scores of mostly unmaintained hacked up versions of --depclean that supposedly work better, but no, I think I'll pass there.

So I find it "safer" never to uninstall anything that remotely looks like something else might be using it. Which basically means I hardly ever uninstall anything at all. The advantage is that my computer works. The disadvantage is that it's stupid and lazy and messy and inefficient and I have 600+ packages installed. One of Gentoo's strengths is that nothing is installed unless you install it. One of it's weaknesses is that I'm too stupid to know precisely which of the 600 packages on my system are the ones I need to have installed to get Amarok and Opera and gVim etc. to work, and I don't have a month to figure it out.

I use Gentoo because it still works better than (so far as I know) anything else. I'm using x86_64 so my options are a bit slimmer than they would normally be anyways. Gentoo does work (usually), it's just not pretty.

September 27, 2006 @ 5:25 PM PDT
Cateogory: Linux
Tags: Gentoo, Rant

8 Comments

Kim
Quoth Kim on September 27, 2006 @ 6:14 PM PDT

I could also use a safe way to uninstall unused apps/packages. I think I have way over 1000 packages installed (someone posted a command how to check it a long time ago, ubt I've forgotten it).

Paul555
Quoth Paul555 on September 27, 2006 @ 7:55 PM PDT

A nice application for unmerging unneeded packages is here :http://catmur.co.uk/gentoo/udept/ .You can use the ebuild there or add his overlay with layman by the command : layman -a ecatmur

Kim
Quoth Kim on September 29, 2006 @ 11:22 AM PDT
  • Running command "/usr/bin/svn co "http://catmur.co.uk/svn/repos/gentoo/tree/" "/usr/portage/local/layman/ecatmur""...

ehhh, that added a LOT of stuff into the overlay!

lol, I just realised I hadn't read your comment closely enough. ecatmur wasn't the app itelf. It was only the overlay. udept installed fine. Now I just have to figure out how to use it. The object was to find something I can run on the system that will tell me "This and this package isn't used at all. You can safely uninstall it. Or just hit 'U' and I'll do it for you.Have a nice day."

dmahler
Quoth dmahler on October 05, 2006 @ 3:07 AM PDT

You can delete anything you do not actually want and (except gcc & co) and then run

emerge -avuDN world

If you deleted a dependecy of something else this will bring it back

I have always been fairly fearless with depclean because it seems that if depclean gets overzealous the next emerge -uDN world will fix things. Maybe I'm too optimistic.

Also udept is now in the standard portage tree so you do not need Ed's overlay which is a little scary. I personally like udept a lot. You may want to try

dep -aw

this will minimize your world file by removing things that are depended on by something else. Anything left after that should be stuff you actually want since emerge will track the dependencies immediately

Brian
Quoth Brian on October 05, 2006 @ 3:42 AM PDT

That dep -aw actually seems like it's very useful. That's something I often tried to do manually. Thanks. I will try that.

Kim
Quoth Kim on October 11, 2006 @ 9:18 AM PDT

Running 'dep -aw' now, after removing the overlay and re-emerging updept. Thank, guys.

Kim
Quoth Kim on October 11, 2006 @ 5:38 PM PDT

Just as a thought, what is really the best emerge command? Currently I run a home made script which is: emerge -auvtD world

That way I always get to see what is supposed to happen and can choose not to run them all as suggested. Then I usually run a few manually with my 'av' command (emerge -avtD $1 $2 $3 $4 $5). Does this sound sane, or am I just silly?

Brian
Quoth Brian on October 12, 2006 @ 3:55 AM PDT

I usually do emerge -uDNav world. -N catches packages with newly-changed USE flags.

If you do emerge -avtD $1 $2 etc., then all the packages you name on the command line will be added to your world file unless you also do --oneshot. If you keep your world file sane enough, emerge world should be enough to update things as you wish. If I want to skip a certain package, I usually add it to /etc/portage/package.mask.