/[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.4 Revision 1.11
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.4 2004/07/01 00:48:49 neysx Exp $ --> 3<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoo-upgrading.xml,v 1.11 2004/10/24 22:48:37 neysx 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="g.guidi@sns.it">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/1.0 -->
18<license/> 18<license/>
19 19
20<version>1.2</version> 20<version>2.3</version>
21<date>July 1, 2004</date> 21<date>September 25, 2004</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 beginning,
44shaped from the beginning around the concept of fast, incremental updates. 44Gentoo was designed around the concept of fast, incremental updates.
45</p>
46
47<p> 45</p>
46
47<p>
48Ideally, you install once and then do not bother anymore about releases: 48Ideally, you install once and then do not to bother with releases:
49just follow the instructions in 49just follow the instructions in
50<uri link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=2">Portage and 50<uri link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">A Portage
51Software</uri> in the 51Introduction</uri> in the
52<uri link="/doc/en/handbook/">Gentoo Handbook</uri> that explain how to keep 52<uri link="/doc/en/handbook/">Gentoo Handbook</uri> that explain how to keep
53your system up to date. While that's the way things go usually, it can 53your system up to date. While that's the way things usually go, sometimes
54happen sometimes that developers push out, together with a new release, an 54changes are made to the core system which require updates to be done manually.
55update that touches the basics of the systems. We will consider these cases
56below, when talking about profiles.
57</p> 55</p>
58 56
59</body> 57</body>
60</section> 58</section>
61<section> 59<section>
68There are various reasons: 66There are various reasons:
69</p> 67</p>
70 68
71<ul> 69<ul>
72 <li> 70 <li>
73 A new release means enhanced and more feature-rich LiveCDs. 71 A new release means new LiveCDs with bugfixes and more features.
74 </li> 72 </li>
75 <li> 73 <li>
76 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
77 choose "the fast way" to install, stage3 + precompiled packages, end up 75 choose "the fast way" to install (stage3 + precompiled packages) and end up
78 with a system that is not outdated. 76 with a system that is not outdated.
79 </li> 77 </li>
80 <li> 78 <li>
81 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
82 are incompatible with previous releases. 80 are incompatible with previous releases.
83 </li> 81 </li>
84</ul> 82</ul>
85 83
86<p> 84<p>
87When 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
88packages 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
89when it makes tricky changes to some default parameters, we say that it
90provides a new <e>profile</e>. 87that it provides a new <e>profile</e>.
91</p> 88</p>
92 89
93<p> 90<p>
94A <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
95<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
96that 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
97mapping for virtual packages. 94mapping for virtual packages, and architecture that the system is running.
98</p> 95</p>
99 96
100<p> 97<p>
101The profile in use is determined by the symbolic link 98The profile in use is determined by the symbolic link
102<path>/etc/make.profile</path>, which points to the subdirectory of 99<path>/etc/make.profile</path>, which points to a subdirectory of
103<path>/usr/portage/profiles</path> which holds the profile files, for instance 100<path>/usr/portage/profiles</path> which holds the profile files. For instance,
104<path>/usr/portage/profiles/default-x86-2004.0</path> (old-style location) or 101the x86 2004.2 profile can be found at <path>/usr/portage/profiles/default-x86-2004.2</path>
105<path>/usr/portage/profiles/default-linux/x86/2004.0</path> (new-style 102(old-style location) or at <path>/usr/portage/profiles/default-linux/x86/2004.2</path> (new-style
106location). With respect to new-style profile directories, note that also the 103location - only for use with Portage 2.0.51 and later). With respect to new-style profile directories, note that the files in
107files in parent directories are part of the profile (and are therefore shared 104parent directories are part of the profile (and are therefore shared
108by different profiles). 105by different subprofiles).
109</p> 106</p>
110 107
111<p> 108<p>
112Profiles 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>
113as 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
114file 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
115of 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
116this information to automatically warn you about the new profile. 113this information to automatically warn you when you should update to a new profile.
117</p>
118
119<p> 114</p>
120There 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
121release 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>)
122or <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
123default 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
124settings (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).
125instead of devfs).
126</p> 122</p>
127 123
128</body> 124</body>
129</section> 125</section>
130</chapter> 126</chapter>
135<title>Releases without profile changes</title> 131<title>Releases without profile changes</title>
136<body> 132<body>
137 133
138<p> 134<p>
139If 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
140as 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
141happened. 137happened :).
142</p>
143
144<p> 138</p>
139
140<p>
145If you update your installed packages 141If you update your installed packages
146<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
147the 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
148that has been installed using the new release. 144that has been installed using the new release.
149</p> 145</p>
150 146
151</body> 147</body>
153<section> 149<section>
154<title>Releases with profile changes</title> 150<title>Releases with profile changes</title>
155<body> 151<body>
156 152
157<p> 153<p>
158If 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
159new profile. 155new profile.
160</p> 156</p>
161 157
162<p> 158<p>
163Naturally, 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
164and just update your packages 160and just update your packages
165<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
166the Gentoo Handbook</uri> (or you may want to not update your system at all). 162the Gentoo Handbook</uri>.
167</p>
168
169<p> 163</p>
164
165<p>
170However, Gentoo strongly recommends a migration if your profile becomes 166However, Gentoo strongly recommends updating your profile if it becomes deprecated.
171deprecated 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.
172your profile is not listed anymore in the table below. 168Using the table below, you can quickly check to see what profiles are currently supported.
173</p> 169</p>
174 170
175<p> 171<p>
176If 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
177perform 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
178depends on how deep the modifications introduced in the new profile are. 174depends on how deep the modifications introduced in the new profile.
179</p> 175</p>
180 176
181<p> 177<p>
182In 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>
183link, 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
184while doing some voodoo stuff. In every case we will publish the instructions 180while doing a neat voodoo dance. Regardless, we will publish migration instructions
185for the migration as part of the release. You can find these instructions also 181as part of the release. You can also find these instructions at the end of this guide.
186at the end of this guide.
187</p> 182</p>
188 183
189</body> 184</body>
190</section> 185</section>
191<section> 186<section>
201 <th>Architecture</th> 196 <th>Architecture</th>
202 <th>Most recent profile</th> 197 <th>Most recent profile</th>
203 <th>Other supported profiles</th> 198 <th>Other supported profiles</th>
204</tr> 199</tr>
205<tr> 200<tr>
201 <th>arm</th>
202 <ti>2004.0</ti>
203 <ti></ti>
204</tr>
205<tr>
206 <th>amd64</th>
207 <ti>2004.2</ti>
208 <ti>2004.0</ti>
209</tr>
210<tr>
211 <th>hardened-x86</th>
212 <ti>2004.0</ti>
213 <ti></ti>
214</tr>
215<tr>
216 <th>hppa</th>
217 <ti>2004.0</ti>
218 <ti></ti>
219</tr>
220<tr>
221 <th>ppc</th>
222 <ti>2004.0</ti>
223 <ti></ti>
224</tr>
225<tr>
226 <th>mips</th>
227 <ti>2004.1</ti>
228 <ti>1.4</ti>
229</tr>
230<tr>
231 <th>sparc</th>
232 <ti>2004.0</ti>
233 <ti></ti>
234</tr>
235<tr>
236 <th>sparc64</th>
237 <ti>2004.0</ti>
238 <ti></ti>
239</tr>
240<tr>
206 <th>x86</th> 241 <th>x86</th>
207 <ti>2004.0</ti> 242 <ti>2004.2</ti>
208 <ti>1.4</ti>
209</tr>
210<tr>
211 <th>hardened-x86</th>
212 <ti>2004.0</ti> 243 <ti>2004.0, 1.4</ti>
213 <ti></ti>
214</tr>
215<tr>
216 <th>amd64</th>
217 <ti>2004.0</ti>
218 <ti></ti>
219</tr>
220<tr>
221 <th>ppc</th>
222 <ti>2004.0</ti>
223 <ti></ti>
224</tr>
225<tr>
226 <th>sparc</th>
227 <ti>2004.0</ti>
228 <ti>1.4</ti>
229</tr>
230<tr>
231 <th>mips</th>
232 <ti>2004.0</ti>
233 <ti>1.4</ti>
234</tr>
235<tr>
236 <th>hppa</th>
237 <ti>2004.0</ti>
238 <ti></ti>
239</tr> 244</tr>
240</table> 245</table>
241 246
242</body> 247</body>
243</section> 248</section>
244</chapter> 249</chapter>
245 250
246<chapter> 251<chapter>
247<title>Profile updating instructions</title> 252<title>Profile updating instructions</title>
248<section> 253<section>
249<title>Updating from 1.4 to 2004.0 (all archs)</title> 254<title>Updating to 2004.2</title>
250<body> 255<body>
251 256
252<p>
253There are no fundamental changes between 1.4 and 2004.0 profiles. Just point
254the <path>/etc/make.profile</path> link to the new location:
255</p> 257<p>
258To switch to the 2004.2 profile, point the <path>/etc/make.profile</path> symlink
259to the new location:
260</p>
256 261
257<pre caption="Updating the /etc/make.profile link"> 262<pre caption="Updating the /etc/make.profile symlink">
263<comment>substitute &lt;arch&gt; with your arch</comment>
258# <i>rm /etc/make.profile</i> 264# <i>rm /etc/make.profile</i>
259# <i>ln -s ../usr/portage/profiles/default-linux/x86/2004.0 /etc/make.profile</i> 265# <i>ln -s ../usr/portage/profiles/default-linux/&lt;arch&gt;/2004.2 /etc/make.profile</i>
260</pre> 266</pre>
267
268<p>
269<b>x86</b> - This profile changes the default X11 implementation from
270<c>x11-base/xfree</c> to <c>x11-base/xorg-x11</c>. This change only touches
271the <e>default</e> value, and is only relevant for those who have not installed
272an X server yet. If you already have one installed, then it will not affect
273you at all; you are free to switch from one X server to the other exactly as
274before.
275</p>
276
277<p>
278<b>amd64</b> - There are no fundamental changes from previous profiles, no
279specific action needs to be performed.
280</p>
281
282</body>
283</section>
284<section>
285<title>Updating to 2004.0</title>
286<body>
287
288<p>
289To switch to the 2004.0 profile, point the <path>/etc/make.profile</path> symlink
290to the new location:
291</p>
292
293<pre caption="Updating the /etc/make.profile symlink">
294<comment>substitute &lt;arch&gt; with your arch</comment>
295# <i>rm /etc/make.profile</i>
296# <i>ln -s ../usr/portage/profiles/default-&lt;arch&gt;-2004.0 /etc/make.profile</i>
297</pre>
298
299<p>
300<b>All archs</b> - There are no fundamental changes from previous profiles, no
301specific action needs to be performed.
302</p>
261 303
262</body> 304</body>
263</section> 305</section>
264<section> 306<section>
265<title>Updating from profiles older than 1.4 to 1.4</title> 307<title>Updating from profiles older than 1.4 to 1.4</title>
273</body> 315</body>
274</section> 316</section>
275</chapter> 317</chapter>
276 318
277</guide> 319</guide>
278

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.11

  ViewVC Help
Powered by ViewVC 1.1.20