/[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.19 - (hide annotations) (download) (as text)
Tue Jan 25 21:37:58 2005 UTC (9 years, 10 months ago) by swift
Branch: MAIN
Changes since 1.18: +40 -33 lines
File MIME type: application/xml
Applying coding style, zero content changes

1 swift 1.1 <?xml version='1.0' encoding="UTF-8"?>
2     <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
3 swift 1.19 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoo-upgrading.xml,v 1.18 2005/01/25 11:48:14 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 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 cam 1.17 <version>2.8</version>
21     <date>2005-01-22</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     instance, the x86 2004.2 profile can be found at
103     <path>/usr/portage/profiles/default-x86-2004.2</path> (old-style location) or
104     at <path>/usr/portage/profiles/default-linux/x86/2004.2</path> (new-style
105     location - only for use with Portage 2.0.51 and later). With respect to
106     new-style profile directories, note that the files in
107 vapier 1.7 parent directories are part of the profile (and are therefore shared
108     by different subprofiles).
109 swift 1.1 </p>
110    
111     <p>
112     Profiles obsoleted by new ones are kept in <path>/usr/portage/profiles</path>
113 swift 1.19 along with the current ones, but they are marked as deprecated. When that
114     happens a file named <path>deprecated</path> is put in the profile directory.
115     The content of this file is the name of the profile that should be "upgraded
116     to"; portage uses this information to automatically warn you when you should
117     update to a new profile.
118 swift 1.1 </p>
119    
120     <p>
121 swift 1.19 There are various reasons that a new profile may be created: the release of
122     new versions of core packages (such as <c>baselayout</c>, <c>gcc</c>, or
123     <c>glibc</c>) that are incompatible with previous versions, a change in
124     the default USE flags or in the virtual mappings, or maybe a change in
125     system-wide settings (such as defining udev to be the default manager
126     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 swift 1.19 Naturally, you are not forced to do so, and you can continue to use the old
165     profile and just update your packages
166     <uri link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">as explained
167     in the Gentoo Handbook</uri>.
168 swift 1.1 </p>
169    
170     <p>
171 swift 1.19 However, Gentoo strongly recommends updating your profile if it becomes
172     deprecated. When this happens, it means that Gentoo developers no longer
173     plan on supporting it. Using the table below, you can quickly check to
174     see what profiles are currently supported.
175 swift 1.1 </p>
176    
177     <p>
178     If you decide to migrate to the new profile, then you will have to manually
179 swift 1.19 perform the update. The way you update may vary significantly from release
180     to release; it depends on how deep the modifications introduced in the new
181     profile are.
182 swift 1.1 </p>
183    
184     <p>
185     In the simplest case you only have to change the <path>/etc/make.profile</path>
186 vapier 1.7 symlink, in the worst case you may have to recompile your system from scratch
187 neysx 1.12 while doing a neat voodoo dance. Migration is usually covered in the release
188 swift 1.19 notes (e.g. <uri
189 neysx 1.12 link="/proj/en/releng/release/2004.3/x86-release-notes.xml">the x86 2004.3
190     release notes</uri>). You can also find <uri
191     link="#instructions">instructions</uri> at the end of this guide.
192 swift 1.1 </p>
193    
194     </body>
195     </section>
196     <section>
197     <title>Supported profiles</title>
198     <body>
199    
200     <p>
201     The following profiles are officially supported by Gentoo developers:
202     </p>
203    
204     <table>
205     <tr>
206     <th>Architecture</th>
207     <th>Most recent profile</th>
208     <th>Other supported profiles</th>
209     </tr>
210     <tr>
211 neysx 1.12 <th>alpha</th>
212     <ti>2004.3</ti>
213     <ti></ti>
214     </tr>
215     <tr>
216 vapier 1.7 <th>arm</th>
217 neysx 1.12 <ti>2004.3</ti>
218 vapier 1.7 <ti></ti>
219     </tr>
220     <tr>
221     <th>amd64</th>
222 neysx 1.12 <ti>2004.3</ti>
223     <ti>2004.2, 2004.0</ti>
224 swift 1.1 </tr>
225     <tr>
226 neysx 1.12 <th>hppa</th>
227     <ti>2004.3</ti>
228     <ti>2004.2</ti>
229 swift 1.1 </tr>
230     <tr>
231 neysx 1.12 <th>ia64</th>
232     <ti>2004.3</ti>
233 vapier 1.7 <ti></ti>
234 swift 1.1 </tr>
235     <tr>
236     <th>ppc</th>
237 neysx 1.12 <ti>2004.3</ti>
238 swift 1.1 <ti>2004.0</ti>
239     </tr>
240     <tr>
241     <th>mips</th>
242 neysx 1.12 <ti>2004.2</ti>
243     <ti></ti>
244 swift 1.1 </tr>
245     <tr>
246 neysx 1.12 <th>s390</th>
247     <ti>2004.3</ti>
248 swift 1.9 <ti></ti>
249     </tr>
250     <tr>
251 neysx 1.12 <th>sparc</th>
252     <ti>2004.3</ti>
253 swift 1.9 <ti>2004.0</ti>
254 swift 1.1 </tr>
255 dertobi123 1.5 <tr>
256 vapier 1.7 <th>x86</th>
257 neysx 1.12 <ti>2004.3</ti>
258     <ti>2004.2, 2004.0</ti>
259 dertobi123 1.5 </tr>
260 swift 1.1 </table>
261    
262     </body>
263     </section>
264     </chapter>
265    
266 neysx 1.12 <chapter id="instructions">
267 swift 1.1 <title>Profile updating instructions</title>
268     <section>
269 neysx 1.12 <title>Updating to 2004.3</title>
270     <body>
271    
272     <p>
273     With the introduction of the 2004.3 profiles, users are not going to see huge
274     modifications of their systems (see below for details). However, Gentoo
275     developers decided to push out this new profile and to deprecate quite a few of
276     the old ones to speed up the adoption of <e>stacked profiles</e>, that is, the
277     profiles that follow the new layout of the <path>/usr/portage/profiles</path>
278     directory, for instance
279     <path>/usr/portage/profiles/default-linux/x86/2004.3</path> (supported by
280     Portage 2.0.51 or later).
281     </p>
282    
283     <p>
284     To switch to the 2004.3 profile, point the <path>/etc/make.profile</path>
285     symlink to the new location:
286     </p>
287    
288 swift 1.14 <warn>
289     Don't forget to upgrade Portage <e>before</e> you change your profile!!!
290     </warn>
291    
292 neysx 1.12 <pre caption="Updating the /etc/make.profile symlink">
293     <comment>substitute &lt;arch&gt; with your arch</comment>
294     # <i>rm /etc/make.profile</i>
295     # <i>ln -s ../usr/portage/profiles/default-linux/&lt;arch&gt;/2004.3 /etc/make.profile</i>
296     </pre>
297    
298     <p>
299     <b>All archs</b> - As said above, there are no big changes introduced in this
300     profile. However, it should be noted that <c>sys-apps/slocate</c> and
301     <c>net-misc/dhcpcd</c> are no longer considered system packages. This means
302 cam 1.17 that if you run <c>emerge --depclean</c>, Portage will try to remove them from
303 neysx 1.12 your system. If you need any of those packages, add them to
304     <path>/var/lib/portage/world</path> after the profile switch, or manually
305     emerge them.
306     </p>
307    
308     <p>
309 swift 1.19 <b>ppc</b> - <c>sys-fs/udev</c> is now the default instead of
310     <c>sys-fs/devfs</c> for newly installed machines. This has no
311     effect on already installed machines, though.
312 neysx 1.12 </p>
313    
314     </body>
315     </section>
316     <section>
317 dertobi123 1.5 <title>Updating to 2004.2</title>
318 swift 1.1 <body>
319    
320     <p>
321 swift 1.19 To switch to the 2004.2 profile, point the <path>/etc/make.profile</path>
322     symlink to the new location:
323 swift 1.1 </p>
324    
325 swift 1.15 <warn>
326     Don't forget to upgrade Portage <e>before</e> you change your profile!!!
327     </warn>
328    
329 vapier 1.7 <pre caption="Updating the /etc/make.profile symlink">
330 dertobi123 1.5 <comment>substitute &lt;arch&gt; with your arch</comment>
331 swift 1.1 # <i>rm /etc/make.profile</i>
332 swift 1.8 # <i>ln -s ../usr/portage/profiles/default-linux/&lt;arch&gt;/2004.2 /etc/make.profile</i>
333 swift 1.1 </pre>
334    
335 dertobi123 1.5 <p>
336     <b>x86</b> - This profile changes the default X11 implementation from
337     <c>x11-base/xfree</c> to <c>x11-base/xorg-x11</c>. This change only touches
338     the <e>default</e> value, and is only relevant for those who have not installed
339     an X server yet. If you already have one installed, then it will not affect
340 vapier 1.7 you at all; you are free to switch from one X server to the other exactly as
341 dertobi123 1.5 before.
342     </p>
343    
344     <p>
345     <b>amd64</b> - There are no fundamental changes from previous profiles, no
346     specific action needs to be performed.
347     </p>
348    
349     </body>
350     </section>
351     <section>
352     <title>Updating to 2004.0</title>
353     <body>
354    
355     <p>
356 swift 1.19 To switch to the 2004.0 profile, point the <path>/etc/make.profile</path>
357     symlink to the new location:
358 dertobi123 1.5 </p>
359    
360 vapier 1.7 <pre caption="Updating the /etc/make.profile symlink">
361 dertobi123 1.5 <comment>substitute &lt;arch&gt; with your arch</comment>
362     # <i>rm /etc/make.profile</i>
363     # <i>ln -s ../usr/portage/profiles/default-&lt;arch&gt;-2004.0 /etc/make.profile</i>
364     </pre>
365    
366     <p>
367     <b>All archs</b> - There are no fundamental changes from previous profiles, no
368     specific action needs to be performed.
369     </p>
370    
371 swift 1.1 </body>
372     </section>
373     <section>
374     <title>Updating from profiles older than 1.4 to 1.4</title>
375     <body>
376    
377     <p>
378     The instructions for this upgrade are quite complex, you can find them
379     <uri link="/doc/en/new-upgrade-to-gentoo-1.4.xml">here</uri>.
380     </p>
381    
382     </body>
383     </section>
384     </chapter>
385    
386     </guide>

  ViewVC Help
Powered by ViewVC 1.1.20