[Nottingham] Gentoo experts: emerge file collisions!?

Richard Ward daedalusfall at gmail.com
Fri Aug 14 13:47:39 UTC 2009


Martin wrote:

> So... What is the procedure to complete the update without breaking the 
> system the update is running on?
> 
> (Or is this just a case of over-caution in portage?)
> 
> Cheers,
> Martin
> 

Ok, I think the following should work, but *please* either backup your 
root partition or make a copy and try it in a chroot on the copy first, 
obviously a system with a broken glibc is going to be a huge PITA.

It may make it easier to first build a binary package for glibc, that 
way you won't have to recompile every time you try something, and you'll 
have a convenient backup of all the files that glibc wants:

emerge glibc --buildpkgonly

Then do `ls $PKGDIR' to check the file is there. next time you want to 
try and install this glibc version you can use:

emerge -K glibc

The best thing to do is probably to just temporarily disable collision 
detection:

COLLISION_IGNORE="/" emerge glibc

With any luck thats all it will take, check stuff is working, re-emerge 
stuff to use the new glibc, and move on.


If, however, vital files turn up missing/broken, you can just `emerge -k 
glibc' again afterwards, or if that doesn't work due to missing files 
just mount your system in a live distro or similar, untar the package 
that emerge built, and dump the files in their correct locations.

Once thats done it may be an idea to re-emerge your whole system, 
starting with gcc.

I you get problems of vital utilities breaking the process half way 
through because they won't work with the new libc or without the missing 
files, you can start the process again but first re-emerge them with 
USE="STATIC" so that they will no longer need the shared libraries (eg 
tar, wget).

Keep us posted on how it goes, and do make a backup first!

Richard


P.S.
I've never used one, but there are such things as overlay filesystems, 
where you mount a file system read-only, then mount another one 'on top' 
of it, so it appears from your point ov view you are modifying the 
original system, but when you get rid of the overlay the original is 
unmodified. It strikes me this would be perfect for doing what you are 
trying to do, and would save all the time it takes to to a backup.

P.P.S
Make a backup first! :)



More information about the Nottingham mailing list