"Fossies" - the Fresh Open Source Software Archive

Member "leafnode-1.12.0/FAQ.xml" (26 May 2022, 27692 Bytes) of package /linux/misc/leafnode-1.12.0.tar.xz:

As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) XML source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "FAQ.xml": 1.11.12_vs_1.12.0.

A hint: This file contains one or more very long lines, so maybe it is better readable using the pure text view mode that shows the contents as wrapped lines within the browser window.

    1 <?xml version="1.0" encoding='ISO-8859-1'?>
    2 <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
    3 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"
    4 [
    5 <!ENTITY inetd "<application>inetd</application>">
    6 <!ENTITY xinetd "<application>xinetd</application>">
    7 ]>
    9 <article>
   10     <articleinfo>
   11     <author><honorific>Dr</honorific><firstname>Cornelius</firstname><surname>Krasel</surname></author>
   12     <author><firstname>Matthias</firstname><surname>Andree</surname> </author>
   13     <title>Leafnode FAQ</title>
   14     <copyright>
   15         <year>2002</year>
   16         <holder>Cornelius Krasel</holder>
   17     </copyright>
   18     <copyright>
   19         <year>2002</year>
   20         <year>2003</year>
   21         <year>2004</year>
   22         <year>2005</year>
   23         <year>2006</year>
   24         <year>2009</year>
   25         <year>2021</year>
   26         <holder>Matthias Andree</holder>
   27     </copyright>
   28 </articleinfo>
   29 <sect1 id="FAQ"><title>Leafnode frequently asked questions, with answers.</title>
   30     <sect2><title>Installation-related problems, including relocations</title>
   31     <qandaset defaultlabel='qanda'>
   32         <qandaentry>
   33         <question><para>Compiling causes a message
   34             'SA_RESETHAND undeclared'!</para></question>
   35         <answer>
   36             <para>This means that your operating system is too old and
   37                 lacks this symbol which is required by POSIX.
   38                 Please update your operating system.  </para>
   39         </answer>
   40         </qandaentry>
   41         <qandaentry>
   42         <question><para>I cannot compile leafnode on Linux!</para></question>
   43         <answer>
   44             <para>Another common reason for the build to
   45             fail is that Leafnode depends on some
   46             system-specific information which is usually
   47             included in the sources of the kernel.</para>
   48             <para>Unfortunately, some Linux distribution do
   49             not install kernel sources by default; therefore,
   50             compilation of Leafnode (and most other programs as
   51             well) will fail. The obvious solution is to install
   52             the kernel sources. On
   53             Linux, if the kernel sources are installed in
   54             <filename>/usr/src/linux-a.b.cc</filename> (with a.b.cc being the version
   55             number of your kernel), create a symlink to
   56             <filename>/usr/src/linux</filename>.</para>
   57         </answer>
   58         </qandaentry>
   59         <qandaentry>
   60         <question><para>Where/how do I get the source RPM? I
   61             want to modify it.</para></question>
   62         <answer><para>You can generate it yourself from the
   63             source tarball (which contains the necessary
   64             <filename>.spec</filename> file. Just
   65             type:
   66             <userinput>rpmbuild -ts leafnode-1.11.5.tar.bz2</userinput> - of
   67             course, you will have to adjust the version
   68             shown here.  For RPM 3.x and older, type this instead:
   69             <userinput>rpm -ts leafnode-1.11.5.tar.bz2</userinput>
   70             </para>
   71         </answer>
   72         </qandaentry>
   73         <qandaentry>
   74         <question><para>How do I copy/move the spool?</para></question>
   75         <answer><para>There are two important requirements to heed:</para>
   76             <orderedlist><listitem><para>You must copy hard links as hard links.  There are three supported methods to achieve that. In each of the following examples, replace the source and DEST directories:</para>
   77                 <itemizedlist><listitem><para>On POSIX compliant systems, use <userinput>mkdir DEST &amp;&amp; sudo pax -r -w -p e -H /var/spool/news/ DEST</userinput></para></listitem>
   78                     <listitem><para>If rsync is installed, use (note the trailing slash!), use <userinput>rsync -aH /var/spool/news/ DEST</userinput></para></listitem>
   79                     <listitem><para>If GNU cp is installed (it's sometimes called gcp), use <userinput>cp -a /var/spool/news/ DEST</userinput></para></listitem></itemizedlist>
   80                 <para>If you fail to do this, texpire may expire articles too early. You can repair broken hard links with <userinput>texpire -r</userinput>.</para>
   81             </listitem>
   82             <listitem><para>You must update the hashed message.id/nnn/ links if you are running leafnode from the new location. Unless the new spool directory has the same name as the old one (if, for instance, moving to a new computer), run <userinput>texpire -r</userinput> before any other leafnode program. Leafnode-1's spool layout unfortunately depends on the name of the spool directory, and when that changes, files may have to be moved between the message.id/nnn/ directories, and <userinput>texpire -r</userinput> does just that - and it also repairs hard links.</para>
   83                 <para>If you fail to do this, leafnode may not find articles in its spool.</para></listitem></orderedlist>
   84             </answer>
   85         </qandaentry>
   86     </qandaset>
   87     </sect2>
   88     <sect2><title>Configuration problems</title>
   89     <qandaset defaultlabel='qanda'>
   90         <qandaentry><question><para>Leafnode refuses to start and tells
   91             things about my hostname!</para></question>
   92         <answer><para>There is a separate documentation file dedicated
   93             to this issue, how to obtain a hostname, and how to tell
   94             leafnode about it. Please see
   95             <filename>README-FQDN</filename> or
   96             <filename>README-FQDN.html</filename> for details.</para></answer></qandaentry>
   97         <qandaentry><question><para>Does leafnode support local
   98             newsgroups?</para></question>
   99         <answer><para>Leafnode 1.x does not support local newsgroups.
  100             Leafnode 2.x will do that.</para></answer>
  101         </qandaentry>
  102         <qandaentry id='nntpds'>
  103         <question><para>How do I run leafnode as NNTP+SSL
  104             server?</para></question>
  105         <answer><para>Wrap leafnode with an SSL wrapper:</para>
  106             <orderedlist><listitem><para>
  107                 Obtain <ulink
  108                     url='http://stunnel.mirt.net'>stunnel
  109                     version 3</ulink>
  110                 and install it.
  111             </para></listitem>
  112             <listitem><para>Create a certificate and
  113                 save it to
  114                 <filename>/etc/leafnode/stunnel.pem</filename>, see
  115                 the stunnel documentation.
  116                 Implications such as whether to
  117                 use signed certificates are beyond the
  118                 scope of this document.</para></listitem>
  119             <listitem><para>Add a configuration to your
  120                 inetd.conf or xinetd.conf as described in the
  121                 <filename>INSTALL</filename> document; but instead of
  122                 <userinput>/usr/local/sbin/leafnode</userinput>,
  123                 you'll type</para><para>
  124                 <userinput>/usr/local/sbin/stunnel -f -p
  125                     /etc/leafnode/stunnel.pem -l
  126                     /usr/local/sbin/leafnode.</userinput></para></listitem></orderedlist></answer></qandaentry>
  127         <qandaentry id='nntps'>
  128         <question><para>How do I use fetchnews with NNTP/SSL
  129             servers, such as
  130             <filename>nntp.sourceforge.net</filename>?</para></question>
  131         <answer><para>Warning: SourceForge does not
  132             currently support the
  133             <command>HEAD</command>,
  134             <command>STAT</command> and
  135             <command>BODY</command> commands, so
  136             leafnode-1 is totally out of the play for
  137             now. leafnode-2 will work for lurking, but
  138             will likely be unable to post. Sourceforge
  139             are aware that we need these commands and
  140             will add them at a later time.</para>
  141             <orderedlist><listitem><para>
  142                 Obtain <ulink
  143                     url='http://stunnel.mirt.net'>stunnel
  144                     version 3</ulink>
  145                 and install it.
  146             </para></listitem>
  147             <listitem><para>Arrange for stunnel to be started at
  148                 system boot time, try:</para>
  149                 <para><userinput>/usr/sbin/stunnel -c -d
  150            -r
  151                     nntp.sourceforge.net:563</userinput></para>
  152                 <para>Add</para>
  153                 <para><programlisting>server = localhost
  154                     port = 563
  155                     username = YOUR_SF_LOGIN
  156                     password = TOP_SECRET
  157                 </programlisting></para>
  159                 <para>to your
  160                 <filename>/etc/leafnode/config</filename>.
  161             </para></listitem>
  162         </orderedlist></answer>
  163         </qandaentry>
  164     </qandaset>
  165     </sect2>
  166     <sect2><title>Problems at run time</title>
  167     <sect3><title>leafnode (the NNTP server)</title>
  168         <qandaset defaultlabel='qanda'>
  169         <qandaentry><question><para>I cannot post, leafnode tells me the
  170                 Message-ID is invalid.</para></question>
  171             <answer><para>Netscape Communicator, Mozilla and derived
  172                 products (Beonex) will by default generate the Message-ID
  173                 from the domain part of your E-Mail address. However, if
  174                 your address is that of a big freemailer site (hotmail.com,
  175                 yahoo.com, gmx.de), this will lead to invalid Message-IDs.</para>
  176             <para>To work around this, go to the <command>Mail &amp;
  177                 Newsgroups</command> settings and enclose your E-Mail
  178                 addresses into double quote marks, like
  179                 this:<userinput>"matthias.andree@gmx.de"</userinput>This
  180                 will prevent your Netscape-based newsreader from generating
  181                 the invalid Message-ID and leave the generation to leafnode.</para></answer></qandaentry>
  182         <qandaentry>
  183             <question><para>I cannot connect to my newsserver.</para></question>
  184             <answer><para>You may not have configured &inetd; or
  185                 &xinetd; properly,
  186                 or the corresponding super server is not running. Please review
  187                 the installation instructions. <link
  188                 linkend="redhat-xinetd">See below for
  189                 information specific to Red Hat.</link></para>
  190             <para>
  191                 To test the setup, try: <userinput>telnet localhost
  192                 119</userinput>. Leafnode should then
  193                 reply with (on one line):
  194                 <screen>200 Leafnode NNTP Daemon, version 1.9.27.rel running at merlin.emma.line.org
  195                 (my fqdn: merlin.emma.line.org)</screen>
  196             </para>
  197             </answer>
  198         </qandaentry>
  199         <qandaentry>
  200             <question><para>Remote users cannot connect to leafnode.</para></question>
  201             <answer><para>You are connecting from outside the same
  202                 networks that your leafnode
  203                 server is in. Leafnode by default refuses connections from
  204                 outside your
  205                 LAN to prevent your leafnode server from abuse should you forget to
  206                 configure tcpd or make a mistake when writing your
  207                 <filename>hosts.allow</filename> or
  208                 <filename>hosts.deny</filename> files.
  210                 Please see <filename>/etc/leafnode/config.example</filename> for the
  211                 <parameter>allowstrangers</parameter> option and how to
  212                 configure this option, and its requirements.
  213                 YOU are responsible for the abuse of your
  214                 server if this option is enabled, so only
  215                 give access to people with static IP whom
  216                 you trust.</para><para>If the clients are on
  217                 dynamic IP, please use other methods of
  218                 access instead, for instance SSH tunnels
  219                 (which are also available on Windows, before
  220                 you ask).</para></answer>
  221         </qandaentry>
  222         </qandaset>
  223     </sect3>
  224     <sect3><title>fetchnews</title>
  225         <qandaset>
  226         <qandaentry>
  227             <question>
  228             <para>Fetchnews does not fetch any articles.</para>
  229             </question>
  230             <answer><para>There are several reasons why this may
  231                 be the case:</para><itemizedlist>
  232                 <listitem><para>You did not read any pseudo articles with
  233                     your news reader. Subscribe to some groups,
  234                     enter them and read the leafnode placeholder
  235                     article.</para></listitem>
  236                 <listitem><para>Your groupinfo file may be corrupt.
  237                     Run <userinput>fetchnews
  238                     -f</userinput>.</para></listitem>
  239                 <listitem><para><filename>/var/spool/news</filename> may have
  240                     wrong permissions.
  241                     <filename>/var/spool/news</filename> and all its
  242                     subdirectories should be owned by user and
  243                     group news and have permissions drwxrwsr-x
  244                     (02755).</para></listitem>
  245             </itemizedlist></answer>
  246         </qandaentry>
  247         <qandaentry>
  248             <question><para>Fetchnews has problems
  249                 retrieving new newsgroups.</para></question>
  250             <answer><para>Maybe your upstream server supports neither the
  251                 <command>XGTITLE news.group.name</command> nor the
  252                 <command>LIST NEWSGROUPS news.group.name</command>
  253                 command.</para>
  254             <para>In this case, add <userinput>nodesc =
  255                 1</userinput> to the
  256                 server entry in <filename>/etc/leafnode/config</filename>,
  257                 as described in the
  258                 <citerefentry><refentrytitle>leafnode</refentrytitle><manvolnum>8</manvolnum></citerefentry>
  259                 manual page and the
  260                 <filename>/etc/leafnode/config.example</filename> file.</para>
  261             </answer>
  262         </qandaentry>
  263         <qandaentry><question><para>Since the update, fetchnews does
  264                 not post my new articles!</para></question>
  265             <answer><para>You have probably mixed old and new
  266                 binaries. Check your
  267                 <filename>inetd.conf</filename> or
  268                 <filename>xinetd.conf</filename> configuration
  269                 if they really point to the new binary.</para></answer></qandaentry>
  270         <qandaentry>
  271             <question>
  272             <para>While fetchnews is running, my modem hangs up.</para>
  273             </question>
  274             <answer><para>
  275                 An article that causes the interruption may contain
  276                 three plus signs in a row (<quote>+++</quote>), which
  277                 many modems interpret as the beginning of a command.
  278                 You can change or disable this <quote>escape</quote>
  279                 sequence. Consult your modem's manual, register S2 is
  280                 a common place to configure this.
  281             </para></answer>
  282         </qandaentry>
  283         <qandaentry><question><para>How can I run fetchnews as regular user (not
  284                 root)?</para></question>
  285             <answer><para>For security reasons, this is not possible.</para>
  286             <para>However, there is a tool named <quote>sudo</quote>
  287                 that allows a regular, unprivileged user to
  288                 impersonate another user, and this can be used to
  289                 enable a regular user to run fetchnews.</para>
  290             <para><quote>sudo</quote> is available from
  291                 <ulink url="http://www.courtesan.com/sudo/"></ulink>.</para>
  292             <para>If <quote>sudo</quote> is installed on your
  293                 system, then run
  294                 <userinput>visudo</userinput> as root and
  295                 add this line:
  296                 <programlisting>username ALL = (news) NOPASSWD: /path/to/fetchnews</programlisting>
  297                 Remember to replace
  298                 <quote>username</quote> and <quote>/path/to/</quote> with the
  299                 user's login and the proper path to
  300                 fetchnews.</para>
  301             <para>Now, the user who has been enabled access to fetchnews can
  302                 just type <userinput>sudo -u news
  303                 /path/to/fetchnews</userinput>
  304                 to run fetchnews.</para></answer>
  305         </qandaentry>
  306         <qandaentry>
  307             <question><para>I have unsubscribed from a newsgroup, but
  308                 fetchnews still pulls articles for that group.</para></question>
  309             <answer><para>Your news reader talks to leafnode via the NNTP
  310                 protocol. This protocol provides no means for Leafnode to
  311                 determine which newsgroups you are actually subscribe.
  312                 Therefore, Leafnode assumes that a newsgroup that is not
  313                 read for a certain time (which can be configured with the
  314                 <parameter>timeout_long</parameter> parameter) is unsubscribed
  315                 and will only stop retrieving articles in it after this
  316                 time.</para>
  317             <para>If you are impatient and want to stop retrieving
  318                 articles from that group immediately, delete the
  319                 corresponding file in the
  320                 <filename>/var/spool/news/interesting.groups/</filename>
  321                 directory. The articles that are already in your spool are
  322                 still subject to the regular <command>texpire</command>
  323                 schedule, however.</para></answer>
  324         </qandaentry>
  325         <qandaentry><question><para>How do I stop fetchnews from unsubscribing from
  326                 newsgroups?</para></question>
  327             <answer><para>Make sure that your newsreader issues
  328                 GROUP or LIST ACTIVE commands for each of
  329                 the groups it is subscribed to when checking
  330                 for new news, so that leafnode can actually
  331                 see which groups are interesting. For
  332                 instance, a newsreader configured to read
  333                 the whole active file with a LIST command
  334                 may lose subscriptions for low-traffic
  335                 groups. <link linkend="gnus">See also the Gnus
  336                 FAQ below.</link></para>
  337             <para>As a last resort, change your cron job or
  338                 ip-up script to run
  339                 <userinput>fetchnews -n</userinput> rather than just
  340                 <userinput>fetchnews</userinput>.</para></answer></qandaentry>
  341         <qandaentry><question><para>fetchnews is slow, how do I
  342                 speed it up?</para></question>
  343             <answer>
  344             <para>If you are using filters, try the
  345                 article_despite_filter option (introduced in
  346                 leafnode v1.9.33).</para>
  347             <para>If your upstream server does not support
  348                 XOVER, try using as few of the
  349                 maxage, maxlines, maxbytes, minlines,
  350                 maxcrosspost options as possible.</para>
  351         </answer></qandaentry>
  352         <qandaentry><question><para>fetchnews keeps downloading the full newsgroup list
  353                 every time it runs</para>
  354             </question>
  355             <answer><para>Watch the fetchnews output for error messages, if you see a
  356                 message such as <computeroutput>Reading newsgroups descriptions
  357                 failed: 501 bad command usage.</computeroutput> then try adding
  358                 <userinput>nodesc = 1</userinput> blow the
  359                 server=news.example.org line of the server that showed this error.</para>
  360             </answer>
  361         </qandaentry>
  362         </qandaset>
  363     </sect3>
  364     <sect3><title>texpire</title>
  365         <qandaset>
  366         <qandaentry><question><para>Texpire does not expire
  367                 articles.</para></question><answer><para>The backup software
  368                 that you are using may not reset the atime after reading a
  369                 file. Check if you can reconfigure it to reset the
  370                 <quote>atime</quote>.</para><para>As a workaround, run
  371                 <userinput>texpire -f</userinput>. This will expire articles
  372                 somewhat earlier because expiry is then determined from the
  373                 time the file was last modified, rather than when it was last
  374                 accessed.</para></answer></qandaentry>
  375         <qandaentry><question><para>Texpire message.id counts do
  376                 not match the sum of the group counts!</para></question>
  377             <answer><para>This may happen if texpire has been
  378                 interrupted previously, crashed, some other
  379                 application touched the spool or the spool is corrupt.</para></answer></qandaentry>
  380         </qandaset>
  381     </sect3>
  382     </sect2>
  383     <sect2><title>Problems with particular newsreaders</title>
  384     <qandaset defaultlabel='qanda'>
  385         <qandaentry>
  386         <question id='gnus'>
  387             <para>leafnode loses subscriptions of low-traffic
  388             groups with Gnus.</para>
  389         </question>
  390         <answer>
  391             <para>Check the setting of gnus-read-active-file (you
  392             can use customize-variable to do that), it should be
  393             <userinput>'some</userinput> or
  394             <userinput>nil</userinput>.
  395             </para>
  396         </answer>
  397         </qandaentry>
  398         <qandaentry>
  399         <question id='slrn'>
  400             <para>leafnode loses subscriptions of low-traffic
  401             groups with slrn.</para>
  402         </question>
  403         <answer>
  404             <para>Check the setting of read_active, it should be
  405             <userinput>0</userinput> (the default).
  406             </para>
  407         </answer>
  408         </qandaentry>
  409         <qandaentry>
  410         <question>
  411             <para>When searching news with Netscape, I only get back
  412             <quote>unknown command</quote>.</para>
  413         </question>
  414         <answer>
  415             <para>
  416             To search news, older versions of Netscape needed a
  417             news server which supports the XPAT command.
  418             Leafnode-1 does not.  If you want to use Netscape, you
  419             have to upgrade to version 4.5 and press the
  420             <quote>options</quote> button which appears in the
  421             <quote>search
  422                 messages</quote> window.  In the box which appears you have
  423             to select <quote>on your local system</quote>.
  424             </para>
  425         </answer>
  426         </qandaentry>
  427         <qandaentry>
  428         <question><para>Outlook Express locks up.</para></question>
  429         <answer><para>
  430             This can be caused by a corrupted <filename>inbox</filename>
  431             file in Outlook Express. It is said to happen during the
  432             initial install of Internet Explorer. To fix this problem,
  433             go to <quote>Add/Remove Programs</quote>, choose
  434             <quote>Internet Explorer</quote>, then <quote>Repair
  435                 installation.</quote>
  436             </para><para>Thanks to Jim Gifford who talked to Microsoft to
  437             find this solution.</para></answer>
  438         </qandaentry>
  439         <qandaentry>
  440         <question>
  441             <para>Tin complains about a missing file
  442             <filename>/var/lib/news/active</filename>.</para>
  443         </question>
  444         <answer>
  445             <para>
  446             Either you have started the wrong version of tin (the one
  447             which tries to read news directly from the spool) or your
  448             groupinfo file is corrupt.
  449             </para>
  451             <para>
  452             In the first case, simply invoke tin with
  453             the -r flag: <userinput>tin -r</userinput>. If
  454             this does not help, try to rebuild the
  455             groupinfo file by running
  456             <userinput>fetchnews -f</userinput>.
  457             </para>
  458         </answer>
  459         </qandaentry>
  460     </qandaset>
  461     </sect2>
  462 </sect1>
  463 <sect1 id="backtrace"><title>Obtaining a stack backtrace</title>
  464     <para>This section will tell you how to obtain a <emphasis>stack
  465         backtrace</emphasis>, a special program state output that is
  466     very useful to somebody who is about to debug a crash.</para>
  467     <para>The prerequisite to work is that the program is
  468     <emphasis>not stripped</emphasis>, i. e. it contains the debug
  469     symbols. That means leafnode must have been installed with
  470     <userinput>make install</userinput> rather than <userinput>make
  471         install-strip</userinput>. Note that most packagers (for RPM at
  472     least) use <userinput>make install-strip</userinput> to save space.</para>
  473     <para>To find out if your leafnode installation has been
  474     <emphasis>stripped</emphasis>, type <userinput>file
  475         /usr/local/sbin/leafnode</userinput> (adjust the path as
  476     necessary, packages will usually install to
  477     <filename>/usr/sbin/leafnode</filename> instead), here is a sample
  478     output of an unstripped program:</para>
  480     <para><screen><prompt>$</prompt> <userinput>file /usr/local/sbin/leafnode</userinput>
  481         <computeroutput>/usr/local/sbin/leafnode: ELF 32-bit LSB executable, Intel 80386, version 1,
  482         dynamically linked (uses shared libs), not stripped</computeroutput></screen></para>
  484     <sect2><title>From a core file.</title>
  485     <para>This is simple:
  486         <orderedlist>
  487         <listitem><para>Type <userinput>gdb
  488                 <replaceable>PROGRAM</replaceable>
  489                 core</userinput>. Replace
  490             PROGRAM by the name of the
  491             program that crashed, for
  492             example fetchnews.</para></listitem>
  493         <listitem><para>Type <userinput>backtrace
  494                 full</userinput>.</para></listitem>
  495         <listitem><para>Type
  496             <userinput>quit</userinput>.</para></listitem>
  497         </orderedlist>
  498     </para></sect2>
  499     <sect2><title>Running a program under gdb supervision.</title>
  500     <orderedlist>
  501         <listitem><para>Type <userinput>gdb
  502             <replaceable>PROGRAM</replaceable></userinput>.
  503             Replace PROGRAM by the name of the program that
  504             crashes, for example fetchnews. Do not give any program
  505             options, gdb does not understand them here.</para></listitem>
  506         <listitem><para>Type <userinput>run
  507             <replaceable>OPTIONS</replaceable></userinput>, where
  508             you name the options that you would normally pass to the
  509             program itself. Just a plain
  510             <userinput>run</userinput>  is
  511             also fine.</para></listitem>
  512         <listitem><para>Wait until the program crashes. The output might
  513             look like similar to this:</para>
  514         <screen><computeroutput>
  515             This GDB was configured as "i686-pc-linux-gnu"...</computeroutput>
  516             <prompt>(gdb)</prompt> <userinput>run -vvn</userinput>
  517             <computeroutput>
  518             Starting program: /tmp/crashme
  520             Program received signal SIGSEGV, Segmentation fault.
  521             main () at crashme.c:4
  522             4           *x = 4;
  523             <prompt>(gdb)</prompt>
  524         </computeroutput></screen>
  525         </listitem>
  526         <listitem><para>Type <userinput>backtrace
  527             full</userinput>, this is the
  528             desired <emphasis>stack backtrace</emphasis>.</para></listitem>
  529         <listitem><para>Type <userinput>quit</userinput> to leave
  530             gdb.</para></listitem>
  531     </orderedlist></sect2>
  532     <sect2><title>From a running/hanging leafnode
  533         program.</title>
  534     <orderedlist>
  535         <listitem><para>Find out the Process
  536             ID of the hanging leafnode
  537             program. Type
  538             <userinput>ps axw | grep
  539             <replaceable>PROGRAM</replaceable> | grep -v
  540             grep</userinput> on BSD
  541             systems and Linux,
  542             replacing
  543             <replaceable>PROGRAM</replaceable> by the
  544             name of the program. Use
  545             <userinput>ps -ef</userinput>
  546             instead on SysV systems such
  547             as Solaris.</para>
  548         <para>You will get an output
  549             like:
  550             <screen> 1995 ?  S      0:00 /usr/local/sbin/leafnode
  551             </screen> 1995 is the
  552             Process ID.</para></listitem>
  553         <listitem><para>Then attach gdb:
  554             <userinput>gdb
  555             <replaceable>PROGRAM</replaceable>
  556             <replaceable>12345</replaceable></userinput>,
  557             replacing
  558             <replaceable>PROGRAM</replaceable> by the
  559             program's name and
  560             <replaceable>12345</replaceable>
  561             by the PID that you have just
  562             found out.</para></listitem>
  563         <listitem><para>Type
  564             <userinput>backtrace
  565             full</userinput>.</para></listitem>
  566         <listitem><para>Type
  567             <userinput>detach</userinput>.</para></listitem>
  568         <listitem><para>Type
  569             <userinput>quit</userinput>.</para></listitem>
  570     </orderedlist>
  571     </sect2>
  572 </sect1>
  573 <sect1 id="redhat-xinetd">
  574     <sect1info> <author>
  575         <firstname>William</firstname>
  576         <surname>Hooper</surname>
  577     </author>
  578     </sect1info>
  580     <title>Red Hat and the inetd vs. xinetd issue.</title>
  582     <para>RedHat Linux has changed stance on &inetd;/&xinetd;
  583     over the years.  In the 6.x version, &inetd; was used, while
  584     &xinetd; is used in the 7.x series and 8.0.  Note in the
  585     following I make the assumption that the "Gnome workstation"
  586     and "KDE workstation" installs are the same in regard to our
  587     discussion.  Also, when in doubt a simple <userinput>rpm -qa
  588         | grep &inetd;</userinput> will show you if either inetd
  589     or &xinetd; is installed.  The <command>service</command> and
  590     <command>chkconfig</command> commands can be used to be sure
  591     [x]&inetd; is running and configured to run at boot time.  By
  592     default, runlevels 3, 4, and 5 start [x]&inetd;.</para>
  594     <para>Beginning with Redhat 6.2, &inetd; was broken out as a
  595     separate RPM and not included when doing a "Workstation"
  596     install.  This stands true for the 7.x series (&xinetd; not
  597     installed) until 7.3.  In Redhat 7.3, &xinetd; was added back
  598     to the "Workstation" install as a dependency for "sgi_fam".
  599     Note, this change is not reflected in the RH documentation,
  600     which states that &xinetd; is not installed in "Workstation"
  601     installs.  </para>
  603     <para>In Redhat 8.0, the install options have changed, now
  604     offering a "Personal Desktop" install.  When doing a
  605     "Workstation" or "Personal Desktop" install &xinetd; is
  606     installed as in 7.3, presumably to satisfy the same
  607     dependency.  </para>
  609     <para>In cases where &inetd; is not installed, no other RPMs
  610     are required to install it.  This means to install it you
  611     have three options (for RedHat 6.2 substitute &inetd; instead of
  612     &xinetd;): </para>
  614     <orderedlist>
  615     <listitem><para><emphasis>Best</emphasis>
  616         - If you have registered for Redhat's up2date
  617         service, just type "up2date xinetd" as
  618         root.</para></listitem>
  620     <listitem><para><emphasis>Next Best</emphasis>
  621         - Install RPM from updates.redhat.com (version
  622         numbers current as of 2002-11-10 for RH 7.3).  You
  623         can manually download the RPM and install it (as
  624         root) using <userinput>rpm -ivh
  625             xinetd-2.3.9-0.73.i386.rpm</userinput>, or have
  626         RPM download it for you by using (again, as root)
  627         <userinput>rpm -ivh
  628             http://updates.redhat.com/7.3/en/os/i386/xinetd-2.3.9-0.73.i386.rpm</userinput></para>
  629     </listitem>
  631     <listitem><para><emphasis>Worse</emphasis>
  632         - Install the RPM from the original CD.  This is usually the worse
  633         option because the updates (used above) are released to fix security issues.
  634         </para><para>
  635         (All as root) First mount the first RH CD by putting it in the CD-ROM and
  636         doing a <userinput>mount /mnt/cdrom</userinput>, and install the
  637         RPM similar to this: <userinput>cd
  638             /mnt/cdrom/Redhat/RPMS/xinetd-2.3.7-2.i386.rpm</userinput>.
  639     </para></listitem>
  640     </orderedlist>
  641 </sect1>
  642 </article>