Catnoo
Notes de paramétrage de postes de travail, et autres vicissitudes ...

Accueil > Virtualisation > Ubuntu et Virtualbox > ubuntu - virtualbox - migration version

ubuntu - virtualbox - migration version

samedi 22 avril 2023, par Lucien-Henry

Problème

Sous Ubuntu, jouer simplement /opt/VBox_GAs_7.0.8/VBoxLinuxAdditions.run ne suffit pas : des liens symboliques sont cassés, la compilation des drivers pas parfois placée au mauvais endroit et on risque de se retrouver avec les drivers du paquet original d’Ubuntu (si on l’avait judicieusement installé) plutôt que le driver livré avec la nouvelle version.

Solution

Jouer le script suivant :

#!/bin/bash
#date : 22/04/2023
#createur : LHO
#licence : GPL
sVersionOriginale="7.0.6"
sExVersion="7.0.6"
sVersion="7.0.8"


#LHO 20/04/2023
#Après une upgrade ou première installation de version d'Ubuntu
#Renseigner la bonne version de VirtualBox et la version originale de la nouvelle Ubuntu
#Decommenter puis Recommenter cette partie via des : ###
#Debut Migration Version OS
###ln -s /var/lib/dkms /usr/src/dkms
###ls -lart /usr/src/dkms
###cp -ifr /var/lib/dkms/virtualbox/$sVersionOriginale /var/lib/dkms/virtualbox/$sVersionOriginale-init #sauvegarde
###cp -ifr /var/lib/dkms/virtualbox/$sVersionOriginale /var/lib/dkms/virtualbox/$sVersion #preparation premiere iteration sur versOS
###rm -ifr /var/lib/dkms/virtualbox/$sVersionOriginale
#Fin Migration Version OS
#Reprise recurrent d'installation de version de VirtualBox.
#On doit faire croire à l'OS qu'il travaille sur la version originale car des liens de kernels pointent dessus
echo "traitement dkms/virtualbox"
rm /var/lib/dkms/virtualbox/$sVersionOriginale #ici c'était un lien symbolique car en récurrant de migration VBox
rm -ifr /var/lib/dkms/virtualbox/$sExVersion
cp -ifr /var/lib/dkms/virtualbox/$sVersionOriginale-init /var/lib/dkms/virtualbox/$sVersion
ln -s /var/lib/dkms/virtualbox/$sVersion /var/lib/dkms/virtualbox/$sVersionOriginale
ls -lart /var/lib/dkms/virtualbox/$sVersionOriginale
#/LHO 20/04/2023

#/var/lib/VBoxGuestAdditions/
ls /var/lib/VBoxGuestAdditions
rm /var/lib/VBoxGuestAdditions/lib/libGL.so.1
ln -s /opt/VBoxGuestAdditions/lib/VBoxOGL.so /var/lib/VBoxGuestAdditions/lib/libGL.so.1
ls -lart /var/lib/VBoxGuestAdditions

#/lib/ll libGL.so*
#/lib/libGL.so -> /usr/lib/VBoxGL.so -> /usr/lib/x86_64-linux-gnu/libGL.so.1 -> /usr/lib/x86_64-linux-gnu/libGL.so.1.7.0
#/usr/lib/x86_64-linux-gnu/libGL.so.1.7.0
ls /var/lib/VBoxGuestAdditions


#Traitement de /opt/VBoxGuestAdditions
#other
rm /opt/VBoxGuestAdditions/other
ln -s /opt/VBoxGuestAdditions-$sVersion/other /opt/VBoxGuestAdditions/other
ls -lart /opt/VBoxGuestAdditions/other
#bin
rm /opt/VBoxGuestAdditions/bin
ln -s /opt/VBoxGuestAdditions-$sVersion/bin /opt/VBoxGuestAdditions/bin
ls -lart /opt/VBoxGuestAdditions/bin
#ln -s /opt/VBoxGuestAdditions-$sVersion/bin/VBoxControl /opt/VBoxGuestAdditions/bin/VBoxControl
#ln -s /opt/VBoxGuestAdditions-$sVersion/bin/VBoxClient /opt/VBoxGuestAdditions/bin/VBoxClient
#ln -s /opt/VBoxGuestAdditions-$sVersion/bin/VBoxDRMClient /opt/VBoxGuestAdditions/bin/VBoxDRMClient
#sbin
rm /opt/VBoxGuestAdditions/sbin
ln -s /opt/VBoxGuestAdditions-$sVersion/sbin /opt/VBoxGuestAdditions/sbin
ls -lart /opt/VBoxGuestAdditions/sbin
#ln -s /opt/VBoxGuestAdditions-$sVersion/sbin/vbox-greeter /opt/VBoxGuestAdditions/sbin/vbox-greeter
#ln -s /opt/VBoxGuestAdditions-$sVersion/sbin/VBoxService /opt/VBoxGuestAdditions/sbin/VBoxService


#lib

