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.

Additional Downloads

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