mirror of
https://github.com/YunoHost/package_check.git
synced 2024-09-03 20:06:20 +02:00
Corrections lxc
This commit is contained in:
parent
141ea19e77
commit
76cd4f0596
5 changed files with 55 additions and 47 deletions
0
sub_scripts/log_extractor.sh
Normal file → Executable file
0
sub_scripts/log_extractor.sh
Normal file → Executable file
|
@ -17,18 +17,18 @@ then # $EUID est vide sur une exécution avec sudo. Et vaut 0 pour root
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
echo "Update et install lxc lxctl" | tee "$LOG_BUILD_LXC"
|
echo ">> Update et install lxc lxctl" | tee "$LOG_BUILD_LXC"
|
||||||
sudo apt-get update >> "$LOG_BUILD_LXC" 2>&1
|
sudo apt-get update >> "$LOG_BUILD_LXC" 2>&1
|
||||||
sudo apt-get install -y lxc lxctl >> "$LOG_BUILD_LXC" 2>&1
|
sudo apt-get install -y lxc lxctl >> "$LOG_BUILD_LXC" 2>&1
|
||||||
|
|
||||||
echo "Création d'une machine debian jessie minimaliste" | tee -a "$LOG_BUILD_LXC"
|
echo ">> Création d'une machine debian jessie minimaliste" | tee -a "$LOG_BUILD_LXC"
|
||||||
sudo lxc-create -n $LXC_NAME -t debian -- -r jessie >> "$LOG_BUILD_LXC" 2>&1
|
sudo lxc-create -n $LXC_NAME -t debian -- -r jessie >> "$LOG_BUILD_LXC" 2>&1
|
||||||
|
|
||||||
echo "Autoriser l'ip forwarding, pour router vers la machine virtuelle." | tee -a "$LOG_BUILD_LXC"
|
echo ">> Autoriser l'ip forwarding, pour router vers la machine virtuelle." | tee -a "$LOG_BUILD_LXC"
|
||||||
echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/lxc_pchecker.conf >> "$LOG_BUILD_LXC" 2>&1
|
echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/lxc_pchecker.conf >> "$LOG_BUILD_LXC" 2>&1
|
||||||
sudo sysctl -p /etc/sysctl.d/lxc_pchecker.conf >> "$LOG_BUILD_LXC" 2>&1
|
sudo sysctl -p /etc/sysctl.d/lxc_pchecker.conf >> "$LOG_BUILD_LXC" 2>&1
|
||||||
|
|
||||||
echo "Ajoute un brige réseau pour la machine virtualisée" | tee -a "$LOG_BUILD_LXC"
|
echo ">> Ajoute un brige réseau pour la machine virtualisée" | tee -a "$LOG_BUILD_LXC"
|
||||||
echo | sudo tee /etc/network/interfaces.d/lxc-pchecker <<EOF >> "$LOG_BUILD_LXC" 2>&1
|
echo | sudo tee /etc/network/interfaces.d/lxc-pchecker <<EOF >> "$LOG_BUILD_LXC" 2>&1
|
||||||
auto lxc-pchecker
|
auto lxc-pchecker
|
||||||
iface lxc-pchecker inet static
|
iface lxc-pchecker inet static
|
||||||
|
@ -38,41 +38,41 @@ iface lxc-pchecker inet static
|
||||||
bridge_maxwait 0
|
bridge_maxwait 0
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
echo "Active le bridge réseau" | tee -a "$LOG_BUILD_LXC"
|
echo ">> Active le bridge réseau" | tee -a "$LOG_BUILD_LXC"
|
||||||
sudo ifup lxc-pchecker >> "$LOG_BUILD_LXC" 2>&1
|
sudo ifup lxc-pchecker >> "$LOG_BUILD_LXC" 2>&1
|
||||||
|
|
||||||
echo "Configuration réseau du conteneur" | tee -a "$LOG_BUILD_LXC"
|
echo ">> Configuration réseau du conteneur" | tee -a "$LOG_BUILD_LXC"
|
||||||
sudo sed -i 's/^lxc.network.type = empty$/lxc.network.type = veth\nlxc.network.flags = up\nlxc.network.link = lxc-pchecker\nlxc.network.name = eth0\nlxc.network.veth.pair = $LXC_NAME\nlxc.network.hwaddr = 00:FF:AA:00:00:01/' /var/lib/lxc/$LXC_NAME/config >> "$LOG_BUILD_LXC" 2>&1
|
sudo sed -i 's/^lxc.network.type = empty$/lxc.network.type = veth\nlxc.network.flags = up\nlxc.network.link = lxc-pchecker\nlxc.network.name = eth0\nlxc.network.veth.pair = $LXC_NAME\nlxc.network.hwaddr = 00:FF:AA:00:00:01/' /var/lib/lxc/$LXC_NAME/config >> "$LOG_BUILD_LXC" 2>&1
|
||||||
|
|
||||||
echo "Configuration réseau de la machine virtualisée" | tee -a "$LOG_BUILD_LXC"
|
echo ">> Configuration réseau de la machine virtualisée" | tee -a "$LOG_BUILD_LXC"
|
||||||
sudo sed -i "s@iface eth0 inet dhcp@iface eth0 inet static\n\taddress $PLAGE_IP.2/24\n\tgateway $PLAGE_IP.1@" /var/lib/lxc/$LXC_NAME/rootfs/etc/network/interfaces >> "$LOG_BUILD_LXC" 2>&1
|
sudo sed -i "s@iface eth0 inet dhcp@iface eth0 inet static\n\taddress $PLAGE_IP.2/24\n\tgateway $PLAGE_IP.1@" /var/lib/lxc/$LXC_NAME/rootfs/etc/network/interfaces >> "$LOG_BUILD_LXC" 2>&1
|
||||||
|
|
||||||
echo "Configure le parefeu" | tee -a "$LOG_BUILD_LXC"
|
echo ">> Configure le parefeu" | tee -a "$LOG_BUILD_LXC"
|
||||||
sudo iptables -A FORWARD -i lxc-pchecker -o eth0 -j ACCEPT >> "$LOG_BUILD_LXC" 2>&1
|
sudo iptables -A FORWARD -i lxc-pchecker -o eth0 -j ACCEPT >> "$LOG_BUILD_LXC" 2>&1
|
||||||
sudo iptables -A FORWARD -i eth0 -o lxc-pchecker -j ACCEPT >> "$LOG_BUILD_LXC" 2>&1
|
sudo iptables -A FORWARD -i eth0 -o lxc-pchecker -j ACCEPT >> "$LOG_BUILD_LXC" 2>&1
|
||||||
sudo iptables -t nat -A POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE >> "$LOG_BUILD_LXC" 2>&1
|
sudo iptables -t nat -A POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE >> "$LOG_BUILD_LXC" 2>&1
|
||||||
|
|
||||||
echo "Démarrage de la machine" | tee -a "$LOG_BUILD_LXC"
|
echo ">> Démarrage de la machine" | tee -a "$LOG_BUILD_LXC"
|
||||||
sudo lxc-start -n $LXC_NAME -d >> "$LOG_BUILD_LXC" 2>&1
|
sudo lxc-start -n $LXC_NAME -d >> "$LOG_BUILD_LXC" 2>&1
|
||||||
sleep 3
|
sleep 3
|
||||||
sudo lxc-ls -f >> "$LOG_BUILD_LXC" 2>&1
|
sudo lxc-ls -f >> "$LOG_BUILD_LXC" 2>&1
|
||||||
|
|
||||||
echo "Update et install tasksel sudo git" | tee -a "$LOG_BUILD_LXC"
|
echo ">> Update et install tasksel sudo git" | tee -a "$LOG_BUILD_LXC"
|
||||||
sudo lxc-attach -n $LXC_NAME -- apt-get update
|
sudo lxc-attach -n $LXC_NAME -- apt-get update
|
||||||
sudo lxc-attach -n $LXC_NAME -- apt-get install -y tasksel sudo git
|
sudo lxc-attach -n $LXC_NAME -- apt-get install -y tasksel sudo git
|
||||||
echo "Installation des paquets standard et ssh-server" | tee -a "$LOG_BUILD_LXC"
|
echo "Installation des paquets standard et ssh-server" | tee -a "$LOG_BUILD_LXC"
|
||||||
sudo lxc-attach -n $LXC_NAME -- tasksel install standard ssh-server
|
sudo lxc-attach -n $LXC_NAME -- tasksel install standard ssh-server
|
||||||
|
|
||||||
echo "Renseigne /etc/hosts sur l'invité" | tee -a "$LOG_BUILD_LXC"
|
echo ">> Renseigne /etc/hosts sur l'invité" | tee -a "$LOG_BUILD_LXC"
|
||||||
sudo lxc-attach -n $LXC_NAME -- echo "127.0.0.1 $LXC_NAME" | sudo tee -a /var/lib/lxc/$LXC_NAME/rootfs/etc/hosts >> "$LOG_BUILD_LXC" 2>&1
|
sudo lxc-attach -n $LXC_NAME -- echo "127.0.0.1 $LXC_NAME" | sudo tee -a /var/lib/lxc/$LXC_NAME/rootfs/etc/hosts >> "$LOG_BUILD_LXC" 2>&1
|
||||||
|
|
||||||
echo "Ajoute l'user pchecker" | tee -a "$LOG_BUILD_LXC"
|
echo ">> Ajoute l'user pchecker" | tee -a "$LOG_BUILD_LXC"
|
||||||
sudo lxc-attach -n $LXC_NAME -- useradd -m -p pchecker pchecker >> "$LOG_BUILD_LXC" 2>&1
|
sudo lxc-attach -n $LXC_NAME -- useradd -m -p pchecker pchecker >> "$LOG_BUILD_LXC" 2>&1
|
||||||
|
|
||||||
echo "Autorise pchecker à utiliser sudo sans mot de passe" | tee -a "$LOG_BUILD_LXC"
|
echo ">> Autorise pchecker à utiliser sudo sans mot de passe" | tee -a "$LOG_BUILD_LXC"
|
||||||
echo "pchecker ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee -a /var/lib/lxc/$LXC_NAME/rootfs/etc/sudoers >> "$LOG_BUILD_LXC" 2>&1
|
echo "pchecker ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee -a /var/lib/lxc/$LXC_NAME/rootfs/etc/sudoers >> "$LOG_BUILD_LXC" 2>&1
|
||||||
|
|
||||||
echo "Mise en place de la connexion ssh vers l'invité." | tee -a "$LOG_BUILD_LXC"
|
echo ">> Mise en place de la connexion ssh vers l'invité." | tee -a "$LOG_BUILD_LXC"
|
||||||
ssh-keygen -t dsa -f $HOME/.ssh/$LXC_NAME -P '' >> "$LOG_BUILD_LXC" 2>&1
|
ssh-keygen -t dsa -f $HOME/.ssh/$LXC_NAME -P '' >> "$LOG_BUILD_LXC" 2>&1
|
||||||
sudo mkdir /var/lib/lxc/$LXC_NAME/rootfs/home/pchecker/.ssh >> "$LOG_BUILD_LXC" 2>&1
|
sudo mkdir /var/lib/lxc/$LXC_NAME/rootfs/home/pchecker/.ssh >> "$LOG_BUILD_LXC" 2>&1
|
||||||
sudo cp $HOME/.ssh/$LXC_NAME.pub /var/lib/lxc/$LXC_NAME/rootfs/home/pchecker/.ssh/authorized_keys >> "$LOG_BUILD_LXC" 2>&1
|
sudo cp $HOME/.ssh/$LXC_NAME.pub /var/lib/lxc/$LXC_NAME/rootfs/home/pchecker/.ssh/authorized_keys >> "$LOG_BUILD_LXC" 2>&1
|
||||||
|
@ -86,40 +86,45 @@ User pchecker
|
||||||
IdentityFile $HOME/.ssh/$LXC_NAME
|
IdentityFile $HOME/.ssh/$LXC_NAME
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
echo -e "\007" # bell
|
||||||
ssh $ARG_SSH $LXC_NAME "exit 0" # Initie une premier connexion SSH pour valider la clé.
|
ssh $ARG_SSH $LXC_NAME "exit 0" # Initie une premier connexion SSH pour valider la clé.
|
||||||
if [ "$?" -ne 0 ]; then # Si l'utilisateur tarde trop, la connexion sera refusée... ???
|
if [ "$?" -ne 0 ]; then # Si l'utilisateur tarde trop, la connexion sera refusée... ???
|
||||||
ssh $ARG_SSH $LXC_NAME "exit 0" # Initie une premier connexion SSH pour valider la clé.
|
ssh $ARG_SSH $LXC_NAME "exit 0" # Initie une premier connexion SSH pour valider la clé.
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ssh $ARG_SSH $LXC_NAME "git clone https://github.com/YunoHost/install_script /tmp/install_script" >> "$LOG_BUILD_LXC" 2>&1
|
ssh $ARG_SSH $LXC_NAME "git clone https://github.com/YunoHost/install_script /tmp/install_script" >> "$LOG_BUILD_LXC" 2>&1
|
||||||
echo "Installation de Yunohost..." | tee -a "$LOG_BUILD_LXC"
|
echo ">> Installation de Yunohost..." | tee -a "$LOG_BUILD_LXC"
|
||||||
ssh $ARG_SSH $LXC_NAME "cd /tmp/install_script; sudo ./install_yunohost -a" | tee -a "$LOG_BUILD_LXC" 2>&1
|
ssh $ARG_SSH $LXC_NAME "cd /tmp/install_script; sudo ./install_yunohost -a" | tee -a "$LOG_BUILD_LXC" 2>&1
|
||||||
echo "Post install Yunohost" | tee -a "$LOG_BUILD_LXC"
|
echo ">> Post install Yunohost" | tee -a "$LOG_BUILD_LXC"
|
||||||
ssh $ARG_SSH $LXC_NAME "sudo yunohost tools postinstall --domain $DOMAIN --password $YUNO_PWD" | tee -a "$LOG_BUILD_LXC" 2>&1
|
ssh $ARG_SSH $LXC_NAME "sudo yunohost tools postinstall --domain $DOMAIN --password $YUNO_PWD" | tee -a "$LOG_BUILD_LXC" 2>&1
|
||||||
|
|
||||||
USER_TEST=$(cat ../package_check.sh | grep USER_TEST= | cut -d '=' -f2)
|
USER_TEST=$(cat ../package_check.sh | grep USER_TEST= | cut -d '=' -f2)
|
||||||
PASSWORD_TEST=$(cat ../package_check.sh | grep PASSWORD_TEST= | cut -d '=' -f2)
|
PASSWORD_TEST=$(cat ../package_check.sh | grep PASSWORD_TEST= | cut -d '=' -f2)
|
||||||
SOUS_DOMAIN="sous.$DOMAIN"
|
SOUS_DOMAIN="sous.$DOMAIN"
|
||||||
echo "Le mot de passe Yunohost est \'$YUNO_PWD\'"
|
echo -e "\007" # bell
|
||||||
echo "Ajout du sous domaine de test" | tee -a "$LOG_BUILD_LXC"
|
echo ">> Le mot de passe Yunohost est \'$YUNO_PWD\'"
|
||||||
|
echo ">> Ajout du sous domaine de test" | tee -a "$LOG_BUILD_LXC"
|
||||||
ssh $ARG_SSH $LXC_NAME "sudo yunohost domain add \"$SOUS_DOMAIN\""
|
ssh $ARG_SSH $LXC_NAME "sudo yunohost domain add \"$SOUS_DOMAIN\""
|
||||||
USER_TEST_CLEAN=${USER_TEST//"_"/""}
|
USER_TEST_CLEAN=${USER_TEST//"_"/""}
|
||||||
echo "Ajout de l'utilisateur de test" | tee -a "$LOG_BUILD_LXC"
|
echo -e "\007" # bell
|
||||||
|
echo ">> Le mot de passe Yunohost est \'$YUNO_PWD\'"
|
||||||
|
echo ">> Ajout de l'utilisateur de test" | tee -a "$LOG_BUILD_LXC"
|
||||||
ssh $ARG_SSH $LXC_NAME "sudo yunohost user create --firstname \"$USER_TEST_CLEAN\" --mail \"$USER_TEST_CLEAN@$DOMAIN\" --lastname \"$USER_TEST_CLEAN\" --password \"$PASSWORD_TEST\" \"$USER_TEST\""
|
ssh $ARG_SSH $LXC_NAME "sudo yunohost user create --firstname \"$USER_TEST_CLEAN\" --mail \"$USER_TEST_CLEAN@$DOMAIN\" --lastname \"$USER_TEST_CLEAN\" --password \"$PASSWORD_TEST\" \"$USER_TEST\""
|
||||||
|
|
||||||
echo -e "\nVérification de l'état de Yunohost" | tee -a "$LOG_BUILD_LXC"
|
echo -e "\n>> Vérification de l'état de Yunohost" | tee -a "$LOG_BUILD_LXC"
|
||||||
ssh $ARG_SSH $LXC_NAME "sudo yunohost -v" | tee -a "$LOG_BUILD_LXC" 2>&1
|
ssh $ARG_SSH $LXC_NAME "sudo yunohost -v" | tee -a "$LOG_BUILD_LXC" 2>&1
|
||||||
|
|
||||||
|
|
||||||
echo "Arrêt de la machine virtualisée" | tee -a "$LOG_BUILD_LXC"
|
echo -e "\007" # bell
|
||||||
|
echo ">> Arrêt de la machine virtualisée" | tee -a "$LOG_BUILD_LXC"
|
||||||
sudo lxc-stop -n $LXC_NAME >> "$LOG_BUILD_LXC" 2>&1
|
sudo lxc-stop -n $LXC_NAME >> "$LOG_BUILD_LXC" 2>&1
|
||||||
|
|
||||||
echo "Suppression des règles de parefeu" | tee -a "$LOG_BUILD_LXC"
|
echo ">> Suppression des règles de parefeu" | tee -a "$LOG_BUILD_LXC"
|
||||||
sudo iptables -D FORWARD -i lxc-pchecker -o eth0 -j ACCEPT >> "$LOG_BUILD_LXC" 2>&1
|
sudo iptables -D FORWARD -i lxc-pchecker -o eth0 -j ACCEPT >> "$LOG_BUILD_LXC" 2>&1
|
||||||
sudo iptables -D FORWARD -i eth0 -o lxc-pchecker -j ACCEPT >> "$LOG_BUILD_LXC" 2>&1
|
sudo iptables -D FORWARD -i eth0 -o lxc-pchecker -j ACCEPT >> "$LOG_BUILD_LXC" 2>&1
|
||||||
sudo iptables -t nat -D POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE >> "$LOG_BUILD_LXC" 2>&1
|
sudo iptables -t nat -D POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE >> "$LOG_BUILD_LXC" 2>&1
|
||||||
sudo ifdown lxc-pchecker >> "$LOG_BUILD_LXC" 2>&1
|
sudo ifdown lxc-pchecker >> "$LOG_BUILD_LXC" 2>&1
|
||||||
|
|
||||||
echo "Création d'un snapshot" | tee -a "$LOG_BUILD_LXC"
|
echo ">> Création d'un snapshot" | tee -a "$LOG_BUILD_LXC"
|
||||||
sudo lxc-snapshot -n $LXC_NAME >> "$LOG_BUILD_LXC" 2>&1
|
sudo lxc-snapshot -n $LXC_NAME >> "$LOG_BUILD_LXC" 2>&1
|
||||||
# Il sera nommé snap0 et stocké dans /var/lib/lxcsnaps/$LXC_NAME/snap0/
|
# Il sera nommé snap0 et stocké dans /var/lib/lxcsnaps/$LXC_NAME/snap0/
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
LXC_NAME=$(cat sub_scripts/lxc_build.sh | grep LXC_NAME= | cut -d '=' -f2)
|
LXC_NAME=$(cat lxc_build.sh | grep LXC_NAME= | cut -d '=' -f2)
|
||||||
|
|
||||||
# Check root
|
# Check root
|
||||||
CHECK_ROOT=$EUID
|
CHECK_ROOT=$EUID
|
||||||
|
@ -11,24 +11,25 @@ then # $EUID est vide sur une exécution avec sudo. Et vaut 0 pour root
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Retire l'ip forwarding."
|
echo ">> Retire l'ip forwarding."
|
||||||
sudo rm /etc/sysctl.d/lxc_pchecker.conf
|
sudo rm /etc/sysctl.d/lxc_pchecker.conf
|
||||||
sudo sysctl -p
|
sudo sysctl -p
|
||||||
|
|
||||||
echo "Désactive le bridge réseau"
|
echo ">> Désactive le bridge réseau"
|
||||||
sudo ifdown lxc-pchecker
|
sudo ifdown lxc-pchecker
|
||||||
|
|
||||||
echo "Supprime le brige réseau"
|
echo ">> Supprime le brige réseau"
|
||||||
sudo rm /etc/network/interfaces.d/lxc-pchecker
|
sudo rm /etc/network/interfaces.d/lxc-pchecker
|
||||||
|
|
||||||
echo "Suppression de la machine et de son snapshots"
|
echo ">> Suppression de la machine et de son snapshots"
|
||||||
|
sudo lxc-stop -n $LXC_NAME
|
||||||
sudo lxc-snapshot -n $LXC_NAME -d snap0
|
sudo lxc-snapshot -n $LXC_NAME -d snap0
|
||||||
sudo rm -f /var/lib/lxcsnaps/$LXC_NAME/snap0.tar.gz
|
sudo rm -f /var/lib/lxcsnaps/$LXC_NAME/snap0.tar.gz
|
||||||
sudo lxc-destroy -n $LXC_NAME -f
|
sudo lxc-destroy -n $LXC_NAME -f
|
||||||
|
|
||||||
echo "Remove lxc lxctl"
|
echo ">> Remove lxc lxctl"
|
||||||
sudo apt-get remove lxc lxctl
|
sudo apt-get remove lxc lxctl
|
||||||
|
|
||||||
echo "Suppression des lignes de pchecker_lxc dans .ssh/config"
|
echo ">> Suppression des lignes de pchecker_lxc dans .ssh/config"
|
||||||
BEGIN_LINE=$(cat $HOME/.ssh/config | grep -n "^# ssh pchecker_lxc$" | cut -d':' -f 1)
|
BEGIN_LINE=$(cat $HOME/.ssh/config | grep "^# ssh pchecker_lxc$")
|
||||||
sed -i "$BEGIN_LINE,/^IdentityFile/d" $HOME/.ssh/config
|
sed -i "/^$BEGIN_LINE$/,/^IdentityFile$/d" $HOME/.ssh/config
|
||||||
|
|
32
sub_scripts/lxc_upgrade.sh
Normal file → Executable file
32
sub_scripts/lxc_upgrade.sh
Normal file → Executable file
|
@ -1,15 +1,15 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
PLAGE_IP=$(cat sub_scripts/lxc_build.sh | grep PLAGE_IP= | cut -d '"' -f2)
|
PLAGE_IP=$(cat lxc_build.sh | grep PLAGE_IP= | cut -d '"' -f2)
|
||||||
LXC_NAME=$(cat sub_scripts/lxc_build.sh | grep LXC_NAME= | cut -d '=' -f2)
|
LXC_NAME=$(cat lxc_build.sh | grep LXC_NAME= | cut -d '=' -f2)
|
||||||
|
|
||||||
echo "Active le bridge réseau"
|
echo ">> Active le bridge réseau"
|
||||||
if ! sudo ifquery lxc-pchecker --state > /dev/null
|
if ! sudo ifquery lxc-pchecker --state > /dev/null
|
||||||
then
|
then
|
||||||
sudo ifup lxc-pchecker
|
sudo ifup lxc-pchecker
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Configure le parefeu"
|
echo ">> Configure le parefeu"
|
||||||
if ! sudo iptables -D FORWARD -i lxc-pchecker -o eth0 -j ACCEPT 2> /dev/null
|
if ! sudo iptables -D FORWARD -i lxc-pchecker -o eth0 -j ACCEPT 2> /dev/null
|
||||||
then
|
then
|
||||||
sudo iptables -A FORWARD -i lxc-pchecker -o eth0 -j ACCEPT
|
sudo iptables -A FORWARD -i lxc-pchecker -o eth0 -j ACCEPT
|
||||||
|
@ -23,46 +23,48 @@ then
|
||||||
sudo iptables -t nat -A POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE
|
sudo iptables -t nat -A POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Démarrage de la machine"
|
echo ">> Démarrage de la machine"
|
||||||
if [ $(sudo lxc-info --name $LXC_NAME | grep -c "STOPPED") -eq 0 ]; then
|
if [ $(sudo lxc-info --name $LXC_NAME | grep -c "STOPPED") -eq 0 ]; then
|
||||||
# Si la machine n'est pas à l'arrêt.
|
# Si la machine n'est pas à l'arrêt.
|
||||||
sudo lxc-stop -n $LXC_NAME # Arrête la machine LXC
|
sudo lxc-stop -n $LXC_NAME # Arrête la machine LXC
|
||||||
fi
|
fi
|
||||||
# Restaure le snapshot
|
# Restaure le snapshot
|
||||||
sudo rsync -aEAX --delete -i /var/lib/lxcsnaps/$LXC_NAME/snap0/rootfs/ /var/lib/lxc/$LXC_NAME/rootfs/ # Pour être sûr!
|
sudo rsync -aEAX --delete /var/lib/lxcsnaps/$LXC_NAME/snap0/rootfs/ /var/lib/lxc/$LXC_NAME/rootfs/ # Pour être sûr!
|
||||||
|
|
||||||
sudo lxc-start -n $LXC_NAME -d
|
sudo lxc-start -n $LXC_NAME -d
|
||||||
sleep 3
|
sleep 3
|
||||||
sudo lxc-ls -f
|
sudo lxc-ls -f
|
||||||
|
|
||||||
echo "Update"
|
echo ">> Update"
|
||||||
sudo lxc-attach -n $LXC_NAME -- apt-get update
|
sudo lxc-attach -n $LXC_NAME -- apt-get update
|
||||||
sudo lxc-attach -n $LXC_NAME -- apt-get dist-upgrade --dry-run | grep -q "^Inst " # Vérifie si il y aura des mises à jour.
|
sudo lxc-attach -n $LXC_NAME -- apt-get dist-upgrade --dry-run | grep -q "^Inst " # Vérifie si il y aura des mises à jour.
|
||||||
if [ "$?" -eq 0 ]; then
|
if [ "$?" -eq 0 ]; then
|
||||||
update_apt=1
|
update_apt=1
|
||||||
|
else
|
||||||
|
update_apt=0
|
||||||
|
|
||||||
fi
|
fi
|
||||||
echo "update_apt=$update_apt"
|
echo ">> Upgrade"
|
||||||
echo "Upgrade"
|
|
||||||
sudo lxc-attach -n $LXC_NAME -- apt-get dist-upgrade
|
sudo lxc-attach -n $LXC_NAME -- apt-get dist-upgrade
|
||||||
echo "Clean"
|
echo ">> Clean"
|
||||||
sudo lxc-attach -n $LXC_NAME -- apt-get autoremove
|
sudo lxc-attach -n $LXC_NAME -- apt-get autoremove
|
||||||
sudo lxc-attach -n $LXC_NAME -- apt-get autoclean
|
sudo lxc-attach -n $LXC_NAME -- apt-get autoclean
|
||||||
|
|
||||||
echo "Arrêt de la machine virtualisée"
|
echo ">> Arrêt de la machine virtualisée"
|
||||||
sudo lxc-stop -n $LXC_NAME
|
sudo lxc-stop -n $LXC_NAME
|
||||||
|
|
||||||
echo "Suppression des règles de parefeu"
|
echo ">> Suppression des règles de parefeu"
|
||||||
sudo iptables -D FORWARD -i lxc-pchecker -o eth0 -j ACCEPT
|
sudo iptables -D FORWARD -i lxc-pchecker -o eth0 -j ACCEPT
|
||||||
sudo iptables -D FORWARD -i eth0 -o lxc-pchecker -j ACCEPT
|
sudo iptables -D FORWARD -i eth0 -o lxc-pchecker -j ACCEPT
|
||||||
sudo iptables -t nat -D POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE
|
sudo iptables -t nat -D POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE
|
||||||
sudo ifdown lzc-pchecker
|
sudo ifdown lxc-pchecker
|
||||||
|
|
||||||
|
|
||||||
if [ "$update_apt" -eq 1 ]
|
if [ "$update_apt" -eq 1 ]
|
||||||
then
|
then
|
||||||
echo "Archivage du snapshot"
|
echo ">> Archivage du snapshot"
|
||||||
sudo tar -czf --acls --xattrs /var/lib/lxcsnaps/$LXC_NAME/snap0.tar.gz /var/lib/lxcsnaps/$LXC_NAME/snap0
|
sudo tar -czf --acls --xattrs /var/lib/lxcsnaps/$LXC_NAME/snap0.tar.gz /var/lib/lxcsnaps/$LXC_NAME/snap0
|
||||||
echo "Remplacement du snapshot"
|
echo ">> Remplacement du snapshot"
|
||||||
sudo lxc-snapshot -n $LXC_NAME -d snap0
|
sudo lxc-snapshot -n $LXC_NAME -d snap0
|
||||||
sudo lxc-snapshot -n $LXC_NAME
|
sudo lxc-snapshot -n $LXC_NAME
|
||||||
fi
|
fi
|
||||||
|
|
0
sub_scripts/testing_process.sh
Normal file → Executable file
0
sub_scripts/testing_process.sh
Normal file → Executable file
Loading…
Add table
Reference in a new issue