| 1 | <?xml version='1.0' encoding="UTF-8"?> |
1 | <?xml version='1.0' encoding="UTF-8"?> |
| 2 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/portage/doc/manually-fixing-portage.xml,v 1.16 2010/08/18 05:20:27 zmedico Exp $ --> |
2 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/portage/doc/manually-fixing-portage.xml,v 1.17 2010/11/28 03:53:30 zmedico Exp $ --> |
| 3 | <!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
3 | <!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
| 4 | |
4 | |
| 5 | <guide link="/proj/en/portage/doc/manually-fixing-portage.xml"> |
5 | <guide link="/proj/en/portage/doc/manually-fixing-portage.xml"> |
| 6 | |
6 | |
| 7 | <title>Manually fixing broken portage installations</title> |
7 | <title>Manually fixing broken portage installations</title> |
| … | |
… | |
| 41 | <title>Getting a portage tarball</title> |
41 | <title>Getting a portage tarball</title> |
| 42 | <body> |
42 | <body> |
| 43 | |
43 | |
| 44 | <p> |
44 | <p> |
| 45 | The first step to do is to get the tarball of a current portage version. In the |
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.8</e> as an example (as this is the |
46 | following text we will use <e>portage-2.1.9.24</e> as an example (as this is the |
| 47 | current stable version at the time of this writing), please replace that with a |
47 | current stable version at the time of this writing), please replace that with a |
| 48 | version present in the tree if possible. |
48 | version present in the tree if possible. |
| 49 | </p> |
49 | </p> |
| 50 | |
50 | |
| 51 | <table> |
51 | <table> |
| … | |
… | |
| 59 | </ti> |
59 | </ti> |
| 60 | </tr> |
60 | </tr> |
| 61 | <tr> |
61 | <tr> |
| 62 | <ti>>= Python 2.6</ti> |
62 | <ti>>= Python 2.6</ti> |
| 63 | <ti> |
63 | <ti> |
| 64 | <uri link="http://distfiles.gentoo.org/distfiles/portage-2.1.8.tar.bz2"> |
64 | <uri link="http://distfiles.gentoo.org/distfiles/portage-2.1.9.24.tar.bz2"> |
| 65 | portage-2.1.8.tar.bz2 |
65 | portage-2.1.9.24.tar.bz2 |
| 66 | </uri> |
66 | </uri> |
| 67 | </ti> |
67 | </ti> |
| 68 | </tr> |
68 | </tr> |
| 69 | </table> |
69 | </table> |
| 70 | |
70 | |
| 71 | <warn> |
71 | <warn> |
| 72 | If your currently installed version of python reported by <c>python -V</c> |
72 | If your currently installed version of python reported by <c>python -V</c> |
| 73 | is less than 2.6 then you must choose a version of portage that is compatible with |
73 | is less than 2.6 then you must choose a version of portage that is compatible with |
| 74 | it. If you have at least python 2.6 then use <e>portage-2.1.8.tar.bz2</e>. If |
74 | it. If you have at least python 2.6 then use <e>portage-2.1.9.24.tar.bz2</e>. If |
| 75 | you have python 2.4 or 2.5 then use <e>portage-2.1.6.tar.bz2</e>. |
75 | you have python 2.4 or 2.5 then use <e>portage-2.1.6.tar.bz2</e>. |
| 76 | </warn> |
76 | </warn> |
| 77 | |
77 | |
| 78 | <p> |
78 | <p> |
| 79 | Depending on the exact reason portage doesn't work for you anymore it may still |
79 | Depending on the exact reason portage doesn't work for you anymore it may still |
| … | |
… | |
| 81 | try to run <c>emerge --fetchonly sys-apps/portage</c>, only if that doesn't |
81 | try to run <c>emerge --fetchonly sys-apps/portage</c>, only if that doesn't |
| 82 | work you have to manually fetch the tarball with: |
82 | work you have to manually fetch the tarball with: |
| 83 | </p> |
83 | </p> |
| 84 | |
84 | |
| 85 | <pre caption="Fetching portage tarball with wget"> |
85 | <pre caption="Fetching portage tarball with wget"> |
| 86 | # <i>wget -P /usr/portage/distfiles http://distfiles.gentoo.org/distfiles/portage-2.1.8.tar.bz2</i> |
86 | # <i>wget -P /usr/portage/distfiles http://distfiles.gentoo.org/distfiles/portage-2.1.9.24.tar.bz2</i> |
| 87 | </pre> |
87 | </pre> |
| 88 | |
88 | |
| 89 | <p> |
89 | <p> |
| 90 | After that you should have the tarball available as |
90 | After that you should have the tarball available as |
| 91 | <path>/usr/portage/distfiles/portage-2.1.8.tar.bz2</path>. |
91 | <path>/usr/portage/distfiles/portage-2.1.9.24.tar.bz2</path>. |
| 92 | </p> |
92 | </p> |
| 93 | |
93 | |
| 94 | </body> |
94 | </body> |
| 95 | </section> |
95 | </section> |
| 96 | <section> |
96 | <section> |
| … | |
… | |
| 104 | |
104 | |
| 105 | <pre caption="Unpacking portage tarball"> |
105 | <pre caption="Unpacking portage tarball"> |
| 106 | # <i>cd /root</i> |
106 | # <i>cd /root</i> |
| 107 | # <i>mkdir portage-recover</i> |
107 | # <i>mkdir portage-recover</i> |
| 108 | # <i>cd portage-recover</i> |
108 | # <i>cd portage-recover</i> |
| 109 | # <i>tar xfj /usr/portage/distfiles/portage-2.1.8.tar.bz2</i> |
109 | # <i>tar xfj /usr/portage/distfiles/portage-2.1.9.24.tar.bz2</i> |
| 110 | </pre> |
110 | </pre> |
| 111 | |
111 | |
| 112 | <p> |
112 | <p> |
| 113 | After you have done this it's just a matter of replacing the python and bash |
113 | After you have done this it's just a matter of replacing the python and bash |
| 114 | files of your existing installation with the ones from the tarball (in most |
114 | files of your existing installation with the ones from the tarball (in most |
| 115 | cases anyway). To do so please run: |
115 | cases anyway). To do so please run: |
| 116 | </p> |
116 | </p> |
| 117 | |
117 | |
| 118 | <pre caption="Replacing installed files"> |
118 | <pre caption="Replacing installed files"> |
| 119 | # <i>cd /root/portage-recover/portage-2.1.8</i> |
119 | # <i>cd /root/portage-recover/portage-2.1.9.24</i> |
| 120 | # <i>rm -rf /usr/lib/portage/*</i> |
120 | # <i>rm -rf /usr/lib/portage/*</i> |
| 121 | # <i>cp -R pym bin /usr/lib/portage/</i> |
121 | # <i>cp -R pym bin /usr/lib/portage/</i> |
| 122 | </pre> |
122 | </pre> |
| 123 | |
123 | |
| 124 | <p> |
124 | <p> |