After installing Slackware: a checklist
Should be done during installation:
- partitions
/etc/fstab/etc/mdadm.conf/etc/mkinitrd.conf/boot/grub/grub.cfg/etc/hosts/etc/rc.d/rc.inet1.conf- Software series:
- server:
a ap d e f k l n t tcl x y(i.e., all except forkde kdei xap xfce) - desktop: add
xapand removet(to be replaced with TeX Live)
- server:
After installation
# chmod -x /etc/profile.d/bsd-games-login-fortune.sh# ln -sf /usr/bin/vim /usr/bin/vior# ln -sf /usr/bin/gvim /usr/bin/vi.vimrc,.vim//etc/profile.d/lang.sh: comment outexport LANG=en_USand add
LANG=ru_RU.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_TIME=en_GB.UTF-8 LC_NUMERIC=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 export LANG LC_MESSAGES LC_TIME LC_NUMERIC LC_MONETARY
Preserve "export LC_COLLATE=C"
- Replace
/etc/termcapwith thetermcapfile from the xterm source because it has the xterm-256color entry
- Change the last line
:kb=^H:to:kb=\177:
/etc/resolv.conf/etc/profile.d/man.sh
alias man='LANG=C /usr/bin/man'
/etc/profile.d/promptcolors.sh
# Setup a magenta prompt for root and a blue one for users.
NORMAL="\[$(tput sgr0)\]"
MAGENTA="\[$(tput setaf 5)\]"
BLUE="\[$(tput setaf 4)\]"
if [[ $EUID == 0 ]] ; then
PS1="${MAGENTA}${PS1}${NORMAL}"
else
PS1="${BLUE}${PS1}${NORMAL}"
fi
- Set
ENCRYPT_METHOD SHA512in/etc/login.defsand re-create password for root - If the machine is not always on change the root crontab to
# root crontab # DO NOT EDIT THIS FILE MANUALLY! USE crontab -e INSTEAD # # If you don't want the output of a cron job mailed to you, you have to direct # any output to /dev/null. We'll do this here since these jobs should run # properly on a newly installed system. If a script fails, run-parts will # mail a notice to root. # # man 1 crontab for acceptable formats: # <minute> <hour> <day> <month> <dow> <tags and command> # <@freq> <tags and command> # SYSTEM DAILY/WEEKLY/... FOLDERS # @hourly ID=sys-hourly /usr/bin/run-parts /etc/cron.hourly 1> /dev/null @daily ID=sys-daily /usr/bin/run-parts /etc/cron.daily 1> /dev/null @weekly ID=sys-weekly /usr/bin/run-parts /etc/cron.weekly 1> /dev/null @monthly ID=sys-monthly /usr/bin/run-parts /etc/cron.monthly 1> /dev/null
# cp /usr/doc/dcron-*/extra/prune-cronstamps /etc/cron.d//etc/cron.daily/fstrim:
#!/bin/sh /sbin/fstrim /
- Create users (using
adduserscript) # usermod -a -G wheel user~/.bashrc:
source /etc/profile [ -f "$HOME/.bash_profile" ] && source "$HOME/.bash_profile"
~/.bash_profile:
# add user's private bin to PATH [ -d "$HOME/bin" ] && PATH="$PATH:$HOME/bin" EDITOR=/usr/bin/vi VISUAL=$EDITOR export PATH EDITOR VISUAL # don't put duplicate lines or lines starting with space in the history. HISTCONTROL=ignoreboth # append to the history file, don't overwrite it shopt -s histappend # for setting history length HISTSIZE=1000 HISTFILESIZE=2000 # check the window size after each command and, if necessary, # update the values of LINES and COLUMNS. shopt -s checkwinsize PS1="\[\e]0;\w\a\]$PS1" # set the xterm title to show the directory echo -e -n "\x1b[\x36 q" # make the cursor a bar instead of a box # Aliases and functions. for f in .bash_aliases .bash_functions; do [ -f "$HOME/$f" ] && source "$HOME/$f" done # Stop if not invoked by login shopt -q login_shell || return # start X [[ -z "$DISPLAY" && $EUID -ge 1000 && $(tty) =~ ^/dev/tty[12]$ ]] && /usr/bin/startx
.bash_logout
# Clear the screen.
# To clear the scroll-back buffer, we change the foreground virtual terminal
# to another terminal and then back to the original terminal
if [[ -z "$DISPLAY" && $SHLVL = 1 && $(tty) =~ ^/dev/tty[0-9]+$ ]]; then
clear
tty_num=$(echo $(tty) | grep -oE '[0-9]+$')
if [ $tty_num = 1 ]; then
chvt 2;
chvt 1;
else
chvt 1
chvt $tty_num
fi
fi
$ ssh-copy-id -i ~/.ssh/id_rsa.pub/etc/ssh/ssh_config
Host * AddressFamily inet
/etc/ssh/sshd_config
AddressFamily inet PermitRootLogin no PasswordAuthentication no PrintMotd no PrintLastLog no
- Remove
lilo - Upgrade kernel;
/etc/rc.d/rc.modules.local, blacklist unneeded modules # iucode_tool --scan-system=exact --overwrite --write-earlyfw=/boot/ucode.cpio intel-ucode/- Disable unneeded rc-files, e.g.,
# chmod -x rc.acpid rc.alsa rc.bluetooth rc.cgmanager rc.cgproxy rc.consolekit rc.gpm-sample rc.wireless - Configure a mirror and install all
patches # slackpkg install bash-completion# cp /usr/doc/git-*/contrib/completion/git-completion.bash /etc/bash_completion.d/~/.bash_completion- Install and configure
slackpkg+ # /usr/doc/slackpkg+-*/setupmultilib.shto configure and install multilib# sensors-detect. Add modules for lm_sensors to/etc/rc.d/rc.modules.local/etc/rc.d/rc.local
# Set all sensors limits as specified in the configuration file if [ -x /usr/bin/sensors ]; then /usr/bin/sensors -s fi # Ensure the existence of /var/lib/dbus/machine-id and /etc/machine-id if [ -x /usr/bin/dbus-uuidgen -a ! -x /etc/rc.d/rc.messagebus ] ; then echo "Ensure that /var/lib/dbus/machine-id exists: /usr/bin/dbus-uuidgen --ensure" /usr/bin/dbus-uuidgen --ensure fi if [ -f /var/lib/dbus/machine-id -a ! -e /etc/machine-id ] ; then ln -s /var/lib/dbus/machine-id /etc/machine-id fi
# slackpkg install ipmitool/etc/rc.d/rc.modules.local
# IPMI modules /sbin/modprobe ipmi_msghandler /sbin/modprobe ipmi_devintf /sbin/modprobe ipmi_si
/etc/smartd.conf. For HDD:
/dev/disk/by-id/ata-... -a -o on -S on -I 9 -I 190 -I 194 -m root -s (S/../.././04)
For SSD, substitute "S" in parentheses with "L".
To start smartd uncomment the corresponding lines in /etc/rc.d/rc.M. If the machine is not always on, add the option --savestates=/var/tmp/smartd.
- Creat
/etc/X11/xinit/xserverrc
#!/bin/sh exec /usr/bin/X -dpi 94
- Creat
/etc/sysctl.conf
# The Slackware default value is 98304; decreased here to avoid wine's warning # The value 65536 is suggested by the config help for # SECURITY_DEFAULT_MMAP_MIN_ADDR vm.mmap_min_addr=65536 # Increase the maximum number of inotify watches per user fs.inotify.max_user_watches=1048576
# chmod -x /usr/bin/dbus-launch; chattr +i /usr/bin/dbus-launch