﻿<?xml version="1.0" encoding="UTF-8"?>
<!-- $Header$ -->
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
<guide lang="en" disclaimer="draft">
  <title>The Collected Wisdom of mzbot</title>
  <author title="Author">
  <mail link="neddyseagoon@gentoo.org">NeddySeagoon</mail>
</author>
  <abstract>
  mzbot was a helper bot crammed full of useful factoids. He was available in many channels but most used in #gentoo. 
  This document is an attempt to gather together some of his most recently used wisdom 
</abstract>
  <!-- The content of this document is licensed under the CC-BY-SA license -->
  <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
  <license/>
  <version>1</version>
  <date>2008-02-06</date>
  <chapter>
    <title>Hot #gentoo /topic Items</title>
    <section>
      <title>Can't speak in #gentoo</title>
      <body>
        <p>
/join #gentoo-ops  and ask for voice. Feel free to ping an op there, we may not notice your join.
</p>
      </body>
    </section>
    <section>
      <title>Gentoo Channel List</title>
      <body>
        <p>
Some of the more popular #gentoo- channels are listed <uri link="http://xrl.us/kftd">here</uri> 
</p>
      </body>
    </section>
    <section>
      <title>Linux Kernel 2.6 Local Root Exploit</title>
      <body>
        <p>
<b>Affected kernels - 2.6.17 to 2.6.24</b>
</p>
        <p>
Stable - gentoo-sources-2.6.23-r8 and later are patched
</p>
        <p>
Unstable - gentoo-sources-2.6.24-r2 and later are patched
</p>
        <p>
Please upgrade your kernel
Users stuck on an earlier kernel use <uri link="http://www.linux.it/~md/software/novmsplice.tgz">this kernel module</uri> 
make it wherever you like and insmod /path/to/kernel/module now and at every reboot.
</p>
      </body>
    </section>
    <section>
      <title> nvidia-drivers or ati-drivers blockage</title>
      <body>
        <p>
/msg mzbot faq xorg
</p>
      </body>
    </section>
    <section>
      <title>libexpat issues</title>
      <body>
        <p>
expat-2.0.1 is not ABI compatible with earlier versions. Run the following in bash to fix: 
</p>
        <pre caption="Emerge everything that depends on libexpat">
emerge -n1 '&gt;=portage-2.1.2.12' portage-utils &amp;&amp; emerge -qep world | grep --color=never -oFf &lt;(scanelf -plRBF '%F %n' | awk '/libexpat.so.0/{print $1}' | xargs qfile -qC | sort -u; echo -e "libtool\ncurl") | xargs emerge -1
</pre>
        <p>
If a specific package fails, (gtk+/pango are common).
If, while trying to fix the expat mess, a package won't build then run the following 
(substituting "gtk+" with the name of whichever package that failed): 
</p>
        <pre caption="if the above fails">
emerge -n portage-utils &amp;&amp; grep -vxFf &lt;(emerge -qep system) &lt;(emerge -qep gtk+) | sed -rne '/^\[ebuild/{s/(^| )\[[^]]*\]( |$)//gp}' | xargs qatom | awk '{print $1"/"$2}' | xargs emerge -1". 
</pre>
        <p>
Afterwards, run 
</p>
        <pre caption="">
emerge --resume 
</pre>
        <p>
to continue.
</p>
      </body>
    </section>
    <section>
      <title>expat-2.0.1 an alternative approach</title>
      <body>
        <p>
 expat-2.0.1 has been marked stable, but it is not ABI compatible with earlier versions. To fix, we recommend running 
</p>
        <pre caption="An alternative approach">
"emerge portage-utils gentoolkit &amp;&amp; emerge -1 $(qlist -qICe expat gettext python XML-Parser dbus apr apr-util fontconfig libXft) &amp;&amp; revdep-rebuild --library libexpat.so.0". 
</pre>
        <p>
If gtk+ then fails, run 
</p>
        <pre caption="For particular problem cases"> 
"emerge -C gtk+ pango cairo &amp;&amp; emerge -1 gtk+ &amp;&amp; emerge --resume".
</pre>
      </body>
    </section>
    <section>
      <title>A package wants gcc-3.x</title>
      <body>
        <p>
Some packages, usually pre-compiled binary packages such as mozilla-firefox-bin, are written in C++ and are only compatible with the C++ 
runtime library provided by gcc-3.x. If this is the case then you can avoid having to install gcc-3.x entirely by installing libstdc++-v3 beforehand
</p>
        <pre caption="Emerge the library only">
emerge -1 sys-libs/libstdc++-v3
</pre>
        <p>
