heirloom-ng-250220

#### Supplemental Linux® From Scratch - Version 13.0

### Chapter 24. SVR4-style Tools

- Prev

  Introduction to the SVR4-style Tools

- Next

  star from schilytools-2024-03-21

- Up
- Home

# heirloom-ng-250220

## Introduction to heirloom-ng

The heirloom-ng package is a collection of standard Unix utilities that is intended to provide maximum compatibility with traditional Unix while incorporating additional features necessary for modern usage.

- Download: https://github.com/Projeto-Pindorama/heirloom-ng/archive/250220/heirloom-ng-250220.tar.gz

### Additional Downloads

- Required patch: https://www.linuxfromscratch.org/slfs/view/13.0/download/heirloom-ng/heirloom-ng-250220-no-static.patch

- Required patch: https://www.linuxfromscratch.org/slfs/view/13.0/download/heirloom-ng/heirloom-ng-59f7cc-dont-link-nonexistent-files.patch

### heirloom-ng Dependencies

#### Required

ed

## Installation of heirloom-ng

Apply a patch to avoid usage of static libraries:

    patch -Np1 -i ../heirloom-ng-250220-no-static.patch

Then, apply a patch to avoid a failure during installation:

    patch -Np1 -i ../heirloom-ng-59f7cc-dont-link-nonexistent-files.patch

Install heirloom-ng by running the following command:

    sed -i 's/\-ltinfo//g' build/mk.config &&
    CC="cc -std=gnu17" make

Now, as the `root` user:

    make install

As the `root` user, remove binaries also shipped by heirloom-doctools and heirloom-devtools:

    rm -vf /usr/5bin/col /usr/5bin/what

## Command Explanations

sed -i 's/\-ltinfo//g' build/mk.config: This command avoids linking against an Ncurses library that wasn't built in LFS.

## Contents

Installed Programs: STTY, apply, apropos, awk, banner, basename, bc, bdiff, bfs, cal, calendar, calprog, cat, catman, chgrp, chmod, chown, chroot, cksum, cmp, comm, copy, cp, cpio, csplit, cut, date, dc, dd, deroff, df, dfspace, diff, diff3, diff3prog, diffh, dircmp, dirname, du, echo, ed, egrep, env, expand, expr, factor, false, fgrep, file, find, fmt, fmtmsg, fold, getconf, getopt, grep, groups, hd, head, hostname, id, install, join, kill, lc, line, listusers, ln, logins, logname, ls, /usr/5bin/mail, man, mesg, mkdir, mkfifo, mknod, more, mt, mv, mvdir, nawk, newform, news, nice, nl, nohup, oawk, od, page, paste, pathchk, pax, pg, pgrep, pick, pkill, pr, printenv, printf, priocntl, ps, psrinfo, ptime, pwd, random, readlink, renice, rev, rm, rmdir, sdiff, sed, seq, setpgrp, settime, shl, sleep, sort, spell, split, stty, su, sum, sync, tabs, tail, tape, tapecntl, tar, tcopy, tee, test, time, timeout, touch, tr, true, tty, ul, uname, unexpand, uniq, units, uptime, users, w, wall, watch, wc, whatis, who, whoami, whodo, write, xargs, and yes
Installed Libraries: None
Installed Directories: /usr/5lib/spell, /usr/5lib/tmac, and /var/adm

### Short Descriptions

