123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611 |
- <?xml version="1.0" encoding="ISO-8859-1"?>
- <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
- <!ENTITY % general-entities SYSTEM "../general.ent">
- %general-entities;
- ]>
- <sect1 id="ch-system-util-linux" xreflabel="Util-linux" role="wrap">
- <title>Util-linux-&util-linux-version;</title>
- <?dbhtml filename="util-linux.html"?>
- <indexterm zone="ch-system-util-linux"><primary sortas="a-Util-linux">Util-linux</primary></indexterm>
- <sect2 role="package"><title/>
- <para>The Util-linux package contains miscellaneous utility programs. Among
- them are utilities for handling file systems, consoles, partitions, and
- messages.</para>
- <segmentedlist>
- <segtitle>&buildtime;</segtitle>
- <segtitle>&diskspace;</segtitle>
- <seglistitem><seg>0.2 SBU</seg><seg>16 MB</seg></seglistitem>
- </segmentedlist>
- <segmentedlist>
- <segtitle>Util-linux installation depends on</segtitle>
- <seglistitem><seg>Bash, Binutils, Coreutils,
- Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed, Zlib</seg></seglistitem>
- </segmentedlist>
- </sect2>
- <sect2 role="installation">
- <title>FHS compliance notes</title>
- <para>The FHS recommends that we use <filename class="directory">/var/lib/hwclock</filename>,
- instead of the usual <filename class="directory">/etc</filename>, as the location for the
- <filename>adjtime</filename> file. To make the <command>hwclock</command>
- program FHS-compliant, run the following:</para>
- <screen><userinput>sed -i 's@etc/adjtime@var/lib/hwclock/adjtime@g' hwclock/hwclock.c
- mkdir -p /var/lib/hwclock</userinput></screen>
- </sect2>
- <sect2 role="installation">
- <title>Installation of Util-linux</title>
- <para>Util-linux has issues with the Linux 2.6 kernel series - fix these isues
- by applying the following patch:</para>
- <screen><userinput>patch -Np1 -i ../util-linux-&util-linux-version;-kernel_headers-1.patch</userinput></screen>
- <para>Prepare Util-linux for compilation:</para>
- <screen><userinput>./configure</userinput></screen>
- <para>Compile the package:</para>
- <screen><userinput>make HAVE_KILL=yes HAVE_SLN=yes</userinput></screen>
- <para>The meaning of the make parameters:</para>
- <variablelist>
- <varlistentry>
- <term><parameter>HAVE_KILL=yes</parameter></term>
- <listitem><para>This prevents the
- <command>kill</command> program (already installed by Procps) from being
- built and installed again.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><parameter>HAVE_SLN=yes</parameter></term>
- <listitem><para>This prevents the
- <command>sln</command> program (a statically linked
- <command>ln</command> already installed by Glibc) from being built and
- installed again.</para></listitem>
- </varlistentry>
- </variablelist>
- <para>Now install the package:</para>
- <screen><userinput>make HAVE_KILL=yes HAVE_SLN=yes install</userinput></screen>
- </sect2>
- <sect2 id="contents-utillinux" role="content"><title>Contents of Util-linux</title>
- <segmentedlist>
- <segtitle>Installed programs</segtitle>
- <seglistitem><seg>agetty, arch, blockdev, cal, cfdisk, chkdupexe, col, colcrt,
- colrm, column, ctrlaltdel, cytune, ddate, dmesg, elvtune, fdformat, fdisk,
- fsck.cramfs, fsck.minix, getopt, hexdump, hwclock, ipcrm, ipcs, isosize, line,
- logger, look, losetup, mcookie, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap,
- more, mount, namei, pg, pivot_root, ramsize (link to rdev), raw, rdev, readprofile,
- rename, renice, rev, rootflags (link to rdev), script, setfdprm, setsid, setterm,
- sfdisk, swapoff (link to swapon), swapon, tunelp, ul, umount, vidmode (link to rdev),
- whereis and write</seg></seglistitem>
- </segmentedlist>
- <variablelist><title>Short descriptions</title>
- <varlistentry id="agetty">
- <term><command>agetty</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux agetty"><primary sortas="b-agetty">agetty</primary></indexterm>
- <para>opens a tty port, prompts for a login name,
- and then invokes the <command>login</command> program.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="arch">
- <term><command>arch</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux arch"><primary sortas="b-arch">arch</primary></indexterm>
- <para>reports the machine's architecture.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="blockdev">
- <term><command>blockdev</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux blockdev"><primary sortas="b-blockdev">blockdev</primary></indexterm>
- <para>allows you to call block device ioctls from the command line.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="cal">
- <term><command>cal</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux cal"><primary sortas="b-cal">cal</primary></indexterm>
- <para>displays a simple calendar.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="cfdisk">
- <term><command>cfdisk</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux cfdisk"><primary sortas="b-cfdisk">cfdisk</primary></indexterm>
- <para>is used to manipulate the partition table of the given device.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="chkdupexe">
- <term><command>chkdupexe</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux chkdupexe"><primary sortas="b-chkdupexe">chkdupexe</primary></indexterm>
- <para>finds duplicate executables.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="col">
- <term><command>col</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux col"><primary sortas="b-col">col</primary></indexterm>
- <para>filters out reverse line feeds.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="colcrt">
- <term><command>colcrt</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux colcrt"><primary sortas="b-colcrt">colcrt</primary></indexterm>
- <para>is used to filter nroff output for terminals
- that lack some capabilities such as overstriking and half-lines.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="colrm">
- <term><command>colrm</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux colrm"><primary sortas="b-colrm">colrm</primary></indexterm>
- <para>filters out the given columns.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="column">
- <term><command>column</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux column"><primary sortas="b-column">column</primary></indexterm>
- <para>formats a given file into multiple columns.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="ctrlaltdel">
- <term><command>ctrlaltdel</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux ctrlaltdel"><primary sortas="b-ctrlaltdel">ctrlaltdel</primary></indexterm>
- <para>sets the function of the Ctrl+Alt+Del key combination to a hard or a
- soft reset.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="cytune">
- <term><command>cytune</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux cytune"><primary sortas="b-cytune">cytune</primary></indexterm>
- <para>was used to tune the parameters of the
- serial line drivers for Cyclades cards.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="ddate">
- <term><command>ddate</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux ddate"><primary sortas="b-ddate">ddate</primary></indexterm>
- <para>gives the Discordian date, or converts the
- given Gregorian date to a Discordian one.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="dmesg">
- <term><command>dmesg</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux dmesg"><primary sortas="b-dmesg">dmesg</primary></indexterm>
- <para>dumps the kernel boot messages.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="elvtune">
- <term><command>elvtune</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux elvtune"><primary sortas="b-elvtune">elvtune</primary></indexterm>
- <para>can be used to tune the performance
- and interactivity of a block device.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="fdformat">
- <term><command>fdformat</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux fdformat"><primary sortas="b-fdformat">fdformat</primary></indexterm>
- <para>low-level formats a floppy disk.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="fdisk">
- <term><command>fdisk</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux fdisk"><primary sortas="b-fdisk">fdisk</primary></indexterm>
- <para>could be used to manipulate the partition table of the given device.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="fsck.cramfs">
- <term><command>fsck.cramfs</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux fsck.cramfs"><primary sortas="b-fsck.cramfs">fsck.cramfs</primary></indexterm>
- <para>performs a consistency check on the
- Cramfs file system on the given device.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="fsck.minix">
- <term><command>fsck.minix</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux fsck.minix"><primary sortas="b-fsck.minix">fsck.minix</primary></indexterm>
- <para>performs a consistency check on the
- Minix file system on the given device.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="getopt">
- <term><command>getopt</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux getopt"><primary sortas="b-getopt">getopt</primary></indexterm>
- <para>parses options in the given command line.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="hexdump">
- <term><command>hexdump</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux hexdump"><primary sortas="b-hexdump">hexdump</primary></indexterm>
- <para>dumps the given file in hexadecimal, or in another given format.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="hwclock">
- <term><command>hwclock</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux hwclock"><primary sortas="b-hwclock">hwclock</primary></indexterm>
- <para>is used to read or set the system's hardware clock, also called the RTC
- (Real-Time Clock) or BIOS (Basic Input-Output System) clock.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="ipcrm">
- <term><command>ipcrm</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux ipcrm"><primary sortas="b-ipcrm">ipcrm</primary></indexterm>
- <para>removes the given IPC resource.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="ipcs">
- <term><command>ipcs</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux ipcs"><primary sortas="b-ipcs">ipcs</primary></indexterm>
- <para>provides IPC status information.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="isosize">
- <term><command>isosize</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux isosize"><primary sortas="b-isosize">isosize</primary></indexterm>
- <para>reports the size of an iso9660 file system.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="line">
- <term><command>line</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux line"><primary sortas="b-line">line</primary></indexterm>
- <para>copies a single line.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="logger">
- <term><command>logger</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux logger"><primary sortas="b-logger">logger</primary></indexterm>
- <para>enters the given message into the system log.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="look">
- <term><command>look</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux look"><primary sortas="b-look">look</primary></indexterm>
- <para>displays lines that begin with the given string.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="losetup">
- <term><command>losetup</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux losetup"><primary sortas="b-losetup">losetup</primary></indexterm>
- <para>is used to set up and control loop devices.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="mcookie">
- <term><command>mcookie</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux mcookie"><primary sortas="b-mcookie">mcookie</primary></indexterm>
- <para>generates magic cookies, 128-bit random hexadecimal numbers,
- for <command>xauth</command>.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="mkfs">
- <term><command>mkfs</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux mkfs"><primary sortas="b-mkfs">mkfs</primary></indexterm>
- <para>is used to build a file system on a device
- (usually a hard disk partition).</para>
- </listitem>
- </varlistentry>
- <varlistentry id="mkfs.bfs">
- <term><command>mkfs.bfs</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux mkfs.bfs"><primary sortas="b-mkfs.bfs">mkfs.bfs</primary></indexterm>
- <para>creates an SCO (Santa Cruz Operations) bfs file system.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="mkfs.cramfs">
- <term><command>mkfs.cramfs</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux mkfs.cramfs"><primary sortas="b-mkfs.cramfs">mkfs.cramfs</primary></indexterm>
- <para>creates a cramfs file system.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="mkfs.minix">
- <term><command>mkfs.minix</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux mkfs.minix"><primary sortas="b-mkfs.minix">mkfs.minix</primary></indexterm>
- <para>creates a Minix file system.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="mkswap">
- <term><command>mkswap</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux mkswap"><primary sortas="b-mkswap">mkswap</primary></indexterm>
- <para>initializes the given device or file to be used as a swap area.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="more">
- <term><command>more</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux more"><primary sortas="b-more">more</primary></indexterm>
- <para>is a filter for paging through text one
- screen full at a time. But <command>less</command> is much better.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="mount">
- <term><command>mount</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux mount"><primary sortas="b-mount">mount</primary></indexterm>
- <para>attaches the file system on the given device to a specified directory (thus
- hiding the contents of that directory) in the file-system tree.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="namei">
- <term><command>namei</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux namei"><primary sortas="b-namei">namei</primary></indexterm>
- <para>shows the symbolic links in the given pathnames.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="pg">
- <term><command>pg</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux pg"><primary sortas="b-pg">pg</primary></indexterm>
- <para>displays a text file one screen full at a time.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="pivot_root">
- <term><command>pivot_root</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux pivot_root"><primary sortas="b-pivot_root">pivot_root</primary></indexterm>
- <para>makes the given file system the new
- root file system of the current process.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="ramsize">
- <term><command>ramsize</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux ramsize"><primary sortas="b-ramsize">ramsize</primary></indexterm>
- <para>is used to set the size of the RAM disk in a bootable image.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="rdev">
- <term><command>rdev</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux rdev"><primary sortas="b-rdev">rdev</primary></indexterm>
- <para>is used to query and set the root
- device and other things in a bootable image.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="readprofile">
- <term><command>readprofile</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux readprofile"><primary sortas="b-readprofile">readprofile</primary></indexterm>
- <para>reads kernel profiling information.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="rename">
- <term><command>rename</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux rename"><primary sortas="b-rename">rename</primary></indexterm>
- <para>renames the given files, replacing a given string with another.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="renice">
- <term><command>renice</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux renice"><primary sortas="b-renice">renice</primary></indexterm>
- <para>is used to alter the priority of running processes.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="rev">
- <term><command>rev</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux rev"><primary sortas="b-rev">rev</primary></indexterm>
- <para>reverses the lines of a given file.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="rootflags">
- <term><command>rootflags</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux rootflags"><primary sortas="b-rootflags">rootflags</primary></indexterm>
- <para>is used to set the rootflags in a bootable image.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="script">
- <term><command>script</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux script"><primary sortas="b-script">script</primary></indexterm>
- <para>makes a typescript of a terminal session, of everything printed to
- the terminal.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="setfdprm">
- <term><command>setfdprm</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux setfdprm"><primary sortas="b-setfdprm">setfdprm</primary></indexterm>
- <para>sets user-provided floppy disk parameters.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="setsid">
- <term><command>setsid</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux setsid"><primary sortas="b-setsid">setsid</primary></indexterm>
- <para>runs the given program in a new session.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="setterm">
- <term><command>setterm</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux setterm"><primary sortas="b-setterm">setterm</primary></indexterm>
- <para>is used to set terminal attributes.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="sfdisk">
- <term><command>sfdisk</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux sfdisk"><primary sortas="b-sfdisk">sfdisk</primary></indexterm>
- <para>is a disk partition table manipulator.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="swapdev">
- <term><command>swapdev</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux swapdev"><primary sortas="b-swapdev">swapdev</primary></indexterm>
- <para>is used to set the swap device in a bootable image.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="swapoff">
- <term><command>swapoff</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux swapoff"><primary sortas="b-swapoff">swapoff</primary></indexterm>
- <para>disables devices and files for paging and swapping.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="swapon">
- <term><command>swapon</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux swapon"><primary sortas="b-swapon">swapon</primary></indexterm>
- <para>enables devices and files for paging and swapping.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="tunelp">
- <term><command>tunelp</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux tunelp"><primary sortas="b-tunelp">tunelp</primary></indexterm>
- <para>is used to tune the parameters of the line printer.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="ul">
- <term><command>ul</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux ul"><primary sortas="b-ul">ul</primary></indexterm>
- <para>is a filter for translating underscores into
- escape sequences indicating underlining for the terminal in use.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="umount">
- <term><command>umount</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux umount"><primary sortas="b-umount">umount</primary></indexterm>
- <para>disconnects a file system from the system's file tree.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="vidmode">
- <term><command>vidmode</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux vidmode"><primary sortas="b-vidmode">vidmode</primary></indexterm>
- <para>could be used to set the video mode in a bootable image.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="whereis">
- <term><command>whereis</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux whereis"><primary sortas="b-whereis">whereis</primary></indexterm>
- <para>reports the location of binary, the
- source, and the manual page for the given command.</para>
- </listitem>
- </varlistentry>
- <varlistentry id="write">
- <term><command>write</command></term>
- <listitem>
- <indexterm zone="ch-system-util-linux write"><primary sortas="b-write">write</primary></indexterm>
- <para>sends a message to the given user,
- <emphasis>if</emphasis> that user has not disabled such messages.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </sect2>
- </sect1>
|