glfs/general/genlib/fam.xml
Randy McMurchy 4c288b0e0e Fixed typos in various Chapter 8 package instructions; substituted 'regular user' with 'unprivileged user' where appropriate
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@4800 af4574ff-66df-0310-9fd7-8a98e5e911e0
2005-07-27 16:35:22 +00:00

244 lines
7.7 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY fam-download-http "http://gd.tuwien.ac.at/opsys/linux/gentoo/distfiles/fam-&fam-version;.tar.gz">
<!ENTITY fam-download-ftp "ftp://oss.sgi.com/projects/fam/download/stable/fam-&fam-version;.tar.gz">
<!ENTITY fam-md5sum "1bf3ae6c0c58d3201afc97c6a4834e39">
<!ENTITY fam-size "301 KB">
<!ENTITY fam-buildsize "7.7 MB">
<!ENTITY fam-time "0.26 SBU">
]>
<sect1 id="fam" xreflabel="FAM-&fam-version;">
<?dbhtml filename="fam.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>FAM-&fam-version;</title>
<indexterm zone="fam">
<primary sortas="a-FAM">FAM</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to FAM</title>
<para>The <application>FAM</application> package contains a
File Alteration Monitor which is useful for notifying applications of
changes to the file system.</para>
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>Download (HTTP): <ulink url="&fam-download-http;"/></para>
</listitem>
<listitem>
<para>Download (FTP): <ulink url="&fam-download-ftp;"/></para>
</listitem>
<listitem>
<para>Download MD5 sum: &fam-md5sum;</para>
</listitem>
<listitem>
<para>Download size: &fam-size;</para>
</listitem>
<listitem>
<para>Estimated disk space required: &fam-buildsize;</para>
</listitem>
<listitem>
<para>Estimated build time: &fam-time;</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
<itemizedlist spacing='compact'>
<listitem>
<para>Dnotify patch (Recommended):
<ulink url="&patch-root;/fam-&fam-version;-dnotify-1.patch"/></para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">FAM Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para><xref linkend="portmap"/></para>
</sect2>
<sect2 role="installation">
<title>Installation of FAM</title>
<para>Install <application>FAM</application> by running the
following commands:</para>
<screen><userinput>patch -Np1 -i ../fam-&fam-version;-dnotify-1.patch &amp;&amp;
chmod -v 755 configure &amp;&amp;
autoreconf -f -i &amp;&amp;
./configure --prefix=/usr --sysconfdir=/etc &amp;&amp;
make</userinput></screen>
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>make install</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para><command>patch -Np1 -i ../fam-&fam-version;-dnotify-1.patch</command>:
This patch enables <application>FAM</application> to use
the Linux kernel dnotify mechanism to inform the calling process of
file modifications, rather than polling the file system for
modifications.</para>
<para><command>chmod -v 755 configure</command>: <command>configure</command> is
set to read-only and <command>autoreconf</command> will fail if the
permissions aren't changed.</para>
<para><command>autoreconf -f -i</command>: The autotools need rebuilding
because the dnotify patch affects <filename>configure.ac</filename> and
<filename>Makefile.am</filename>.</para>
</sect2>
<sect2 role="configuration">
<title>Configuring FAM</title>
<sect3 id='fam-config'>
<title>Config Files</title>
<para><filename>/etc/rpc</filename>,
<filename>/etc/fam.conf</filename>,
<filename>/etc/inetd.conf</filename> or
<filename>/etc/xinetd.conf</filename> or
<filename>/etc/xinetd.d/fam</filename></para>
<indexterm zone="fam fam-config">
<primary sortas="e-etc-rpc">/etc/rpc</primary>
</indexterm>
<indexterm zone="fam fam-config">
<primary sortas="e-etc-fam.conf">/etc/fam.conf</primary>
</indexterm>
<indexterm zone="fam fam-config">
<primary sortas="e-etc-inetd.conf">/etc/inetd.conf</primary>
</indexterm>
<indexterm zone="fam fam-config">
<primary sortas="e-etc-xinetd.conf">/etc/xinetd.conf</primary>
</indexterm>
<indexterm zone="fam fam-config">
<primary sortas="e-etc-xinetd.d-sgi_fam">/etc/xinetd.d/sgi_fam</primary>
</indexterm>
</sect3>
<sect3>
<title>Configuration Information</title>
<para>Configuring the File Alteration Monitor. Perform the following
instructions as the <systemitem class='username'>root</systemitem>
user.</para>
<para>If you use <command>inetd</command>, add the
<application>FAM</application> entry to
<filename>/etc/inetd.conf</filename> with the following command:</para>
<screen role="root"><userinput>echo "sgi_fam/1-2 stream rpc/tcp wait root /usr/sbin/famd fam" \
&gt;&gt; /etc/inetd.conf</userinput></screen>
<para>If you use <command>xinetd</command>, the following command will
create the <application>FAM</application> file as
<filename>/etc/xinetd.d/sgi_fam</filename> (be sure the
<systemitem class="groupname">nogroup</systemitem> group exists):</para>
<screen role="root"><userinput>cat &gt;&gt; /etc/xinetd.d/sgi_fam &lt;&lt; "EOF"
<literal># Begin /etc/xinetd.d/sgi_fam
# description: FAM - file alteration monitor
service sgi_fam
{
type = RPC UNLISTED
socket_type = stream
user = root
group = nogroup
server = /usr/sbin/famd
wait = yes
protocol = tcp
rpc_version = 2
rpc_number = 391002
}
# End /etc/xinetd.d/sgi_fam</literal>
EOF</userinput></screen>
<para id='fam-init'>If you do not have an <command>inetd</command> daemon
installed and have no wish to install one, you can also start
<command>famd</command> during system startup by installing the
<filename>/etc/rc.d/init.d/fam</filename> init script included in the
<xref linkend="intro-important-bootscripts"/> package.</para>
<screen role="root"><userinput>make install-fam</userinput></screen>
<indexterm zone="fam fam-init">
<primary sortas="f-fam">fam</primary>
</indexterm>
</sect3>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Program</segtitle>
<segtitle>Installed Library</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>famd</seg>
<seg>libfam.[so,a]</seg>
<seg>None</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="famd">
<term><command>famd</command></term>
<listitem>
<para>is the file alteration monitor daemon.</para>
<indexterm zone="fam famd">
<primary sortas="b-famd">famd</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libfam">
<term><filename class='libraryfile'>libfam.[so,a]</filename></term>
<listitem>
<para>contains functions that support the file allocation monitor.</para>
<indexterm zone="fam libfam">
<primary sortas="c-libfam">libfam.[so,a]</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>