3

I have times were my PC catches dust (i.e. for months it sits in the corner, unplugged). Traditionally I have a gentoo installed and I like it very much in general. The only problem is, that once I do not update on a really regular basis, I have a terrible time updating my packages.

Lots of package builds fail at compiletime, a lot of packages block each other, etc.

Intead of one emerge -uD world I end up with a lot of emerge --oneshot ... calls, etc. because emerging the whole tree will fail at lets say package number 5, but if package number 47 is updated, package number 5 builds, etc.

Basically I write a simple script that continues with 10 lines of

emerge --resume --skipfirst

Just so I can have my computer compile while I am at work. When I started looking at my system 3 days ago there were 450 outdated packages, now I am down to one 312.

I have actually made a fresh install in october and stopped using it in december. So it shouldn't be one of those installations that carry the weight of years with them. I wonder whether I have to just start again with a fresh install... In general I suppose that I should not be the only person with this problem.

What is your update strategy?

2
  • After all the failures and blocks are reported, does the update still happen? Commented May 15, 2013 at 16:50
  • the update happens but often fails at compile time. I will add that into the main question to make this a little clearer
    – wirrbel
    Commented May 15, 2013 at 16:57

2 Answers 2

2

This is truly one of the negatives of using Gentoo (though I do feel it's outweighed by the positives).

In the past I have upgraded an old system in a few stages.

  1. Sync and possibly update profile, eselect news read new
  2. Update portage (if you can without installing lots of other packages first):
    emerge -av portage
  3. Recompile all system packages:
    emerge -av --emptytree system
  4. Recompile all world packages:
    emerge -av --emptytree --keep-going world
  5. Optionally, if --keep-going caused some packages to be dropped:
    emerge -auDv world

This is essentially reinstalling, and there's a little redundancy there running both system and world with --emptytree, but you maintain most of your configuration.

Now, I've never done this on a system years old, and there will probably be some snags here and there, but it worked fairly well when I did it. YMMV and all that.

Note: Sometimes packages are updated in ways that will stop a system from booting if corresponding configuration changes are not also made. This could even mean repartitioning, or changing to an initrd kernel, so I'd read the output of eselect news carefully.

1

the docs mention this nowadays.

http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1#doc_chap3_sect5

Updating your System

To keep your system in perfect shape (and not to mention install the latest security updates) you need to update your system regularly ...

[...]

emerge --update --deep --with-bdeps=y --newuse world

But I sugest you read all that. it's short.

also, after a emerge --sync you will get messages about how to update portage alone. Update it before anything else.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .