maj doc
possibilité de simplement tester si les modules sont chargés
This commit is contained in:
parent
ad264851aa
commit
8cfba1fb39
64
EnsureVM
64
EnsureVM
|
@ -19,19 +19,21 @@ function ensure_kvm() {
|
||||||
# sont chargés, et que le service libvirt-bin est démarré
|
# sont chargés, et que le service libvirt-bin est démarré
|
||||||
local module modified
|
local module modified
|
||||||
|
|
||||||
# Vérifier que les modules vbox* sont déchargés
|
if [ -z "$check_only" ]; then
|
||||||
for module in vboxpci vboxnetadp vboxnetflt vboxdrv; do
|
# Vérifier que les modules vbox* sont déchargés
|
||||||
if lsmod | quietgrep "$module"; then
|
for module in vboxpci vboxnetadp vboxnetflt vboxdrv; do
|
||||||
eecho "-$module"
|
if lsmod | quietgrep "$module"; then
|
||||||
rmmod "$module" || return 1
|
eecho "-$module"
|
||||||
modified=1
|
rmmod "$module" || return 1
|
||||||
fi
|
modified=1
|
||||||
done
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
# Vérifier que kvm{,_intel,_amd} sont chargés
|
# Vérifier que kvm{,_intel,_amd} sont chargés
|
||||||
if grep -q ^flags.*\\\<vmx\\\> /proc/cpuinfo; then
|
if grep -q '^flags.*\<vmx\>' /proc/cpuinfo; then
|
||||||
module=kvm_intel
|
module=kvm_intel
|
||||||
elif grep -q ^flags.*\\\<svm\\\> /proc/cpuinfo; then
|
elif grep -q '^flags.*\<svm\>' /proc/cpuinfo; then
|
||||||
module=kvm_amd
|
module=kvm_amd
|
||||||
else
|
else
|
||||||
module=
|
module=
|
||||||
|
@ -39,13 +41,18 @@ function ensure_kvm() {
|
||||||
if [ -n "$module" ]; then
|
if [ -n "$module" ]; then
|
||||||
for module in kvm $module; do
|
for module in kvm $module; do
|
||||||
if ! lsmod | quietgrep "$module"; then
|
if ! lsmod | quietgrep "$module"; then
|
||||||
eecho "+$module"
|
if [ -n "$check_only" ]; then
|
||||||
modprobe "$module" || return 1
|
return 1 # le module n'est pas chargé
|
||||||
modified=1
|
else
|
||||||
|
eecho "+$module"
|
||||||
|
modprobe "$module" || return 1
|
||||||
|
modified=1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
[ -n "$check_only" ] && return 0
|
||||||
[ -n "$modified" ] && sleep 1
|
[ -n "$modified" ] && sleep 1
|
||||||
|
|
||||||
service=
|
service=
|
||||||
|
@ -72,14 +79,16 @@ function ensure_virtualbox() {
|
||||||
# sont chargés, et que le service vboxdrv est démarré
|
# sont chargés, et que le service vboxdrv est démarré
|
||||||
local module modified
|
local module modified
|
||||||
|
|
||||||
# Vérifier que kvm{,_intel,_amd} ne sont pas chargés
|
if [ -z "$check_only" ]; then
|
||||||
for module in kvm_intel kvm_amd kvm; do
|
# Vérifier que kvm{,_intel,_amd} ne sont pas chargés
|
||||||
if lsmod | quietgrep "$module"; then
|
for module in kvm_intel kvm_amd kvm; do
|
||||||
eecho "-$module"
|
if lsmod | quietgrep "$module"; then
|
||||||
rmmod "$module" || return 1
|
eecho "-$module"
|
||||||
modified=1
|
rmmod "$module" || return 1
|
||||||
fi
|
modified=1
|
||||||
done
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
# Vérifier que les modules vbox* sont chargés
|
# Vérifier que les modules vbox* sont chargés
|
||||||
[ -f /lib/modules/`uname -r`/updates/dkms/vboxpci.ko ] &&
|
[ -f /lib/modules/`uname -r`/updates/dkms/vboxpci.ko ] &&
|
||||||
|
@ -87,20 +96,27 @@ function ensure_virtualbox() {
|
||||||
vboxmodules=(vboxnetflt vboxnetadp vboxdrv)
|
vboxmodules=(vboxnetflt vboxnetadp vboxdrv)
|
||||||
for module in "${vboxmodules[@]}"; do
|
for module in "${vboxmodules[@]}"; do
|
||||||
if ! lsmod | quietgrep "$module"; then
|
if ! lsmod | quietgrep "$module"; then
|
||||||
eecho "+$module"
|
if [ -n "$check_only" ]; then
|
||||||
modprobe "$module" || return 1
|
return 1 # le module n'est pas chargé
|
||||||
modified=1
|
else
|
||||||
|
eecho "+$module"
|
||||||
|
modprobe "$module" || return 1
|
||||||
|
modified=1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
[ -n "$check_only" ] && return 0
|
||||||
[ -n "$modified" ] && sleep 1
|
[ -n "$modified" ] && sleep 1
|
||||||
|
|
||||||
# s'assurer que le service tourne
|
# s'assurer que le service tourne
|
||||||
service vboxdrv startm
|
service vboxdrv startm
|
||||||
}
|
}
|
||||||
|
|
||||||
|
check_only=
|
||||||
parse_opts + "${PRETTYOPTS[@]}" \
|
parse_opts + "${PRETTYOPTS[@]}" \
|
||||||
--help '$exit_with display_help' \
|
--help '$exit_with display_help' \
|
||||||
|
-c,--check-only,--check check_only=1 \
|
||||||
@ args -- "$@" && set -- "${args[@]}" || die "$args"
|
@ args -- "$@" && set -- "${args[@]}" || die "$args"
|
||||||
|
|
||||||
run_as_root "$@"
|
run_as_root "$@"
|
||||||
|
|
38
SKvm
38
SKvm
|
@ -9,19 +9,29 @@ USAGE
|
||||||
$scriptname {-l|-A|-g}
|
$scriptname {-l|-A|-g}
|
||||||
|
|
||||||
OPTIONS
|
OPTIONS
|
||||||
-n Ne rien faire excepté s'assurer que les modules kvm sont chargés
|
-n, --check
|
||||||
-u Lancer l'opération avec les droits de l'utilisateur courant. Par défaut,
|
Ne rien faire excepté s'assurer que les modules kvm sont chargés
|
||||||
|
-u, --user
|
||||||
|
Lancer l'opération avec les droits de l'utilisateur courant. Par défaut,
|
||||||
ce script tente d'acquérir les droits de root.
|
ce script tente d'acquérir les droits de root.
|
||||||
-l Lister les machines virtuelles
|
-l, --list
|
||||||
-s Démarrer la machine virtuelle (par défaut)
|
Lister les machines virtuelles
|
||||||
|
-s, --start
|
||||||
|
Démarrer la machine virtuelle (par défaut)
|
||||||
Si le nom de la machine virtuelle n'est pas spécifiée, un menu est
|
Si le nom de la machine virtuelle n'est pas spécifiée, un menu est
|
||||||
affiché
|
affiché
|
||||||
-k Arrêter la machine virtuelle
|
-k, --stop
|
||||||
-H Arrêter sauvagement la machine virtuelle
|
Arrêter la machine virtuelle
|
||||||
-r Redémarrer la machine virtuelle
|
-H, --destroy
|
||||||
-S Enregistrer l'état de la machine virtuelle
|
Arrêter sauvagement la machine virtuelle
|
||||||
-A Arrêter toutes les machines virtuelles qui tournent actuellement
|
-r, --restart
|
||||||
-g Afficher le gestionnaire de machines virtuelle"
|
Redémarrer la machine virtuelle
|
||||||
|
-S, --managed-save
|
||||||
|
Enregistrer l'état de la machine virtuelle
|
||||||
|
-A, --stop-all
|
||||||
|
Arrêter toutes les machines virtuelles qui tournent actuellement
|
||||||
|
-g, --gui
|
||||||
|
Afficher le gestionnaire de machines virtuelle"
|
||||||
}
|
}
|
||||||
|
|
||||||
source "$(dirname "$0")/ulib/ulib" &&
|
source "$(dirname "$0")/ulib/ulib" &&
|
||||||
|
@ -70,15 +80,15 @@ stopaction=shutdown
|
||||||
parse_opts + "${PRETTYOPTS[@]}" \
|
parse_opts + "${PRETTYOPTS[@]}" \
|
||||||
--help '$exit_with display_help' \
|
--help '$exit_with display_help' \
|
||||||
-u,--user sudo= \
|
-u,--user sudo= \
|
||||||
-n action=nop \
|
-n,--check action=nop \
|
||||||
-l,--list action=list \
|
-l,--list action=list \
|
||||||
-s,--start action=start \
|
-s,--start action=start \
|
||||||
-k,-t,--stop '$action=stop; stopaction=shutdown' \
|
-k,-t,--stop '$action=stop; stopaction=shutdown' \
|
||||||
-H '$action=stop; stopaction=destroy' \
|
-H,--destroy '$action=stop; stopaction=destroy' \
|
||||||
-r,--restart '$action=stop; stopaction=reboot' \
|
-r,--restart '$action=stop; stopaction=reboot' \
|
||||||
-S '$action=stop; stopaction=managedsave' \
|
-S,--managedsave,--managed-save '$action=stop; stopaction=managedsave' \
|
||||||
-A,--stopall,--stop-all action=stopall \
|
-A,--stopall,--stop-all action=stopall \
|
||||||
-g action=gui \
|
-g,--gui action=gui \
|
||||||
@ args -- "$@" && set -- "${args[@]}" || die "$args"
|
@ args -- "$@" && set -- "${args[@]}" || die "$args"
|
||||||
|
|
||||||
if ! is_root && [ -n "$sudo" ]; then
|
if ! is_root && [ -n "$sudo" ]; then
|
||||||
|
|
Loading…
Reference in New Issue