install-script/install-debian.sh
Andreas Fendt d2aa306d87 Added auto detect
Removed cifs and nfs
Auto Update
2017-10-28 15:02:32 +02:00

80 lines
2.3 KiB
Bash

#!/usr/bin/env bash
# check if root
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root" 1>&2
exit 1
fi
# check if debian
if [ ! "$(grep -Ei 'debian|buntu' /etc/*release)" ]; then
echo "This script must be run on a debian system" 1>&2
exit 1
fi
# update system
apt-get update -y
apt-get dist-upgrade -y
apt-get autoclean -y
# get users directory
root_user=$(grep ':0:' /etc/passwd | awk -F':' '{print $6}')
default_user=$(egrep '\:100[0-9]\:' /etc/passwd | tail -n 1 | awk -F':' '{print $6}')
# default shell
apt-get install -y sudo mc tree pv vim bash-completion
# zsh shell
apt-get install -y zsh && (
sed -i -- 's/\/bin\/bash/\/bin\/zsh/' /etc/passwd
wget -O /etc/zsh/newuser.zshrc.recommended \
http://git.grml.org/f/grml-etc-core/etc/zsh/zshrc
cp -f /etc/zsh/newuser.zshrc.recommended $default_user/.zshrc
cp -f /etc/zsh/newuser.zshrc.recommended $root_user/.zshrc
)
# add tmux auto start
apt-get install -y tmux && (
echo 'if [ "$TMUX" = "" ]; then tmux; fi' | cat - $default_user/.zshrc > \
/tmp/.zshrc && mv /tmp/.zshrc $default_user/.zshrc
)
# diagnostics
apt-get install -y htop iotop iftop nmon powertop stress lm-sensors \
gddrescue smartmontools kpartx nmap
# programming
apt-get install -y git build-essential
# networking
apt-get install -y axel wget ethtool fping
# misc. tools
apt-get install -y apt-file aptitude hexedit manpages-de
# configure vim
touch $root_user/.vimrc $default_user/.vimrc
for config in "filetype plugin indent on" "set tabstop=4" "set shiftwidth=4" \
"set expandtab" "syntax enable" "set softtabstop=4" \
"set number" "set showcmd" "set cursorline"; do
grep "$config" $root_user/.vimrc || echo "$config" >> $root_user/.vimrc
grep "$config" $default_user/.vimrc || echo "$config" >> $default_user/.vimrc
done
# configure tmux
cat > /etc/tmux.conf <<EOL
bind '"' split-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
bind c new-window -c "#{pane_current_path}"
EOL
# configure system
apt-get install -y console-data console-setup locales \
keyboard-configuration tzdata
dpkg-reconfigure console-data console-setup locales \
keyboard-configuration tzdata
# run programs
apt-file update
sensors-detect --auto