Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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?

share|improve this question
    
After all the failures and blocks are reported, does the update still happen? –  Ƭᴇcʜιᴇ007 May 15 '13 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 May 15 '13 at 16:57

2 Answers 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.

share|improve this answer

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.