#Complétion de /opt/VBoxGuestAdditions-
ln -s /opt/VBoxGuestAdditions/lib /opt/VBoxGuestAdditions-$sVersion/lib
ls -lart /opt/VBoxGuestAdditions-$sVersion/lib

#rm /opt/VBoxGuestAdditions/lib
ln -s /usr/lib/libEGL.so /opt/VBoxGuestAdditions/lib/libEGL.so
ln -s /usr/lib/libEGL.so.1 /opt/VBoxGuestAdditions/lib/libEGL.so.1
ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1 /opt/VBoxGuestAdditions/lib/libGL.so.1
ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1.7.0 /opt/VBoxGuestAdditions/lib/libGL.so.1.7.0
ln -s /usr/lib/libGL.so /opt/VBoxGuestAdditions/lib/libGL.so
ln -s /usr/lib/libGL.so.1 /opt/VBoxGuestAdditions/lib/libGL.so.1
ln -s /usr/lib/VBoxEGL.so /opt/VBoxGuestAdditions/lib/VBoxEGL.so
ln -s /usr/lib/VBoxOGL.so /opt/VBoxGuestAdditions/lib/VBoxOGL.so
#/usr/lib/VBoxOGL.so -> /usr/lib/x86_64-linux-gnu/libGL.so.1
#/usr/lib/VBoxEGL.so -> /usr/lib/x86_64-linux-gnu/libEGL.so.1
#/usr/lib/libEGL.so.1 -> /usr/lib/x86_64-linux-gnu/libEGL.so.1
#/usr/lib/libEGL.so.1.1.0 -> /usr/lib/x86_64-linux-gnu/libEGL.so.1.1.0
#/usr/lib/x86_64-linux-gnu/libEGL.so.1 -> /usr/lib/x86_64-linux-gnu/libEGL.so.1.1.0
#/usr/lib/libGL.so.1 -> /usr/lib/x86_64-linux-gnu/libGL.so.1
#/usr/lib/libGL.so.1.7.0 -> /usr/lib/x86_64-linux-gnu/libGL.so.1.7.0
#/usr/lib/x86_64-linux-gnu/libGL.so.1 -> /usr/lib/x86_64-linux-gnu/libGL.so.1.7.0
#/usr/lib/virtualbox/additions/libEGL.so -> ../../VBoxEGL.so
#/usr/lib/virtualbox/additions/libEGL.so.1 -> ../../VBoxEGL.so
#/usr/lib/virtualbox/additions/libGL.so -> ../../VBoxOGL.so
#/usr/lib/virtualbox/additions/libGL.so.1 -> ../../VBoxOGL.so



#src
#pas de suppression de /opt/VBoxGuestAdditions/src, mais suppression de tous les liens préalables !

#nettoyage VBoxGuestAdditions
rm /opt/VBoxGuestAdditions/src/vboxguest

#nettoyage de : /usr/src
rm /usr/src/virtualbox-guest-$sVersionOriginale
rm /usr/src/virtualbox-guest-$sExVersion

#Recréation des liens
ln -s /opt/VBoxGuestAdditions-$sVersion/src/vboxguest-$sVersion /opt/VBoxGuestAdditions/src/vboxguest
ln -s /opt/VBoxGuestAdditions/src/vboxguest /usr/src/virtualbox-guest-$sVersionOriginale
ln -s /opt/VBoxGuestAdditions/src/vboxguest /usr/src/virtualbox-guest-$sVersion
ls -lart /usr/src/virtualbox-guest-$sVersion

#dkms.conf doit in fine se retrouver dans :
# cat /usr/src/virtualbox-guest-$sVersionOriginale-deb/dkms.conf # !! Doit rester en $sVersionOriginale car vient du deb !!
# cat /var/lib/dkms/virtualbox-guest/$sVersionOriginale/source/dkms.conf
# cat /opt/VBoxGuestAdditions-$sVersion/src/vboxguest-$sVersion/dkms.conf
# cat /opt/VBoxGuestAdditions/src/dkms.conf
# cat /opt/VBoxGuestAdditions/src/vboxguest/dkms.conf
cp /usr/src/virtualbox-guest-$sVersionOriginale-deb/dkms.conf /opt/VBoxGuestAdditions-$sVersion/src/vboxguest-$sVersion/dkms.conf
sed -i -e "s/$sVersionOriginale/$sVersion/g" /opt/VBoxGuestAdditions-$sVersion/src/vboxguest-$sVersion/dkms.conf
rm /opt/VBoxGuestAdditions/src/dkms.conf
ln -s /opt/VBoxGuestAdditions-$sVersion/src/vboxguest-$sVersion/dkms.conf /opt/VBoxGuestAdditions/src/dkms.conf
ls -lart /opt/VBoxGuestAdditions/src/dkms.conf
SPIP | | Plan du site | Suivre la vie du site RSS 2.0
Habillage visuel © digitalnature sous Licence GPL