lfs/chapter07/util-linux.xml

222 lines
7.0 KiB
XML
Raw Permalink Normal View History

2024-01-18 19:53:23 +00:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-util-linux" role="wrap">
<?dbhtml filename="util-linux.html"?>
<sect1info condition="script">
<productname>util-linux</productname>
<productnumber>&util-linux-version;</productnumber>
<address>&util-linux-url;</address>
</sect1info>
<title>Util-linux-&util-linux-version;</title>
<indexterm zone="ch-tools-util-linux">
<primary sortas="a-Util-linux">Util-linux</primary>
<secondary>tools</secondary>
</indexterm>
<sect2 role="package">
<title/>
<para>The Util-linux package contains miscellaneous utility programs.</para>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem>
<seg>&util-linux-tmp-sbu;</seg>
<seg>&util-linux-tmp-du;</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Util-linux</title>
<para>The FHS recommends using the <filename
class="directory">/var/lib/hwclock</filename> directory instead of the
usual <filename class="directory">/etc</filename> directory as the
location for the <filename>adjtime</filename> file. Create this directory
with:</para>
<screen><userinput remap="pre">mkdir -pv /var/lib/hwclock</userinput></screen>
<para>Prepare Util-linux for compilation:</para>
<screen><userinput remap="configure">./configure --libdir=/usr/lib \
--runstatedir=/run \
--disable-chfn-chsh \
--disable-login \
--disable-nologin \
--disable-su \
--disable-setpriv \
--disable-runuser \
--disable-pylibmount \
--disable-static \
--disable-liblastlog2 \
--without-python \
ADJTIME_PATH=/var/lib/hwclock/adjtime \
--docdir=/usr/share/doc/util-linux-&util-linux-version;</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>
<varlistentry>
<term><parameter>ADJTIME_PATH=/var/lib/hwclock/adjtime</parameter></term>
<listitem>
<para>This sets the location of the file recording information about
2022-03-24 17:11:57 +00:00
the hardware clock in accordance to the FHS. This is not strictly
needed for this temporary tool, but it prevents creating a file
at another location, which would not be overwritten or removed
when building the final util-linux package.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--libdir=/usr/lib</parameter></term>
<listitem>
<para>This switch ensures the
<filename class="extension">.so</filename> symlinks targeting
the shared library file in the same directory
(<filename class="directory">/usr/lib</filename>) directly.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--disable-*</parameter></term>
<listitem>
<para>These switches prevent warnings about building components
that require packages not in LFS or not installed yet.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--without-python</parameter></term>
<listitem>
<para>This switch disables using <application>Python</application>.
It avoids trying to build unneeded bindings.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>runstatedir=/run</parameter></term>
<listitem>
<para>This switch sets the location of the socket used by
<command>uuidd</command> and
<filename class="libraryfile">libuuid</filename> correctly.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make install</userinput></screen>
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of Util-linux - 32-bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Util-linux for compilation:</para>
<screen><userinput remap="configure">CC="gcc -m32" \
2024-04-01 13:23:54 +01:00
./configure --host=i686-pc-linux-gnu \
2022-08-21 09:05:41 +01:00
--libdir=/usr/lib32 \
2024-04-01 13:23:54 +01:00
--runstatedir=/run \
--docdir=/usr/share/doc/util-linux-&util-linux-version; \
2024-04-01 13:23:54 +01:00
--disable-chfn-chsh \
--disable-login \
--disable-nologin \
--disable-su \
--disable-setpriv \
--disable-runuser \
--disable-pylibmount \
--disable-static \
--disable-liblastlog2 \
--without-python \
ADJTIME_PATH=/var/lib/hwclock/adjtime</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of Util-linux - x32-bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Util-linux for compilation:</para>
<screen><userinput remap="configure">CC="gcc -mx32" \
2024-04-01 13:23:54 +01:00
./configure --host=x86_64-pc-linux-gnux32 \
--libdir=/usr/libx32 \
--runstatedir=/run \
--docdir=/usr/share/doc/util-linux-&util-linux-version; \
2024-04-01 13:23:54 +01:00
--disable-chfn-chsh \
--disable-login \
--disable-nologin \
--disable-su \
--disable-setpriv \
--disable-runuser \
--disable-pylibmount \
--disable-static \
--disable-liblastlog2 \
--without-python \
ADJTIME_PATH=/var/lib/hwclock/adjtime</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- mx32 -->
<sect2 role="content">
<title/>
<para>Details on this package are located in <xref linkend="contents-utillinux" role="."/></para>
</sect2>
</sect1>