which provides the library without the whole gcc ... continue with your emerge that failed
</p>
      </body>
    </section>
    <section>
      <title>mktemp blocks coreutils</title>
      <body>
        <p>
 As of coreutils 6.10 mktemp is included directly in the coreutils package. Just unmerge mktemp to resolve this blocker.
 </p>
      </body>
    </section>
    <section>
      <title>xorg 7.3 problems with nvidia-drivers</title>
      <body>
        <p>
 xorg-x11-7.3 is not yet supported by the official ati-drivers packages and, hence, are blocked. 
 If you are affected and wish to continue using the official drivers, then you should mask the newer version of xorg until ATI rectify the situation
</p>
        <pre caption="Masking Xorg">
echo -e "=x11-base/xorg-server-1.4*\n ~x11-base/xorg-x11-7.3" &amp;&amp; /etc/portage/package.mask.
</pre>
      </body>
    </section>
    <section>
      <title>KDE 4</title>
      <body>
        <p>
KDE 4.0.1 is in the portage tree, hard-masked. You can get help in #genkdesvn and #gentoo-kde after reading http://xrl.us/bekfz. 
Please do not ask about kde 4 in #gentoo.
</p>
      </body>
    </section>
    <section>
      <title> apr-util vs berkdb?</title>
      <body>
        <p>
Recently installed sys-libs/db-4.5* and having problems building apr/apr-util? 
To fix,
</p>
        <pre caption="Remove apr-util (if installed)">
emerge -C apr-util apr
</pre>
        <p>
then
</p>
        <pre caption="">
emerge -1 libtool apr-util
</pre>
      </body>
    </section>
  </chapter>
  <chapter>
    <title>Help Us to Help You</title>
    <section>
      <title>#gentoo /topic</title>
      <body>
        <p>
The main topic of #gentoo is <b>support</b> for Gentoo Linux. If your question isn't Gentoo-related, or if it's Gentoo-related, but not support-related, ops 
may ask you to move the conversation to #gentoo-chat or another more appropriate channel. <b>Note:</b> ops are not always identified
</p>
        <p>  
To inform us about a problem, you need to give us the <b>/fault/,</b> not the error. 
</p>
        <p>
Error lines that begin with "!!!" or "make" are of no use to us. Fault lines, like "foobar.o: no such file or directory" or "undefined variable cabli" are. 
</p>
        <p>
If it is over a few lines, please use a pastebin such as http://rafb.net/paste/ (details: gentoo-detailed/error)
</p>
      </body>
    </section>
    <section>
      <title>Don't Be Shy</title>
      <body>
        <p>
 Just ask, don't ask to ask, don't ask who's familiar. Don't ask if anyone knows about it. 
</p>
        <p> 
 Just ask the question, it's the easiest way to get people to answer :)
</p>
      </body>
    </section>
    <section>
      <title>Ask Smart Questions</title>
      <body>
        <p>
While this document has a bit of an "arrogant" or "elitist" tone to it, it also has a great number of good tips regarding asking good questions. 
Which are more likely to get you answers. Try to look past the attitude as <uri link="http://www.catb.org/~esr/faqs/smart-questions.html">you read</uri>
</p>
      </body>
    </section>
    <section>
      <title>Use a pastebin site</title>
      <body>
        <p>
To inform us about a problem, you need to give us the /fault/, not the error. 
</p>
        <p> 
Error lines that begin with <b>"!!!"</b> or <b>"make"</b> are of no use to us. Fault lines, like "foobar.o: no such file or directory" or 
"undefined variable cabli" are. 
</p>
        <p>
If it is over a few lines, please use a pastebin such as <uri>http://rafb.net/paste/</uri>
</p>
        <p>
A pastebin is a web site where you can paste many text lines or sometimes files. Try to avoid pastebin.com as it is very slow.
</p>
        <p> Consider using <uri>http://rafb.net/paste</uri> instead. If you don't have a browser you can install a pastebin helper with
        </p>
        <pre caption="Installing a Pastebin Helper">
        emerge nopaste
      </pre>
        <pre caption="Alternatively">  
        emerge wgetpaste
        </pre>
        <p>
         to send text to <uri>http://rafb.net/paste</uri> from the command line. Note that wgetpaste is preferred
</p>
      </body>
    </section>
    <section>
      <title>Gentoo Install Guides</title>
      <body>
        <p>
The Gentoo Installation procedure is well documented at <uri link="http://www.gentoo.org/doc/en/handbook/2007.0">Networkless Install</uri> and for the
<uri link="http://www.gentoo.org/doc/en/handbook/"> manual install</uri>
Since the installation procedure is thorough, we can't say how to do it without continuously referring to the Gentoo Handbook,
so please read the Gentoo Handbook and ask questions if things aren't clear.
</p>
      </body>
    </section>
    <section>
      <title>Beware Wikis</title>
      <body>
        <p>
