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