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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.17 - (hide annotations) (download) (as text)
Sat Jan 22 01:24:31 2005 UTC (9 years, 9 months ago) by cam
Branch: MAIN
Changes since 1.16: +4 -4 lines
File MIME type: application/xml
#78990 Added dashes to emerge's commands.

1 swift 1.1 <?xml version='1.0' encoding="UTF-8"?>
2     <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
3 cam 1.17 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoo-upgrading.xml,v 1.16 2004/12/18 15:14:26 neysx Exp $ -->
4 swift 1.1
5     <guide link="/doc/en/gentoo-upgrading.xml">
6     <title>Gentoo Upgrading Guide</title>
7    
8     <author title="Author">
9     <mail link="g.guidi@sns.it">Gregorio Guidi</mail>
10     </author>
11    
12     <abstract>
13 vapier 1.7 This document explains how new Gentoo releases affect existing installs.
14 swift 1.1 </abstract>
15    
16     <!-- The content of this document is licensed under the CC-BY-SA license -->
17 neysx 1.12 <!-- See http://creativecommons.org/licenses/by-sa/2.0 -->
18 swift 1.1 <license/>
19    
20 cam 1.17 <version>2.8</version>
21     <date>2005-01-22</date>
22 swift 1.1
23     <chapter>
24     <title>Gentoo and Upgrades</title>
25     <section>
26     <title>Philosophy</title>
27     <body>
28    
29     <p>
30 vapier 1.7 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
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
34     upgrade instructions.
35 swift 1.1 </p>
36    
37     <p>
38 vapier 1.7 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
40     users from other distributions probably share the same feelings, given the
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
43     suited than Gentoo to satisfy these kind of demanding users. From the beginning,
44     Gentoo was designed around the concept of fast, incremental updates.
45 swift 1.1 </p>
46    
47     <p>
48 neysx 1.16 Ideally, you install once and never bother with releases: just follow the
49     instructions in <uri
50     link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">A Portage
51     Introduction</uri> in the <uri link="/doc/en/handbook/">Gentoo Handbook</uri>
52     that explain how to keep your system up to date. While that's the way things
53     usually go, sometimes changes are made to the core system which require updates
54     to be done manually.
55 swift 1.1 </p>
56    
57     </body>
58     </section>
59     <section>
60     <title>Releases and Profiles</title>
61     <body>
62    
63     <p>
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?".
66     There are various reasons:
67     </p>
68    
69     <ul>
70     <li>
71 vapier 1.7 A new release means new LiveCDs with bugfixes and more features.
72 swift 1.1 </li>
73     <li>
74     A new release provides an updated set of GRP packages, so that users that
75 neysx 1.12 choose "the fast way" to install (stage3 + precompiled packages) end up
76 swift 1.1 with a system that is not outdated.
77     </li>
78     <li>
79 vapier 1.7 Finally, a new release may, from time to time, implement some features that
80 swift 1.1 are incompatible with previous releases.
81     </li>
82     </ul>
83    
84     <p>
85 vapier 1.7 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
87     that it provides a new <e>profile</e>.
88 swift 1.1 </p>
89    
90     <p>
91     A <e>profile</e> is a set of configuration files, stored in a subdirectory of
92 neysx 1.12 <path>/usr/portage/profiles</path>, that describe things such as the ebuilds
93 swift 1.1 that are considered <e>system</e> packages, the default USE flags, the default
94 neysx 1.12 mapping for virtual packages, and the architecture on which the system is running.
95 swift 1.1 </p>
96    
97     <p>
98     The profile in use is determined by the symbolic link
99 vapier 1.7 <path>/etc/make.profile</path>, which points to a subdirectory of
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 swift 1.10 location - only for use with Portage 2.0.51 and later). With respect to new-style profile directories, note that the files in
104 vapier 1.7 parent directories are part of the profile (and are therefore shared
105     by different subprofiles).
106 swift 1.1 </p>
107    
108     <p>
109     Profiles obsoleted by new ones are kept in <path>/usr/portage/profiles</path>
110 vapier 1.7 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
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.
114 swift 1.1 </p>
115    
116     <p>
117 vapier 1.7 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>)
119 neysx 1.12 that are incompatible with previous versions, a change in the default USE flags or
120 vapier 1.7 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).
122 swift 1.1 </p>
123    
124     </body>
125     </section>
126     </chapter>
127    
128     <chapter>
129     <title>Keeping up with new releases</title>
130     <section>
131     <title>Releases without profile changes</title>
132     <body>
133    
134     <p>
135     If a new Gentoo release is announced that does not include a new profile (such
136 vapier 1.7 as the 2004.1 release for x86), then you can safely pretend that it never
137     happened :).
138 swift 1.1 </p>
139    
140     <p>
141 vapier 1.7 If you update your installed packages
142 neysx 1.11 <uri link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">as explained in
143 swift 1.1 the Gentoo Handbook</uri>, then your system will be exactly the same as one
144     that has been installed using the new release.
145     </p>
146    
147     </body>
148     </section>
149     <section>
150     <title>Releases with profile changes</title>
151     <body>
152    
153     <p>
154 vapier 1.7 If a release introduces a new profile, you have the choice to migrate to the
155 swift 1.1 new profile.
156     </p>
157    
158     <p>
159 vapier 1.7 Naturally, you are not forced to do so, and you can continue to use the old profile
160 swift 1.1 and just update your packages
161 neysx 1.11 <uri link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">as explained in
162 vapier 1.7 the Gentoo Handbook</uri>.
163 swift 1.1 </p>
164    
165     <p>
166 vapier 1.7 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.
168     Using the table below, you can quickly check to see what profiles are currently supported.
169 swift 1.1 </p>
170    
171     <p>
172     If you decide to migrate to the new profile, then you will have to manually
173 vapier 1.7 perform the update. The way you update may vary significantly from release to release; it
174 neysx 1.12 depends on how deep the modifications introduced in the new profile are.
175 swift 1.1 </p>
176    
177     <p>
178     In the simplest case you only have to change the <path>/etc/make.profile</path>
179 vapier 1.7 symlink, in the worst case you may have to recompile your system from scratch
180 neysx 1.12 while doing a neat voodoo dance. Migration is usually covered in the release
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.
185 swift 1.1 </p>
186    
187     </body>
188     </section>
189     <section>
190     <title>Supported profiles</title>
191     <body>
192    
193     <p>
194     The following profiles are officially supported by Gentoo developers:
195     </p>
196    
197     <table>
198     <tr>
199     <th>Architecture</th>
200     <th>Most recent profile</th>
201     <th>Other supported profiles</th>
202     </tr>
203     <tr>
204 neysx 1.12 <th>alpha</th>
205     <ti>2004.3</ti>
206     <ti></ti>
207     </tr>
208     <tr>
209 vapier 1.7 <th>arm</th>
210 neysx 1.12 <ti>2004.3</ti>
211 vapier 1.7 <ti></ti>
212     </tr>
213     <tr>
214     <th>amd64</th>
215 neysx 1.12 <ti>2004.3</ti>
216     <ti>2004.2, 2004.0</ti>
217 swift 1.1 </tr>
218     <tr>
219 neysx 1.12 <th>hppa</th>
220     <ti>2004.3</ti>
221     <ti>2004.2</ti>
222 swift 1.1 </tr>
223     <tr>
224 neysx 1.12 <th>ia64</th>
225     <ti>2004.3</ti>
226 vapier 1.7 <ti></ti>
227 swift 1.1 </tr>
228     <tr>
229     <th>ppc</th>
230 neysx 1.12 <ti>2004.3</ti>
231 swift 1.1 <ti>2004.0</ti>
232     </tr>
233     <tr>
234     <th>mips</th>
235 neysx 1.12 <ti>2004.2</ti>
236     <ti></ti>
237 swift 1.1 </tr>
238     <tr>
239 neysx 1.12 <th>s390</th>
240     <ti>2004.3</ti>
241 swift 1.9 <ti></ti>
242     </tr>
243     <tr>
244 neysx 1.12 <th>sparc</th>
245     <ti>2004.3</ti>
246 swift 1.9 <ti>2004.0</ti>
247 swift 1.1 </tr>
248 dertobi123 1.5 <tr>
249 vapier 1.7 <th>x86</th>
250 neysx 1.12 <ti>2004.3</ti>
251     <ti>2004.2, 2004.0</ti>
252 dertobi123 1.5 </tr>
253 swift 1.1 </table>
254    
255     </body>
256     </section>
257     </chapter>
258    
259 neysx 1.12 <chapter id="instructions">
260 swift 1.1 <title>Profile updating instructions</title>
261     <section>
262 neysx 1.12 <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 swift 1.14 <warn>
282     Don't forget to upgrade Portage <e>before</e> you change your profile!!!
283     </warn>
284    
285 neysx 1.12 <pre caption="Updating the /etc/make.profile symlink">
286     <comment>substitute &lt;arch&gt; with your arch</comment>
287     # <i>rm /etc/make.profile</i>
288     # <i>ln -s ../usr/portage/profiles/default-linux/&lt;arch&gt;/2004.3 /etc/make.profile</i>
289     </pre>
290    
291     <p>
292     <b>All archs</b> - As said above, there are no big changes introduced in this
293     profile. 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
295 cam 1.17 that if you run <c>emerge --depclean</c>, Portage will try to remove them from
296 neysx 1.12 your system. If you need any of those packages, add them to
297     <path>/var/lib/portage/world</path> after the profile switch, or manually
298     emerge 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>
303     for newly installed machines. This has no effect on already installed machines,
304     though.
305     </p>
306    
307     </body>
308     </section>
309     <section>
310 dertobi123 1.5 <title>Updating to 2004.2</title>
311 swift 1.1 <body>
312    
313     <p>
314 vapier 1.7 To switch to the 2004.2 profile, point the <path>/etc/make.profile</path> symlink
315 dertobi123 1.5 to the new location:
316 swift 1.1 </p>
317    
318 swift 1.15 <warn>
319     Don't forget to upgrade Portage <e>before</e> you change your profile!!!
320     </warn>
321    
322 vapier 1.7 <pre caption="Updating the /etc/make.profile symlink">
323 dertobi123 1.5 <comment>substitute &lt;arch&gt; with your arch</comment>
324 swift 1.1 # <i>rm /etc/make.profile</i>
325 swift 1.8 # <i>ln -s ../usr/portage/profiles/default-linux/&lt;arch&gt;/2004.2 /etc/make.profile</i>
326 swift 1.1 </pre>
327    
328 dertobi123 1.5 <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
331     the <e>default</e> value, and is only relevant for those who have not installed
332     an X server yet. If you already have one installed, then it will not affect
333 vapier 1.7 you at all; you are free to switch from one X server to the other exactly as
334 dertobi123 1.5 before.
335     </p>
336    
337     <p>
338     <b>amd64</b> - There are no fundamental changes from previous profiles, no
339     specific 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>
349 vapier 1.7 To switch to the 2004.0 profile, point the <path>/etc/make.profile</path> symlink
350 dertobi123 1.5 to the new location:
351     </p>
352    
353 vapier 1.7 <pre caption="Updating the /etc/make.profile symlink">
354 dertobi123 1.5 <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
361     specific action needs to be performed.
362     </p>
363    
364 swift 1.1 </body>
365     </section>
366     <section>
367     <title>Updating from profiles older than 1.4 to 1.4</title>
368     <body>
369    
370     <p>
371     The instructions for this upgrade are quite complex, you can find them
372     <uri link="/doc/en/new-upgrade-to-gentoo-1.4.xml">here</uri>.
373     </p>
374    
375     </body>
376     </section>
377     </chapter>
378    
379     </guide>

  ViewVC Help
Powered by ViewVC 1.1.20