<uri>http://www.gentoo-wiki.com</uri>uri&gt; can be a great resource, but it is not endorsed or supported by us, as wikis can be edited by anyone - even the uninformed 
and malicious. We may ask you to go read the <uri link="http://www.gentoo.org/doc/en/list.xml">official documentation</uri> 
</p>
      </body>
    </section>
  </chapter>
  <chapter>
    <title>I'm Installing Gentoo for the first time and ...</title>
    <section>
      <title>Odds 'n Ends</title>
      <body>
        <p>
Your router is vulnerable to an exploit. To you it probably looks like your Internet connection just drops, but it's actually triggered by a crafted string. 
Please read this page (thoughtfully provided by Ubuntu) for more information: http://xrl.us/2hn8
</p>
        <p>
http://www.gentoo.org/doc/en/handbook/index.xml
</p>
        <p>
GNU screen is a "terminal multiplexer". You can run multiple console-based applications within a single screen "session". 
Support for detaching means that you can use it to keep programs running after you close your terminal, or even after you log out, 
and later resume right where you were by re-attaching to your screen session. Also, sessions can be shared between multiple users. 
Tutorial: http://tinyurl.com/4q7jo
</p>
        <p>
 The file /etc/portage/package.keywords contains a list of packages of which Portage should accept the non-tested versions (~arch). 
 Ideally to use a couple of non-tested packages on your system. 
 Run "man portage" for more information. See also {~arch}
 </p>
        <p>
 ~arch is a KEYWORD setting (f.i. ~x86, ~ppc, ...) for a certain package denoting that that package has been found stable 
by the developer but needs testing before it reaches the "stable" Gentoo Portage tree. 
Usually, this means around 30 days without any bugs. Have patience, and it will reach your system eventually. 
See also {package.keywords}
 </p>
        <p>
Don't use the SMBFS client in the Linux kernel. Use CIFS! It supports shares hosted by Windows 2000 (or greater) and Samba. 
It is actively maintained upstream, more reliable, more performant and supports features such as unicode, hardlinks, dfs, 
distributed caching and native TCP names (rather than RFC1001/NetBIOS names), not to mention Unix extensions. 
For more info: http://linux-cifs.samba.org/
 </p>
        <p>
http://www.gentoo.org/doc/en/kde-split-ebuilds.xml
 </p>
        <p>

http://www.gentoo.org/doc/en/dri-howto.xml
 </p>
        <p>
<uri link="http://www.gentoo.org/doc/en/grub-error-guide.xml"> Grub Errors</uri> 
(Installation Related Resources/Other Installation Related Documentation/Gentoo Grub Error Collection)
</p>
        <p>
 Gentoo releases only affect the installation media (new hardware support for the CD and such). 
 If you already have a working Gentoo installation, update your system profile, for example: 
 " ln -snf /usr/portage/profiles/default-linux/x86/2006.1/desktop /etc/make.profile ", 
 and system: 
 </p>
        <pre caption="Updating Gentoo">
emerge --sync &amp;&amp; emerge -uDNp world
</pre>
        <p> 
(check your USE flags!) and you're using the latest and greatest.
 </p>
      </body>
    </section>
  </chapter>
  <chapter>
    <title>About Package Managers</title>
    <section>
      <title>Portage</title>
      <body>
        <p>
Portage is Gentoos' software management system, built to provide as much flexibility as possible. 
It uses ebuilds as package format and supports both source code packages (most used) and binary packages (such as GRP). 
See parts 2 and 3 of the <uri link="http://www.gentoo.org/doc/en/handbook/handbook-x86.xml">Gentoo Handbook</uri>
</p>
      </body>
    </section>
    <section>
      <title>Paludis</title>
      <body>
        <p>
Paludis is an alternate package manager. It is not an official gentoo project, so for help you should go to #paludis  or its
<uri link="http://paludis.pioto.org/">home page</uri>
</p>
      </body>
    </section>
    <section>
      <title>Pkgcore</title>
      <body>
        <p>
pkgcore is an alternative package manager. It is not an official Gentoo project. 
You can get help at <uri link="http://www.pkgcore.org/">here</uri> or on freenode at #pkgcore
</p>
      </body>
    </section>
    <section>
      <title>Using Package Managers to Install and Update</title>
      <body>
        <p>
 Here is an explanation of the --upgrade and -deep flags (the usage of the word "build" here means either install or upgrade): 
 emerge &lt;pkg&gt; == build &lt;pkg&gt;, building only deps that are _needed_ to do so | 
 emerge -u &lt;pkg&gt; == build &lt;pkg&gt;, also opportunistically building any deps directly defined by &lt;pkg&gt; | 
 emerge -uD &lt;pkg&gt; == build &lt;pkg&gt;, recursing _all_ deps derived from &lt;pkg&gt; and opportunistically building them
</p>
      </body>
    </section>
    <section>
      <title>The system target</title>
      <body>
        <p>
