1 |
On 06/29/2011 04:39 AM, Kārlis Repsons wrote: |
2 |
> On 20 June 2011 14:20, Ed W <lists@××××××××××.com> wrote: |
3 |
>> On 15/06/2011 11:55, Kārlis Repsons wrote: |
4 |
>>> Hi all, |
5 |
>>> |
6 |
>>> I've got a machine, which hasn't been upgraded for some 2 years or less. It |
7 |
>>> has GCC-4.3.4 and now I tried to upgrade to 4.5.2, but something failed. So |
8 |
>>> I'm here to ask for the right sequence of upgrades and other actions before |
9 |
>>> it's too late... |
10 |
>>> |
11 |
>>> These actions done already: |
12 |
>>> 1. updated binutils, |
13 |
>>> 2. updated glibc, |
14 |
>>> 3. unmerged and re-emerged libtool (had a blocker), |
15 |
>>> 4. tried with the new GCC, but failed with some unclear problems, |
16 |
>>> 5. switched to vanilla GCC and now compile glibc... |
17 |
>>> |
18 |
>>> So have I done something bad or what should I do to be sure that the upgrade |
19 |
>>> goes as smooth as possible? Thanks... |
20 |
>> |
21 |
>> You didn't give any info on the problems you had using gcc 4.5 so very |
22 |
>> hard to comment. However, roughly the upgrade of any gcc is as per the |
23 |
>> docs (upgrade, switch to it, upgrade libtool, emerge -ev system) |
24 |
>> |
25 |
>> Likely problems you had were dependencies upgrading from a very old |
26 |
>> system? Remember there is no harm in masking your gcc, upgrading, then |
27 |
>> upgrading gcc is this solves some dependency? (Slower) |
28 |
>> |
29 |
>> Remember to backup the machine... |
30 |
> |
31 |
> Thanks, the problem was rather silly: I ran out of RAM in a diskless machine... |
32 |
> |
33 |
> By the way, if I wish to update and totally rebuild my system, what |
34 |
> steps do I have to take? I've seen many guides telling about the |
35 |
> toolchain and emerge -e system, then world, but I lack consistency and |
36 |
> understanding about how exactly and why. Anyone to suggest me some |
37 |
> valuable link about that? |
38 |
|
39 |
The safest approach in either switching or recompiling everything is: |
40 |
|
41 |
1. Make the profile is set "eselect profile list" and pick your hardened |
42 |
box. Careful on amd64 about changing multilib/nomultilib. Stick with |
43 |
your mutilib-edness (if such a word exists :) |
44 |
|
45 |
2. Rebuild the tool chain: emerge binutils glibc gcc |
46 |
|
47 |
3. Rebuild system: emerge --keep-going -eq system |
48 |
(note anything that fails you might want to file a bug) |
49 |
|
50 |
4. Rebuild world: emerge --keep-going -eq world |
51 |
(again not any failures, shouldn't happen else we're not doing our job) |
52 |
|
53 |
system vs world = system is just the bare minimum packages that any box |
54 |
running that profile needs. world = system + what you've added. You |
55 |
can skip step 3, but there might be a chance of mixing |
56 |
unhardened/hardened stuff if you do, but I'm not 100% sure. |
57 |
|
58 |
|
59 |
-- |
60 |
Anthony G. Basile, Ph.D. |
61 |
Gentoo Linux Developer [Hardened] |
62 |
E-Mail : blueness@g.o |
63 |
GnuPG FP : 8040 5A4D 8709 21B1 1A88 33CE 979C AF40 D045 5535 |
64 |
GnuPG ID : D0455535 |