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