As far as emerge is concerned, the "system" target defines a collection of packages which are considered as mandatory in any 
Gentoo Linux installation and, as such, are also present within the contents of a stage tarball. Note that the "world" target always 
implies "system". To see a list of these packages, run "emerge -ep system"
</p>
      </body>
    </section>
  </chapter>
  <chapter>
    <title>Profiles</title>
    <section>
      <title>Chose a desktop or server profile</title>
      <body>
        <p>
You'll want to use the 2007.0/desktop subprofile, not 2007.0 itself, as the later is extremely minimalist USE flag wise. 
No jpeg support is a common symptom. Use 'eselect' to change profiles. 
You should do an emerge -DuN world at some point after this. ('mzbot: faq eselect profile' for more.)
</p>
        <p>
eselect profile list will list available profiles. Choose your desired profile by number from that list, and then run 
'eselect profile set N' from that list to change your current profile. 
You may want to read http://www.gentoo.org/doc/en/gentoo-upgrading.xml too.
</p>
      </body>
    </section>
  </chapter>
  <chapter>
    <title>Risky Things to do with your Gentoo</title>
    <section>
      <title>Changing CHOST</title>
      <body>
        <p>
Changing your CHOST is possible, but discouraged. It is very easy to destroy your installation if you do not follow instructions very well. 
Please see http://www.gentoo.org/doc/en/change-chost.xml if you will be doing this.
</p>
        <p>
If you have a Pentium III or better, do *not* choose the x86 tarball. You want the 686 tarball. 
The x86 one does not use i686-pc-linux-gnu as CHOST, which means you usually end up changing CHOST, which is a hassle.
</p>
        <p>
Upgrading gcc http://www.gentoo.org/doc/en/gcc-upgrading.xml
</p>
      </body>
    </section>
  </chapter>
  <chapter>
    <title>Admin and Disipline</title>
    <section>
      <title>Channel Disipline</title>
      <body>
        <p>
Channel disipline is enforced by the various channel operators. Operators are not always identifed  but will usually warn 
in channel when unacceptable behavioue is spotted. Of course, any user can do this. Continued unacceptable behavior will 
lead to a /kick or a /ban.
</p>
        <p>
Should you feel any or all of these steps were unjustified, please take the discusion to #gentoo-ops, which is where discussion
of the management of #gentoo is on topic.
In the event the situation cannot be resolved, you can contact one of the Gentoo channel group contacts. 
</p>
      </body>
    </section>
    <section>
      <title>Group Contacts</title>
      <body>
        <p/>
      </body>
    </section>
  </chapter>
  <chapter>
    <title>Old Topics ... Useful if you don't update very often</title>
    <section>
      <title>XMMS has Gone</title>
      <body>
        <p>
xmms has been removed from portage, due to long standing bugs, and also the project has seen no new releases 
for a long time. 

        Some alternatives include audacious and amarok. If you find ebuilds with hard dependancies on xmms, 
please <uri link="http://bugs.gentoo.org/ ">file bugs</uri> against them. If you want to complain, complain to gentoo's userrel, 
not to xmms devs. also look <uri link="http://xrl.us/s7qo">here</uri>
</p>
      </body>
    </section>
    <section>
      <title>Monolithic Xorg is Gone</title>
      <body>
        <p>
 mask virtual/x11 has been masked. What this means is that you should move to modular xorg. Modular xorg has been in gentoo for a long time now, 
 so the time has come for users to move to it. Please follow the modular xorg howto, found here: http://xrl.us/kjcy

</p>
      </body>
    </section>
    <section>
      <title>Gentoo Forums Upgrade Complete</title>
      <body>
        <p>
Forums downtime: The forums will be readonly starting later in the day on 2007-09-07, and will be down completely later in the weekend. 
Info: http://gentooexperimental.org/~patrick/forums.html 
Status: http://gentoo.org/proj/en/forums/forum-downtime200709.xml If you have questions not answered by these two pages, join #gentoo-forums
 </p>
      </body>
    </section>
  </chapter>
  <chapter>
    <title>Distros Derived From Gentoo</title>
    <section>
      <title>Sabayon for example</title>
      <body>
        <p>
 Sabayon is a distribution based on Gentoo Linux. However, we did not make it, and so we unfortunately can't support it. 
 Please utilize the support channels which exist for Sabayon, such as #sabayon. We're sorry if their channel is quiet, we can't change that :)
 </p>
        <p>
We are only using Sabayon as an example, there are other distros derived from Gentoo and the same applies. They are not Gentoo, we don't 
know how they differ from Gentoo, so we cannot support them 
</p>
        <p>
</p>
        <p>
</p>
      </body>
    </section>
  </chapter>
  <chapter>
    <title>More Coming Soon ... </title>
    <section>
      <body>
        <p/>
      </body>
    </section>
  </chapter>
</guide>
