Defining packages for a minimal Slackware Linux

What the Tags Mean

The Minimal Setup

The slackinst script installs only ADD tagged packages from A AP sets, then selects a few packages from N

iproute2 libmnl \   # rc.inet1 from current uses /sbin/ip
iputils \
libtirpc \      # and sshd want
net-tools \
network-scripts \
ntp \

and a few others ones because ADD tagged packages are not enough to get slackpkg up and running. Note gnupg and not gnupg2 is there.

which \
dialog \
slackpkg \
ncurses \
gnupg \
wget \
libunistring \

And to be able to pass through SSL and eventually validate certs

curl \          # /usr/share/curl/ca-bundle.crt
ca-certificates \   # wget git
perl \          # update-ca-certificates
openssl \       # update-ca-certificates uses /usr/bin/c_rehash

Additionally, we also select those for a decent and minimal system

man-pages \
diffutils \
file \
dhcp \          # dhclient
gpm \
gettext \       # bison wants
m4 \            # flex wants

Current now requires this

elogind"        # ps command wants

As a result, here’s what we got with -current (Jan 2021).

Nice to have (not included)

For the host command to work you will need

bind libxml2 lmdb libuv json-c

For tcpdump to work you will need

tcpdump libnl3 libpcap

A few more packages worth mentioning

#ksh93 \
#lynx \
#lftp \
#git \
#cyrus-sasl \
#htop \

#screen utempter

#jfsutils \
#iptables nftables \

#gnutls \
#dhcpcd \       # no need as we have dhclient from the dhcp package
#bonnie++ \
#rsync \

And those are pretty essential for system and network troubleshooting

# ntop has too much deps incl. X

The GnuPG Situation

gnupg (OPT) is needed by slackpkg (REC), although marked as OPT in the tagfile. Do not install gnupg2 (REC).

Install GnuPG v1, not v2. It is lighter and fits our needs. Check with,

gpg --version
ls -l /usr/bin/gpg2 #does not exist

In case it is GnuPG v2 you have got, this might be required to run slackpkg properly,

ln -s gpg2 /usr/bin/gpg


loose/relax search

find . -type f | grep -e "$pattern.*-[^-]+-[^-]+-[^-]+\.t[gx]z$"
unset pattern

precise package name search

find . -type f | grep -e "$pattern-[^-]+-[^-]+-[^-]+\.t[gx]z$"
unset pattern

and check the tag

grep $pattern */tagfile

Other minimal tag sets


list of official mandatory packages

# d l n
for set in a ap; do
    echo ADD packages from set $set
    egrep :ADD$ $set/tagfile | cut -f1 -d:

hadgis (Martti Kuparinen)


format it by line

sed -r 's/ +/\n/g' pastedlist.txt
#for f in `cat pastedlist.txt`; do echo $f; done; unset f

stip out the package version and print only the name,

sed -r 's/([^-]+)-[^-]+-[^-]++-[^-]+$/\1/' linedlist.txt
sed -r 's/^(.*)-[^-]+-[^-]+-[^-]+$/\1/' linedlist.txt

vbatts (Vincent Batts)


LXC templates

source: /usr/share/lxc/templates/lxc-slackware


18.4 Making Tags and Tagfiles (for setup) —> this guide is wrong

SSL ca-certificates missing but adding has unpredictable results

Are GnuPG 1 and GnuPG 2 compatible with each other?

other sources



Slackware Minimal (but no hardcore) Installation

Setting up a “small” Slackware install