Hello,

On Tue, 16 Aug 2016, hw wrote:
>David Haller schrieb:
[..]
>> Yep. BTDT. I had a then 4-4.5 year old gentoo quite broken by being
>> partly updated until portage/emerge broke and much else didn't work
>> anymore (gcc/make/python/emerge). So, I booted something else, mounted
>> gentoo somewhere (say /mnt), unpacked a fresh stage3 _into_ that
>> mountpoint into /stage3 (i.e. "/mnt/stage3"), chrooted there (with the
>> usual /sys, /proc, /dev bind-mounts) and then ran stuff from the
>> /stage3/ tree[1] until the basic stuff (mainly above mentioned 4) was
>> fixed.
>
>How would it fix the system you chrooted from?  Doesn?t it remain limited
>to the chrooted environment?

The chrooted-to was the gentoo to be updated. I just booted something
else with a recent enough kernel. So, it was:

/               = <bootsys>
/mnt            = Gentoo-/
    /mnt/stage3 = current Gentoo-stage-3

Then the usual bindmounts of /proc, /sys, /dev and chroot into /mnt.

So, I was in / of Gentoo with /stage3 the unpacked stage3-tarball.

Then some "magic", by setting PATH and LD_LIBRARY_PATH to use stage3
for the first stuff until I got glibc, gcc, python, portage etc.
in / itself up-to-date.

export PATH=/stage3/sbin:/stage3/usr/sbin:/stage3/bin:/stage3/usr/bin:$PATH
export LD_LIBRARY_PATH="/stage3/lib64:/stage3/usr/lib64"
and IIRC
export 
PYTHONPATH"/stage3/usr/lib64/python2.7:/stage3/usr/lib/python2.7:$PYTHONPATH"

If I typed 'which emerge' it showed to be the current version from
stage3 and could handle the updated portage-tree and new EAPI.

I thought this easier than the way shown in the wiki where you chroot
to the stage3. Actually, I guess I'm wrong when you just do an

  alias emerge='/usr/bin/emerge --root=/mnt/host --config-root=/mnt/host'

after you chrooted to the /stage3 as per
https://wiki.gentoo.org/wiki/Upgrading_Gentoo#Updating_old_systems

>> From then on it mostly went "smooth", by the "textbook",
>> considering. Yeah, lots of conflicts and whatnot because of moves,
>> renames and new deps etc.pp. It was a bit tedious, but not difficult.
>> 
>> And this general tip came out of it: unmerging stuff helps to break
>> tangles. Like slashing the Gordian Knot ;)
>
>When I unmerge stuff, that stuff doesn?t work anymore, so I?d have to
>do that at night.

Well, when it's just one or two packages, that usually doesn't take
that long.

>There was a version in between, and the update failed.  The output of
>emerge is very confusing and doesn?t tell me much, if anything, and
>I haven?t had the time to finish the update yet.  That?s going on
>for a month or two now, and it?s still not updated.

IIRC that was because modules were moved into perl-core, i.e.
disappeared as seperate modules and stuff might have still had them
as deps.

-dnh

-- 
I'm broken. Please show this to someone who can fix can fix
                                            -- A message in a TeX system
                                      (Kudos to H J Haataja for the sig)

Reply via email to