/[gentoo]/xml/htdocs/proj/en/portage/doc/manually-fixing-portage.xml
Gentoo

Contents of /xml/htdocs/proj/en/portage/doc/manually-fixing-portage.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.8 - (hide annotations) (download) (as text)
Wed Sep 19 23:19:31 2007 UTC (6 years, 9 months ago) by zmedico
Branch: MAIN
Changes since 1.7: +8 -1 lines
File MIME type: application/xml
Recommend `emerge --metadata` when upgrading from portage versions less than 2.1.

1 genone 1.1 <?xml version='1.0' encoding="UTF-8"?>
2 zmedico 1.8 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/portage/doc/manually-fixing-portage.xml,v 1.7 2007/05/30 23:54:07 genone Exp $ -->
3 genone 1.1 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
4 rane 1.6
5 genone 1.1 <guide link="/proj/en/portage/doc/manually-fixing-portage.xml">
6 rane 1.6
7 genone 1.1 <title>Manually fixing broken portage installations</title>
8 rane 1.6
9 genone 1.1 <author>
10     <mail link="genone@gentoo.org">Marius Mauch</mail>
11     </author>
12    
13     <abstract>
14 rane 1.6 This document attempts to help people to manually fix a broken sys-apps/portage
15 genone 1.1 installation.
16     </abstract>
17    
18 rane 1.6 <!-- The content of this document is licensed under the CC-BY-SA license -->
19     <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
20 genone 1.1 <license/>
21    
22 genone 1.7 <version>0.3</version>
23     <date>2007-05-31</date>
24 genone 1.1
25     <chapter>
26     <title>Manually fixing portage</title>
27     <section>
28     <title>Purpose</title>
29     <body>
30 rane 1.6
31     <p>
32     This section will tell you how to manually update/fix your portage installation
33     in case you can't run <c>emerge sys-apps/portage</c>. While not hard it is
34     still to be done with great care, so please follow the listed steps exactly
35     (but apply common sense when necessary).
36     </p>
37    
38 genone 1.1 </body>
39     </section>
40     <section>
41     <title>Getting a portage tarball</title>
42     <body>
43 rane 1.6
44     <p>
45     The first step to do is to get the tarball of a current portage version. In the
46     following text we will use <e>portage-2.1.1</e> as an example (as this is the
47     current stable version at the time of this writing), please replace that with a
48     version present in the tree.
49     </p>
50    
51     <p>
52     Depending on the exact reason portage doesn't work for you anymore it may still
53 genone 1.1 be possible to use it to fetch the tarball for you, so as a first step please
54 rane 1.6 try to run <c>emerge --fetchonly sys-apps/portage</c>, only if that doesn't
55     work you have to manually fetch the tarball with:
56     </p>
57    
58     <pre caption="Fetching portage tarball with wget">
59     # <i>wget -P /usr/portage/distfiles http://distfiles.gentoo.org/distfiles/portage-2.1.1.tar.bz2</i>
60 genone 1.1 </pre>
61 rane 1.6
62     <p>
63     After that you should have the tarball available as
64     <path>/usr/portage/distfiles/portage-2.1.1.tar.bz2</path>.
65     </p>
66    
67 genone 1.1 </body>
68     </section>
69     <section>
70     <title>Replacing the installed version</title>
71     <body>
72 rane 1.6
73     <p>
74     The next step is to unpack the tarball to a temporary location, using
75     <path>/root/portage-recover</path> as example the commands to do that are:
76     </p>
77    
78     <pre caption="Unpacking portage tarball">
79     # <i>cd /root</i>
80     # <i>mkdir portage-recover</i>
81     # <i>cd portage-recover</i>
82     # <i>tar xfj /usr/portage/distfiles/portage-2.1.1.tar.bz2</i>
83 genone 1.1 </pre>
84 rane 1.6
85     <p>
86     After you have done this it's just a matter of replacing the python and bash
87     files of your existing installation with the ones from the tarball (in most
88     cases anyway). To do so please run:
89     </p>
90    
91     <pre caption="Replacing installed files">
92     # <i>cd /root/portage-recover/portage-2.1.1</i>
93     # <i>cp -R pym bin /usr/lib/portage/</i>
94 genone 1.1 </pre>
95 rane 1.6
96 genone 1.7 <note>
97     If you accidently unmerged portage before or lost
98     <path>/etc/make.globals</path> for other reasons you should also copy
99     <path>cnf/make.globals</path> back into <path>/etc</path>, otherwise
100     portage might behave in strange ways.
101     </note>
102 zmedico 1.8 <note>
103     If the previous version of portage was less than 2.1 then you should now run
104     <c>emerge --metadata</c> before continuing to the next step. This is necessary
105     in order to convert the ebuild metadata to the new format that is used by
106     portage 2.1 and above. It is okay to run this command even if you are not sure
107     what the previous version of portage was.
108     </note>
109 genone 1.7
110 rane 1.6 <p>
111     Now you should have a working portage install again. To ensure a consistent
112 genone 1.1 system state however you should now run <c>emerge sys-apps/portage</c> again
113 rane 1.6 immediately.
114     </p>
115    
116     <p>
117     If you get a <e>command not found</e> error message when you try to run
118     <c>emerge</c> you have to recreate the symlink:
119     </p>
120    
121     <pre caption="Recreating the emerge symlink">
122     # <i>ln -s ../lib/portage/bin/emerge /usr/bin/emerge</i>
123 genone 1.4 </pre>
124 rane 1.6
125     <p>
126     If these steps didn't work for you your problem is likely not a broken portage
127     installation but something else beyond the scope of this document. Please
128     recheck the <uri link="/proj/en/portage/doc/common-problems.xml">list of common
129     problems</uri> and also look in <uri
130     link="http://bugs.gentoo.org">bugzilla</uri> if the problem is reported there.
131     </p>
132    
133 genone 1.1 </body>
134     </section>
135     </chapter>
136     </guide>

  ViewVC Help
Powered by ViewVC 1.1.20