/[gentoo]/xml/htdocs/doc/en/gentoo-upgrading.xml
Gentoo

Diff of /xml/htdocs/doc/en/gentoo-upgrading.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.2 Revision 1.19
1<?xml version='1.0' encoding="UTF-8"?> 1<?xml version='1.0' encoding="UTF-8"?>
2<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> 2<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
3<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoo-upgrading.xml,v 1.2 2004/05/15 01:02:37 neysx Exp $ --> 3<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoo-upgrading.xml,v 1.19 2005/01/25 21:37:58 swift Exp $ -->
4 4
5<guide link="/doc/en/gentoo-upgrading.xml"> 5<guide link="/doc/en/gentoo-upgrading.xml">
6<title>Gentoo Upgrading Guide</title> 6<title>Gentoo Upgrading Guide</title>
7 7
8<author title="Author"> 8<author title="Author">
9 <mail link="g.guidi@sns.it">Gregorio Guidi</mail> 9 <mail link="greg_g@gentoo.org">Gregorio Guidi</mail>
10</author> 10</author>
11 11
12<abstract> 12<abstract>
13This document explains how to react when a new Gentoo release is announced. 13This document explains how new Gentoo releases affect existing installs.
14</abstract> 14</abstract>
15 15
16<!-- The content of this document is licensed under the CC-BY-SA license --> 16<!-- The content of this document is licensed under the CC-BY-SA license -->
17<!-- See http://creativecommons.org/licenses/by-sa/1.0 --> 17<!-- See http://creativecommons.org/licenses/by-sa/2.0 -->
18<license/> 18<license/>
19 19
20<version>1.1</version> 20<version>2.8</version>
21<date>May 12, 2004</date> 21<date>2005-01-22</date>
22 22
23<chapter> 23<chapter>
24<title>Gentoo and Upgrades</title> 24<title>Gentoo and Upgrades</title>
25<section> 25<section>
26<title>Philosophy</title> 26<title>Philosophy</title>
27<body> 27<body>
28 28
29<p> 29<p>
30Here in Gentoo land, the concept of upgrade is quite different with respect to 30Here in Gentoo land, the concept of upgrading is quite different compared to
31the rest of the linux world. Probably you already know that we never got in 31the rest of the Linux world. You probably already know that we never got in
32touch with the "classic" way to upgrade software in our distribution to the 32touch with the "classic" way of upgrading software: waiting for a new release,
33latest version: waiting for a new release, downloading it, burning, putting it 33downloading it, burning, putting it in the cdrom drive and then following the
34in the cdrom drive and then following the upgrade instructions. 34upgrade instructions.
35</p>
36
37<p> 35</p>
36
37<p>
38You know (you chose Gentoo, after all) that this process is extremely 38You know (being a Gentoo user after all) that this process is extremely
39frustrating for power users that want to live on the bleeding edge. Even power 39frustrating for power users that want to live on the bleeding edge. Even power
40users from other distributions must share the same feelings, given the 40users from other distributions probably share the same feelings, given the
41popularity and spread among them of tools like apt or apt-rpm, which make it 41popularity and spread of tools like apt or apt-rpm which make it
42possible to have quick and frequent updates. However, no distibution is more 42possible to have quick and frequent updates. However, no distibution is more
43suited than Gentoo to satisfy these kind of demanding users, because Gentoo was 43suited than Gentoo to satisfy these kind of demanding users. From the
44shaped from the beginning around the concept of fast, incremental updates. 44beginning, Gentoo was designed around the concept of fast, incremental
45</p> 45updates.
46
47<p> 46</p>
48Ideally, you install once and then do not bother anymore about releases: 47
49just follow the instructions in 48<p>
49Ideally, you install once and never bother with releases: just follow the
50instructions in <uri
50<uri link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=2">Portage and 51link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">A Portage
51Software</uri> in the 52Introduction</uri> in the <uri link="/doc/en/handbook/">Gentoo Handbook</uri>
52<uri link="/doc/en/handbook/">Gentoo Handbook</uri> that explain how to keep 53that explain how to keep your system up to date. While that's the way things
53your system up to date. While that's the way things go usually, it can 54usually go, sometimes changes are made to the core system which require updates
54happen sometimes that developers push out, together with a new release, an 55to be done manually.
55update that touches the basics of the systems. We will consider these cases
56below, when talking about profiles.
57</p> 56</p>
58 57
59</body> 58</body>
60</section> 59</section>
61<section> 60<section>
68There are various reasons: 67There are various reasons:
69</p> 68</p>
70 69
71<ul> 70<ul>
72 <li> 71 <li>
73 A new release means enhanced and more feature-rich LiveCDs. 72 A new release means new LiveCDs with bugfixes and more features.
74 </li> 73 </li>
75 <li> 74 <li>
76 A new release provides an updated set of GRP packages, so that users that 75 A new release provides an updated set of GRP packages, so that users that
77 choose "the fast way" to install, stage3 + precompiled packages, end up 76 choose "the fast way" to install (stage3 + precompiled packages) end up
78 with a system that is not outdated. 77 with a system that is not outdated.
79 </li> 78 </li>
80 <li> 79 <li>
81 Finally, a new release may (not frequently) implement some features that 80 Finally, a new release may, from time to time, implement some features that
82 are incompatible with previous releases. 81 are incompatible with previous releases.
83 </li> 82 </li>
84</ul> 83</ul>
85 84
86<p> 85<p>
87When a release provides new incompatible features, or provides a set of core 86When a release includes new incompatible features, or provides a set of core
88packages and settings that deeply modify the behavior of the system, or simply 87packages and settings that deeply modify the behavior of the system, we say
89when it makes tricky changes to some default parameters, we say that it
90provides a new <e>profile</e>. 88that it provides a new <e>profile</e>.
91</p> 89</p>
92 90
93<p> 91<p>
94A <e>profile</e> is a set of configuration files, stored in a subdirectory of 92A <e>profile</e> is a set of configuration files, stored in a subdirectory of
95<path>/usr/portage/profiles/</path>, that describe things such as the ebuilds 93<path>/usr/portage/profiles</path>, that describe things such as the ebuilds
96that are considered <e>system</e> packages, the default USE flags, the default 94that are considered <e>system</e> packages, the default USE flags, the default
97mapping for virtual packages. 95mapping for virtual packages, and the architecture on which the system is running.
98</p> 96</p>
99 97
100<p> 98<p>
101The profile in use is determined by the symbolic link 99The profile in use is determined by the symbolic link
102<path>/etc/make.profile</path>, which points to the subdirectory of 100<path>/etc/make.profile</path>, which points to a subdirectory of
103<path>/usr/portage/profiles</path> which holds the profile files, for instance <path>/usr/portage/profiles/default-x86-2004.0</path>. 101<path>/usr/portage/profiles</path> which holds the profile files. For
102instance, the x86 2004.2 profile can be found at
103<path>/usr/portage/profiles/default-x86-2004.2</path> (old-style location) or
104at <path>/usr/portage/profiles/default-linux/x86/2004.2</path> (new-style
105location - only for use with Portage 2.0.51 and later). With respect to
106new-style profile directories, note that the files in
107parent directories are part of the profile (and are therefore shared
108by different subprofiles).
104</p> 109</p>
105 110
106<p> 111<p>
107Profiles obsoleted by new ones are kept in <path>/usr/portage/profiles</path> 112Profiles obsoleted by new ones are kept in <path>/usr/portage/profiles</path>
108as the current ones, but they are marked as deprecated. When that happens a 113along with the current ones, but they are marked as deprecated. When that
109file named <path>deprecated</path> is put in the profile directory. The content 114happens a file named <path>deprecated</path> is put in the profile directory.
110of this file is the name of the profile that should substitute it; portage uses 115The content of this file is the name of the profile that should be "upgraded
111this information to automatically warn you about the new profile. 116to"; portage uses this information to automatically warn you when you should
112</p> 117update to a new profile.
113
114<p> 118</p>
115There are various reasons that justify the creation of a new profile: the 119
120<p>
121There are various reasons that a new profile may be created: the release of
116release of new versions of core packages (such as <c>baselayout</c>, <c>gcc</c> 122new versions of core packages (such as <c>baselayout</c>, <c>gcc</c>, or
117or <c>glibc</c>) that are incompatible with previous versions, a change in the 123<c>glibc</c>) that are incompatible with previous versions, a change in
118default USE flags, or in the virtual mappings, or maybe a change in system-wide 124the default USE flags or in the virtual mappings, or maybe a change in
119settings (such as defining udev to be the default manager for <path>/dev</path> 125system-wide settings (such as defining udev to be the default manager
120instead of devfs). 126for <path>/dev</path> instead of devfs).
121</p> 127</p>
122 128
123</body> 129</body>
124</section> 130</section>
125</chapter> 131</chapter>
130<title>Releases without profile changes</title> 136<title>Releases without profile changes</title>
131<body> 137<body>
132 138
133<p> 139<p>
134If a new Gentoo release is announced that does not include a new profile (such 140If a new Gentoo release is announced that does not include a new profile (such
135as the 2004.1 release for x86), then you can safely pretend that it never 141as the 2004.1 release for x86), then you can safely pretend that it never
136happened. 142happened :).
137</p>
138
139<p> 143</p>
144
145<p>
140If you update your installed packages 146If you update your installed packages
141<uri link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=2">as explained in 147<uri link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">as explained in
142the Gentoo Handbook</uri>, then your system will be exactly the same as one 148the Gentoo Handbook</uri>, then your system will be exactly the same as one
143that has been installed using the new release. 149that has been installed using the new release.
144</p> 150</p>
145 151
146</body> 152</body>
148<section> 154<section>
149<title>Releases with profile changes</title> 155<title>Releases with profile changes</title>
150<body> 156<body>
151 157
152<p> 158<p>
153If a release introduces a new profile, you have the choice to migrate to the 159If a release introduces a new profile, you have the choice to migrate to the
154new profile. 160new profile.
155</p> 161</p>
156 162
157<p> 163<p>
158Naturally, you are not forced to do so, you can continue to use the old profile 164Naturally, you are not forced to do so, and you can continue to use the old
159and just update your packages 165profile and just update your packages
160<uri link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=2">as explained in 166<uri link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">as explained
161the Gentoo Handbook</uri> (or you may want to not update your system at all). 167in the Gentoo Handbook</uri>.
162</p>
163
164<p> 168</p>
169
170<p>
165However, Gentoo strongly recommends a migration if your profile becomes 171However, Gentoo strongly recommends updating your profile if it becomes
166deprecated and is no more supported by Gentoo developers, that is to say that 172deprecated. When this happens, it means that Gentoo developers no longer
167your profile is not listed anymore in the table below. 173plan on supporting it. Using the table below, you can quickly check to
174see what profiles are currently supported.
168</p> 175</p>
169 176
170<p> 177<p>
171If you decide to migrate to the new profile, then you will have to manually 178If you decide to migrate to the new profile, then you will have to manually
172perform some actions. Those actions may vary a lot from release to release, it 179perform the update. The way you update may vary significantly from release
173depends on how deep the modifications introduced in the new profile are. 180to release; it depends on how deep the modifications introduced in the new
181profile are.
174</p> 182</p>
175 183
176<p> 184<p>
177In the simplest case you only have to change the <path>/etc/make.profile</path> 185In the simplest case you only have to change the <path>/etc/make.profile</path>
178link, in the worst case you may have to recompile your system from scratch 186symlink, in the worst case you may have to recompile your system from scratch
179while doing some voodoo stuff. In every case we will publish the instructions 187while doing a neat voodoo dance. Migration is usually covered in the release
180for the migration as part of the release. You can find these instructions also 188notes (e.g. <uri
181at the end of this guide. 189link="/proj/en/releng/release/2004.3/x86-release-notes.xml">the x86 2004.3
190release notes</uri>). You can also find <uri
191link="#instructions">instructions</uri> at the end of this guide.
182</p> 192</p>
183 193
184</body> 194</body>
185</section> 195</section>
186<section> 196<section>
196 <th>Architecture</th> 206 <th>Architecture</th>
197 <th>Most recent profile</th> 207 <th>Most recent profile</th>
198 <th>Other supported profiles</th> 208 <th>Other supported profiles</th>
199</tr> 209</tr>
200<tr> 210<tr>
211 <th>alpha</th>
212 <ti>2004.3</ti>
213 <ti></ti>
214</tr>
215<tr>
216 <th>arm</th>
217 <ti>2004.3</ti>
218 <ti></ti>
219</tr>
220<tr>
221 <th>amd64</th>
222 <ti>2004.3</ti>
223 <ti>2004.2, 2004.0</ti>
224</tr>
225<tr>
226 <th>hppa</th>
227 <ti>2004.3</ti>
228 <ti>2004.2</ti>
229</tr>
230<tr>
231 <th>ia64</th>
232 <ti>2004.3</ti>
233 <ti></ti>
234</tr>
235<tr>
236 <th>ppc</th>
237 <ti>2004.3</ti>
238 <ti>2004.0</ti>
239</tr>
240<tr>
241 <th>mips</th>
242 <ti>2004.2</ti>
243 <ti></ti>
244</tr>
245<tr>
246 <th>s390</th>
247 <ti>2004.3</ti>
248 <ti></ti>
249</tr>
250<tr>
251 <th>sparc</th>
252 <ti>2004.3</ti>
253 <ti>2004.0</ti>
254</tr>
255<tr>
201 <th>x86</th> 256 <th>x86</th>
202 <ti>2004.0</ti> 257 <ti>2004.3</ti>
203 <ti>1.4</ti>
204</tr>
205<tr>
206 <th>hardened-x86</th>
207 <ti>2004.0</ti> 258 <ti>2004.2, 2004.0</ti>
208 <ti></ti>
209</tr>
210<tr>
211 <th>amd64</th>
212 <ti>2004.0</ti>
213 <ti></ti>
214</tr>
215<tr>
216 <th>ppc</th>
217 <ti>2004.0</ti>
218 <ti>1.4</ti>
219</tr>
220<tr>
221 <th>sparc</th>
222 <ti>2004.0</ti>
223 <ti>1.4</ti>
224</tr>
225<tr>
226 <th>mips</th>
227 <ti>2004.0</ti>
228 <ti>1.4</ti>
229</tr>
230<tr>
231 <th>hppa</th>
232 <ti>2004.0</ti>
233 <ti></ti>
234</tr> 259</tr>
235</table> 260</table>
236 261
237</body> 262</body>
238</section> 263</section>
239</chapter> 264</chapter>
240 265
241<chapter> 266<chapter id="instructions">
242<title>Profile updating instructions</title> 267<title>Profile updating instructions</title>
243<section> 268<section>
244<title>Updating from 1.4 to 2004.0 (all archs)</title> 269<title>Updating to 2004.3</title>
245<body> 270<body>
246 271
247<p>
248There are no fundamental changes between 1.4 and 2004.0 profiles. Just point
249the <path>/etc/make.profile</path> link to the new location:
250</p> 272<p>
273With the introduction of the 2004.3 profiles, users are not going to see huge
274modifications of their systems (see below for details). However, Gentoo
275developers decided to push out this new profile and to deprecate quite a few of
276the old ones to speed up the adoption of <e>stacked profiles</e>, that is, the
277profiles that follow the new layout of the <path>/usr/portage/profiles</path>
278directory, for instance
279<path>/usr/portage/profiles/default-linux/x86/2004.3</path> (supported by
280Portage 2.0.51 or later).
281</p>
251 282
283<p>
284To switch to the 2004.3 profile, point the <path>/etc/make.profile</path>
285symlink to the new location:
286</p>
287
288<warn>
289Don't forget to upgrade Portage <e>before</e> you change your profile!!!
290</warn>
291
252<pre caption="Updating the /etc/make.profile link"> 292<pre caption="Updating the /etc/make.profile symlink">
293<comment>substitute &lt;arch&gt; with your arch</comment>
253# <i>rm /etc/make.profile</i> 294# <i>rm /etc/make.profile</i>
254# <i>ln -s ../usr/portage/profiles/default-x86-2004.0 /etc/make.profile</i> 295# <i>ln -s ../usr/portage/profiles/default-linux/&lt;arch&gt;/2004.3 /etc/make.profile</i>
255</pre> 296</pre>
297
298<p>
299<b>All archs</b> - As said above, there are no big changes introduced in this
300profile. 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
302that if you run <c>emerge --depclean</c>, Portage will try to remove them from
303your system. If you need any of those packages, add them to
304<path>/var/lib/portage/world</path> after the profile switch, or manually
305emerge them.
306</p>
307
308<p>
309<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
311effect on already installed machines, though.
312</p>
313
314</body>
315</section>
316<section>
317<title>Updating to 2004.2</title>
318<body>
319
320<p>
321To switch to the 2004.2 profile, point the <path>/etc/make.profile</path>
322symlink to the new location:
323</p>
324
325<warn>
326Don't forget to upgrade Portage <e>before</e> you change your profile!!!
327</warn>
328
329<pre caption="Updating the /etc/make.profile symlink">
330<comment>substitute &lt;arch&gt; with your arch</comment>
331# <i>rm /etc/make.profile</i>
332# <i>ln -s ../usr/portage/profiles/default-linux/&lt;arch&gt;/2004.2 /etc/make.profile</i>
333</pre>
334
335<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
338the <e>default</e> value, and is only relevant for those who have not installed
339an X server yet. If you already have one installed, then it will not affect
340you at all; you are free to switch from one X server to the other exactly as
341before.
342</p>
343
344<p>
345<b>amd64</b> - There are no fundamental changes from previous profiles, no
346specific 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>
356To switch to the 2004.0 profile, point the <path>/etc/make.profile</path>
357symlink to the new location:
358</p>
359
360<pre caption="Updating the /etc/make.profile symlink">
361<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
368specific action needs to be performed.
369</p>
256 370
257</body> 371</body>
258</section> 372</section>
259<section> 373<section>
260<title>Updating from profiles older than 1.4 to 1.4</title> 374<title>Updating from profiles older than 1.4 to 1.4</title>
268</body> 382</body>
269</section> 383</section>
270</chapter> 384</chapter>
271 385
272</guide> 386</guide>
273

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.19

  ViewVC Help
Powered by ViewVC 1.1.20