You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
1.6 KiB
93 lines
1.6 KiB
#!/usr/bin/env bash
|
|
|
|
set -eu
|
|
|
|
synopsis() {
|
|
cat << EOF
|
|
Usage : $(basename $0) [-h] system
|
|
EOF
|
|
}
|
|
|
|
help() {
|
|
cat << EOF
|
|
|
|
$(basename $0) initialise le fichier de configuration d'un système.
|
|
|
|
$(synopsis)
|
|
|
|
Le fichier de configuration du système est créé à partir du
|
|
modèle (config.template) du répertoire du réseau ou, à défaut,
|
|
du modèle config.template du répertoire de Vdn.
|
|
|
|
Pour modifier des variables du fichier de configuration consultez
|
|
la commande vdn-config. Le script build du répertoire d'un réseau
|
|
utilise $(basename $0).
|
|
|
|
Voir aussi les fichier build des répertoire des réseaux pour des
|
|
exemples de configurations.
|
|
|
|
-h : affiche cette aide
|
|
|
|
EOF
|
|
}
|
|
|
|
|
|
usage() {
|
|
synopsis
|
|
exit 1
|
|
}
|
|
|
|
args() {
|
|
local opt
|
|
while getopts "h" opt; do
|
|
case $opt in
|
|
h) help; exit 0;;
|
|
?) usage;;
|
|
esac
|
|
done
|
|
shift $(($OPTIND - 1))
|
|
[ $# -ne 1 ] && usage
|
|
|
|
GUEST_NAME="$1"
|
|
|
|
if echo "$GUEST_NAME" | grep -q '[[:space:]]'; then
|
|
error "$GUEST_NAME est un nom de système invalide"
|
|
fi
|
|
if echo $GUEST_NAME | grep -q '/'; then
|
|
error "$GUEST_NAME est un nom de système invalide"
|
|
fi
|
|
|
|
|
|
}
|
|
|
|
setIdentOld() {
|
|
tmp=$(mktemp)
|
|
cat $GUEST_CONF | sed -re 's/^IDENT=.*$/IDENT='$1'/' \
|
|
> $tmp
|
|
mv $tmp $GUEST_CONF 2> /dev/null
|
|
}
|
|
|
|
# Programme principal
|
|
|
|
VDN_PATH=$(readlink -f $(dirname $0)/..); . $VDN_PATH/bin/functions.sh
|
|
|
|
args "$@"
|
|
|
|
#isDefined $GUEST_NAME && error "$GUEST_PATH existe déjà"
|
|
|
|
GUEST_PATH="$NETWORK_DIR"
|
|
GUEST_CONF="$GUEST_PATH/$1.conf"
|
|
#IDENT=256
|
|
#computeNetworks
|
|
|
|
config=$NETWORK_DIR/config.template
|
|
[ ! -e $config ] && config=$VDN_PATH/config.template
|
|
|
|
echo "Build $GUEST_NAME..." >&2
|
|
|
|
cp $config $GUEST_CONF
|
|
|
|
#ident=$(vdn-find-ident)
|
|
#setIdent $ident
|
|
|