/[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.22 - (hide annotations) (download) (as text)
Tue Mar 29 11:24:34 2005 UTC (9 years, 8 months ago) by neysx
Branch: MAIN
Changes since 1.21: +5 -5 lines
File MIME type: application/xml
Fixed link

1 swift 1.1 <?xml version='1.0' encoding="UTF-8"?>
2     <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
3 neysx 1.22 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoo-upgrading.xml,v 1.21 2005/03/28 21:30:10 swift Exp $ -->
4 swift 1.1
5     <guide link="/doc/en/gentoo-upgrading.xml">
6     <title>Gentoo Upgrading Guide</title>
7    
8     <author title="Author">
9 neysx 1.18 <mail link="greg_g@gentoo.org">Gregorio Guidi</mail>
10 swift 1.1 </author>
11    
12     <abstract>
13 vapier 1.7 This document explains how new Gentoo releases affect existing installs.
14 swift 1.1 </abstract>
15    
16     <!-- The content of this document is licensed under the CC-BY-SA license -->
17 neysx 1.12 <!-- See http://creativecommons.org/licenses/by-sa/2.0 -->
18 swift 1.1 <license/>
19    
20 neysx 1.22 <version>2.11</version>
21     <date>2005-03-29</date>
22 swift 1.1
23     <chapter>
24     <title>Gentoo and Upgrades</title>
25     <section>
26     <title>Philosophy</title>
27     <body>
28    
29     <p>
30 vapier 1.7 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 swift 1.1 </p>
36    
37     <p>
38 vapier 1.7 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 distibution is more
43 swift 1.19 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 swift 1.1 </p>
47    
48     <p>
49 neysx 1.16 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 swift 1.1 </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 vapier 1.7 A new release means new LiveCDs with bugfixes and more features.
73 swift 1.1 </li>
74     <li>
75     A new release provides an updated set of GRP packages, so that users that
76 neysx 1.12 choose "the fast way" to install (stage3 + precompiled packages) end up
77 swift 1.1 with a system that is not outdated.
78     </li>
79     <li>
80 vapier 1.7 Finally, a new release may, from time to time, implement some features that
81 swift 1.1 are incompatible with previous releases.
82     </li>
83     </ul>
84    
85     <p>
86 vapier 1.7 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 swift 1.1 </p>
90    
91     <p>
92     A <e>profile</e> is a set of configuration files, stored in a subdirectory of
93 neysx 1.12 <path>/usr/portage/profiles</path>, that describe things such as the ebuilds
94 swift 1.1 that are considered <e>system</e> packages, the default USE flags, the default
95 neysx 1.12 mapping for virtual packages, and the architecture on which the system is running.
96 swift 1.1 </p>
97    
98     <p>
99     The profile in use is determined by the symbolic link
100 vapier 1.7 <path>/etc/make.profile</path>, which points to a subdirectory of
101 swift 1.19 <path>/usr/portage/profiles</path> which holds the profile files. For
102 swift 1.20 instance, the default x86 2005.0 profile can be found
103     at <path>/usr/portage/profiles/default-linux/x86/2005.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 swift 1.1 </p>
108    
109     <p>
110     Profiles obsoleted by new ones are kept in <path>/usr/portage/profiles</path>
111 swift 1.19 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 swift 1.1 </p>
117    
118     <p>
119 swift 1.19 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 (such as defining udev to be the default manager
124     for <path>/dev</path> instead of devfs).
125 swift 1.1 </p>
126    
127     </body>
128     </section>
129     </chapter>
130    
131     <chapter>
132     <title>Keeping up with new releases</title>
133     <section>
134     <title>Releases without profile changes</title>
135     <body>
136    
137     <p>
138 swift 1.20 If a new Gentoo release is announced that does not include a new profile
139     then you can safely pretend that it never happened :).
140 swift 1.1 </p>
141    
142     <p>
143 vapier 1.7 If you update your installed packages
144 neysx 1.11 <uri link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">as explained in
145 swift 1.1 the Gentoo Handbook</uri>, then your system will be exactly the same as one
146     that has been installed using the new release.
147     </p>
148    
149     </body>
150     </section>
151     <section>
152     <title>Releases with profile changes</title>
153     <body>
154    
155     <p>
156 swift 1.20 If a release (such as 2005.0) introduces a new profile, you have the choice
157     to migrate to the new profile.
158 swift 1.1 </p>
159    
160     <p>
161 swift 1.19 Naturally, you are not forced to do so, and you can continue to use the old
162     profile and just update your packages
163     <uri link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">as explained
164     in the Gentoo Handbook</uri>.
165 swift 1.1 </p>
166    
167     <p>
168 swift 1.19 However, Gentoo strongly recommends updating your profile if it becomes
169     deprecated. When this happens, it means that Gentoo developers no longer
170     plan on supporting it. Using the table below, you can quickly check to
171     see what profiles are currently supported.
172 swift 1.1 </p>
173    
174     <p>
175     If you decide to migrate to the new profile, then you will have to manually
176 swift 1.19 perform the update. The way you update may vary significantly from release
177     to release; it depends on how deep the modifications introduced in the new
178     profile are.
179 swift 1.1 </p>
180    
181     <p>
182     In the simplest case you only have to change the <path>/etc/make.profile</path>
183 vapier 1.7 symlink, in the worst case you may have to recompile your system from scratch
184 neysx 1.12 while doing a neat voodoo dance. Migration is usually covered in the release
185 swift 1.20 notes. You can also find <uri link="#instructions">instructions</uri> at the
186     end of this guide.
187 swift 1.1 </p>
188    
189     </body>
190     </section>
191     <section>
192     <title>Supported profiles</title>
193     <body>
194    
195     <p>
196     The following profiles are officially supported by Gentoo developers:
197     </p>
198    
199     <table>
200     <tr>
201     <th>Architecture</th>
202 swift 1.20 <th>Most recent profiles</th>
203 swift 1.1 <th>Other supported profiles</th>
204     </tr>
205     <tr>
206 neysx 1.12 <th>alpha</th>
207 swift 1.20 <ti>2005.0, 2005.0/2.4</ti>
208 neysx 1.12 <ti>2004.3</ti>
209     </tr>
210     <tr>
211 vapier 1.7 <th>arm</th>
212 swift 1.20 <ti>2005.0</ti>
213 neysx 1.12 <ti>2004.3</ti>
214 vapier 1.7 </tr>
215     <tr>
216     <th>amd64</th>
217 swift 1.20 <ti>2005.0, 2005.0/no-multilib</ti>
218 neysx 1.12 <ti>2004.3</ti>
219 swift 1.1 </tr>
220     <tr>
221 neysx 1.12 <th>hppa</th>
222 swift 1.20 <ti>2005.0, 2005.0/2.4</ti>
223     <ti>2004.3, 2004.2</ti>
224 swift 1.1 </tr>
225     <tr>
226 neysx 1.12 <th>ia64</th>
227 swift 1.20 <ti>2005.0</ti>
228 vapier 1.7 <ti></ti>
229 swift 1.1 </tr>
230     <tr>
231     <th>ppc</th>
232 swift 1.20 <ti>2005.0</ti>
233     <ti>2004.3, 2004.0</ti>
234 swift 1.1 </tr>
235     <tr>
236     <th>mips</th>
237 swift 1.20 <ti>2005.0</ti>
238 neysx 1.12 <ti>2004.2</ti>
239 swift 1.1 </tr>
240     <tr>
241 neysx 1.12 <th>s390</th>
242 swift 1.20 <ti>2005.0</ti>
243 neysx 1.12 <ti>2004.3</ti>
244 swift 1.9 </tr>
245     <tr>
246 neysx 1.12 <th>sparc</th>
247 swift 1.20 <ti>2005.0</ti>
248     <ti>2004.3, 2004.0</ti>
249 swift 1.1 </tr>
250 dertobi123 1.5 <tr>
251 vapier 1.7 <th>x86</th>
252 swift 1.20 <ti>2005.0, 2005.0/2.4</ti>
253     <ti>2004.3, 2004.2, 2004.0</ti>
254 dertobi123 1.5 </tr>
255 swift 1.1 </table>
256    
257     </body>
258     </section>
259     </chapter>
260    
261 neysx 1.12 <chapter id="instructions">
262 swift 1.1 <title>Profile updating instructions</title>
263     <section>
264 swift 1.20 <title>Updating to 2005.0</title>
265     <body>
266    
267     <p>
268     With the introduction of 2005.0, several architectures have decided to define
269     additional profiles. Make sure you read the description of said profiles before
270     you decide to migrate to one of them. Most architectures now also default to the
271     2.6 kernel tree where 2.4 was chosen previously.
272     </p>
273    
274     <p>
275     Some architectures require a bit more actions to be completed in order to
276     convert from one profile to another. If that is the case, the step-by-step
277     guides are linked from the table.
278     </p>
279    
280     <table>
281     <tr>
282     <th>Profile</th>
283     <th>Description</th>
284     <th>Specific Upgrade Guide</th>
285     </tr>
286     <tr>
287     <ti>default-linux/alpha/2005.0</ti>
288     <ti>Default Alpha 2005.0 profile for 2.6 kernels</ti>
289     <ti></ti>
290     </tr>
291     <tr>
292     <ti>default-linux/alpha/2005.0/2.4</ti>
293     <ti>Alpha 2005.0 profile for 2.4 kernels</ti>
294     <ti></ti>
295     </tr>
296     <tr>
297     <ti>default-linux/amd64/2005.0</ti>
298     <ti>Default AMD64 2005.0 profile for 2.6 kernels</ti>
299     <ti>
300 swift 1.21 <uri
301 neysx 1.22 link="/proj/en/base/amd64/howtos/index.xml?part=1&amp;chap=1#doc_chap1">Upgrading to
302 swift 1.20 2005.0</uri>
303     </ti>
304     </tr>
305     <tr>
306     <ti>default-linux/amd64/2005.0/no-multilib</ti>
307     <ti>AMD64 2005.0 profile for multilib-disabled system installations</ti>
308     <ti>
309 neysx 1.22 <uri link="/proj/en/base/amd64/howtos/index.xml?part=1&amp;chap=1#doc_chap5">Upgrading to
310 swift 1.20 2005.0</uri>
311     </ti>
312     </tr>
313     <tr>
314     <ti>default-linux/arm/2005.0</ti>
315     <ti>Default ARM 2005.0 profile for 2.6 kernels</ti>
316     <ti></ti>
317     </tr>
318     <tr>
319     <ti>default-linux/hppa/2005.0</ti>
320     <ti>Default HPPA 2005.0 profile for 2.6 kernels</ti>
321     <ti></ti>
322     </tr>
323     <tr>
324     <ti>default-linux/hppa/2005.0/2.4</ti>
325     <ti>HPPA 2005.0 profile for 2.4 kernels</ti>
326     <ti></ti>
327     </tr>
328     <tr>
329     <ti>default-linux/mips/2005.0</ti>
330     <ti>Default MIPS 2005.0 profile</ti>
331     <ti></ti>
332     </tr>
333     <tr>
334     <ti>default-linux/mips/cobalt/2005.0</ti>
335     <ti>Cobalt specific MIPS 2005.0 profile</ti>
336     <ti></ti>
337     </tr>
338     <tr>
339     <ti>default-linux/mips/mips64/n32/2005.0</ti>
340     <ti>2005.0 profile for n32-supporting MIPS platforms</ti>
341     <ti></ti>
342     </tr>
343     <tr>
344     <ti>default-linux/mips/mips64/ip28/2005.0</ti>
345     <ti>Indigo2 Impact specific 64-bit 2005.0 profile</ti>
346     <ti></ti>
347     </tr>
348     <tr>
349     <ti>default-linux/mips/mips64/2005.0</ti>
350     <ti>64-bit MIPS 2005.0 profile</ti>
351     <ti></ti>
352     </tr>
353     <tr>
354     <ti>default-linux/ppc/2005.0</ti>
355     <ti>Default PPC 2005.0 profile for 2.6 kernels</ti>
356     <ti></ti>
357     </tr>
358     <tr>
359     <ti>default-linux/ppc64/2005.0</ti>
360     <ti>Default PPC64 2005.0 profile for 2.6 kernels</ti>
361     <ti></ti>
362     </tr>
363     <tr>
364     <ti>default-linux/s390/2005.0</ti>
365     <ti>Default S390 2005.0 profile</ti>
366     <ti></ti>
367     </tr>
368     <tr>
369     <ti>default-linux/sparc/sparc32/2005.0</ti>
370     <ti>Default Sparc 32-bit 2005.0 profile</ti>
371     <ti></ti>
372     </tr>
373     <!-- http://dev.gentoo.org/~dsd/kernel-2.6.htm
374     No subprofiles for sparc
375     <tr>
376     <ti>default-linux/sparc/sparc32/2005.0/2.6</ti>
377     <ti>Sparc 32-bit 2005.0 profile for 2.6 kernels</ti>
378     <ti></ti>
379     </tr>
380     -->
381     <tr>
382     <ti>default-linux/sparc/sparc64/2005.0</ti>
383     <ti>Default Sparc 64-bit 2005.0 profile</ti>
384     <ti></ti>
385     </tr>
386     <!-- http://dev.gentoo.org/~dsd/kernel-2.6.htm
387     No subprofiles for sparc
388     <tr>
389     <ti>default-linux/sparc/sparc64/2005.0/2.6</ti>
390     <ti>Sparc 64-bit 2005.0 profile for 2.6 kernels</ti>
391     <ti></ti>
392     </tr>
393     -->
394     <tr>
395     <ti>default-linux/x86/2005.0</ti>
396     <ti>Default x86 2005.0 profile for 2.6 kernels</ti>
397     <ti></ti>
398     </tr>
399     <tr>
400     <ti>default-linux/x86/2005.0/2.4</ti>
401     <ti>x86 2005.0 profile for 2.4 kernels</ti>
402     <ti></ti>
403     </tr>
404     </table>
405    
406     <p>
407     To switch to the selected profile, point the <path>/etc/make.profile</path>
408     symlink to the new location. Make sure your Portage is updated before you change
409     your profile!
410     </p>
411    
412     <pre caption="Changing to a 2005.0 profile">
413     # <i>rm /etc/make.profile</i>
414     # <i>ln -s ../usr/portage/profiles/</i>&lt;selected profile&gt;<i> /etc/make.profile</i>
415     </pre>
416    
417     <p>
418     If you are running a Linux 2.4-based system but want to migrate to a 2.6-based
419     kernel, make sure you read our <uri link="/doc/en/migration-to-2.6.xml">Gentoo
420     Linux 2.6 Migration Guide</uri>.
421     </p>
422    
423     </body>
424     </section>
425     <section>
426 neysx 1.12 <title>Updating to 2004.3</title>
427     <body>
428    
429     <p>
430     With the introduction of the 2004.3 profiles, users are not going to see huge
431     modifications of their systems (see below for details). However, Gentoo
432     developers decided to push out this new profile and to deprecate quite a few of
433     the old ones to speed up the adoption of <e>stacked profiles</e>, that is, the
434     profiles that follow the new layout of the <path>/usr/portage/profiles</path>
435     directory, for instance
436     <path>/usr/portage/profiles/default-linux/x86/2004.3</path> (supported by
437     Portage 2.0.51 or later).
438     </p>
439    
440     <p>
441     To switch to the 2004.3 profile, point the <path>/etc/make.profile</path>
442     symlink to the new location:
443     </p>
444    
445 swift 1.14 <warn>
446     Don't forget to upgrade Portage <e>before</e> you change your profile!!!
447     </warn>
448    
449 neysx 1.12 <pre caption="Updating the /etc/make.profile symlink">
450     <comment>substitute &lt;arch&gt; with your arch</comment>
451     # <i>rm /etc/make.profile</i>
452     # <i>ln -s ../usr/portage/profiles/default-linux/&lt;arch&gt;/2004.3 /etc/make.profile</i>
453     </pre>
454    
455     <p>
456     <b>All archs</b> - As said above, there are no big changes introduced in this
457     profile. However, it should be noted that <c>sys-apps/slocate</c> and
458     <c>net-misc/dhcpcd</c> are no longer considered system packages. This means
459 cam 1.17 that if you run <c>emerge --depclean</c>, Portage will try to remove them from
460 neysx 1.12 your system. If you need any of those packages, add them to
461     <path>/var/lib/portage/world</path> after the profile switch, or manually
462     emerge them.
463     </p>
464    
465     <p>
466 swift 1.19 <b>ppc</b> - <c>sys-fs/udev</c> is now the default instead of
467     <c>sys-fs/devfs</c> for newly installed machines. This has no
468     effect on already installed machines, though.
469 neysx 1.12 </p>
470    
471     </body>
472     </section>
473     <section>
474 dertobi123 1.5 <title>Updating to 2004.2</title>
475 swift 1.1 <body>
476    
477     <p>
478 swift 1.19 To switch to the 2004.2 profile, point the <path>/etc/make.profile</path>
479     symlink to the new location:
480 swift 1.1 </p>
481    
482 swift 1.15 <warn>
483     Don't forget to upgrade Portage <e>before</e> you change your profile!!!
484     </warn>
485    
486 vapier 1.7 <pre caption="Updating the /etc/make.profile symlink">
487 dertobi123 1.5 <comment>substitute &lt;arch&gt; with your arch</comment>
488 swift 1.1 # <i>rm /etc/make.profile</i>
489 swift 1.8 # <i>ln -s ../usr/portage/profiles/default-linux/&lt;arch&gt;/2004.2 /etc/make.profile</i>
490 swift 1.1 </pre>
491    
492 dertobi123 1.5 <p>
493     <b>x86</b> - This profile changes the default X11 implementation from
494     <c>x11-base/xfree</c> to <c>x11-base/xorg-x11</c>. This change only touches
495     the <e>default</e> value, and is only relevant for those who have not installed
496     an X server yet. If you already have one installed, then it will not affect
497 vapier 1.7 you at all; you are free to switch from one X server to the other exactly as
498 dertobi123 1.5 before.
499     </p>
500    
501     <p>
502     <b>amd64</b> - There are no fundamental changes from previous profiles, no
503     specific action needs to be performed.
504     </p>
505    
506     </body>
507     </section>
508     <section>
509     <title>Updating to 2004.0</title>
510     <body>
511    
512     <p>
513 swift 1.19 To switch to the 2004.0 profile, point the <path>/etc/make.profile</path>
514     symlink to the new location:
515 dertobi123 1.5 </p>
516    
517 vapier 1.7 <pre caption="Updating the /etc/make.profile symlink">
518 dertobi123 1.5 <comment>substitute &lt;arch&gt; with your arch</comment>
519     # <i>rm /etc/make.profile</i>
520     # <i>ln -s ../usr/portage/profiles/default-&lt;arch&gt;-2004.0 /etc/make.profile</i>
521     </pre>
522    
523     <p>
524     <b>All archs</b> - There are no fundamental changes from previous profiles, no
525     specific action needs to be performed.
526     </p>
527    
528 swift 1.1 </body>
529     </section>
530     <section>
531     <title>Updating from profiles older than 1.4 to 1.4</title>
532     <body>
533    
534     <p>
535     The instructions for this upgrade are quite complex, you can find them
536     <uri link="/doc/en/new-upgrade-to-gentoo-1.4.xml">here</uri>.
537     </p>
538    
539     </body>
540     </section>
541     </chapter>
542    
543     </guide>

  ViewVC Help
Powered by ViewVC 1.1.20