/[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 - (show annotations) (download) (as text)
Mon Nov 8 10:00:49 2004 UTC (9 years, 9 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 <?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.12 2004/11/06 17:37:50 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="g.guidi@sns.it">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.0 -->
18 <license/>
19
20 <version>2.5</version>
21 <date>November 08, 2004</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 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 </p>
46
47 <p>
48 Ideally, you install once and then do not to bother with releases:
49 just follow the instructions in
50 <uri link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">A Portage
51 Introduction</uri> in the
52 <uri link="/doc/en/handbook/">Gentoo Handbook</uri> that explain how to keep
53 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 </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 A new release means new LiveCDs with bugfixes and more features.
72 </li>
73 <li>
74 A new release provides an updated set of GRP packages, so that users that
75 choose "the fast way" to install (stage3 + precompiled packages) end up
76 with a system that is not outdated.
77 </li>
78 <li>
79 Finally, a new release may, from time to time, implement some features that
80 are incompatible with previous releases.
81 </li>
82 </ul>
83
84 <p>
85 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 </p>
89
90 <p>
91 A <e>profile</e> is a set of configuration files, stored in a subdirectory of
92 <path>/usr/portage/profiles</path>, that describe things such as the ebuilds
93 that are considered <e>system</e> packages, the default USE flags, the default
94 mapping for virtual packages, and the architecture on which the system is running.
95 </p>
96
97 <p>
98 The profile in use is determined by the symbolic link
99 <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 location - only for use with Portage 2.0.51 and later). With respect to new-style profile directories, note that the files in
104 parent directories are part of the profile (and are therefore shared
105 by different subprofiles).
106 </p>
107
108 <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 <p>
114 Profiles obsoleted by new ones are kept in <path>/usr/portage/profiles</path>
115 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 </p>
120
121 <p>
122 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 that are incompatible with previous versions, a change in the default USE flags or
125 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 </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 as the 2004.1 release for x86), then you can safely pretend that it never
142 happened :).
143 </p>
144
145 <p>
146 If you update your installed packages
147 <uri link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">as explained in
148 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 If a release introduces a new profile, you have the choice to migrate to the
160 new profile.
161 </p>
162
163 <p>
164 Naturally, you are not forced to do so, and you can continue to use the old profile
165 and just update your packages
166 <uri link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">as explained in
167 the Gentoo Handbook</uri>.
168 </p>
169
170 <p>
171 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 </p>
175
176 <p>
177 If you decide to migrate to the new profile, then you will have to manually
178 perform the update. The way you update may vary significantly from release to release; it
179 depends on how deep the modifications introduced in the new profile are.
180 </p>
181
182 <p>
183 In the simplest case you only have to change the <path>/etc/make.profile</path>
184 symlink, in the worst case you may have to recompile your system from scratch
185 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 </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 <th>alpha</th>
210 <ti>2004.3</ti>
211 <ti></ti>
212 </tr>
213 <tr>
214 <th>arm</th>
215 <ti>2004.3</ti>
216 <ti></ti>
217 </tr>
218 <tr>
219 <th>amd64</th>
220 <ti>2004.3</ti>
221 <ti>2004.2, 2004.0</ti>
222 </tr>
223 <tr>
224 <th>hppa</th>
225 <ti>2004.3</ti>
226 <ti>2004.2</ti>
227 </tr>
228 <tr>
229 <th>ia64</th>
230 <ti>2004.3</ti>
231 <ti></ti>
232 </tr>
233 <tr>
234 <th>ppc</th>
235 <ti>2004.3</ti>
236 <ti>2004.0</ti>
237 </tr>
238 <tr>
239 <th>mips</th>
240 <ti>2004.2</ti>
241 <ti></ti>
242 </tr>
243 <tr>
244 <th>s390</th>
245 <ti>2004.3</ti>
246 <ti></ti>
247 </tr>
248 <tr>
249 <th>sparc</th>
250 <ti>2004.3</ti>
251 <ti>2004.0</ti>
252 </tr>
253 <tr>
254 <th>x86</th>
255 <ti>2004.3</ti>
256 <ti>2004.2, 2004.0</ti>
257 </tr>
258 </table>
259
260 </body>
261 </section>
262 </chapter>
263
264 <chapter id="instructions">
265 <title>Profile updating instructions</title>
266 <section>
267 <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 <title>Updating to 2004.2</title>
312 <body>
313
314 <p>
315 To switch to the 2004.2 profile, point the <path>/etc/make.profile</path> symlink
316 to the new location:
317 </p>
318
319 <pre caption="Updating the /etc/make.profile symlink">
320 <comment>substitute &lt;arch&gt; with your arch</comment>
321 # <i>rm /etc/make.profile</i>
322 # <i>ln -s ../usr/portage/profiles/default-linux/&lt;arch&gt;/2004.2 /etc/make.profile</i>
323 </pre>
324
325 <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 you at all; you are free to switch from one X server to the other exactly as
331 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 To switch to the 2004.0 profile, point the <path>/etc/make.profile</path> symlink
347 to the new location:
348 </p>
349
350 <pre caption="Updating the /etc/make.profile symlink">
351 <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 </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