Next Version

This commit is contained in:
Andreas Fendt 2017-10-27 18:56:57 +02:00
parent 88dfc7d0d4
commit aed3d27681

View File

@ -1,31 +1,27 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# functions # check if root
function repository { if [[ $EUID -ne 0 ]]; then
apt-get install -y software-properties-common && ( echo "This script must be run as root" 1>&2
add-apt-repository -y ppa:ultradvorka/ppa exit 1
add-apt-repository -y ppa:webupd8team/java fi
)
}
function update-upgrade { # 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 update -y
apt-get upgrade -y apt-get upgrade -y
}
function common {
# get users directory # get users directory
root_user=$(grep ':0:' /etc/passwd | awk -F':' '{print $6}') root_user=$(grep ':0:' /etc/passwd | awk -F':' '{print $6}')
default_user=$(grep ':1000:' /etc/passwd | awk -F':' '{print $6}') default_user=$(egrep '\:100[0-9]\:' /etc/passwd | tail -n 1 | awk -F':' '{print $6}')
# default shell # default shell
apt-get install -y sudo mc tree pv vim mosh bash-completion apt-get install -y sudo mc tree pv vim bash-completion
# bash shell
apt-get install -y hh && (
grep HH_CONFIG /etc/bash.bashrc || \
hh --show-configuration >> /etc/bash.bashrc
)
# zsh shell # zsh shell
apt-get install -y zsh && ( apt-get install -y zsh && (
@ -36,7 +32,7 @@ function common {
cp -f /etc/zsh/newuser.zshrc.recommended $root_user/.zshrc cp -f /etc/zsh/newuser.zshrc.recommended $root_user/.zshrc
) )
# tmux # add tmux auto start
apt-get install -y tmux && ( apt-get install -y tmux && (
echo 'if [ "$TMUX" = "" ]; then tmux; fi' | cat - $default_user/.zshrc > \ echo 'if [ "$TMUX" = "" ]; then tmux; fi' | cat - $default_user/.zshrc > \
/tmp/.zshrc && mv /tmp/.zshrc $default_user/.zshrc /tmp/.zshrc && mv /tmp/.zshrc $default_user/.zshrc
@ -47,11 +43,10 @@ function common {
gddrescue smartmontools kpartx nmap gddrescue smartmontools kpartx nmap
# programming # programming
apt-get install -y git subversion libapache2-svn build-essential apt-get install -y git build-essential
# networking # networking
apt-get install -y nfs-common cifs-utils openvpn axel \ apt-get install -y nfs-common cifs-utils axel wget ethtool fping
wget ethtool fping
# misc. tools # misc. tools
apt-get install -y apt-file aptitude hexedit manpages-de apt-get install -y apt-file aptitude hexedit manpages-de
@ -64,9 +59,14 @@ function common {
grep "$config" $root_user/.vimrc || echo "$config" >> $root_user/.vimrc grep "$config" $root_user/.vimrc || echo "$config" >> $root_user/.vimrc
grep "$config" $default_user/.vimrc || echo "$config" >> $default_user/.vimrc grep "$config" $default_user/.vimrc || echo "$config" >> $default_user/.vimrc
done done
}
function common-end { # 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 # configure system
apt-get install -y console-data console-setup locales \ apt-get install -y console-data console-setup locales \
keyboard-configuration tzdata keyboard-configuration tzdata
@ -76,89 +76,3 @@ function common-end {
# run programs # run programs
apt-file update apt-file update
sensors-detect sensors-detect
}
function client-gui {
# programs
apt-get install -y firefox firefox-locale-de thunderbird \
thunderbird-locale-de keepassx filezilla vlc gparted \
wireshark kate
# IDE
apt-get install -y eclipse
# OpenJDK
apt-get install -y openjdk-6-jdk openjdk-6-source openjdk-6-demo \
openjdk-6-doc openjdk-6-jre-headless openjdk-6-jre-lib
apt-get install -y openjdk-7-jdk openjdk-7-source openjdk-7-demo \
openjdk-7-doc openjdk-7-jre-headless openjdk-7-jre-lib
apt-get install -y icedtea-7-plugin
# Oracle Java
apt-get install -y oracle-java7-installer oracle-java8-installer
# misc. tools
apt-get install -y git-gui bless
}
function client-gui-end {
# Java Plugin
update-alternatives --config mozilla-javaplugin.so
}
function server-gui {
# programs
apt-get install -y firefox firefox-locale-de thunderbird \
thunderbird-locale-de filezilla gparted wireshark kate
# ssh
apt-get install -y openssh-server
}
function server-cli {
# ssh
apt-get install -y openssh-server
}
# check if root
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root" 1>&2
exit 1
fi
# choose plattform
PS3='Please enter your system '
options=("client-gui" "server-cli" "server-gui" "quit")
select opt in "${options[@]}"
do
case $opt in
"client-gui")
update-upgrade
repository
common
client-gui
common-end
client-gui-end
break
;;
"server-cli")
update-upgrade
repository
common
server-cli
common-end
break
;;
"server-gui")
update-upgrade
repository
common
server-gui
common-end
break
;;
*)
echo invalid option
;;
esac
done