this is obsolete doc -- see http://doc.nethence.com/ instead
Slackware Linux configuration
Installation
For a very minimal slackware installation, use slackinst (http://pbraun.nethence.com/doc/sysutils_linux/slackware_slackinst.html), otherwise get those sets installed (ADD + REC tags are enought),
A
AP
D (gcc, make and kernel-headers)
# (K on second cdrom)
L (loads of libraries)
N
# (T on second cdrom)
# (X for a workstation)
# (XAP for a workstation)
Post-installation
You can login remotely by ssh as root by default.
Make it boot faster,
cd /etc/
cp lilo.conf lilo.conf.dist
vi lilo.conf
lba32
timeout = 50
lilo
Disable the time server, biff, auth,
cd /etc/
vi inetd.conf
#time stream tcp nowait root internal
#time dgram udp wait root internal
#comsat dgram udp wait root /usr/sbin/tcpd in.comsat
#auth stream tcp wait root /usr/sbin/in.identd in.identd
/etc/rc.d/rc.inetd restart
netstat -antpe --inet --inet6 | grep LISTEN
Create a wheeled (admin) user,
admin=adminuser
useradd -g users -G root $adminuser
passwd $adminuser
Now that the admin user has been created, you can clean-up the skeletons,
cd /etc/
mv skel/ skel.dist/
mkdir skel/
Either use 'timezone' or proceed manually,
cd /etc/
cat hardwareclock
#echo UTC > hardwareclock
ls -l localtime*
#ln -s /usr/share/zoneinfo/Europe/Paris localtime
Temporarily connect with DHCP (or copy/paste if you are on a serial terminal emulator) to fetch the network config scripts,
mkdir -p ~/bin/
cd ~/bin/
wget http://pbraun.nethence.com/scripts/sysutils/slack/config
wget http://pbraun.nethence.com/scripts/sysutils/slack/network.ksh
chmod +x config network.ksh
cp /etc/rc.d/rc.inet1 /etc/rc.d/rc.inet1.dist
chmod -x /etc/rc.d/rc.inet1.dist
./config
or just use,
netconfig
Secure SSH the SSH service,
cd ~/
mkdir -p .ssh/
cd .ssh/
vi authorized_keys
(paste your one-liner rsa or dsa public key here)
cd /etc/ssh/
cp sshd_config sshd_config.dist
vi sshd_config
PermitRootLogin without-password
AllowGroups root
apply,
/etc/rc.d/rc.sshd restart
Add a few aliases to the system-wide env,
cd /etc/
cp profile profile.dist
vi profile
source /etc/bashrc
vi bashrc
case "$-" in *i*)
alias ll='ls -alhF'
alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'
;;
esac
apply,
source /etc/profile
Deploy your custom gnu screen configs e.g.,
cd /etc/
mv screenrc screenrc.dist
wget http://pbraun.nethence.com/configs/misc/screenrc
cd ~/
wget http://pbraun.nethence.com/configs/misc/.screenrc
Configure syslog,
cd /etc/
mv syslog.conf syslog.conf.dist
cat > syslog.conf <<EOF9
*.* -/var/log/messages
EOF9
make sure the root group can watch the logs and other users can't,
cd /var/log/
ls -l messages
#disable syslogd MARKs,
# cd /etc/rc.d/
# vi rc.syslog
#add -m0 to lines 9 and10,
#echo -n "/usr/sbin/syslogd -m0 "
#/usr/sbin/syslogd -m0
apply,
/etc/rc.d/rc.syslog restart
Enable the NTP daemon as client,
cd /etc/
cp ntp.conf ntp.conf.dist
vi ntp.conf
server ntp.obspm.fr
apply,
chmod +x /etc/rc.d/rc.ntpd
/etc/rc.d/rc.ntpd restart
ntpq -p
Eventually add that handy local startup symlink,
cd /etc/
ls -l rc.local
ln -s rc.d/rc.local
Generate a first file index,
updatedb
ls -l /etc/cron.daily/slocate
Additional configurations
Enable your daemons more selectively,
cd /etc/rc.d/
chmod -x *
chmod +x rc.4 rc.6 rc.K rc.M rc.S rc.keymap rc.local rc.sshd rc.syslog rc.sysvinit rc.inet1 rc.inet2 rc.udev
#chmod +x rc.acpid
#chmod +x rc.gpm
#chmod +x rc.netdevice -- no need with a custom kernel
#chmod +x rc.nfsd
#chmod +x rc.rpc
#chmod +x rc.samba
#chmod +x rc.hald
#chmod +x rc.messagebus
#chmod +x rc.wireless
note. rc.udev is needed for xend to launch properly
note. no need for rc.pcmcia on a server
note. no need for rc.alsa on a server
note. no need for rc.yp with local or ldap auth
note. no need for rc.inetd for now
note. and for custom shutdown scripts eventually,
#chmod +x rc.local_shutdown
check,
ls -alkF | grep *$
Disable the pango shit,
chmod -x /usr/bin/update-gtk-immodules
chmod -x /usr/bin/update-gdk-pixbuf-loaders
chmod -x /usr/bin/update-pango-querymodules
#removepkg gtk+2 pango
Building the ISO
To build an isolinux image (starting with Slackware 8.0 upwards, 7.1 doesn't have the isolinux/ folder), you'll need at least those folders,
isolinux/
kernels/
slackware/ (with the sets you want)
note. the kernels/ folder is needed by the installer.
then use mkisofs,
mkisofs -o ../slackware.iso \
-R -J -A "Slackware Install" \
-hide-rr-moved \
-v -d -N \
-no-emul-boot -boot-load-size 4 -boot-info-table \
-sort isolinux/iso.sort \
-b isolinux/isolinux.bin \
-c isolinux/isolinux.boot \
-V "SlackCD" .
Framebuffer modes
As boot time kernel argument e.g.,
vga=791
Here's the avalable modes,
640x480 800x600 1024x768 1280x1024
256 (8bit) 769 771 773 775
32000 (15bit) 784 787 790 793
65000 (16bit) 785 788 791 794
16.7 Mill.(24bit) 786 789 792 795
Ref. http://fr.opensuse.org/SDB:Configurer_framebuffer_pour_des_cartes_graphiques_non_prises_en_charge_(GRUB)
NFS server
Choose RW or RO,
cd /etc/
vi exports
/tftpboot *(rw,async,no_subtree_check,no_root_squash)
chmod 755 /etc/rc.d/rc.nfsd
chmod 755 /etc/rc.d/rc.rpc
/etc/rc.d/rc.nfsd start
/etc/rc.d/rc.rpc start
and to reload the conf after changes,
exportfs -a
ref. http://docs.slackware.com/howtos:network_services:nfs-quick_and_dirty_setup
References
http://slackfr.org/doku.php