/[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.32 - (show annotations) (download) (as text)
Sat Sep 2 10:30:55 2006 UTC (8 years ago) by nightmorph
Branch: MAIN
Changes since 1.31: +6 -8 lines
File MIME type: application/xml
reverted to previous version, sorry for the accidental commit

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.3</version>
21 <date>2006-05-27</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.0 profile can be found
103 at <path>/usr/portage/profiles/default-linux/x86/2006.0</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.0 for x86) introduces a new profile, you have the
156 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.0</ti>
207 <ti>2005.0, 2005.0/2.4, no-nptl, no-nptl/2.4</ti>
208 </tr>
209 <tr>
210 <th>arm</th>
211 <ti>2004.3</ti>
212 <ti></ti>
213 </tr>
214 <tr>
215 <th>amd64</th>
216 <ti>2006.0</ti>
217 <ti>2005.1, 2005.1/no-multilib, 2005.0, 2005.0/no-multilib</ti>
218 </tr>
219 <tr>
220 <th>hppa</th>
221 <ti>2005.0</ti>
222 <ti>2004.3, 2004.2</ti>
223 </tr>
224 <tr>
225 <th>ia64</th>
226 <ti>2006.0</ti>
227 <ti>2005.0, 2004.3</ti>
228 </tr>
229 <tr>
230 <th>ppc</th>
231 <ti>2006.0</ti>
232 <ti>2005.1, 2005.0, 2004.3, 2004.0</ti>
233 </tr>
234 <tr>
235 <th>mips</th>
236 <ti>2006.0</ti>
237 <ti>2005.0, 2004.2</ti>
238 </tr>
239 <tr>
240 <th>s390</th>
241 <ti>2006.0</ti>
242 <ti>2004.3</ti>
243 </tr>
244 <tr>
245 <th>sparc</th>
246 <ti>2006.0, 2006.0/2.4</ti>
247 <ti>2005.1, 2005.0</ti>
248 </tr>
249 <tr>
250 <th>x86</th>
251 <ti>2006.0, no-nptl/2.4</ti>
252 <ti>2005.1, 2005.0</ti>
253 </tr>
254 </table>
255
256 </body>
257 </section>
258 </chapter>
259
260 <chapter id="instructions">
261 <title>Profile updating instructions</title>
262 <section>
263 <title>Updating to 2006.0</title>
264 <body>
265
266 <p>
267 To switch to the 2006.0 profile, point the <path>/etc/make.profile</path>
268 symlink to the new location. Make sure your Portage is updated before you
269 change your profile.
270 </p>
271
272 <pre caption="Changing to a 2006.0 profile">
273 # <i>rm /etc/make.profile</i>
274 # <i>ln -s ../usr/portage/profiles/</i>&lt;selected profile&gt;<i> /etc/make.profile</i>
275 </pre>
276
277 <p>
278 <b>alpha</b> - Users that use a 2.4 kernel or don't want to use NPTL should use
279 the default-linux/alpha/no-nptl profile. More information is available in <uri
280 link="/proj/en/releng/release/2006.0/alpha-release-notes.xml">the alpha release
281 notes</uri>.
282 </p>
283
284 <p>
285 <b>ppc</b> - The merge of the ppc32 and ppc64 profiles went forward. The ppc32
286 profile has been changed in a way that offers a minimalistic generic profile
287 for all purposes, located in default-linux/ppc/ppc32. The release-dependent
288 profile is optimized for desktop-usage and located in
289 default-linux/ppc/ppc32/2006.0. There are some subprofiles available for G3 and
290 G4 processors, and G3/Pegasos and G4/Pegasos for the Pegasos Open Desktop
291 Workstation. Make sure you choose the correct subprofile for your system when
292 migrating to a 2006.0 profile.
293 </p>
294
295 <p>
296 <b>sparc</b> - Upgrading to the <b>2.4</b>-kernel based 2006.0/2.4 profile
297 requires manual user intervention (unmerging java stuff) and an <c>emerge -e
298 world</c> because of the <uri link="/doc/en/gcc-upgrading.xml">gcc
299 upgrade</uri>.<br/>
300 Upgrading to the <b>2.6</b>-kernel based 2006.0 profile which is not considered
301 stable also requires an entry in <path>/etc/portage/package.unmask</path> to
302 umask a 2.6 version of <c>gentoo-sources</c> and a full rebuild.
303 </p>
304
305 <p>
306 <b>All other archs</b> - There are no fundamental changes in this profile. No
307 specific action needs to be performed.
308 </p>
309
310 </body>
311 </section>
312 <section>
313 <title>Updating to 2005.1</title>
314 <body>
315
316 <p>
317 To switch to the 2005.1 profile, point the <path>/etc/make.profile</path>
318 symlink to the new location. Make sure your Portage is updated before you
319 change your profile.
320 </p>
321
322 <pre caption="Changing to a 2005.1 profile">
323 # <i>rm /etc/make.profile</i>
324 # <i>ln -s ../usr/portage/profiles/</i>&lt;selected profile&gt;<i> /etc/make.profile</i>
325 </pre>
326
327 <p>
328 <b>All archs</b> - There are no fundamental changes in this profile. No
329 specific action needs to be performed.
330 </p>
331
332 <p>
333 <b>ppc</b> - With the 2005.1 release, the ppc and ppc64 profiles were merged
334 and a number of subprofiles for specific subarchitectures were created. Make
335 sure you choose the correct subprofile for your system when migrating to a
336 2005.1 profile.
337 </p>
338
339 </body>
340 </section>
341 <section>
342 <title>Updating to 2005.0</title>
343 <body>
344
345 <p>
346 With the introduction of 2005.0, several architectures have decided to define
347 additional profiles. Make sure you read the description of said profiles before
348 you decide to migrate to one of them. Most architectures now also default to the
349 2.6 kernel tree where 2.4 was chosen previously.
350 </p>
351
352 <p>
353 Some architectures require a bit more actions to be completed in order to
354 convert from one profile to another. If that is the case, the step-by-step
355 guides are linked from the table.
356 </p>
357
358 <table>
359 <tr>
360 <th>Profile</th>
361 <th>Description</th>
362 <th>Specific Upgrade Guide</th>
363 </tr>
364 <tr>
365 <ti>default-linux/alpha/2005.0</ti>
366 <ti>Default Alpha 2005.0 profile for 2.6 kernels</ti>
367 <ti></ti>
368 </tr>
369 <tr>
370 <ti>default-linux/alpha/2005.0/2.4</ti>
371 <ti>Alpha 2005.0 profile for 2.4 kernels</ti>
372 <ti></ti>
373 </tr>
374 <tr>
375 <ti>default-linux/amd64/2005.0</ti>
376 <ti>Default AMD64 2005.0 profile for 2.6 kernels</ti>
377 <ti></ti>
378 </tr>
379 <tr>
380 <ti>default-linux/amd64/2005.0/no-multilib</ti>
381 <ti>AMD64 2005.0 profile for multilib-disabled system installations</ti>
382 <ti></ti>
383 </tr>
384 <tr>
385 <ti>default-linux/arm/2005.0</ti>
386 <ti>Default ARM 2005.0 profile for 2.6 kernels</ti>
387 <ti></ti>
388 </tr>
389 <tr>
390 <ti>default-linux/hppa/2005.0</ti>
391 <ti>Default HPPA 2005.0 profile for 2.6 kernels</ti>
392 <ti></ti>
393 </tr>
394 <tr>
395 <ti>default-linux/hppa/2005.0/2.4</ti>
396 <ti>HPPA 2005.0 profile for 2.4 kernels</ti>
397 <ti></ti>
398 </tr>
399 <tr>
400 <ti>default-linux/mips/2005.0</ti>
401 <ti>Default MIPS 2005.0 profile</ti>
402 <ti></ti>
403 </tr>
404 <tr>
405 <ti>default-linux/mips/cobalt/2005.0</ti>
406 <ti>Cobalt specific MIPS 2005.0 profile</ti>
407 <ti></ti>
408 </tr>
409 <tr>
410 <ti>default-linux/mips/mips64/n32/2005.0</ti>
411 <ti>2005.0 profile for n32-supporting MIPS platforms</ti>
412 <ti></ti>
413 </tr>
414 <tr>
415 <ti>default-linux/mips/mips64/ip28/2005.0</ti>
416 <ti>Indigo2 Impact specific 64-bit 2005.0 profile</ti>
417 <ti></ti>
418 </tr>
419 <tr>
420 <ti>default-linux/mips/mips64/2005.0</ti>
421 <ti>64-bit MIPS 2005.0 profile</ti>
422 <ti></ti>
423 </tr>
424 <tr>
425 <ti>default-linux/ppc/2005.0</ti>
426 <ti>Default PPC 2005.0 profile for 2.6 kernels</ti>
427 <ti></ti>
428 </tr>
429 <tr>
430 <ti>default-linux/ppc64/2005.0</ti>
431 <ti>Default PPC64 2005.0 profile for 2.6 kernels</ti>
432 <ti></ti>
433 </tr>
434 <tr>
435 <ti>default-linux/s390/2005.0</ti>
436 <ti>Default S390 2005.0 profile</ti>
437 <ti></ti>
438 </tr>
439 <tr>
440 <ti>default-linux/sparc/sparc32/2005.0</ti>
441 <ti>Default Sparc 32-bit 2005.0 profile</ti>
442 <ti></ti>
443 </tr>
444 <!-- http://dev.gentoo.org/~dsd/kernel-2.6.htm
445 No subprofiles for sparc
446 <tr>
447 <ti>default-linux/sparc/sparc32/2005.0/2.6</ti>
448 <ti>Sparc 32-bit 2005.0 profile for 2.6 kernels</ti>
449 <ti></ti>
450 </tr>
451 -->
452 <tr>
453 <ti>default-linux/sparc/sparc64/2005.0</ti>
454 <ti>Default Sparc 64-bit 2005.0 profile</ti>
455 <ti></ti>
456 </tr>
457 <!-- http://dev.gentoo.org/~dsd/kernel-2.6.htm
458 No subprofiles for sparc
459 <tr>
460 <ti>default-linux/sparc/sparc64/2005.0/2.6</ti>
461 <ti>Sparc 64-bit 2005.0 profile for 2.6 kernels</ti>
462 <ti></ti>
463 </tr>
464 -->
465 <tr>
466 <ti>default-linux/x86/2005.0</ti>
467 <ti>Default x86 2005.0 profile for 2.6 kernels</ti>
468 <ti></ti>
469 </tr>
470 <tr>
471 <ti>default-linux/x86/2005.0/2.4</ti>
472 <ti>x86 2005.0 profile for 2.4 kernels</ti>
473 <ti></ti>
474 </tr>
475 </table>
476
477 <p>
478 To switch to the selected profile, point the <path>/etc/make.profile</path>
479 symlink to the new location. Make sure your Portage is updated before you change
480 your profile!
481 </p>
482
483 <pre caption="Changing to a 2005.0 profile">
484 # <i>rm /etc/make.profile</i>
485 # <i>ln -s ../usr/portage/profiles/</i>&lt;selected profile&gt;<i> /etc/make.profile</i>
486 </pre>
487
488 <p>
489 If you are running a Linux 2.4-based system but want to migrate to a 2.6-based
490 kernel, make sure you read our <uri link="/doc/en/migration-to-2.6.xml">Gentoo
491 Linux 2.6 Migration Guide</uri>.
492 </p>
493
494 </body>
495 </section>
496 <section>
497 <title>Updating to 2004.3</title>
498 <body>
499
500 <p>
501 With the introduction of the 2004.3 profiles, users are not going to see huge
502 modifications of their systems (see below for details). However, Gentoo
503 developers decided to push out this new profile and to deprecate quite a few of
504 the old ones to speed up the adoption of <e>stacked profiles</e>, that is, the
505 profiles that follow the new layout of the <path>/usr/portage/profiles</path>
506 directory, for instance
507 <path>/usr/portage/profiles/default-linux/x86/2004.3</path> (supported by
508 Portage 2.0.51 or later).
509 </p>
510
511 <p>
512 To switch to the 2004.3 profile, point the <path>/etc/make.profile</path>
513 symlink to the new location:
514 </p>
515
516 <warn>
517 Don't forget to upgrade Portage <e>before</e> you change your profile!!!
518 </warn>
519
520 <pre caption="Updating the /etc/make.profile symlink">
521 <comment>substitute &lt;arch&gt; with your arch</comment>
522 # <i>rm /etc/make.profile</i>
523 # <i>ln -s ../usr/portage/profiles/default-linux/&lt;arch&gt;/2004.3 /etc/make.profile</i>
524 </pre>
525
526 <p>
527 <b>All archs</b> - As said above, there are no big changes introduced in this
528 profile. However, it should be noted that <c>sys-apps/slocate</c> and
529 <c>net-misc/dhcpcd</c> are no longer considered system packages. This means
530 that if you run <c>emerge --depclean</c>, Portage will try to remove them from
531 your system. If you need any of those packages, add them to
532 <path>/var/lib/portage/world</path> after the profile switch, or manually
533 emerge them.
534 </p>
535
536 <p>
537 <b>ppc</b> - <c>sys-fs/udev</c> is now the default instead of
538 <c>sys-fs/devfs</c> for newly installed machines. This has no
539 effect on already installed machines, though.
540 </p>
541
542 </body>
543 </section>
544 <section>
545 <title>Updating Portage to Support Cascading Profiles</title>
546 <body>
547
548 <p>
549 Although this section does not seem to integrate well in this upgrading guide,
550 it is quite important. Any profile listed above this section requires a Portage
551 version that supports cascading profiles. However, some obsoleted profiles don't
552 allow the user to upgrade Portage or the user is using a profile that isn't
553 available anymore - any attempt to upgrade Portage will result in a failure.
554 </p>
555
556 <p>
557 To work around this problem, users can set a temporary symbolic link to the
558 <e>obsolete</e> profile, allowing them to upgrade their Portage after which
559 they can continue with the upgrade procedure set forth in this guide. Please
560 substitute <c>&lt;arch&gt;</c> with your respective architecture:
561 </p>
562
563 <pre caption="Updating Portage through the obsolete profile">
564 # <i>rm /etc/make.profile</i>
565 # <i>cd /etc</i>
566 # <i>ln -sf ../usr/portage/profiles/obsolete/&lt;arch&gt; make.profile</i>
567 # <i>emerge -n '>=sys-apps/portage-2.0.51'</i>
568 </pre>
569
570 </body>
571 </section>
572 <section>
573 <title>Updating to 2004.2</title>
574 <body>
575
576 <p>
577 To switch to the 2004.2 profile, point the <path>/etc/make.profile</path>
578 symlink to the new location:
579 </p>
580
581 <warn>
582 Don't forget to upgrade Portage <e>before</e> you change your profile!!!
583 </warn>
584
585 <pre caption="Updating the /etc/make.profile symlink">
586 <comment>substitute &lt;arch&gt; with your arch</comment>
587 # <i>rm /etc/make.profile</i>
588 # <i>ln -s ../usr/portage/profiles/default-linux/&lt;arch&gt;/2004.2 /etc/make.profile</i>
589 </pre>
590
591 <p>
592 <b>x86</b> - This profile changes the default X11 implementation from
593 <c>x11-base/xfree</c> to <c>x11-base/xorg-x11</c>. This change only touches
594 the <e>default</e> value, and is only relevant for those who have not installed
595 an X server yet. If you already have one installed, then it will not affect
596 you at all; you are free to switch from one X server to the other exactly as
597 before.
598 </p>
599
600 <p>
601 <b>amd64</b> - There are no fundamental changes from previous profiles, no
602 specific action needs to be performed.
603 </p>
604
605 </body>
606 </section>
607 <section>
608 <title>Updating to 2004.0</title>
609 <body>
610
611 <p>
612 To switch to the 2004.0 profile, point the <path>/etc/make.profile</path>
613 symlink to the new location:
614 </p>
615
616 <pre caption="Updating the /etc/make.profile symlink">
617 <comment>substitute &lt;arch&gt; with your arch</comment>
618 # <i>rm /etc/make.profile</i>
619 # <i>ln -s ../usr/portage/profiles/default-&lt;arch&gt;-2004.0 /etc/make.profile</i>
620 </pre>
621
622 <p>
623 <b>All archs</b> - There are no fundamental changes from previous profiles, no
624 specific action needs to be performed.
625 </p>
626
627 </body>
628 </section>
629 <section>
630 <title>Updating from profiles older than 1.4 to 1.4</title>
631 <body>
632
633 <p>
634 The instructions for this upgrade are quite complex, you can find them
635 <uri link="/doc/en/new-upgrade-to-gentoo-1.4.xml">here</uri>.
636 </p>
637
638 </body>
639 </section>
640 </chapter>
641
642 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20