/[gentoo]/xml/htdocs/doc/en/gentoo-upgrading.xml
Gentoo

Contents of /xml/htdocs/doc/en/gentoo-upgrading.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.48 - (show annotations) (download) (as text)
Mon Dec 9 11:15:07 2013 UTC (9 months ago) by swift
Branch: MAIN
CVS Tags: HEAD
Changes since 1.47: +2 -2 lines
File MIME type: application/xml
Moved to https://wiki.gentoo.org/wiki/Upgrading_Gentoo

1 <?xml version='1.0' encoding="UTF-8"?>
2 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
3 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoo-upgrading.xml,v 1.47 2013/07/24 20:40:40 swift Exp $ -->
4
5 <guide disclaimer="obsolete" redirect="https://wiki.gentoo.org/wiki/Upgrading_Gentoo">
6 <title>Gentoo Upgrading Guide</title>
7
8 <author title="Author">
9 <mail link="greg_g@gentoo.org">Gregorio Guidi</mail>
10 </author>
11 <author title="Editor">
12 <mail link="wolf31o2@gentoo.org">Chris Gianelloni</mail>
13 </author>
14 <author title="Editor">
15 <mail link="nightmorph@gentoo.org">Joshua Saddler</mail>
16 </author>
17
18 <abstract>
19 This document explains how new Gentoo releases affect existing installs.
20 </abstract>
21
22 <!-- The content of this document is licensed under the CC-BY-SA license -->
23 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
24 <license/>
25
26 <version>7</version>
27 <date>2013-07-24</date>
28
29 <chapter>
30 <title>Gentoo and Upgrades</title>
31 <section>
32 <title>Philosophy</title>
33 <body>
34
35 <p>
36 Here in Gentoo land, the concept of upgrading is quite different compared to
37 the rest of the Linux world. You probably already know that we never got in
38 touch with the "classic" way of upgrading software: waiting for a new release,
39 downloading it, burning, putting it in the cdrom drive and then following the
40 upgrade instructions.
41 </p>
42
43 <p>
44 You know (being a Gentoo user after all) that this process is extremely
45 frustrating for power users that want to live on the bleeding edge. Even power
46 users from other distributions probably share the same feelings, given the
47 popularity and spread of tools like apt or apt-rpm which make it
48 possible to have quick and frequent updates. However, no distribution is more
49 suited than Gentoo to satisfy these kind of demanding users. From the
50 beginning, Gentoo was designed around the concept of fast, incremental
51 updates.
52 </p>
53
54 <p>
55 Ideally, you install once and never bother with releases: just follow the
56 instructions in <uri
57 link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">A Portage
58 Introduction</uri> in the <uri link="/doc/en/handbook/">Gentoo Handbook</uri>
59 that explain how to keep your system up to date. While that's the way things
60 usually go, sometimes changes are made to the core system which require updates
61 to be done manually.
62 </p>
63
64 </body>
65 </section>
66 <section>
67 <title>Releases and Profiles</title>
68 <body>
69
70 <p>
71 A recurring question about the Gentoo release process is: "Why roll out new
72 releases frequently, if they are not intended to let users update software?"
73 There are various reasons:
74 </p>
75
76 <ul>
77 <li>
78 A new release means new Installation CDs with bugfixes and more features
79 </li>
80 <li>
81 A new release provides an updated set of GRP packages, so that users that
82 choose "the fast way" to install (stage3 + precompiled packages) end up
83 with a system that is not outdated
84 </li>
85 <li>
86 Finally, a new release may, from time to time, implement some features that
87 are incompatible with previous releases
88 </li>
89 </ul>
90
91 <p>
92 When a release includes new incompatible features, or provides a set of core
93 packages and settings that deeply modify the behavior of the system, we say
94 that it provides a new <e>profile</e>.
95 </p>
96
97 <p>
98 A <e>profile</e> is a set of configuration files, stored in a subdirectory of
99 <path>/usr/portage/profiles</path>, that describe things such as the ebuilds
100 that are considered <e>system</e> packages, the default USE flags, the default
101 mapping for virtual packages, and the architecture on which the system is running.
102 </p>
103
104 <p>
105 The profile in use is determined by the symbolic link
106 <path>/etc/portage/make.profile</path>, which points to a subdirectory of
107 <path>/usr/portage/profiles</path> which holds the profile files. For
108 instance, the default x86 13.0 profile can be found
109 at <path>/usr/portage/profiles/default/linux/x86/13.0</path>.
110 The files in the parent directories are part of the profile as well (and
111 are therefore shared by different subprofiles). This is why we call these
112 <e>cascaded profiles</e>.
113 </p>
114
115 <p>
116 Profiles obsoleted by new ones are kept in <path>/usr/portage/profiles</path>
117 along with the current ones, but they are marked as deprecated. When that
118 happens a file named <path>deprecated</path> is put in the profile directory.
119 The content of this file is the name of the profile that should be "upgraded
120 to"; Portage uses this information to automatically warn you when you should
121 update to a new profile.
122 </p>
123
124 <p>
125 There are various reasons that a new profile may be created: the release of
126 new versions of core packages (such as <c>baselayout</c>, <c>gcc</c>, or
127 <c>glibc</c>) that are incompatible with previous versions, a change in
128 the default USE flags or in the virtual mappings, or maybe a change in
129 system-wide settings.
130 </p>
131
132 </body>
133 </section>
134 </chapter>
135
136 <chapter>
137 <title>Keeping up with new releases</title>
138 <section>
139 <title>Releases without profile changes</title>
140 <body>
141
142 <p>
143 If a new Gentoo release does not include a new profile then you can safely
144 pretend that it never happened. :)
145 </p>
146
147 <p>
148 If you update your installed packages
149 <uri link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">as explained in
150 the Gentoo Handbook</uri>, then your system will be exactly the same as one
151 that has been installed using the new release.
152 </p>
153
154 </body>
155 </section>
156 <section>
157 <title>Releases with profile changes</title>
158 <body>
159
160 <p>
161 If a release (such as 13.0 for x86) introduces a new profile, you have the
162 choice to migrate to the new profile.
163 </p>
164
165 <p>
166 Naturally, you are not forced to do so, and you can continue to use the old
167 profile and just update your packages
168 <uri link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">as explained
169 in the Gentoo Handbook</uri>.
170 </p>
171
172 <p>
173 However, Gentoo strongly recommends updating your profile if it becomes
174 deprecated. When this happens, it means that Gentoo developers no longer
175 plan on supporting it.
176 </p>
177
178 <p>
179 If you decide to migrate to the new profile, then you will have to manually
180 perform the update. The way you update may vary significantly from release
181 to release; it depends on how deep the modifications introduced in the new
182 profile are.
183 </p>
184
185 <p>
186 In the simplest case you only have to change the <path>/etc/portage/make.profile</path>
187 symlink, in the worst case you may have to recompile your system from scratch
188 while doing a neat voodoo dance. Migration is usually covered in the release
189 notes. You can also find <uri link="#instructions">instructions</uri> at the
190 end of this guide.
191 </p>
192
193 </body>
194 </section>
195 <section>
196 <title>Supported profiles</title>
197 <body>
198
199 <p>
200 You can view the list of profiles on your architecture officially supported by
201 Gentoo developers when you <c>emerge eselect</c> and then run the following
202 command:
203 </p>
204
205 <pre caption="Viewing supported profiles">
206 # <i>eselect profile list</i>
207 </pre>
208
209 </body>
210 </section>
211 <section>
212 <title>Upgrading from (too) old systems</title>
213 <body>
214
215 <p>
216 Sometimes, systems are too old to easily upgrade. The upgrade path might need
217 intermediate versions of software (such as portage) that does not exist anymore,
218 and you might need to update the portage tree in steps (for instance incremental
219 tree updates with steps of 3 to 4 months).
220 </p>
221
222 <p>
223 To upgrade such systems, you can use a recent stage3 to update the system.
224 Instructions for that are given in the <uri link="#old_system">Updating old
225 systems</uri> section.
226 </p>
227
228 </body>
229 </section>
230 </chapter>
231
232 <chapter id="instructions">
233 <title>Profile updating instructions</title>
234 <section id="general">
235 <title>General instructions</title>
236 <body>
237
238 <impo>
239 Make sure your Portage is updated before performing any profile changes.
240 </impo>
241
242 <p>
243 First, run <c>emerge eselect</c>. The <c>eselect</c> utility will let you view
244 and select profiles easily, without needing to create or remove symlinks by
245 hand.
246 </p>
247
248 <pre caption="Profile selection with eselect">
249 <comment>(View available profiles)</comment>
250 # <i>eselect profile list</i>
251
252 <comment>(Select the number of your desired profile from the list)</comment>
253 # <i>eselect profile set &lt;number&gt;</i>
254 </pre>
255
256 <p>
257 If you'd still prefer to change profiles manually, then simply do the following:
258 </p>
259
260 <pre caption="Changing profiles manually">
261 # <i>rm /etc/portage/make.profile</i>
262 # <i>cd /etc/portage</i>
263 # <i>ln -s ../../usr/portage/profiles/</i>&lt;selected profile&gt;<i> make.profile</i>
264 </pre>
265
266 <note>
267 There are <b>desktop</b> and <b>server</b> subprofiles for most architectures.
268 Examine these profiles carefully, as they may serve your needs better than the
269 extremely minimal default profiles.
270 </note>
271
272 <note>
273 The <c>developer</c> subprofile is specifically for Gentoo Linux development
274 tasks. It is <e>not</e> meant to help set up general development environments.
275 </note>
276
277 </body>
278 </section>
279 <section>
280 <title>Updating to 2008.0, 2007.0, or 2006.1</title>
281 <body>
282
283 <p>
284 If you intend to upgrade to these profiles, you should be aware that they expect
285 the system to be set to a Unicode locale by default; specifically that
286 UNICODE="yes" is set in <path>/etc/rc.conf</path>. For this to work, you must
287 have created a Unicode locale for your system to use. Please read the <uri
288 link="https://wiki.gentoo.org/wiki/UTF-8">UTF-8 article</uri> to learn how to create the proper
289 locale.
290 </p>
291
292 <p>
293 Alternatively, if you do not wish to set a locale, you should specify
294 UNICODE="no" in <path>/etc/rc.conf</path>, and re-emerge <c>baselayout</c> (or
295 wait until your next <c>baselayout</c> update) with the <c>-unicode</c> USE
296 flag. You can set <c>-unicode</c> just for <c>baselayout</c>, or you can set it
297 globally for all packages by adding it to your USE variable in
298 <path>/etc/portage/make.conf</path>.
299 </p>
300
301 <pre caption="Optional: removing Unicode support">
302 <comment>(To remove Unicode support just for baselayout)</comment>
303 # <i>echo "sys-apps/baselayout -unicode" >> /etc/portage/package.use</i>
304 # <i>emerge -a baselayout</i>
305
306 <comment>(To remove Unicode support from your whole system)</comment>
307 # <i>nano -w /etc/portage/make.conf</i>
308 USE="-unicode"
309 # <i>emerge -a baselayout</i>
310 </pre>
311
312 <note>
313 If you are updating to a 2007.0 profile on the Sparc architecture, then you will
314 need to follow the <uri link="/doc/en/gcc-upgrading.xml">GCC Upgrading
315 Guide</uri>, as <c>gcc-4</c> is the default compiler.
316 </note>
317
318 <p>
319 Finally, follow the <uri link="#general">general instructions</uri> for updating
320 your profile.
321 </p>
322
323 </body>
324 </section>
325 <section>
326 <title>Updating to 2006.0</title>
327 <body>
328
329 <p>
330 To switch to the 2006.0 profile, point the <path>/etc/portage/make.profile</path>
331 symlink to the new location. Make sure your Portage is updated before you
332 change your profile.
333 </p>
334
335 <pre caption="Changing to a 2006.0 profile">
336 # <i>rm /etc/portage/make.profile</i>
337 # <i>ln -s ../usr/portage/profiles/</i>&lt;selected profile&gt;<i> /etc/portage/make.profile</i>
338 </pre>
339
340 <p>
341 <b>alpha</b> - Users that use a 2.4 kernel or don't want to use NPTL should use
342 the default-linux/alpha/no-nptl profile. More information is available in <uri
343 link="/proj/en/releng/release/2006.0/alpha-release-notes.xml">the alpha release
344 notes</uri>.
345 </p>
346
347 <p>
348 <b>ppc</b> - The merge of the ppc32 and ppc64 profiles went forward. The ppc32
349 profile has been changed in a way that offers a minimalistic generic profile
350 for all purposes, located in default-linux/ppc/ppc32. The release-dependent
351 profile is optimized for desktop-usage and located in
352 default-linux/ppc/ppc32/2006.0. There are some subprofiles available for G3 and
353 G4 processors, and G3/Pegasos and G4/Pegasos for the Pegasos Open Desktop
354 Workstation. Make sure you choose the correct subprofile for your system when
355 migrating to a 2006.0 profile.
356 </p>
357
358 <p>
359 <b>sparc</b> - Upgrading to the <b>2.4</b>-kernel based 2006.0/2.4 profile
360 requires manual user intervention (unmerging java stuff) and an <c>emerge -e
361 world</c> because of the <uri link="/doc/en/gcc-upgrading.xml">gcc
362 upgrade</uri>.<br/>
363 Upgrading to the <b>2.6</b>-kernel based 2006.0 profile which is not considered
364 stable also requires an entry in <path>/etc/portage/package.unmask</path> to
365 umask a 2.6 version of <c>gentoo-sources</c> and a full rebuild.
366 </p>
367
368 <p>
369 <b>All other archs</b> - There are no fundamental changes in this profile. No
370 specific action needs to be performed.
371 </p>
372
373 </body>
374 </section>
375 <section>
376 <title>Updating to 2005.1</title>
377 <body>
378
379 <p>
380 To switch to the 2005.1 profile, point the <path>/etc/portage/make.profile</path>
381 symlink to the new location. Make sure your Portage is updated before you
382 change your profile.
383 </p>
384
385 <pre caption="Changing to a 2005.1 profile">
386 # <i>rm /etc/portage/make.profile</i>
387 # <i>ln -s ../usr/portage/profiles/</i>&lt;selected profile&gt;<i> /etc/portage/make.profile</i>
388 </pre>
389
390 <p>
391 <b>All archs</b> - There are no fundamental changes in this profile. No
392 specific action needs to be performed.
393 </p>
394
395 <p>
396 <b>ppc</b> - With the 2005.1 release, the ppc and ppc64 profiles were merged
397 and a number of subprofiles for specific subarchitectures were created. Make
398 sure you choose the correct subprofile for your system when migrating to a
399 2005.1 profile.
400 </p>
401
402 </body>
403 </section>
404 <section>
405 <title>Updating to 2005.0</title>
406 <body>
407
408 <p>
409 With the introduction of 2005.0, several architectures have decided to define
410 additional profiles. Make sure you read the description of said profiles before
411 you decide to migrate to one of them. Most architectures now also default to the
412 2.6 kernel tree where 2.4 was chosen previously.
413 </p>
414
415 <p>
416 Some architectures require a bit more actions to be completed in order to
417 convert from one profile to another. If that is the case, the step-by-step
418 guides are linked from the table.
419 </p>
420
421 <table>
422 <tr>
423 <th>Profile</th>
424 <th>Description</th>
425 <th>Specific Upgrade Guide</th>
426 </tr>
427 <tr>
428 <ti>default-linux/alpha/2005.0</ti>
429 <ti>Default Alpha 2005.0 profile for 2.6 kernels</ti>
430 <ti></ti>
431 </tr>
432 <tr>
433 <ti>default-linux/alpha/2005.0/2.4</ti>
434 <ti>Alpha 2005.0 profile for 2.4 kernels</ti>
435 <ti></ti>
436 </tr>
437 <tr>
438 <ti>default-linux/amd64/2005.0</ti>
439 <ti>Default AMD64 2005.0 profile for 2.6 kernels</ti>
440 <ti></ti>
441 </tr>
442 <tr>
443 <ti>default-linux/amd64/2005.0/no-multilib</ti>
444 <ti>AMD64 2005.0 profile for multilib-disabled system installations</ti>
445 <ti></ti>
446 </tr>
447 <tr>
448 <ti>default-linux/arm/2005.0</ti>
449 <ti>Default ARM 2005.0 profile for 2.6 kernels</ti>
450 <ti></ti>
451 </tr>
452 <tr>
453 <ti>default-linux/hppa/2005.0</ti>
454 <ti>Default HPPA 2005.0 profile for 2.6 kernels</ti>
455 <ti></ti>
456 </tr>
457 <tr>
458 <ti>default-linux/hppa/2005.0/2.4</ti>
459 <ti>HPPA 2005.0 profile for 2.4 kernels</ti>
460 <ti></ti>
461 </tr>
462 <tr>
463 <ti>default-linux/mips/2005.0</ti>
464 <ti>Default MIPS 2005.0 profile</ti>
465 <ti></ti>
466 </tr>
467 <tr>
468 <ti>default-linux/mips/cobalt/2005.0</ti>
469 <ti>Cobalt specific MIPS 2005.0 profile</ti>
470 <ti></ti>
471 </tr>
472 <tr>
473 <ti>default-linux/mips/mips64/n32/2005.0</ti>
474 <ti>2005.0 profile for n32-supporting MIPS platforms</ti>
475 <ti></ti>
476 </tr>
477 <tr>
478 <ti>default-linux/mips/mips64/ip28/2005.0</ti>
479 <ti>Indigo2 Impact specific 64-bit 2005.0 profile</ti>
480 <ti></ti>
481 </tr>
482 <tr>
483 <ti>default-linux/mips/mips64/2005.0</ti>
484 <ti>64-bit MIPS 2005.0 profile</ti>
485 <ti></ti>
486 </tr>
487 <tr>
488 <ti>default-linux/ppc/2005.0</ti>
489 <ti>Default PPC 2005.0 profile for 2.6 kernels</ti>
490 <ti></ti>
491 </tr>
492 <tr>
493 <ti>default-linux/ppc64/2005.0</ti>
494 <ti>Default PPC64 2005.0 profile for 2.6 kernels</ti>
495 <ti></ti>
496 </tr>
497 <tr>
498 <ti>default-linux/s390/2005.0</ti>
499 <ti>Default S390 2005.0 profile</ti>
500 <ti></ti>
501 </tr>
502 <tr>
503 <ti>default-linux/sparc/sparc32/2005.0</ti>
504 <ti>Default Sparc 32-bit 2005.0 profile</ti>
505 <ti></ti>
506 </tr>
507 <!-- http://dev.gentoo.org/~dsd/kernel-2.6.htm
508 No subprofiles for sparc
509 <tr>
510 <ti>default-linux/sparc/sparc32/2005.0/2.6</ti>
511 <ti>Sparc 32-bit 2005.0 profile for 2.6 kernels</ti>
512 <ti></ti>
513 </tr>
514 -->
515 <tr>
516 <ti>default-linux/sparc/sparc64/2005.0</ti>
517 <ti>Default Sparc 64-bit 2005.0 profile</ti>
518 <ti></ti>
519 </tr>
520 <!-- http://dev.gentoo.org/~dsd/kernel-2.6.htm
521 No subprofiles for sparc
522 <tr>
523 <ti>default-linux/sparc/sparc64/2005.0/2.6</ti>
524 <ti>Sparc 64-bit 2005.0 profile for 2.6 kernels</ti>
525 <ti></ti>
526 </tr>
527 -->
528 <tr>
529 <ti>default-linux/x86/2005.0</ti>
530 <ti>Default x86 2005.0 profile for 2.6 kernels</ti>
531 <ti></ti>
532 </tr>
533 <tr>
534 <ti>default-linux/x86/2005.0/2.4</ti>
535 <ti>x86 2005.0 profile for 2.4 kernels</ti>
536 <ti></ti>
537 </tr>
538 </table>
539
540 <p>
541 To switch to the selected profile, point the <path>/etc/portage/make.profile</path>
542 symlink to the new location. Make sure your Portage is updated before you change
543 your profile!
544 </p>
545
546 <pre caption="Changing to a 2005.0 profile">
547 # <i>rm /etc/portage/make.profile</i>
548 # <i>ln -s ../usr/portage/profiles/</i>&lt;selected profile&gt;<i> /etc/portage/make.profile</i>
549 </pre>
550
551 <p>
552 If you are running a Linux 2.4-based system but want to migrate to a 2.6-based
553 kernel, make sure you read our <uri link="/doc/en/migration-to-2.6.xml">Gentoo
554 Linux 2.6 Migration Guide</uri>.
555 </p>
556
557 </body>
558 </section>
559 <section>
560 <title>Updating to 2004.3</title>
561 <body>
562
563 <p>
564 With the introduction of the 2004.3 profiles, users are not going to see huge
565 modifications of their systems (see below for details). However, Gentoo
566 developers decided to push out this new profile and to deprecate quite a few of
567 the old ones to speed up the adoption of <e>stacked profiles</e>, that is, the
568 profiles that follow the new layout of the <path>/usr/portage/profiles</path>
569 directory, for instance
570 <path>/usr/portage/profiles/default-linux/x86/2004.3</path> (supported by
571 Portage 2.0.51 or later).
572 </p>
573
574 <p>
575 To switch to the 2004.3 profile, point the <path>/etc/portage/make.profile</path>
576 symlink to the new location:
577 </p>
578
579 <warn>
580 Don't forget to upgrade Portage <e>before</e> you change your profile!!!
581 </warn>
582
583 <pre caption="Updating the /etc/portage/make.profile symlink">
584 <comment>substitute &lt;arch&gt; with your arch</comment>
585 # <i>rm /etc/portage/make.profile</i>
586 # <i>ln -s ../usr/portage/profiles/default-linux/&lt;arch&gt;/2004.3 /etc/portage/make.profile</i>
587 </pre>
588
589 <p>
590 <b>All archs</b> - As said above, there are no big changes introduced in this
591 profile. However, it should be noted that <c>sys-apps/slocate</c> and
592 <c>net-misc/dhcpcd</c> are no longer considered system packages. This means
593 that if you run <c>emerge --depclean</c>, Portage will try to remove them from
594 your system. If you need any of those packages, add them to
595 <path>/var/lib/portage/world</path> after the profile switch, or manually
596 emerge them.
597 </p>
598
599 <p>
600 <b>ppc</b> - <c>sys-fs/udev</c> is now the default instead of
601 <c>sys-fs/devfs</c> for newly installed machines. This has no
602 effect on already installed machines, though.
603 </p>
604
605 </body>
606 </section>
607 <section>
608 <title>Updating Portage to Support Cascading Profiles</title>
609 <body>
610
611 <p>
612 Although this section does not seem to integrate well in this upgrading guide,
613 it is quite important. Any profile listed above this section requires a Portage
614 version that supports cascading profiles. However, some obsoleted profiles don't
615 allow the user to upgrade Portage or the user is using a profile that isn't
616 available anymore - any attempt to upgrade Portage will result in a failure.
617 </p>
618
619 <p>
620 To work around this problem, users can set a temporary symbolic link to the
621 <e>obsolete</e> profile, allowing them to upgrade their Portage after which
622 they can continue with the upgrade procedure set forth in this guide. Please
623 substitute <c>&lt;arch&gt;</c> with your respective architecture:
624 </p>
625
626 <pre caption="Updating Portage through the obsolete profile">
627 # <i>rm /etc/portage/make.profile</i>
628 # <i>cd /etc/portage</i>
629 # <i>ln -sf ../usr/portage/profiles/obsolete/&lt;arch&gt; make.profile</i>
630 # <i>emerge -n '>=sys-apps/portage-2.0.51'</i>
631 </pre>
632
633 </body>
634 </section>
635 <section>
636 <title>Updating to 2004.2</title>
637 <body>
638
639 <p>
640 To switch to the 2004.2 profile, point the <path>/etc/portage/make.profile</path>
641 symlink to the new location:
642 </p>
643
644 <warn>
645 Don't forget to upgrade Portage <e>before</e> you change your profile!!!
646 </warn>
647
648 <pre caption="Updating the /etc/portage/make.profile symlink">
649 <comment>substitute &lt;arch&gt; with your arch</comment>
650 # <i>rm /etc/portage/make.profile</i>
651 # <i>ln -s ../usr/portage/profiles/default-linux/&lt;arch&gt;/2004.2 /etc/portage/make.profile</i>
652 </pre>
653
654 <p>
655 <b>x86</b> - This profile changes the default X11 implementation from
656 <c>x11-base/xfree</c> to <c>x11-base/xorg-x11</c>. This change only touches
657 the <e>default</e> value, and is only relevant for those who have not installed
658 an X server yet. If you already have one installed, then it will not affect
659 you at all; you are free to switch from one X server to the other exactly as
660 before.
661 </p>
662
663 <p>
664 <b>amd64</b> - There are no fundamental changes from previous profiles, no
665 specific action needs to be performed.
666 </p>
667
668 </body>
669 </section>
670 <section>
671 <title>Updating to 2004.0</title>
672 <body>
673
674 <p>
675 To switch to the 2004.0 profile, point the <path>/etc/portage/make.profile</path>
676 symlink to the new location:
677 </p>
678
679 <pre caption="Updating the /etc/portage/make.profile symlink">
680 <comment>substitute &lt;arch&gt; with your arch</comment>
681 # <i>rm /etc/portage/make.profile</i>
682 # <i>ln -s ../usr/portage/profiles/default-&lt;arch&gt;-2004.0 /etc/portage/make.profile</i>
683 </pre>
684
685 <p>
686 <b>All archs</b> - There are no fundamental changes from previous profiles, no
687 specific action needs to be performed.
688 </p>
689
690 </body>
691 </section>
692 <section>
693 <title>Updating from profiles older than 1.4 to 1.4</title>
694 <body>
695
696 <p>
697 The instructions for this upgrade are quite complex, you can find them
698 <uri link="/doc/en/new-upgrade-to-gentoo-1.4.xml">here</uri>.
699 </p>
700
701 </body>
702 </section>
703 </chapter>
704
705 <chapter id="old_system">
706 <title>Updating old systems</title>
707 <section>
708 <title>Idea of the upgrade</title>
709 <body>
710
711 <p>
712 The idea with this upgrade approach is that we create an intermediate build
713 chroot in which a recent stage3 is extracted. Then, using the tools available in
714 the stage3 chroot we upgrade the packages on the live system.
715 </p>
716
717 </body>
718 </section>
719 <section>
720 <title>Preparing the intermediate build chroot</title>
721 <body>
722
723 <p>
724 Let's first create the intermediate build chroot location, say
725 <path>/mnt/build</path>, and extract a recent stage3 archive into it.
726 </p>
727
728 <pre caption="Preparing the intermediate build chroot">
729 # <i>mkdir /mnt/build</i>
730 # <i>tar -xf -C /mnt/build /path/to/stage3-somearch-somedate.tar.bz2</i>
731 # <i>mount --rbind /dev /mnt/build/dev</i>
732 # <i>mount --rbind /proc /mnt/build/proc</i>
733 # <i>mount --rbind /sys /mnt/build/sys</i>
734 </pre>
735
736 <p>
737 Next, we create a mount point inside this chroot environment, on which we then
738 bind-mount the live (old) environment.
739 </p>
740
741 <pre caption="Create host mountpoint">
742 # <i>mkdir /mnt/build/mnt/host</i>
743 # <i>mount --rbind / /mnt/build/mnt/host</i>
744 </pre>
745
746 <p>
747 So now the live (old) system is also reachable within
748 <path>/mnt/build/mnt/host</path>. This will allow us to reach the live (old)
749 system and update the packages even when chrooted inside the intermediate build
750 chroot.
751 </p>
752
753 </body>
754 </section>
755 <section>
756 <title>Chroot and update</title>
757 <body>
758
759 <p>
760 We now chroot into the intermediate build location, and start updating vital
761 packages on the live system, until we can continue updating the live system from
762 within the live system (rather than through the intermediate build chroot).
763 </p>
764
765 <pre caption="Chrooting and updating important packages">
766 # <i>chroot /mnt/build</i>
767 # <i>source /etc/profile</i>
768
769 <comment># Now we start building packages onto the live system</comment>
770 # <i>ROOT=/mnt/host emerge -1v portage</i>
771 </pre>
772
773 <p>
774 Keep this chrooted session open and try to update the live system. When you hit
775 failures, you can use this chrooted session to update packages using the build
776 tools available in the intermediate build chroot (which includes recent glibc,
777 gcc, etc.) Don't forget to prefix all <c>emerge</c> commands with
778 <c>ROOT=/mnt/host</c> within the chroot!
779 </p>
780
781 </body>
782 </section>
783 </chapter>
784
785 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20