1 |
<?xml version='1.0' encoding='UTF-8'?> |
2 |
<!DOCTYPE sections SYSTEM "/dtd/book.dtd"> |
3 |
|
4 |
<!-- The content of this document is licensed under the CC-BY-SA license --> |
5 |
<!-- See http://creativecommons.org/licenses/by-sa/2.0 --> |
6 |
|
7 |
<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-working-portage.xml,v 1.52 2005/05/17 20:13:38 neysx Exp $ --> |
8 |
|
9 |
<sections> |
10 |
|
11 |
<version>1.48</version> |
12 |
<date>2005-05-18</date> |
13 |
|
14 |
<section> |
15 |
<title>Welcome to Portage</title> |
16 |
<body> |
17 |
|
18 |
<p> |
19 |
Portage is probably Gentoo's most notable innovation in software management. |
20 |
With its high flexibility and enormous amount of features it is frequently seen |
21 |
as the best software management tool available for Linux. |
22 |
</p> |
23 |
|
24 |
<p> |
25 |
Portage is completely written in <uri link="http://www.python.org">Python</uri> |
26 |
and <uri link="http://www.gnu.org/software/bash">Bash</uri> and therefore fully |
27 |
visible to the users as both are scripting languages. |
28 |
</p> |
29 |
|
30 |
<p> |
31 |
Most users will work with Portage through the <c>emerge</c> tool. This chapter |
32 |
is not meant to duplicate the information available from the emerge man page. |
33 |
For a complete rundown of emerge's options, please consult the man page: |
34 |
</p> |
35 |
|
36 |
<pre caption="Reading the emerge man page"> |
37 |
$ <i>man emerge</i> |
38 |
</pre> |
39 |
|
40 |
</body> |
41 |
</section> |
42 |
<section> |
43 |
<title>The Portage Tree</title> |
44 |
<subsection> |
45 |
<title>Ebuilds</title> |
46 |
<body> |
47 |
|
48 |
<p> |
49 |
When we talk about packages, we often mean software titles that are available to |
50 |
the Gentoo users through the Portage tree. The Portage tree is a collection of |
51 |
<e>ebuilds</e>, files that contain all information Portage needs to maintain |
52 |
software (install, search, query, ...). These ebuilds reside in |
53 |
<path>/usr/portage</path> by default. |
54 |
</p> |
55 |
|
56 |
<p> |
57 |
Whenever you ask Portage to perform some action regarding software titles, it |
58 |
will use the ebuilds on your system as a base. It is therefore important that |
59 |
you regularly update the ebuilds on your system so Portage knows about new |
60 |
software, security updates, etc. |
61 |
</p> |
62 |
|
63 |
</body> |
64 |
</subsection> |
65 |
<subsection> |
66 |
<title>Updating the Portage Tree</title> |
67 |
<body> |
68 |
|
69 |
<p> |
70 |
The Portage tree is usually updated with <uri |
71 |
link="http://rsync.samba.org/">rsync</uri>, a fast incremental file transfer |
72 |
utility. Updating is fairly simple as the <c>emerge</c> command provides a |
73 |
front-end for rsync: |
74 |
</p> |
75 |
|
76 |
<pre caption="Updating the Portage tree"> |
77 |
# <i>emerge --sync</i> |
78 |
</pre> |
79 |
|
80 |
<p> |
81 |
If you are unable to rsync due to firewall restrictions you can still update |
82 |
your Portage tree by using our daily generated Portage tree snapshots. The |
83 |
<c>emerge-webrsync</c> tool automatically fetches and installs the latest |
84 |
snapshot on your system: |
85 |
</p> |
86 |
|
87 |
<pre caption="Running emerge-webrsync"> |
88 |
# <i>emerge-webrsync</i> |
89 |
</pre> |
90 |
|
91 |
</body> |
92 |
</subsection> |
93 |
</section> |
94 |
<section> |
95 |
<title>Maintaining Software</title> |
96 |
<subsection> |
97 |
<title>Searching for Software</title> |
98 |
<body> |
99 |
|
100 |
<p> |
101 |
To search through the Portage tree after software titles, you can use |
102 |
<c>emerge</c> built-in search capabilities. By default, <c>emerge --search</c> |
103 |
returns the names of packages whose title matches (either fully or partially) |
104 |
the given search term. |
105 |
</p> |
106 |
|
107 |
<p> |
108 |
For instance, to search for all packages who have "pdf" in their name: |
109 |
</p> |
110 |
|
111 |
<pre caption="Searching for pdf-named packages"> |
112 |
$ <i>emerge --search pdf</i> |
113 |
</pre> |
114 |
|
115 |
<p> |
116 |
If you want to search through the descriptions as well you can use the |
117 |
<c>--searchdesc</c> (or <c>-S</c>) switch: |
118 |
</p> |
119 |
|
120 |
<pre caption="Searching for pdf-related packages"> |
121 |
$ <i>emerge --searchdesc pdf</i> |
122 |
</pre> |
123 |
|
124 |
<p> |
125 |
When you take a look at the output, you'll notice that it gives you a lot of |
126 |
information. The fields are clearly labelled so we won't go further into their |
127 |
meanings: |
128 |
</p> |
129 |
|
130 |
<pre caption="Example 'emerge --search' output"> |
131 |
* net-print/cups-pdf |
132 |
Latest version available: 1.5.2 |
133 |
Latest version installed: [ Not Installed ] |
134 |
Size of downloaded files: 15 kB |
135 |
Homepage: http://cip.physik.uni-wuerzburg.de/~vrbehr/cups-pdf/ |
136 |
Description: Provides a virtual printer for CUPS to produce PDF files. |
137 |
License: GPL-2 |
138 |
</pre> |
139 |
|
140 |
</body> |
141 |
</subsection> |
142 |
<subsection> |
143 |
<title>Installing Software</title> |
144 |
<body> |
145 |
|
146 |
<p> |
147 |
Once you've found a software title to your liking, you can easily install it |
148 |
with <c>emerge</c>: just add the package name. For instance, to install |
149 |
<c>gnumeric</c>: |
150 |
</p> |
151 |
|
152 |
<pre caption="Installing gnumeric"> |
153 |
# <i>emerge gnumeric</i> |
154 |
</pre> |
155 |
|
156 |
<p> |
157 |
Since many applications depend on each other, any attempt to install a certain |
158 |
software package might result in the installation of several dependencies as |
159 |
well. Don't worry, Portage handles dependencies well. If you want to find out |
160 |
what Portage <e>would</e> install when you ask it to install a certain package, |
161 |
add the <c>--pretend</c> switch. For instance: |
162 |
</p> |
163 |
|
164 |
<pre caption="Pretend to install gnumeric"> |
165 |
# <i>emerge --pretend gnumeric</i> |
166 |
</pre> |
167 |
|
168 |
<p> |
169 |
When you ask Portage to install a package, it will download the necessary source |
170 |
code from the internet (if necessary) and store it by default in |
171 |
<path>/usr/portage/distfiles</path>. After this it will unpack, compile and |
172 |
install the package. If you want Portage to only download the sources without |
173 |
installing them, add the <c>--fetchonly</c> option to the <c>emerge</c> command: |
174 |
</p> |
175 |
|
176 |
<pre caption="Download the sourcecode for gnumeric"> |
177 |
# <i>emerge --fetchonly gnumeric</i> |
178 |
</pre> |
179 |
|
180 |
</body> |
181 |
</subsection> |
182 |
<subsection> |
183 |
<title>Finding Installed Package Documentation</title> |
184 |
<body> |
185 |
|
186 |
<p> |
187 |
Many packages come with their own documentation. Sometimes, the <c>doc</c> USE |
188 |
flag determines whether the package documentation should be installed or not. |
189 |
You can check the existence of a <c>doc</c> USE flag with the <c>emerge -vp |
190 |
<package name></c> command. |
191 |
</p> |
192 |
|
193 |
<pre caption="Checking the existence of a doc USE flag"> |
194 |
<comment>(alsa-lib is just an example, of course.)</comment> |
195 |
# <i>emerge -vp alsa-lib</i> |
196 |
[ebuild N ] media-libs/alsa-lib-1.0.9_rc3 +doc -jack 674 kB |
197 |
</pre> |
198 |
|
199 |
<p> |
200 |
You can enable or disable the <c>doc</c> USE flag either globally in the |
201 |
<path>/etc/make.conf</path> file or per package in the |
202 |
<path>/etc/portage/package.use</path> file. The <uri |
203 |
link="?part=2&chap=2">USE Flags</uri> chapter covers this aspect in detail. |
204 |
</p> |
205 |
|
206 |
<p> |
207 |
Once the package installed, its documentation is generally found in a |
208 |
subdirectory named after the package under the <path>/usr/share/doc</path> |
209 |
directory. You can also list all installed files with the <c>equery</c> tool |
210 |
which is part of the <c>app-portage/gentoolkit</c> <uri |
211 |
link="/doc/en/gentoolkit.xml">package</uri>. |
212 |
</p> |
213 |
|
214 |
<pre caption="Locating package documentation"> |
215 |
# <i>ls -l /usr/share/doc/alsa-lib-1.0.9_rc3</i> |
216 |
total 28 |
217 |
-rw-r--r-- 1 root root 669 May 17 21:54 ChangeLog.gz |
218 |
-rw-r--r-- 1 root root 9373 May 17 21:54 COPYING.gz |
219 |
drwxr-xr-x 2 root root 8560 May 17 21:54 html |
220 |
-rw-r--r-- 1 root root 196 May 17 21:54 TODO.gz |
221 |
|
222 |
<comment>(Alternatively, use equery to locate interesting files:)</comment> |
223 |
# <i>equery files alsa-lib | less</i> |
224 |
media-libs/alsa-lib-1.0.9_rc3 |
225 |
* Contents of media-libs/alsa-lib-1.0.9_rc3: |
226 |
/usr |
227 |
/usr/bin |
228 |
/usr/bin/alsalisp |
229 |
<comment>(Output truncated)</comment> |
230 |
</pre> |
231 |
|
232 |
</body> |
233 |
</subsection> |
234 |
<subsection> |
235 |
<title>Removing Software</title> |
236 |
<body> |
237 |
|
238 |
<p> |
239 |
When you want to remove a software package from your system, use <c>emerge |
240 |
--unmerge</c>. This will tell Portage to remove all files installed by that |
241 |
package from your system <e>except</e> the configuration files of that |
242 |
application if you have altered those after the installation. Leaving the |
243 |
configuration files allows you to continue working with the package if you ever |
244 |
decide to install it again. |
245 |
</p> |
246 |
|
247 |
<p> |
248 |
However, a <brite>big warning</brite> applies: Portage will <e>not</e> check if |
249 |
the package you want to remove is required by another package. It will however |
250 |
warn you when you want to remove an important package that breaks your system |
251 |
if you unmerge it. |
252 |
</p> |
253 |
|
254 |
<pre caption="Removing gnumeric from the system"> |
255 |
# <i>emerge --unmerge gnumeric</i> |
256 |
</pre> |
257 |
|
258 |
<p> |
259 |
When you remove a package from your system, the dependencies of that package |
260 |
that were installed automatically when you installed the software are left. To |
261 |
have Portage locate all dependencies that can now be removed, use |
262 |
<c>emerge</c>'s <c>--depclean</c> functionality. We will talk about this later |
263 |
on. |
264 |
</p> |
265 |
|
266 |
</body> |
267 |
</subsection> |
268 |
<subsection> |
269 |
<title>Updating your System</title> |
270 |
<body> |
271 |
|
272 |
<p> |
273 |
To keep your system in perfect shape (and not to mention install the latest |
274 |
security updates) you need to update your system regularly. Since Portage only |
275 |
checks the ebuilds in your Portage tree you first have to update your Portage |
276 |
tree. When your Portage tree is updated, you can update your system with |
277 |
<c>emerge --update world</c>: |
278 |
</p> |
279 |
|
280 |
<pre caption="Updating your system"> |
281 |
# <i>emerge --update world</i> |
282 |
</pre> |
283 |
|
284 |
<p> |
285 |
Portage will then search for newer version of the applications you have |
286 |
installed. However, it will only verify the versions for the applications you |
287 |
have explicitly installed - not the dependencies. If you want to update every |
288 |
single package on your system, add the <c>--deep</c> argument: |
289 |
</p> |
290 |
|
291 |
<pre caption="Updating your entire system"> |
292 |
# <i>emerge --update --deep world</i> |
293 |
</pre> |
294 |
|
295 |
<p> |
296 |
If you have altered any of your <uri link="?part=2&chap=2">USE flags</uri> |
297 |
lately you might want to add <c>--newuse</c> as well. Portage will then verify |
298 |
if the change requires the installation of new packages or recompilation of |
299 |
existing ones: |
300 |
</p> |
301 |
|
302 |
<pre caption="Performing a full update"> |
303 |
# <i>emerge --update --deep --newuse world</i> |
304 |
</pre> |
305 |
|
306 |
</body> |
307 |
</subsection> |
308 |
<subsection> |
309 |
<title>Metapackages</title> |
310 |
<body> |
311 |
|
312 |
<p> |
313 |
Some packages in the Portage tree don't have any real content but are used to |
314 |
install a collection of packages. For instance, the <c>kde</c> package will |
315 |
install a complete KDE environment on your system by pulling in various |
316 |
KDE-related packages as dependencies. |
317 |
</p> |
318 |
|
319 |
<p> |
320 |
If you ever want to remove such a package from your system, running <c>emerge |
321 |
--unmerge</c> on the package won't have much effect as the dependencies remain |
322 |
on the system. |
323 |
</p> |
324 |
|
325 |
<p> |
326 |
Portage has the functionality to remove orphaned dependencies as well, but since |
327 |
the availability of software is dynamically dependent you first need to update |
328 |
your entire system fully, including the new changes you applied when changing |
329 |
USE flags. After this you can run <c>emerge --depclean</c> to remove the |
330 |
orphaned dependencies. When this is done, you need to rebuild the applications |
331 |
that were dynamically linked to the now-removed software titles but don't |
332 |
require them anymore. |
333 |
</p> |
334 |
|
335 |
<p> |
336 |
All this is handled with the following three commands: |
337 |
</p> |
338 |
|
339 |
<pre caption="Removing orphaned dependencies"> |
340 |
# <i>emerge --update --deep --newuse world</i> |
341 |
# <i>emerge --depclean</i> |
342 |
# <i>revdep-rebuild</i> |
343 |
</pre> |
344 |
|
345 |
<p> |
346 |
<c>revdep-rebuild</c> is provided by the <c>gentoolkit</c> package; don't forget |
347 |
to emerge it first: |
348 |
</p> |
349 |
|
350 |
<pre caption="Installing the gentoolkit package"> |
351 |
# <i>emerge gentoolkit</i> |
352 |
</pre> |
353 |
|
354 |
</body> |
355 |
</subsection> |
356 |
</section> |
357 |
<section> |
358 |
<title>When Portage is Complaining...</title> |
359 |
<subsection> |
360 |
<title>About SLOTs, Virtuals, Branches, Architectures and Profiles</title> |
361 |
<body> |
362 |
|
363 |
<p> |
364 |
As we stated before, Portage is extremely powerful and supports many features |
365 |
that other software management tools lack. To understand this, we explain a few |
366 |
aspects of Portage without going into too much detail. |
367 |
</p> |
368 |
|
369 |
<p> |
370 |
With Portage different versions of a single package can coexist on a system. |
371 |
While other distributions tend to name their package to those versions (like |
372 |
<c>freetype</c> and <c>freetype2</c>) Portage uses a technology called |
373 |
<e>SLOT</e>s. An ebuild declares a certain SLOT for its version. Ebuilds with |
374 |
different SLOTs can coexist on the same system. For instance, the |
375 |
<c>freetype</c> package has ebuilds with <c>SLOT="1"</c> and <c>SLOT="2"</c>. |
376 |
</p> |
377 |
|
378 |
<p> |
379 |
There are also packages that provide the same functionality but are implemented |
380 |
differently. For instance, <c>metalogd</c>, <c>sysklogd</c> and <c>syslog-ng</c> |
381 |
are all system loggers. Applications that rely on the availability of "a system |
382 |
logger" cannot depend on, for instance, <c>metalogd</c>, as the other system |
383 |
loggers are as good a choice as any. Portage allows for <e>virtuals</e>: each |
384 |
system logger provides <c>virtual/syslog</c> so that applications can depend on |
385 |
<c>virtual/syslog</c>. |
386 |
</p> |
387 |
|
388 |
<p> |
389 |
Software in the Portage tree can reside in different branches. By default your |
390 |
system only accepts packages that Gentoo deems stable. Most new software titles, |
391 |
when committed, are added to the testing branch, meaning more testing needs to |
392 |
be done before it is marked as stable. Although you will see the ebuilds for |
393 |
those software in the Portage tree, Portage will not update them before they are |
394 |
placed in the stable branch. |
395 |
</p> |
396 |
|
397 |
<p> |
398 |
Some software is only available for a few architectures. Or the software doesn't |
399 |
work on the other architectures, or it needs more testing, or the developer that |
400 |
committed the software to the Portage tree is unable to verify if the package |
401 |
works on different architectures. |
402 |
</p> |
403 |
|
404 |
<p> |
405 |
Each Gentoo installation adheres to a certain <c>profile</c> which contains, |
406 |
amongst other information, the list of packages that are required for a system |
407 |
to function normally. |
408 |
</p> |
409 |
|
410 |
</body> |
411 |
</subsection> |
412 |
<subsection id="blocked"> |
413 |
<title>Blocked Packages</title> |
414 |
<body> |
415 |
|
416 |
<pre caption="Portage warning about blocked packages (with --pretend)"> |
417 |
[blocks B ] gnome-base/bonobo-activation (from pkg gnome-base/libbonobo-2.4.0) |
418 |
</pre> |
419 |
|
420 |
<pre caption="Portage warning about blocked packages (without --pretend)"> |
421 |
!!! Error: the gnome-base/bonobo-activation package conflicts with another package. |
422 |
!!! both can't be installed on the same system together. |
423 |
!!! Please use 'emerge --pretend' to determine blockers. |
424 |
</pre> |
425 |
|
426 |
<p> |
427 |
Ebuilds contain specific fields that inform Portage about its dependencies. |
428 |
There are two possible dependencies: build dependencies, declared in |
429 |
<c>DEPEND</c> and run-time dependencies, declared in <c>RDEPEND</c>. When one of |
430 |
these dependencies explicitly marks a package or virtual as being <e>not</e> |
431 |
compatible, it triggers a blockage. |
432 |
</p> |
433 |
|
434 |
<p> |
435 |
To fix a blockage, you can choose to not install the package or unmerge the |
436 |
conflicting package first. In the given example, you can opt not to install |
437 |
<c>libbonobo</c> or to remove <c>bonobo-activation</c> first. |
438 |
</p> |
439 |
|
440 |
</body> |
441 |
</subsection> |
442 |
<subsection id="masked"> |
443 |
<title>Masked Packages</title> |
444 |
<body> |
445 |
|
446 |
<pre caption="Portage warning about masked packages"> |
447 |
!!! all ebuilds that could satisfy "bootsplash" have been masked. |
448 |
</pre> |
449 |
|
450 |
<pre caption="Portage warning about masked packages - reason"> |
451 |
!!! possible candidates are: |
452 |
|
453 |
- gnome-base/gnome-2.8.0_pre1 (masked by: <i>~x86 keyword</i>) |
454 |
- lm-sensors/lm-sensors-2.8.7 (masked by: <i>-sparc keyword</i>) |
455 |
- sys-libs/glibc-2.3.4.20040808 (masked by: <i>-* keyword</i>) |
456 |
- dev-util/cvsd-1.0.2 (masked by: <i>missing keyword</i>) |
457 |
- media-video/ati-gatos-4.3.0 (masked by: <i>package.mask</i>) |
458 |
- sys-libs/glibc-2.3.2-r11 (masked by: <i>profile</i>) |
459 |
</pre> |
460 |
|
461 |
<p> |
462 |
When you want to install a package that isn't available for your system, you |
463 |
will receive this masking error. You should try installing a different |
464 |
application that is available for your system or wait until the package is put |
465 |
available. There is always a reason why a package is masked: |
466 |
</p> |
467 |
|
468 |
<ul> |
469 |
<li> |
470 |
<b>~arch keyword</b> means that the application is not tested sufficiently |
471 |
to be put in the stable branch. Wait a few days or weeks and try again. |
472 |
</li> |
473 |
<li> |
474 |
<b>-arch keyword</b> or <b>-* keyword</b> means that the application does |
475 |
not work on your architecture. If you believe the package does work file |
476 |
a bug at our <uri link="http://bugs.gentoo.org">bugzilla</uri> website. |
477 |
</li> |
478 |
<li> |
479 |
<b>missing keyword</b> means that the application has not been tested on |
480 |
your architecture yet. Ask the architecture porting team to test the package |
481 |
or test it for them and report your findings on our <uri |
482 |
link="http://bugs.gentoo.org">bugzilla</uri> website. |
483 |
</li> |
484 |
<li> |
485 |
<b>package.mask</b> means that the package has been found corrupt, unstable |
486 |
or worse and has been deliberately marked as do-not-use. |
487 |
</li> |
488 |
<li> |
489 |
<b>profile</b> means that the package has been found not suitable for your |
490 |
profile. The application might break your system if you installed it or is |
491 |
just not compatible with the profile you use. |
492 |
</li> |
493 |
</ul> |
494 |
|
495 |
</body> |
496 |
</subsection> |
497 |
<subsection id="missingdependencies"> |
498 |
<title>Missing Dependencies</title> |
499 |
<body> |
500 |
|
501 |
<pre caption="Portage warning about missing dependency"> |
502 |
emerge: there are no ebuilds to satisfy ">=sys-devel/gcc-3.4.2-r4". |
503 |
|
504 |
!!! Problem with ebuild sys-devel/gcc-3.4.2-r2 |
505 |
!!! Possibly a DEPEND/*DEPEND problem. |
506 |
</pre> |
507 |
|
508 |
<p> |
509 |
The application you are trying to install depends on another package that is not |
510 |
available for your system. Please check <uri |
511 |
link="http://bugs.gentoo.org">bugzilla</uri> if the issue is known and if not, |
512 |
please report it. Unless you are mixing branches this should not occur and is |
513 |
therefore a bug. |
514 |
</p> |
515 |
|
516 |
</body> |
517 |
</subsection> |
518 |
<subsection id="ambiguousebuild"> |
519 |
<title>Ambiguous Ebuild Name</title> |
520 |
<body> |
521 |
|
522 |
<pre caption="Portage warning about ambiguous ebuild names"> |
523 |
!!! The short ebuild name "aterm" is ambiguous. Please specify |
524 |
!!! one of the following fully-qualified ebuild names instead: |
525 |
|
526 |
dev-libs/aterm |
527 |
x11-terms/aterm |
528 |
</pre> |
529 |
|
530 |
<p> |
531 |
The application you want to install has a name that corresponds with more than |
532 |
one package. You need to supply the category name as well. Portage will inform |
533 |
you of possible matches to choose from. |
534 |
</p> |
535 |
|
536 |
</body> |
537 |
</subsection> |
538 |
<subsection id="circulardependencies"> |
539 |
<title>Circular Dependencies</title> |
540 |
<body> |
541 |
|
542 |
<pre caption="Portage warning about circular dependencies"> |
543 |
!!! Error: circular dependencies: |
544 |
|
545 |
ebuild / net-print/cups-1.1.15-r2 depends on ebuild / app-text/ghostscript-7.05.3-r1 |
546 |
ebuild / app-text/ghostscript-7.05.3-r1 depends on ebuild / net-print/cups-1.1.15-r2 |
547 |
</pre> |
548 |
|
549 |
<p> |
550 |
Two (or more) packages you want to install depend on each other and can |
551 |
therefore not be installed. This is most likely a bug in the Portage tree. |
552 |
Please resync after a while and try again. You can also check <uri |
553 |
link="http://bugs.gentoo.org">bugzilla</uri> if the issue is known and if not, |
554 |
report it. |
555 |
</p> |
556 |
|
557 |
</body> |
558 |
</subsection> |
559 |
<subsection id="fetchfailed"> |
560 |
<title>Fetch failed</title> |
561 |
<body> |
562 |
|
563 |
<pre caption="Portage warning about fetch failed"> |
564 |
!!! Fetch failed for sys-libs/ncurses-5.4-r5, continuing... |
565 |
<comment>(...)</comment> |
566 |
!!! Some fetch errors were encountered. Please see above for details. |
567 |
</pre> |
568 |
|
569 |
<p> |
570 |
Portage was unable to download the sources for the given application and will |
571 |
try to continue installing the other applications (if applicable). This failure |
572 |
can be due to a mirror that has not synchronised correctly or because the ebuild |
573 |
points to an incorrect location. The server where the sources reside can also be |
574 |
down for some reason. |
575 |
</p> |
576 |
|
577 |
<p> |
578 |
Retry after one hour to see if the issue still persists. |
579 |
</p> |
580 |
|
581 |
</body> |
582 |
</subsection> |
583 |
<subsection id="profileprotect"> |
584 |
<title>System Profile Protection</title> |
585 |
<body> |
586 |
|
587 |
<pre caption="Portage warning about profile-protected package"> |
588 |
!!! Trying to unmerge package(s) in system profile. 'sys-apps/portage' |
589 |
!!! This could be damaging to your system. |
590 |
</pre> |
591 |
|
592 |
<p> |
593 |
You have asked to remove a package that is part of your system's core packages. |
594 |
It is listed in your profile as required and should therefore not be removed |
595 |
from the system. |
596 |
</p> |
597 |
|
598 |
</body> |
599 |
</subsection> |
600 |
</section> |
601 |
</sections> |