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

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.18

  ViewVC Help
Powered by ViewVC 1.1.20