/[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.13 - (hide annotations) (download) (as text)
Mon Nov 8 10:00:49 2004 UTC (9 years, 8 months ago) by swift
Branch: MAIN
Changes since 1.12: +8 -3 lines
File MIME type: application/xml
#70362 - Add warning about first upgrading portage before setting symlink

1 swift 1.1 <?xml version='1.0' encoding="UTF-8"?>
2     <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
3 swift 1.13 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoo-upgrading.xml,v 1.12 2004/11/06 17:37:50 neysx 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     <mail link="g.guidi@sns.it">Gregorio Guidi</mail>
10     </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 swift 1.13 <version>2.5</version>
21     <date>November 08, 2004</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     suited than Gentoo to satisfy these kind of demanding users. From the beginning,
44     Gentoo was designed around the concept of fast, incremental updates.
45 swift 1.1 </p>
46    
47     <p>
48 vapier 1.7 Ideally, you install once and then do not to bother with releases:
49 swift 1.1 just follow the instructions in
50 neysx 1.11 <uri link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">A Portage
51     Introduction</uri> in the
52 swift 1.1 <uri link="/doc/en/handbook/">Gentoo Handbook</uri> that explain how to keep
53 vapier 1.7 your system up to date. While that's the way things usually go, sometimes
54     changes are made to the core system which require updates to be done manually.
55 swift 1.1 </p>
56    
57     </body>
58     </section>
59     <section>
60     <title>Releases and Profiles</title>
61     <body>
62    
63     <p>
64     A recurring question about the Gentoo release process is: "Why roll out new
65     releases frequently, if they are not intended to let users update software?".
66     There are various reasons:
67     </p>
68    
69     <ul>
70     <li>
71 vapier 1.7 A new release means new LiveCDs with bugfixes and more features.
72 swift 1.1 </li>
73     <li>
74     A new release provides an updated set of GRP packages, so that users that
75 neysx 1.12 choose "the fast way" to install (stage3 + precompiled packages) end up
76 swift 1.1 with a system that is not outdated.
77     </li>
78     <li>
79 vapier 1.7 Finally, a new release may, from time to time, implement some features that
80 swift 1.1 are incompatible with previous releases.
81     </li>
82     </ul>
83    
84     <p>
85 vapier 1.7 When a release includes new incompatible features, or provides a set of core
86     packages and settings that deeply modify the behavior of the system, we say
87     that it provides a new <e>profile</e>.
88 swift 1.1 </p>
89    
90     <p>
91     A <e>profile</e> is a set of configuration files, stored in a subdirectory of
92 neysx 1.12 <path>/usr/portage/profiles</path>, that describe things such as the ebuilds
93 swift 1.1 that are considered <e>system</e> packages, the default USE flags, the default
94 neysx 1.12 mapping for virtual packages, and the architecture on which the system is running.
95 swift 1.1 </p>
96    
97     <p>
98     The profile in use is determined by the symbolic link
99 vapier 1.7 <path>/etc/make.profile</path>, which points to a subdirectory of
100     <path>/usr/portage/profiles</path> which holds the profile files. For instance,
101     the x86 2004.2 profile can be found at <path>/usr/portage/profiles/default-x86-2004.2</path>
102     (old-style location) or at <path>/usr/portage/profiles/default-linux/x86/2004.2</path> (new-style
103 swift 1.10 location - only for use with Portage 2.0.51 and later). With respect to new-style profile directories, note that the files in
104 vapier 1.7 parent directories are part of the profile (and are therefore shared
105     by different subprofiles).
106 swift 1.1 </p>
107    
108 swift 1.13 <warn>
109     To use the new-style profiles called <e>cascading profiles</e> you first need to
110     upgrade Portage and then change the profile symlink.
111     </warn>
112    
113 swift 1.1 <p>
114     Profiles obsoleted by new ones are kept in <path>/usr/portage/profiles</path>
115 vapier 1.7 along with the current ones, but they are marked as deprecated. When that happens a
116     file named <path>deprecated</path> is put in the profile directory. The content
117     of this file is the name of the profile that should be "upgraded to"; portage uses
118     this information to automatically warn you when you should update to a new profile.
119 swift 1.1 </p>
120    
121     <p>
122 vapier 1.7 There are various reasons that a new profile may be created: the release of new
123     versions of core packages (such as <c>baselayout</c>, <c>gcc</c>, or <c>glibc</c>)
124 neysx 1.12 that are incompatible with previous versions, a change in the default USE flags or
125 vapier 1.7 in the virtual mappings, or maybe a change in system-wide settings (such as defining
126     udev to be the default manager for <path>/dev</path> instead of devfs).
127 swift 1.1 </p>
128    
129     </body>
130     </section>
131     </chapter>
132    
133     <chapter>
134     <title>Keeping up with new releases</title>
135     <section>
136     <title>Releases without profile changes</title>
137     <body>
138    
139     <p>
140     If a new Gentoo release is announced that does not include a new profile (such
141 vapier 1.7 as the 2004.1 release for x86), then you can safely pretend that it never
142     happened :).
143 swift 1.1 </p>
144    
145     <p>
146 vapier 1.7 If you update your installed packages
147 neysx 1.11 <uri link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">as explained in
148 swift 1.1 the Gentoo Handbook</uri>, then your system will be exactly the same as one
149     that has been installed using the new release.
150     </p>
151    
152     </body>
153     </section>
154     <section>
155     <title>Releases with profile changes</title>
156     <body>
157    
158     <p>
159 vapier 1.7 If a release introduces a new profile, you have the choice to migrate to the
160 swift 1.1 new profile.
161     </p>
162    
163     <p>
164 vapier 1.7 Naturally, you are not forced to do so, and you can continue to use the old profile
165 swift 1.1 and just update your packages
166 neysx 1.11 <uri link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">as explained in
167 vapier 1.7 the Gentoo Handbook</uri>.
168 swift 1.1 </p>
169    
170     <p>
171 vapier 1.7 However, Gentoo strongly recommends updating your profile if it becomes deprecated.
172     When this happens, it means that Gentoo developers no longer plan on supporting it.
173     Using the table below, you can quickly check to see what profiles are currently supported.
174 swift 1.1 </p>
175    
176     <p>
177     If you decide to migrate to the new profile, then you will have to manually
178 vapier 1.7 perform the update. The way you update may vary significantly from release to release; it
179 neysx 1.12 depends on how deep the modifications introduced in the new profile are.
180 swift 1.1 </p>
181    
182     <p>
183     In the simplest case you only have to change the <path>/etc/make.profile</path>
184 vapier 1.7 symlink, in the worst case you may have to recompile your system from scratch
185 neysx 1.12 while doing a neat voodoo dance. Migration is usually covered in the release
186     notes (e.g. <uri
187     link="/proj/en/releng/release/2004.3/x86-release-notes.xml">the x86 2004.3
188     release notes</uri>). You can also find <uri
189     link="#instructions">instructions</uri> at the end of this guide.
190 swift 1.1 </p>
191    
192     </body>
193     </section>
194     <section>
195     <title>Supported profiles</title>
196     <body>
197    
198     <p>
199     The following profiles are officially supported by Gentoo developers:
200     </p>
201    
202     <table>
203     <tr>
204     <th>Architecture</th>
205     <th>Most recent profile</th>
206     <th>Other supported profiles</th>
207     </tr>
208     <tr>
209 neysx 1.12 <th>alpha</th>
210     <ti>2004.3</ti>
211     <ti></ti>
212     </tr>
213     <tr>
214 vapier 1.7 <th>arm</th>
215 neysx 1.12 <ti>2004.3</ti>
216 vapier 1.7 <ti></ti>
217     </tr>
218     <tr>
219     <th>amd64</th>
220 neysx 1.12 <ti>2004.3</ti>
221     <ti>2004.2, 2004.0</ti>
222 swift 1.1 </tr>
223     <tr>
224 neysx 1.12 <th>hppa</th>
225     <ti>2004.3</ti>
226     <ti>2004.2</ti>
227 swift 1.1 </tr>
228     <tr>
229 neysx 1.12 <th>ia64</th>
230     <ti>2004.3</ti>
231 vapier 1.7 <ti></ti>
232 swift 1.1 </tr>
233     <tr>
234     <th>ppc</th>
235 neysx 1.12 <ti>2004.3</ti>
236 swift 1.1 <ti>2004.0</ti>
237     </tr>
238     <tr>
239     <th>mips</th>
240 neysx 1.12 <ti>2004.2</ti>
241     <ti></ti>
242 swift 1.1 </tr>
243     <tr>
244 neysx 1.12 <th>s390</th>
245     <ti>2004.3</ti>
246 swift 1.9 <ti></ti>
247     </tr>
248     <tr>
249 neysx 1.12 <th>sparc</th>
250     <ti>2004.3</ti>
251 swift 1.9 <ti>2004.0</ti>
252 swift 1.1 </tr>
253 dertobi123 1.5 <tr>
254 vapier 1.7 <th>x86</th>
255 neysx 1.12 <ti>2004.3</ti>
256     <ti>2004.2, 2004.0</ti>
257 dertobi123 1.5 </tr>
258 swift 1.1 </table>
259    
260     </body>
261     </section>
262     </chapter>
263    
264 neysx 1.12 <chapter id="instructions">
265 swift 1.1 <title>Profile updating instructions</title>
266     <section>
267 neysx 1.12 <title>Updating to 2004.3</title>
268     <body>
269    
270     <p>
271     With the introduction of the 2004.3 profiles, users are not going to see huge
272     modifications of their systems (see below for details). However, Gentoo
273     developers decided to push out this new profile and to deprecate quite a few of
274     the old ones to speed up the adoption of <e>stacked profiles</e>, that is, the
275     profiles that follow the new layout of the <path>/usr/portage/profiles</path>
276     directory, for instance
277     <path>/usr/portage/profiles/default-linux/x86/2004.3</path> (supported by
278     Portage 2.0.51 or later).
279     </p>
280    
281     <p>
282     To switch to the 2004.3 profile, point the <path>/etc/make.profile</path>
283     symlink to the new location:
284     </p>
285    
286     <pre caption="Updating the /etc/make.profile symlink">
287     <comment>substitute &lt;arch&gt; with your arch</comment>
288     # <i>rm /etc/make.profile</i>
289     # <i>ln -s ../usr/portage/profiles/default-linux/&lt;arch&gt;/2004.3 /etc/make.profile</i>
290     </pre>
291    
292     <p>
293     <b>All archs</b> - As said above, there are no big changes introduced in this
294     profile. However, it should be noted that <c>sys-apps/slocate</c> and
295     <c>net-misc/dhcpcd</c> are no longer considered system packages. This means
296     that if you run <c>emerge depclean</c>, Portage will try to remove them from
297     your system. If you need any of those packages, add them to
298     <path>/var/lib/portage/world</path> after the profile switch, or manually
299     emerge them.
300     </p>
301    
302     <p>
303     <b>ppc</b> - <c>sys-fs/udev</c> is now the default instead of <c>sys-fs/devfs</c>
304     for newly installed machines. This has no effect on already installed machines,
305     though.
306     </p>
307    
308     </body>
309     </section>
310     <section>
311 dertobi123 1.5 <title>Updating to 2004.2</title>
312 swift 1.1 <body>
313    
314     <p>
315 vapier 1.7 To switch to the 2004.2 profile, point the <path>/etc/make.profile</path> symlink
316 dertobi123 1.5 to the new location:
317 swift 1.1 </p>
318    
319 vapier 1.7 <pre caption="Updating the /etc/make.profile symlink">
320 dertobi123 1.5 <comment>substitute &lt;arch&gt; with your arch</comment>
321 swift 1.1 # <i>rm /etc/make.profile</i>
322 swift 1.8 # <i>ln -s ../usr/portage/profiles/default-linux/&lt;arch&gt;/2004.2 /etc/make.profile</i>
323 swift 1.1 </pre>
324    
325 dertobi123 1.5 <p>
326     <b>x86</b> - This profile changes the default X11 implementation from
327     <c>x11-base/xfree</c> to <c>x11-base/xorg-x11</c>. This change only touches
328     the <e>default</e> value, and is only relevant for those who have not installed
329     an X server yet. If you already have one installed, then it will not affect
330 vapier 1.7 you at all; you are free to switch from one X server to the other exactly as
331 dertobi123 1.5 before.
332     </p>
333    
334     <p>
335     <b>amd64</b> - There are no fundamental changes from previous profiles, no
336     specific action needs to be performed.
337     </p>
338    
339     </body>
340     </section>
341     <section>
342     <title>Updating to 2004.0</title>
343     <body>
344    
345     <p>
346 vapier 1.7 To switch to the 2004.0 profile, point the <path>/etc/make.profile</path> symlink
347 dertobi123 1.5 to the new location:
348     </p>
349    
350 vapier 1.7 <pre caption="Updating the /etc/make.profile symlink">
351 dertobi123 1.5 <comment>substitute &lt;arch&gt; with your arch</comment>
352     # <i>rm /etc/make.profile</i>
353     # <i>ln -s ../usr/portage/profiles/default-&lt;arch&gt;-2004.0 /etc/make.profile</i>
354     </pre>
355    
356     <p>
357     <b>All archs</b> - There are no fundamental changes from previous profiles, no
358     specific action needs to be performed.
359     </p>
360    
361 swift 1.1 </body>
362     </section>
363     <section>
364     <title>Updating from profiles older than 1.4 to 1.4</title>
365     <body>
366    
367     <p>
368     The instructions for this upgrade are quite complex, you can find them
369     <uri link="/doc/en/new-upgrade-to-gentoo-1.4.xml">here</uri>.
370     </p>
371    
372     </body>
373     </section>
374     </chapter>
375    
376     </guide>

  ViewVC Help
Powered by ViewVC 1.1.20