/[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.31 - (show annotations) (download) (as text)
Sat Sep 2 10:04:16 2006 UTC (8 years, 8 months ago) by nightmorph
Branch: MAIN
Changes since 1.30: +9 -7 lines
File MIME type: application/xml
New VDR guide by Norman Golisz added, bug 143456

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.30 2006/05/27 13:51:57 neysx Exp $ -->
4
5 <guide link="/doc/en/gentoo-upgrading.xml">
6 <title>Gentoo Upgrading Guide</title>
7
8 <author title="Author">
9 <mail link="greg_g@gentoo.org">Gregorio Guidi</mail>
10 </author>
11
12 <abstract>
13 This document explains how new Gentoo releases affect existing installs.
14 </abstract>
15
16 <!-- The content of this document is licensed under the CC-BY-SA license -->
17 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
18 <license/>
19
20 <version>2.4</version>
21 <date>2006-08-31</date>
22
23 <chapter>
24 <title>Gentoo and Upgrades</title>
25 <section>
26 <title>Philosophy</title>
27 <body>
28
29 <p>
30 Here in Gentoo land, the concept of upgrading is quite different compared to
31 the rest of the Linux world. You probably already know that we never got in
32 touch with the "classic" way of upgrading software: waiting for a new release,
33 downloading it, burning, putting it in the cdrom drive and then following the
34 upgrade instructions.
35 </p>
36
37 <p>
38 You know (being a Gentoo user after all) that this process is extremely
39 frustrating for power users that want to live on the bleeding edge. Even power
40 users from other distributions probably share the same feelings, given the
41 popularity and spread of tools like apt or apt-rpm which make it
42 possible to have quick and frequent updates. However, no distribution is more
43 suited than Gentoo to satisfy these kind of demanding users. From the
44 beginning, Gentoo was designed around the concept of fast, incremental
45 updates.
46 </p>
47
48 <p>
49 Ideally, you install once and never bother with releases: just follow the
50 instructions in <uri
51 link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">A Portage
52 Introduction</uri> in the <uri link="/doc/en/handbook/">Gentoo Handbook</uri>
53 that explain how to keep your system up to date. While that's the way things
54 usually go, sometimes changes are made to the core system which require updates
55 to be done manually.
56 </p>
57
58 </body>
59 </section>
60 <section>
61 <title>Releases and Profiles</title>
62 <body>
63
64 <p>
65 A recurring question about the Gentoo release process is: "Why roll out new
66 releases frequently, if they are not intended to let users update software?".
67 There are various reasons:
68 </p>
69
70 <ul>
71 <li>
72 A new release means new Installation CDs with bugfixes and more features.
73 </li>
74 <li>
75 A new release provides an updated set of GRP packages, so that users that
76 choose "the fast way" to install (stage3 + precompiled packages) end up
77 with a system that is not outdated.
78 </li>
79 <li>
80 Finally, a new release may, from time to time, implement some features that
81 are incompatible with previous releases.
82 </li>
83 </ul>
84
85 <p>
86 When a release includes new incompatible features, or provides a set of core
87 packages and settings that deeply modify the behavior of the system, we say
88 that it provides a new <e>profile</e>.
89 </p>
90
91 <p>
92 A <e>profile</e> is a set of configuration files, stored in a subdirectory of
93 <path>/usr/portage/profiles</path>, that describe things such as the ebuilds
94 that are considered <e>system</e> packages, the default USE flags, the default
95 mapping for virtual packages, and the architecture on which the system is running.
96 </p>
97
98 <p>
99 The profile in use is determined by the symbolic link
100 <path>/etc/make.profile</path>, which points to a subdirectory of
101 <path>/usr/portage/profiles</path> which holds the profile files. For
102 instance, the default x86 2006.1 profile can be found
103 at <path>/usr/portage/profiles/default-linux/x86/2006.1</path>.
104 The files in the parent directories are part of the profile as well (and
105 are therefore shared by different subprofiles). This is why we call these
106 <e>cascaded profiles</e>.
107 </p>
108
109 <p>
110 Profiles obsoleted by new ones are kept in <path>/usr/portage/profiles</path>
111 along with the current ones, but they are marked as deprecated. When that
112 happens a file named <path>deprecated</path> is put in the profile directory.
113 The content of this file is the name of the profile that should be "upgraded
114 to"; portage uses this information to automatically warn you when you should
115 update to a new profile.
116 </p>
117
118 <p>
119 There are various reasons that a new profile may be created: the release of
120 new versions of core packages (such as <c>baselayout</c>, <c>gcc</c>, or
121 <c>glibc</c>) that are incompatible with previous versions, a change in
122 the default USE flags or in the virtual mappings, or maybe a change in
123 system-wide settings.
124 </p>
125
126 </body>
127 </section>
128 </chapter>
129
130 <chapter>
131 <title>Keeping up with new releases</title>
132 <section>
133 <title>Releases without profile changes</title>
134 <body>
135
136 <p>
137 If a new Gentoo release is announced that does not include a new profile
138 then you can safely pretend that it never happened :).
139 </p>
140
141 <p>
142 If you update your installed packages
143 <uri link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">as explained in
144 the Gentoo Handbook</uri>, then your system will be exactly the same as one
145 that has been installed using the new release.
146 </p>
147
148 </body>
149 </section>
150 <section>
151 <title>Releases with profile changes</title>
152 <body>
153
154 <p>
155 If a release (such as 2006.1 for x86) introduces a new profile or subprofile,
156 you have the choice to migrate to the new profile.
157 </p>
158
159 <p>
160 Naturally, you are not forced to do so, and you can continue to use the old
161 profile and just update your packages
162 <uri link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">as explained
163 in the Gentoo Handbook</uri>.
164 </p>
165
166 <p>
167 However, Gentoo strongly recommends updating your profile if it becomes
168 deprecated. When this happens, it means that Gentoo developers no longer
169 plan on supporting it. Using the table below, you can quickly check to
170 see what profiles are currently supported.
171 </p>
172
173 <p>
174 If you decide to migrate to the new profile, then you will have to manually
175 perform the update. The way you update may vary significantly from release
176 to release; it depends on how deep the modifications introduced in the new
177 profile are.
178 </p>
179
180 <p>
181 In the simplest case you only have to change the <path>/etc/make.profile</path>
182 symlink, in the worst case you may have to recompile your system from scratch
183 while doing a neat voodoo dance. Migration is usually covered in the release
184 notes. You can also find <uri link="#instructions">instructions</uri> at the
185 end of this guide.
186 </p>
187
188 </body>
189 </section>
190 <section>
191 <title>Supported profiles</title>
192 <body>
193
194 <p>
195 The following profiles are officially supported by Gentoo developers:
196 </p>
197
198 <table>
199 <tr>
200 <th>Architecture</th>
201 <th>Most recent profiles</th>
202 <th>Other supported profiles</th>
203 </tr>
204 <tr>
205 <th>alpha</th>
206 <ti>2006.1</ti>
207 <ti>2006.0</ti>
208 <ti>2005.0, 2005.0/2.4, no-nptl, no-nptl/2.4</ti>
209 </tr>
210 <tr>
211 <th>arm</th>
212 <ti>2004.3</ti>
213 <ti></ti>
214 </tr>
215 <tr>
216 <th>amd64</th>
217 <ti>2006.1</ti>
218 <ti>2006.0</ti>
219 <ti>2005.1, 2005.1/no-multilib, 2005.0, 2005.0/no-multilib</ti>
220 </tr>
221 <tr>
222 <th>hppa</th>
223 <ti>2005.0</ti>
224 <ti>2004.3, 2004.2</ti>
225 </tr>
226 <tr>
227 <th>ia64</th>
228 <ti>2006.0</ti>
229 <ti>2005.0, 2004.3</ti>
230 </tr>
231 <tr>
232 <th>ppc</th>
233 <ti>2006.0</ti>
234 <ti>2005.1, 2005.0, 2004.3, 2004.0</ti>
235 </tr>
236 <tr>
237 <th>mips</th>
238 <ti>2006.0</ti>
239 <ti>2005.0, 2004.2</ti>
240 </tr>
241 <tr>
242 <th>s390</th>
243 <ti>2006.0</ti>
244 <ti>2004.3</ti>
245 </tr>
246 <tr>
247 <th>sparc</th>
248 <ti>2006.0, 2006.0/2.4</ti>
249 <ti>2005.1, 2005.0</ti>
250 </tr>
251 <tr>
252 <th>x86</th>
253 <ti>2006.0, no-nptl/2.4</ti>
254 <ti>2005.1, 2005.0</ti>
255 </tr>
256 </table>
257
258 </body>
259 </section>
260 </chapter>
261
262 <chapter id="instructions">
263 <title>Profile updating instructions</title>
264 <section>
265 <title>Updating to 2006.0</title>
266 <body>
267
268 <p>
269 To switch to the 2006.0 profile, point the <path>/etc/make.profile</path>
270 symlink to the new location. Make sure your Portage is updated before you
271 change your profile.
272 </p>
273
274 <pre caption="Changing to a 2006.0 profile">
275 # <i>rm /etc/make.profile</i>
276 # <i>ln -s ../usr/portage/profiles/</i>&lt;selected profile&gt;<i> /etc/make.profile</i>
277 </pre>
278
279 <p>
280 <b>alpha</b> - Users that use a 2.4 kernel or don't want to use NPTL should use
281 the default-linux/alpha/no-nptl profile. More information is available in <uri
282 link="/proj/en/releng/release/2006.0/alpha-release-notes.xml">the alpha release
283 notes</uri>.
284 </p>
285
286 <p>
287 <b>ppc</b> - The merge of the ppc32 and ppc64 profiles went forward. The ppc32
288 profile has been changed in a way that offers a minimalistic generic profile
289 for all purposes, located in default-linux/ppc/ppc32. The release-dependent
290 profile is optimized for desktop-usage and located in
291 default-linux/ppc/ppc32/2006.0. There are some subprofiles available for G3 and
292 G4 processors, and G3/Pegasos and G4/Pegasos for the Pegasos Open Desktop
293 Workstation. Make sure you choose the correct subprofile for your system when
294 migrating to a 2006.0 profile.
295 </p>
296
297 <p>
298 <b>sparc</b> - Upgrading to the <b>2.4</b>-kernel based 2006.0/2.4 profile
299 requires manual user intervention (unmerging java stuff) and an <c>emerge -e
300 world</c> because of the <uri link="/doc/en/gcc-upgrading.xml">gcc
301 upgrade</uri>.<br/>
302 Upgrading to the <b>2.6</b>-kernel based 2006.0 profile which is not considered
303 stable also requires an entry in <path>/etc/portage/package.unmask</path> to
304 umask a 2.6 version of <c>gentoo-sources</c> and a full rebuild.
305 </p>
306
307 <p>
308 <b>All other archs</b> - There are no fundamental changes in this profile. No
309 specific action needs to be performed.
310 </p>
311
312 </body>
313 </section>
314 <section>
315 <title>Updating to 2005.1</title>
316 <body>
317
318 <p>
319 To switch to the 2005.1 profile, point the <path>/etc/make.profile</path>
320 symlink to the new location. Make sure your Portage is updated before you
321 change your profile.
322 </p>
323
324 <pre caption="Changing to a 2005.1 profile">
325 # <i>rm /etc/make.profile</i>
326 # <i>ln -s ../usr/portage/profiles/</i>&lt;selected profile&gt;<i> /etc/make.profile</i>
327 </pre>
328
329 <p>
330 <b>All archs</b> - There are no fundamental changes in this profile. No
331 specific action needs to be performed.
332 </p>
333
334 <p>
335 <b>ppc</b> - With the 2005.1 release, the ppc and ppc64 profiles were merged
336 and a number of subprofiles for specific subarchitectures were created. Make
337 sure you choose the correct subprofile for your system when migrating to a
338 2005.1 profile.
339 </p>
340
341 </body>
342 </section>
343 <section>
344 <title>Updating to 2005.0</title>
345 <body>
346
347 <p>
348 With the introduction of 2005.0, several architectures have decided to define
349 additional profiles. Make sure you read the description of said profiles before
350 you decide to migrate to one of them. Most architectures now also default to the
351 2.6 kernel tree where 2.4 was chosen previously.
352 </p>
353
354 <p>
355 Some architectures require a bit more actions to be completed in order to
356 convert from one profile to another. If that is the case, the step-by-step
357 guides are linked from the table.
358 </p>
359
360 <table>
361 <tr>
362 <th>Profile</th>
363 <th>Description</th>
364 <th>Specific Upgrade Guide</th>
365 </tr>
366 <tr>
367 <ti>default-linux/alpha/2005.0</ti>
368 <ti>Default Alpha 2005.0 profile for 2.6 kernels</ti>
369 <ti></ti>
370 </tr>
371 <tr>
372 <ti>default-linux/alpha/2005.0/2.4</ti>
373 <ti>Alpha 2005.0 profile for 2.4 kernels</ti>
374 <ti></ti>
375 </tr>
376 <tr>
377 <ti>default-linux/amd64/2005.0</ti>
378 <ti>Default AMD64 2005.0 profile for 2.6 kernels</ti>
379 <ti></ti>
380 </tr>
381 <tr>
382 <ti>default-linux/amd64/2005.0/no-multilib</ti>
383 <ti>AMD64 2005.0 profile for multilib-disabled system installations</ti>
384 <ti></ti>
385 </tr>
386 <tr>
387 <ti>default-linux/arm/2005.0</ti>
388 <ti>Default ARM 2005.0 profile for 2.6 kernels</ti>
389 <ti></ti>
390 </tr>
391 <tr>
392 <ti>default-linux/hppa/2005.0</ti>
393 <ti>Default HPPA 2005.0 profile for 2.6 kernels</ti>
394 <ti></ti>
395 </tr>
396 <tr>
397 <ti>default-linux/hppa/2005.0/2.4</ti>
398 <ti>HPPA 2005.0 profile for 2.4 kernels</ti>
399 <ti></ti>
400 </tr>
401 <tr>
402 <ti>default-linux/mips/2005.0</ti>
403 <ti>Default MIPS 2005.0 profile</ti>
404 <ti></ti>
405 </tr>
406 <tr>
407 <ti>default-linux/mips/cobalt/2005.0</ti>
408 <ti>Cobalt specific MIPS 2005.0 profile</ti>
409 <ti></ti>
410 </tr>
411 <tr>
412 <ti>default-linux/mips/mips64/n32/2005.0</ti>
413 <ti>2005.0 profile for n32-supporting MIPS platforms</ti>
414 <ti></ti>
415 </tr>
416 <tr>
417 <ti>default-linux/mips/mips64/ip28/2005.0</ti>
418 <ti>Indigo2 Impact specific 64-bit 2005.0 profile</ti>
419 <ti></ti>
420 </tr>
421 <tr>
422 <ti>default-linux/mips/mips64/2005.0</ti>
423 <ti>64-bit MIPS 2005.0 profile</ti>
424 <ti></ti>
425 </tr>
426 <tr>
427 <ti>default-linux/ppc/2005.0</ti>
428 <ti>Default PPC 2005.0 profile for 2.6 kernels</ti>
429 <ti></ti>
430 </tr>
431 <tr>
432 <ti>default-linux/ppc64/2005.0</ti>
433 <ti>Default PPC64 2005.0 profile for 2.6 kernels</ti>
434 <ti></ti>
435 </tr>
436 <tr>
437 <ti>default-linux/s390/2005.0</ti>
438 <ti>Default S390 2005.0 profile</ti>
439 <ti></ti>
440 </tr>
441 <tr>
442 <ti>default-linux/sparc/sparc32/2005.0</ti>
443 <ti>Default Sparc 32-bit 2005.0 profile</ti>
444 <ti></ti>
445 </tr>
446 <!-- http://dev.gentoo.org/~dsd/kernel-2.6.htm
447 No subprofiles for sparc
448 <tr>
449 <ti>default-linux/sparc/sparc32/2005.0/2.6</ti>
450 <ti>Sparc 32-bit 2005.0 profile for 2.6 kernels</ti>
451 <ti></ti>
452 </tr>
453 -->
454 <tr>
455 <ti>default-linux/sparc/sparc64/2005.0</ti>
456 <ti>Default Sparc 64-bit 2005.0 profile</ti>
457 <ti></ti>
458 </tr>
459 <!-- http://dev.gentoo.org/~dsd/kernel-2.6.htm
460 No subprofiles for sparc
461 <tr>
462 <ti>default-linux/sparc/sparc64/2005.0/2.6</ti>
463 <ti>Sparc 64-bit 2005.0 profile for 2.6 kernels</ti>
464 <ti></ti>
465 </tr>
466 -->
467 <tr>
468 <ti>default-linux/x86/2005.0</ti>
469 <ti>Default x86 2005.0 profile for 2.6 kernels</ti>
470 <ti></ti>
471 </tr>
472 <tr>
473 <ti>default-linux/x86/2005.0/2.4</ti>
474 <ti>x86 2005.0 profile for 2.4 kernels</ti>
475 <ti></ti>
476 </tr>
477 </table>
478
479 <p>
480 To switch to the selected profile, point the <path>/etc/make.profile</path>
481 symlink to the new location. Make sure your Portage is updated before you change
482 your profile!
483 </p>
484
485 <pre caption="Changing to a 2005.0 profile">
486 # <i>rm /etc/make.profile</i>
487 # <i>ln -s ../usr/portage/profiles/</i>&lt;selected profile&gt;<i> /etc/make.profile</i>
488 </pre>
489
490 <p>
491 If you are running a Linux 2.4-based system but want to migrate to a 2.6-based
492 kernel, make sure you read our <uri link="/doc/en/migration-to-2.6.xml">Gentoo
493 Linux 2.6 Migration Guide</uri>.
494 </p>
495
496 </body>
497 </section>
498 <section>
499 <title>Updating to 2004.3</title>
500 <body>
501
502 <p>
503 With the introduction of the 2004.3 profiles, users are not going to see huge
504 modifications of their systems (see below for details). However, Gentoo
505 developers decided to push out this new profile and to deprecate quite a few of
506 the old ones to speed up the adoption of <e>stacked profiles</e>, that is, the
507 profiles that follow the new layout of the <path>/usr/portage/profiles</path>
508 directory, for instance
509 <path>/usr/portage/profiles/default-linux/x86/2004.3</path> (supported by
510 Portage 2.0.51 or later).
511 </p>
512
513 <p>
514 To switch to the 2004.3 profile, point the <path>/etc/make.profile</path>
515 symlink to the new location:
516 </p>
517
518 <warn>
519 Don't forget to upgrade Portage <e>before</e> you change your profile!!!
520 </warn>
521
522 <pre caption="Updating the /etc/make.profile symlink">
523 <comment>substitute &lt;arch&gt; with your arch</comment>
524 # <i>rm /etc/make.profile</i>
525 # <i>ln -s ../usr/portage/profiles/default-linux/&lt;arch&gt;/2004.3 /etc/make.profile</i>
526 </pre>
527
528 <p>
529 <b>All archs</b> - As said above, there are no big changes introduced in this
530 profile. However, it should be noted that <c>sys-apps/slocate</c> and
531 <c>net-misc/dhcpcd</c> are no longer considered system packages. This means
532 that if you run <c>emerge --depclean</c>, Portage will try to remove them from
533 your system. If you need any of those packages, add them to
534 <path>/var/lib/portage/world</path> after the profile switch, or manually
535 emerge them.
536 </p>
537
538 <p>
539 <b>ppc</b> - <c>sys-fs/udev</c> is now the default instead of
540 <c>sys-fs/devfs</c> for newly installed machines. This has no
541 effect on already installed machines, though.
542 </p>
543
544 </body>
545 </section>
546 <section>
547 <title>Updating Portage to Support Cascading Profiles</title>
548 <body>
549
550 <p>
551 Although this section does not seem to integrate well in this upgrading guide,
552 it is quite important. Any profile listed above this section requires a Portage
553 version that supports cascading profiles. However, some obsoleted profiles don't
554 allow the user to upgrade Portage or the user is using a profile that isn't
555 available anymore - any attempt to upgrade Portage will result in a failure.
556 </p>
557
558 <p>
559 To work around this problem, users can set a temporary symbolic link to the
560 <e>obsolete</e> profile, allowing them to upgrade their Portage after which
561 they can continue with the upgrade procedure set forth in this guide. Please
562 substitute <c>&lt;arch&gt;</c> with your respective architecture:
563 </p>
564
565 <pre caption="Updating Portage through the obsolete profile">
566 # <i>rm /etc/make.profile</i>
567 # <i>cd /etc</i>
568 # <i>ln -sf ../usr/portage/profiles/obsolete/&lt;arch&gt; make.profile</i>
569 # <i>emerge -n '>=sys-apps/portage-2.0.51'</i>
570 </pre>
571
572 </body>
573 </section>
574 <section>
575 <title>Updating to 2004.2</title>
576 <body>
577
578 <p>
579 To switch to the 2004.2 profile, point the <path>/etc/make.profile</path>
580 symlink to the new location:
581 </p>
582
583 <warn>
584 Don't forget to upgrade Portage <e>before</e> you change your profile!!!
585 </warn>
586
587 <pre caption="Updating the /etc/make.profile symlink">
588 <comment>substitute &lt;arch&gt; with your arch</comment>
589 # <i>rm /etc/make.profile</i>
590 # <i>ln -s ../usr/portage/profiles/default-linux/&lt;arch&gt;/2004.2 /etc/make.profile</i>
591 </pre>
592
593 <p>
594 <b>x86</b> - This profile changes the default X11 implementation from
595 <c>x11-base/xfree</c> to <c>x11-base/xorg-x11</c>. This change only touches
596 the <e>default</e> value, and is only relevant for those who have not installed
597 an X server yet. If you already have one installed, then it will not affect
598 you at all; you are free to switch from one X server to the other exactly as
599 before.
600 </p>
601
602 <p>
603 <b>amd64</b> - There are no fundamental changes from previous profiles, no
604 specific action needs to be performed.
605 </p>
606
607 </body>
608 </section>
609 <section>
610 <title>Updating to 2004.0</title>
611 <body>
612
613 <p>
614 To switch to the 2004.0 profile, point the <path>/etc/make.profile</path>
615 symlink to the new location:
616 </p>
617
618 <pre caption="Updating the /etc/make.profile symlink">
619 <comment>substitute &lt;arch&gt; with your arch</comment>
620 # <i>rm /etc/make.profile</i>
621 # <i>ln -s ../usr/portage/profiles/default-&lt;arch&gt;-2004.0 /etc/make.profile</i>
622 </pre>
623
624 <p>
625 <b>All archs</b> - There are no fundamental changes from previous profiles, no
626 specific action needs to be performed.
627 </p>
628
629 </body>
630 </section>
631 <section>
632 <title>Updating from profiles older than 1.4 to 1.4</title>
633 <body>
634
635 <p>
636 The instructions for this upgrade are quite complex, you can find them
637 <uri link="/doc/en/new-upgrade-to-gentoo-1.4.xml">here</uri>.
638 </p>
639
640 </body>
641 </section>
642 </chapter>
643
644 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20