Slackware hackery

Termcap
Fed up with that crazy horizontal scrolling you get on the command line? Yearning for proper, wrapping text instead?
sudo cp -b -S.dist /etc/termcap-BSD /etc/termcap
Simple and effective.
Sendmail
Sendmail configuration is the ne plus ultra of the dark arts. However, Slackware has one or two little tricks to catch those foolish/confident enough to try. Top of the list is that the aliases file resides in /etc/mail and not one level above as in other distros. Here be dragons.
Also, the statistics file isn't enabled by default so you will need to add
O StatusFile=/etc/mail/statistics
to sendmail.cf and restart if you want to log the stats. The specified file should already exist.
The .mc file is at /usr/share/sendmail/cf/cf/sendmail-slackware.mc. It would be best to copy this somewhere else, modify that and then apply it with
m4 sendmail.mc > /etc/mail/sendmail.cf
Cron
Slackware uses dcron which is smaller than the crons used by other dists (vixie, cronie, chrony, etc.) but still fairly full-featured. There are some caveats, though.
- There is no
/etc/crontab
so don't create one and think it will do anything. - There is no username field in the
/etc/cron.d
entries (or in any other crontab files). - Changes to the entries in
/etc/cron.d
are not automatically picked up. Send a HUP to crond to activate them:sudo pkill -1 crond
- Nothing is logged by default (at level "notice"). If you want
job runs to be logged you'll need to drop this down to "info" or
below. It's set at launch in
/etc/rc.d/rc.M
with the-l
option. - There's no MAILTO variable so expect STDERR and STDOUT to be mailed to the user running the job even if you include MAILTO in the crontab file.
At
The batch limits need to be tweaked for any system with more than
one core. Edit /etc/rc.d/rc.M
and set the load limit to
something appropriate. eg. for a 4-core system:
/usr/sbin/atd -b 15 -l 3.8
Sometimes the ownership of the files and dirs used by at gets a bit messed up. A full fix appears to be (as root):
slackpkg reinstall at
chown daemon:daemon /var/spool/at* /var/spool/atjobs/.SEQ
chgrp daemon /etc/at.deny
Amavis
amavisd-new is available as a slackbuild but there are a couple of problems with the documentation.
- The command to add the amavis system user is given as
useradd -d -m /var/lib/amavis -s /bin/bash -u 211 -g 211 amavis
However, this fails on Slackware 14.2 because the -d expects the directory path to follow immediately and therefore it thinks that "-m" is the directory to use and it does not like the name. Simply reversing these two flags in the line fixes it. ie:useradd -m -d /var/lib/amavis -s /bin/bash -u 211 -g 211 amavis
- The README.SBo says:
RUNTIME DEPENDENCIES: ZeroMQ library -- since amavisd-new version > 2.8.x, depends heavily on ZeroMQ.
However, having used amavisd-new 2.11 on other distros for quite some time without using ZeroMQ at all this isn't the case. It seems that it is, if anything, only an optional extra. There is apparently no mention of it in the amavisd-new docs. Furthermore, the ZeroMQ module itself is deprecated as of version 0.22 (which was released back in 2012). It seems that ZeroMQ is neither required nor recommended anymore.
The image at the top of this page is from the Slackware graphics page. Everything else is copyright © Openstrike 2020.