77 lines
2.0 KiB
Bash
Executable File
77 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# Automatisation d'installation et configuration de BackupPC pour Windows 10 {{{
|
||
# via Bash on Ubuntu
|
||
# Institut de Physique de Rennes UMR6251
|
||
# Jérémy Gardais − Mail 2019
|
||
# }}}
|
||
# How-to use {{{
|
||
# With PowerShell
|
||
## This script can be launch with PowerShell :
|
||
## bash -c "./install_backuppc_windows_bash_on_linux.sh"
|
||
# }}}
|
||
|
||
# Variable {{{
|
||
## Valeur de fin
|
||
SUCCESS=0
|
||
ERROR=1
|
||
## Couleur {{{
|
||
BLACK='\033[49;30m'
|
||
BLACKB='\033[49;90m'
|
||
RED='\033[0;31m'
|
||
REDB='\033[1;31m'
|
||
GREEN='\033[0;32m'
|
||
YELLOW='\033[0;33m'
|
||
BLUE='\033[94;49m'
|
||
MAGENTA='\033[0;35m'
|
||
CYAN='\033[36;49m'
|
||
WHITE='\033[0;37m'
|
||
BOLD='\033[1m'
|
||
RESET='\033[0m'
|
||
## }}}
|
||
# }}}
|
||
# Fonctions {{{
|
||
|
||
function ensureSshdIsInstalled() ## {{{
|
||
{
|
||
### `command -v sshd` still return old value even after openssh-server was removed
|
||
### So we can't be sure of openssh-server state.
|
||
if ! hash sshd 2>/dev/null; then
|
||
printf '%b\n' "${BOLD}openssh-server non installé, tentative d'installation.${RESET}\\n"
|
||
|
||
if [ $(command -v aptitude) ]; then aptitude install -y --quiet=5 -- openssh-server > /dev/null
|
||
elif [ $(command -v apt) ]; then apt install -y openssh-server > /dev/null
|
||
elif [ $(command -v yum) ]; then yum install -y openssh-server
|
||
elif [ $(command -v zypper) ]; then zypper install -y openssh-server
|
||
else
|
||
printf '%b' "${REDB}Merci d’installer openssh-server sur votre machine, installation annulée.${RESET}\\n"
|
||
return "$ERROR"
|
||
fi
|
||
fi
|
||
}
|
||
## }}}
|
||
|
||
# }}}
|
||
|
||
# Gestion des paquets {{{
|
||
## Mettre à jour les dépôts
|
||
apt update -- > /dev/null 2>&1
|
||
|
||
## Installer aptitude
|
||
### aptitude permet une meilleure résolution des dépendances/erreurs/... que apt
|
||
### apt-get est déprécié au profit de apt ou aptitude
|
||
apt install -y -- aptitude > /dev/null 2>&1
|
||
|
||
## Mettre à jour le système
|
||
aptitude full-upgrade -y --quiet=5 > /dev/null
|
||
# }}}
|
||
# Gestion de SSH {{{
|
||
ensureSshdIsInstalled
|
||
if [ "$?" != "${SUCCESS}" ]; then
|
||
printf '%b' "${REDB}L'installation du serveur ssh a échoué, installation annulée.${RESET}\\n"
|
||
exit "${ERROR}"
|
||
fi
|
||
|
||
# }}}
|
||
exit "${SUCCESS}"
|