STTY | is a hard link to stty
apply | repeatedly applies a command to a group of arguments
apropos | locates commands by keyword lookup
awk | is a hard link to either oawk or nawk, depending on directory
banner | makes posters
basename | returns a non‐directory portion of a pathname
bc | is an arbitrary‐precision arithmetic calculator
bdiff | is a wrapper around diff with support for large files
bfs | is a read-only wrapper around ed with support for large files
cal | prints a calendar to the console
calendar | is a reminder service
calprog | is the backend for calendar
cat | concatenates and prints files
catman | creates the formatted files for the reference manual
chgrp | changes groups in file permissions
chmod | changes the mode of a file
chown | changes the owner of a file
chroot | runs a command with the specified directory as /
cksum | prints file checksums and sizes
cmp | compares two files
comm | selects or rejects lines common to two sorted files
copy | copies groups of files
cp | copies files
cpio | copies file archives in and out of CPIO format
csplit | reads a file and writes it in several portions
cut | removes selected fields of each line of a file
date | prints or sets the current date and time
dc | is a desk calculator
dd | converts and/or copies a file
deroff | removes nroff/troff, tbl and eqn constructs from a file
df | prints filesystem statistics
dfspace | is a hard link to df
diff | is a differential file comparison tool
diff3 | is a 3-way differential file comparison tool
diff3prog | is the backend for diff3
diffh | is the backend for diff -h
dircmp | compares directories to each other
dirname | returns the directory portion of a pathname
du | summarizes disk usage
echo | echoes text back to a console or file
ed | is a line-oriented text editor
egrep | searches a file for a pattern using full regular expressions
env | sets the environment for a command invocation
expand | converts tabs to spaces
expr | evaluates arguments as an expression
factor | factors a number
false | always returns a status of 255
fgrep | searches a file for a character string
file | determines a given file's type
find | finds files in a directory or filesystem
fmt | is a simple text formatter
fmtmsg | displays a message in q standard format
fold | folds long lines
getconf | retrieves system configuration values for a given database
getopt | parses command options
grep | searches a file for a pattern
groups | shows group memberships for the current user
hd | displays files in hexadecimal format
head | displays the first few lines of a file
hostname | sets or prints the name of the current system
id | prints user and group IDs and names for the current user
install | installs files onto a file system, allowing for customization of the permissions and location of the destination file
join | is the relational database operator
kill | terminates a process passed in as input
lc | lists the contents of a directory
line | reads a single line of input
listusers | prints a list of user logins on the system
ln | makes symbolic and hard links to files on the system
logins | lists current login information
logname | retrieves a given login name
ls | lists the contents of a directory
/usr/5bin/mail | sends or receives mail among users
man | finds and displays reference manual pages
mesg | permits or denies messages between users
mkdir | makes a directory in the filesystem
mkfifo | makes a FIFO special file
mknod | creates a device node
more | browses through a text file
mt | is the magnetic tape utility
mv | moves or renames files and directories
mvdir | moves a directory to a different location
nawk | is the new version of a program for manipulating text files
newform | changes the format of a text file
news | prints news items for the system
nice | runs a command at a lower priority
nl | is the line numbering filter
nohup | runs a command while ignoring hangups
oawk | is the old version of a program for manipulating text files
od | displays files in octal format
page | pages through a text file
paste | merges the same lines of several files or subsequent lines of one file
pathchk | checks pathnames
pax | is the Portable Archiver
pg | is the file perusal filter for CRTs
pgrep | finds processes by names and other attributes
pick | selects arguments to a program
pkill | signals processes by names and other attributes
pr | prints the files passed as input
printenv | prints the current environment to the console
printf | prints a text string with the printf format syntax
priocntl | controls the process scheduler
ps | prints the current process status
psrinfo | displays processor information for the system
ptime | times a command to determine how long it takes to execute
pwd | prints the working directory name
random | generates a random number
readlink | displays the target of a symbolic link
renice | alters the priority of running processes
rev | reverses the lines of a file
rm | removes files from the system
rmdir | removes directories from the system
sdiff | prints file differences side-by-side
sed | is the stream editor, used for making quick modifications to the text in a stream or file
seq | prints a sequence of numbers
setpgrp | sets a process's group ID and/or session ID
settime | changes the access and modification dates of files
shl | is the shell layer manager
sleep | suspends execution of a program for an interval of time
sort | sorts or merges files
spell | finds spelling errors in a file
split | splits a file into several pieces
stty | sets the options for a terminal
su | helps you become the superuser or another user
sum | summarizes and counts the blocks in a file
sync | updates the superblock for a filesystem
tabs | sets terminal tabs
tail | displays the last few lines of a file
tape | is a tool for magnetic tape maintenance
tapecntl | provides tape control for tape devices
tar | is the tape archiver
tcopy | copies a magnetic tape
tee | transcribes stdin to stdout while making a copy in a file
test | validates a condition during execution
time | times a given command
timeout | executes a command with a time limit
touch | updates file access and modification times
tr | translates characters
true | always returns a status of 0
tsort | topologically sorts entries
tty | gets the name of the current terminal
ul | underlines the text in a file
uname | gets the system name and other parameters
unexpand | converts spaces to tabs
uniq | reports repeated lines in a file
units | is a unit conversion program
uptime | shows how long a system has been up for
users | displays a compact list of users logged on
w | displays who is on and what they are doing
wall | writes a message to the TTY of all users
watch | executes a command repeatedly
wc | prints the word count of a file or other input
whatis | displays a one-line summary about a keyword
who | displays who is on the system
whoami | displays the current effective username
whodo | prints who is doing what on a system
write | writes a message to another user's terminal
xargs | constructs argument lists and executes commands
yes | prints a string repeatedly

- Prev

  Introduction to the SVR4-style Tools

- Next

  star from schilytools-2024-03-21

- Up
- Home