| 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.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> |
| 13 | This document explains how to react when a new Gentoo release is announced. |
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/1.0 --> |
| 18 | <license/> |
18 | <license/> |
| 19 | |
19 | |
| 20 | <version>1.1</version> |
20 | <version>2.3</version> |
| 21 | <date>May 12, 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> |
| 30 | Here in Gentoo land, the concept of upgrade is quite different with respect to |
30 | Here in Gentoo land, the concept of upgrading is quite different compared to |
| 31 | the rest of the linux world. Probably you 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 to upgrade software in our distribution to the |
32 | touch with the "classic" way of upgrading software: waiting for a new release, |
| 33 | latest version: waiting for a new release, downloading it, burning, putting it |
33 | downloading it, burning, putting it in the cdrom drive and then following the |
| 34 | in the cdrom drive and then following the upgrade instructions. |
34 | upgrade instructions. |
| 35 | </p> |
|
|
| 36 | |
|
|
| 37 | <p> |
35 | </p> |
|
|
36 | |
|
|
37 | <p> |
| 38 | You know (you chose Gentoo, after all) that this process is extremely |
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 |
39 | frustrating for power users that want to live on the bleeding edge. Even power |
| 40 | users from other distributions must share the same feelings, given the |
40 | users from other distributions probably share the same feelings, given the |
| 41 | popularity and spread among them of tools like apt or apt-rpm, which make it |
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 |
42 | possible to have quick and frequent updates. However, no distibution is more |
| 43 | suited than Gentoo to satisfy these kind of demanding users, because Gentoo was |
43 | suited than Gentoo to satisfy these kind of demanding users. From the beginning, |
| 44 | shaped from the beginning around the concept of fast, incremental updates. |
44 | Gentoo was designed around the concept of fast, incremental updates. |
| 45 | </p> |
|
|
| 46 | |
|
|
| 47 | <p> |
45 | </p> |
|
|
46 | |
|
|
47 | <p> |
| 48 | Ideally, you install once and then do not bother anymore about releases: |
48 | Ideally, you install once and then do not to bother with releases: |
| 49 | just follow the instructions in |
49 | just follow the instructions in |
| 50 | <uri link="/doc/en/handbook/handbook-x86.xml?part=2&chap=2">Portage and |
50 | <uri link="/doc/en/handbook/handbook-x86.xml?part=2&chap=1">A Portage |
| 51 | Software</uri> in the |
51 | Introduction</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 |
| 53 | your system up to date. While that's the way things go usually, it can |
53 | your system up to date. While that's the way things usually go, sometimes |
| 54 | happen sometimes that developers push out, together with a new release, an |
54 | changes are made to the core system which require updates to be done manually. |
| 55 | update that touches the basics of the systems. We will consider these cases |
|
|
| 56 | below, when talking about profiles. |
|
|
| 57 | </p> |
55 | </p> |
| 58 | |
56 | |
| 59 | </body> |
57 | </body> |
| 60 | </section> |
58 | </section> |
| 61 | <section> |
59 | <section> |
| … | |
… | |
| 68 | There are various reasons: |
66 | There 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> |
| 87 | When a release provides new incompatible features, or provides a set of core |
85 | When a release includes new incompatible features, or provides a set of core |
| 88 | packages and settings that deeply modify the behavior of the system, or simply |
86 | packages and settings that deeply modify the behavior of the system, we say |
| 89 | when it makes tricky changes to some default parameters, we say that it |
|
|
| 90 | provides a new <e>profile</e>. |
87 | that it provides a new <e>profile</e>. |
| 91 | </p> |
88 | </p> |
| 92 | |
89 | |
| 93 | <p> |
90 | <p> |
| 94 | 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 |
| 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 |
| 96 | 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 |
| 97 | mapping for virtual packages. |
94 | mapping for virtual packages, and architecture that the system is running. |
| 98 | </p> |
95 | </p> |
| 99 | |
96 | |
| 100 | <p> |
97 | <p> |
| 101 | The profile in use is determined by the symbolic link |
98 | The 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 <path>/usr/portage/profiles/default-x86-2004.0</path>. |
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). |
| 104 | </p> |
106 | </p> |
| 105 | |
107 | |
| 106 | <p> |
108 | <p> |
| 107 | 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> |
| 108 | as 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 |
| 109 | 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 |
| 110 | of this file is the name of the profile that should substitute it; portage uses |
112 | of this file is the name of the profile that should be "upgraded to"; portage uses |
| 111 | this information to automatically warn you about the new profile. |
113 | this information to automatically warn you when you should update to a new profile. |
| 112 | </p> |
|
|
| 113 | |
|
|
| 114 | <p> |
114 | </p> |
| 115 | There are various reasons that justify the creation of a new profile: the |
115 | |
|
|
116 | <p> |
|
|
117 | There are various reasons that a new profile may be created: the release of new |
| 116 | release of new versions of core packages (such as <c>baselayout</c>, <c>gcc</c> |
118 | versions of core packages (such as <c>baselayout</c>, <c>gcc</c>, or <c>glibc</c>) |
| 117 | or <c>glibc</c>) that are incompatible with previous versions, a change in the |
119 | that are incompatible with previous versions, a change in the default USE flags, or |
| 118 | default USE flags, or in the virtual mappings, or maybe a change in system-wide |
120 | in the virtual mappings, or maybe a change in system-wide settings (such as defining |
| 119 | settings (such as defining udev to be the default manager for <path>/dev</path> |
121 | udev to be the default manager for <path>/dev</path> instead of devfs). |
| 120 | instead of devfs). |
|
|
| 121 | </p> |
122 | </p> |
| 122 | |
123 | |
| 123 | </body> |
124 | </body> |
| 124 | </section> |
125 | </section> |
| 125 | </chapter> |
126 | </chapter> |
| … | |
… | |
| 130 | <title>Releases without profile changes</title> |
131 | <title>Releases without profile changes</title> |
| 131 | <body> |
132 | <body> |
| 132 | |
133 | |
| 133 | <p> |
134 | <p> |
| 134 | If a new Gentoo release is announced that does not include a new profile (such |
135 | If a new Gentoo release is announced that does not include a new profile (such |
| 135 | as the 2004.1 release for x86), then you can safely pretend that it never |
136 | as the 2004.1 release for x86), then you can safely pretend that it never |
| 136 | happened. |
137 | happened :). |
| 137 | </p> |
|
|
| 138 | |
|
|
| 139 | <p> |
138 | </p> |
|
|
139 | |
|
|
140 | <p> |
| 140 | If you update your installed packages |
141 | If you update your installed packages |
| 141 | <uri link="/doc/en/handbook/handbook-x86.xml?part=2&chap=2">as explained in |
142 | <uri link="/doc/en/handbook/handbook-x86.xml?part=2&chap=1">as explained in |
| 142 | the Gentoo Handbook</uri>, then your system will be exactly the same as one |
143 | the Gentoo Handbook</uri>, then your system will be exactly the same as one |
| 143 | that has been installed using the new release. |
144 | that has been installed using the new release. |
| 144 | </p> |
145 | </p> |
| 145 | |
146 | |
| 146 | </body> |
147 | </body> |
| … | |
… | |
| 148 | <section> |
149 | <section> |
| 149 | <title>Releases with profile changes</title> |
150 | <title>Releases with profile changes</title> |
| 150 | <body> |
151 | <body> |
| 151 | |
152 | |
| 152 | <p> |
153 | <p> |
| 153 | If a release introduces a new profile, you have the choice to migrate to the |
154 | If a release introduces a new profile, you have the choice to migrate to the |
| 154 | new profile. |
155 | new profile. |
| 155 | </p> |
156 | </p> |
| 156 | |
157 | |
| 157 | <p> |
158 | <p> |
| 158 | Naturally, you are not forced to do so, 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 |
| 159 | and just update your packages |
160 | and just update your packages |
| 160 | <uri link="/doc/en/handbook/handbook-x86.xml?part=2&chap=2">as explained in |
161 | <uri link="/doc/en/handbook/handbook-x86.xml?part=2&chap=1">as explained in |
| 161 | the Gentoo Handbook</uri> (or you may want to not update your system at all). |
162 | the Gentoo Handbook</uri>. |
| 162 | </p> |
|
|
| 163 | |
|
|
| 164 | <p> |
163 | </p> |
|
|
164 | |
|
|
165 | <p> |
| 165 | However, Gentoo strongly recommends a migration if your profile becomes |
166 | However, Gentoo strongly recommends updating your profile if it becomes deprecated. |
| 166 | deprecated and is no more supported by Gentoo developers, that is to say that |
167 | When this happens, it means that Gentoo developers no longer plan on supporting it. |
| 167 | your profile is not listed anymore in the table below. |
168 | Using the table below, you can quickly check to see what profiles are currently supported. |
| 168 | </p> |
169 | </p> |
| 169 | |
170 | |
| 170 | <p> |
171 | <p> |
| 171 | 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 |
| 172 | perform some actions. Those actions may vary a lot from release to release, it |
173 | perform the update. The way you update may vary significantly from release to release; it |
| 173 | depends on how deep the modifications introduced in the new profile are. |
174 | depends on how deep the modifications introduced in the new profile. |
| 174 | </p> |
175 | </p> |
| 175 | |
176 | |
| 176 | <p> |
177 | <p> |
| 177 | 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> |
| 178 | link, 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 |
| 179 | while doing some voodoo stuff. In every case we will publish the instructions |
180 | while doing a neat voodoo dance. Regardless, we will publish migration instructions |
| 180 | for the migration as part of the release. You can find these instructions also |
181 | as part of the release. You can also find these instructions at the end of this guide. |
| 181 | at the end of this guide. |
|
|
| 182 | </p> |
182 | </p> |
| 183 | |
183 | |
| 184 | </body> |
184 | </body> |
| 185 | </section> |
185 | </section> |
| 186 | <section> |
186 | <section> |
| … | |
… | |
| 196 | <th>Architecture</th> |
196 | <th>Architecture</th> |
| 197 | <th>Most recent profile</th> |
197 | <th>Most recent profile</th> |
| 198 | <th>Other supported profiles</th> |
198 | <th>Other supported profiles</th> |
| 199 | </tr> |
199 | </tr> |
| 200 | <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> |
| 201 | <th>x86</th> |
241 | <th>x86</th> |
| 202 | <ti>2004.0</ti> |
242 | <ti>2004.2</ti> |
| 203 | <ti>1.4</ti> |
|
|
| 204 | </tr> |
|
|
| 205 | <tr> |
|
|
| 206 | <th>hardened-x86</th> |
|
|
| 207 | <ti>2004.0</ti> |
243 | <ti>2004.0, 1.4</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> |
244 | </tr> |
| 235 | </table> |
245 | </table> |
| 236 | |
246 | |
| 237 | </body> |
247 | </body> |
| 238 | </section> |
248 | </section> |
| 239 | </chapter> |
249 | </chapter> |
| 240 | |
250 | |
| 241 | <chapter> |
251 | <chapter> |
| 242 | <title>Profile updating instructions</title> |
252 | <title>Profile updating instructions</title> |
| 243 | <section> |
253 | <section> |
| 244 | <title>Updating from 1.4 to 2004.0 (all archs)</title> |
254 | <title>Updating to 2004.2</title> |
| 245 | <body> |
255 | <body> |
| 246 | |
256 | |
| 247 | <p> |
|
|
| 248 | There are no fundamental changes between 1.4 and 2004.0 profiles. Just point |
|
|
| 249 | the <path>/etc/make.profile</path> link to the new location: |
|
|
| 250 | </p> |
257 | <p> |
|
|
258 | To switch to the 2004.2 profile, point the <path>/etc/make.profile</path> symlink |
|
|
259 | to the new location: |
|
|
260 | </p> |
| 251 | |
261 | |
| 252 | <pre caption="Updating the /etc/make.profile link"> |
262 | <pre caption="Updating the /etc/make.profile symlink"> |
|
|
263 | <comment>substitute <arch> with your arch</comment> |
| 253 | # <i>rm /etc/make.profile</i> |
264 | # <i>rm /etc/make.profile</i> |
| 254 | # <i>ln -s ../usr/portage/profiles/default-x86-2004.0 /etc/make.profile</i> |
265 | # <i>ln -s ../usr/portage/profiles/default-linux/<arch>/2004.2 /etc/make.profile</i> |
| 255 | </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 |
|
|
271 | the <e>default</e> value, and is only relevant for those who have not installed |
|
|
272 | an X server yet. If you already have one installed, then it will not affect |
|
|
273 | you at all; you are free to switch from one X server to the other exactly as |
|
|
274 | before. |
|
|
275 | </p> |
|
|
276 | |
|
|
277 | <p> |
|
|
278 | <b>amd64</b> - There are no fundamental changes from previous profiles, no |
|
|
279 | specific 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> |
|
|
289 | To switch to the 2004.0 profile, point the <path>/etc/make.profile</path> symlink |
|
|
290 | to the new location: |
|
|
291 | </p> |
|
|
292 | |
|
|
293 | <pre caption="Updating the /etc/make.profile symlink"> |
|
|
294 | <comment>substitute <arch> with your arch</comment> |
|
|
295 | # <i>rm /etc/make.profile</i> |
|
|
296 | # <i>ln -s ../usr/portage/profiles/default-<arch>-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 |
|
|
301 | specific action needs to be performed. |
|
|
302 | </p> |
| 256 | |
303 | |
| 257 | </body> |
304 | </body> |
| 258 | </section> |
305 | </section> |
| 259 | <section> |
306 | <section> |
| 260 | <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> |
| … | |
… | |
| 268 | </body> |
315 | </body> |
| 269 | </section> |
316 | </section> |
| 270 | </chapter> |
317 | </chapter> |
| 271 | |
318 | |
| 272 | </guide> |
319 | </guide> |
| 273 | |
|
|