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.

Tags: ,

8 Responses to “Some Gentoo-related whining”

  1. Quoth Kim:

    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).

  2. Quoth Paul555:

    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

  3. Quoth Kim:

    * 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.”

  4. Quoth dmahler:

    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

  5. Quoth Brian:

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

  6. Quoth Kim:

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

  7. Quoth Kim:

    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?

  8. Quoth Brian:

    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.

Leave a Reply

You can use these tags in comments (Note: HTML is automatically escaped inside <pre> tags, nowhere else, so if you post source code, put it in <pre>):

<pre lang="some_programming_language"> 
<em>
<strong>
<a href="url">

NOTE: Comments are automatically spam-filtered. If your comment fails to appear, it was likely munched by the filter. Try not to link-spam or post anything that looks like it was typed by a robot.