| 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.11 2004/10/24 22:48:37 neysx Exp $ --> |
3 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoo-upgrading.xml,v 1.12 2004/11/06 17:37:50 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> |
| 13 | This document explains how new Gentoo releases affect existing installs. |
13 | This 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>2.3</version> |
20 | <version>2.4</version> |
| 21 | <date>September 25, 2004</date> |
21 | <date>November 5, 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> |
| 30 | Here in Gentoo land, the concept of upgrading is quite different compared to |
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 |
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, |
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 |
33 | downloading it, burning, putting it in the cdrom drive and then following the |
| 34 | upgrade instructions. |
34 | upgrade instructions. |
| 35 | </p> |
35 | </p> |
| 36 | |
36 | |
| … | |
… | |
| 60 | <title>Releases and Profiles</title> |
60 | <title>Releases and Profiles</title> |
| 61 | <body> |
61 | <body> |
| 62 | |
62 | |
| 63 | <p> |
63 | <p> |
| 64 | A recurring question about the Gentoo release process is: "Why roll out new |
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?". |
65 | releases frequently, if they are not intended to let users update software?". |
| 66 | There are various reasons: |
66 | There are various reasons: |
| 67 | </p> |
67 | </p> |
| 68 | |
68 | |
| 69 | <ul> |
69 | <ul> |
| 70 | <li> |
70 | <li> |
| 71 | A new release means new LiveCDs with bugfixes and more features. |
71 | A new release means new LiveCDs with bugfixes and more features. |
| 72 | </li> |
72 | </li> |
| 73 | <li> |
73 | <li> |
| 74 | 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 |
| 75 | choose "the fast way" to install (stage3 + precompiled packages) and end up |
75 | choose "the fast way" to install (stage3 + precompiled packages) end up |
| 76 | with a system that is not outdated. |
76 | with a system that is not outdated. |
| 77 | </li> |
77 | </li> |
| 78 | <li> |
78 | <li> |
| 79 | Finally, a new release may, from time to time, implement some features that |
79 | Finally, a new release may, from time to time, implement some features that |
| 80 | are incompatible with previous releases. |
80 | are incompatible with previous releases. |
| 81 | </li> |
81 | </li> |
| 82 | </ul> |
82 | </ul> |
| 83 | |
83 | |
| 84 | <p> |
84 | <p> |
| 85 | When a release includes new incompatible features, or provides a set of core |
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 |
86 | packages and settings that deeply modify the behavior of the system, we say |
| 87 | that it provides a new <e>profile</e>. |
87 | that it provides a new <e>profile</e>. |
| 88 | </p> |
88 | </p> |
| 89 | |
89 | |
| 90 | <p> |
90 | <p> |
| 91 | A <e>profile</e> is a set of configuration files, stored in a subdirectory of |
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 |
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 |
93 | that are considered <e>system</e> packages, the default USE flags, the default |
| 94 | mapping for virtual packages, and architecture that the system is running. |
94 | mapping for virtual packages, and the architecture on which the system is running. |
| 95 | </p> |
95 | </p> |
| 96 | |
96 | |
| 97 | <p> |
97 | <p> |
| 98 | The profile in use is determined by the symbolic link |
98 | The profile in use is determined by the symbolic link |
| 99 | <path>/etc/make.profile</path>, which points to a subdirectory of |
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, |
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> |
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 |
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 |
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 |
104 | parent directories are part of the profile (and are therefore shared |
| 105 | by different subprofiles). |
105 | by different subprofiles). |
| 106 | </p> |
106 | </p> |
| 107 | |
107 | |
| 108 | <p> |
108 | <p> |
| 109 | Profiles obsoleted by new ones are kept in <path>/usr/portage/profiles</path> |
109 | Profiles obsoleted by new ones are kept in <path>/usr/portage/profiles</path> |
| 110 | along with the current ones, but they are marked as deprecated. When that happens a |
110 | along with the current ones, but they are marked as deprecated. When that happens a |
| 111 | file named <path>deprecated</path> is put in the profile directory. The content |
111 | file named <path>deprecated</path> is put in the profile directory. The content |
| 112 | of this file is the name of the profile that should be "upgraded to"; portage uses |
112 | of this file is the name of the profile that should be "upgraded to"; portage uses |
| 113 | this information to automatically warn you when you should update to a new profile. |
113 | this information to automatically warn you when you should update to a new profile. |
| 114 | </p> |
114 | </p> |
| 115 | |
115 | |
| 116 | <p> |
116 | <p> |
| 117 | There are various reasons that a new profile may be created: the release of new |
117 | There are various reasons that a new profile may be created: the release of new |
| 118 | versions of core packages (such as <c>baselayout</c>, <c>gcc</c>, or <c>glibc</c>) |
118 | versions of core packages (such as <c>baselayout</c>, <c>gcc</c>, or <c>glibc</c>) |
| 119 | that are incompatible with previous versions, a change in the default USE flags, or |
119 | that are incompatible with previous versions, a change in the default USE flags or |
| 120 | in the virtual mappings, or maybe a change in system-wide settings (such as defining |
120 | in the virtual mappings, or maybe a change in system-wide settings (such as defining |
| 121 | udev to be the default manager for <path>/dev</path> instead of devfs). |
121 | udev to be the default manager for <path>/dev</path> instead of devfs). |
| 122 | </p> |
122 | </p> |
| 123 | |
123 | |
| 124 | </body> |
124 | </body> |
| 125 | </section> |
125 | </section> |
| 126 | </chapter> |
126 | </chapter> |
| 127 | |
127 | |
| 128 | <chapter> |
128 | <chapter> |
| 129 | <title>Keeping up with new releases</title> |
129 | <title>Keeping up with new releases</title> |
| 130 | <section> |
130 | <section> |
| 131 | <title>Releases without profile changes</title> |
131 | <title>Releases without profile changes</title> |
| 132 | <body> |
132 | <body> |
| 133 | |
133 | |
| 134 | <p> |
134 | <p> |
| … | |
… | |
| 159 | Naturally, you are not forced to do so, and you can continue to use the old profile |
159 | Naturally, you are not forced to do so, and you can continue to use the old profile |
| 160 | and just update your packages |
160 | and just update your packages |
| 161 | <uri link="/doc/en/handbook/handbook-x86.xml?part=2&chap=1">as explained in |
161 | <uri link="/doc/en/handbook/handbook-x86.xml?part=2&chap=1">as explained in |
| 162 | the Gentoo Handbook</uri>. |
162 | the Gentoo Handbook</uri>. |
| 163 | </p> |
163 | </p> |
| 164 | |
164 | |
| 165 | <p> |
165 | <p> |
| 166 | However, Gentoo strongly recommends updating your profile if it becomes deprecated. |
166 | However, Gentoo strongly recommends updating your profile if it becomes deprecated. |
| 167 | When this happens, it means that Gentoo developers no longer plan on supporting it. |
167 | When this happens, it means that Gentoo developers no longer plan on supporting it. |
| 168 | Using the table below, you can quickly check to see what profiles are currently supported. |
168 | Using the table below, you can quickly check to see what profiles are currently supported. |
| 169 | </p> |
169 | </p> |
| 170 | |
170 | |
| 171 | <p> |
171 | <p> |
| 172 | If you decide to migrate to the new profile, then you will have to manually |
172 | If you decide to migrate to the new profile, then you will have to manually |
| 173 | perform the update. The way you update may vary significantly from release to release; it |
173 | perform the update. The way you update may vary significantly from release to release; it |
| 174 | depends on how deep the modifications introduced in the new profile. |
174 | depends on how deep the modifications introduced in the new profile are. |
| 175 | </p> |
175 | </p> |
| 176 | |
176 | |
| 177 | <p> |
177 | <p> |
| 178 | In the simplest case you only have to change the <path>/etc/make.profile</path> |
178 | In the simplest case you only have to change the <path>/etc/make.profile</path> |
| 179 | symlink, in the worst case you may have to recompile your system from scratch |
179 | symlink, in the worst case you may have to recompile your system from scratch |
| 180 | while doing a neat voodoo dance. Regardless, we will publish migration instructions |
180 | while doing a neat voodoo dance. Migration is usually covered in the release |
| 181 | as part of the release. You can also find these instructions at the end of this guide. |
181 | notes (e.g. <uri |
|
|
182 | link="/proj/en/releng/release/2004.3/x86-release-notes.xml">the x86 2004.3 |
|
|
183 | release notes</uri>). You can also find <uri |
|
|
184 | link="#instructions">instructions</uri> at the end of this guide. |
| 182 | </p> |
185 | </p> |
| 183 | |
186 | |
| 184 | </body> |
187 | </body> |
| 185 | </section> |
188 | </section> |
| 186 | <section> |
189 | <section> |
| 187 | <title>Supported profiles</title> |
190 | <title>Supported profiles</title> |
| 188 | <body> |
191 | <body> |
| 189 | |
192 | |
| 190 | <p> |
193 | <p> |
| 191 | The following profiles are officially supported by Gentoo developers: |
194 | The following profiles are officially supported by Gentoo developers: |
| 192 | </p> |
195 | </p> |
| 193 | |
196 | |
| 194 | <table> |
197 | <table> |
| 195 | <tr> |
198 | <tr> |
| 196 | <th>Architecture</th> |
199 | <th>Architecture</th> |
| 197 | <th>Most recent profile</th> |
200 | <th>Most recent profile</th> |
| 198 | <th>Other supported profiles</th> |
201 | <th>Other supported profiles</th> |
| 199 | </tr> |
202 | </tr> |
| 200 | <tr> |
203 | <tr> |
|
|
204 | <th>alpha</th> |
|
|
205 | <ti>2004.3</ti> |
|
|
206 | <ti></ti> |
|
|
207 | </tr> |
|
|
208 | <tr> |
| 201 | <th>arm</th> |
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> |
| 202 | <ti>2004.0</ti> |
231 | <ti>2004.0</ti> |
| 203 | <ti></ti> |
|
|
| 204 | </tr> |
|
|
| 205 | <tr> |
232 | </tr> |
|
|
233 | <tr> |
| 206 | <th>amd64</th> |
234 | <th>mips</th> |
| 207 | <ti>2004.2</ti> |
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> |
| 208 | <ti>2004.0</ti> |
246 | <ti>2004.0</ti> |
| 209 | </tr> |
247 | </tr> |
| 210 | <tr> |
248 | <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> |
|
|
| 241 | <th>x86</th> |
249 | <th>x86</th> |
| 242 | <ti>2004.2</ti> |
250 | <ti>2004.3</ti> |
| 243 | <ti>2004.0, 1.4</ti> |
251 | <ti>2004.2, 2004.0</ti> |
| 244 | </tr> |
252 | </tr> |
| 245 | </table> |
253 | </table> |
| 246 | |
254 | |
| 247 | </body> |
255 | </body> |
| 248 | </section> |
256 | </section> |
| 249 | </chapter> |
257 | </chapter> |
| 250 | |
258 | |
| 251 | <chapter> |
259 | <chapter id="instructions"> |
| 252 | <title>Profile updating instructions</title> |
260 | <title>Profile updating instructions</title> |
|
|
261 | <section> |
|
|
262 | <title>Updating to 2004.3</title> |
|
|
263 | <body> |
|
|
264 | |
|
|
265 | <p> |
|
|
266 | With the introduction of the 2004.3 profiles, users are not going to see huge |
|
|
267 | modifications of their systems (see below for details). However, Gentoo |
|
|
268 | developers decided to push out this new profile and to deprecate quite a few of |
|
|
269 | the old ones to speed up the adoption of <e>stacked profiles</e>, that is, the |
|
|
270 | profiles that follow the new layout of the <path>/usr/portage/profiles</path> |
|
|
271 | directory, for instance |
|
|
272 | <path>/usr/portage/profiles/default-linux/x86/2004.3</path> (supported by |
|
|
273 | Portage 2.0.51 or later). |
|
|
274 | </p> |
|
|
275 | |
|
|
276 | <p> |
|
|
277 | To switch to the 2004.3 profile, point the <path>/etc/make.profile</path> |
|
|
278 | symlink to the new location: |
|
|
279 | </p> |
|
|
280 | |
|
|
281 | <pre caption="Updating the /etc/make.profile symlink"> |
|
|
282 | <comment>substitute <arch> with your arch</comment> |
|
|
283 | # <i>rm /etc/make.profile</i> |
|
|
284 | # <i>ln -s ../usr/portage/profiles/default-linux/<arch>/2004.3 /etc/make.profile</i> |
|
|
285 | </pre> |
|
|
286 | |
|
|
287 | <p> |
|
|
288 | <b>All archs</b> - As said above, there are no big changes introduced in this |
|
|
289 | profile. However, it should be noted that <c>sys-apps/slocate</c> and |
|
|
290 | <c>net-misc/dhcpcd</c> are no longer considered system packages. This means |
|
|
291 | that if you run <c>emerge depclean</c>, Portage will try to remove them from |
|
|
292 | your system. If you need any of those packages, add them to |
|
|
293 | <path>/var/lib/portage/world</path> after the profile switch, or manually |
|
|
294 | emerge them. |
|
|
295 | </p> |
|
|
296 | |
|
|
297 | <p> |
|
|
298 | <b>ppc</b> - <c>sys-fs/udev</c> is now the default instead of <c>sys-fs/devfs</c> |
|
|
299 | for newly installed machines. This has no effect on already installed machines, |
|
|
300 | though. |
|
|
301 | </p> |
|
|
302 | |
|
|
303 | </body> |
|
|
304 | </section> |
| 253 | <section> |
305 | <section> |
| 254 | <title>Updating to 2004.2</title> |
306 | <title>Updating to 2004.2</title> |
| 255 | <body> |
307 | <body> |
| 256 | |
308 | |
| 257 | <p> |
309 | <p> |
| 258 | To switch to the 2004.2 profile, point the <path>/etc/make.profile</path> symlink |
310 | To switch to the 2004.2 profile, point the <path>/etc/make.profile</path> symlink |
| 259 | to the new location: |
311 | to the new location: |
| 260 | </p> |
312 | </p> |
| 261 | |
313 | |
| 262 | <pre caption="Updating the /etc/make.profile symlink"> |
314 | <pre caption="Updating the /etc/make.profile symlink"> |
| 263 | <comment>substitute <arch> with your arch</comment> |
315 | <comment>substitute <arch> with your arch</comment> |
| 264 | # <i>rm /etc/make.profile</i> |
316 | # <i>rm /etc/make.profile</i> |
| 265 | # <i>ln -s ../usr/portage/profiles/default-linux/<arch>/2004.2 /etc/make.profile</i> |
317 | # <i>ln -s ../usr/portage/profiles/default-linux/<arch>/2004.2 /etc/make.profile</i> |
| 266 | </pre> |
318 | </pre> |
| 267 | |
319 | |