Migration de l’hyperviseur KVM/QEMU Debian wheezy vers Debian jessie

Migration de l’hyperviseur KVM/QEMU

Récemment, j’ai migré un de mes serveurs hôtes  x86_x64 sous Debian 7 vers Debian 8 afin de disposer des derniers paquets pour mon serveur. L’étape de migration n’est pas anodine, elle comporte des risques et peut se révéler contraignante en production. Mon hôte a réussi la migration après son redémarrage. Voici mon retour d’expérience à ce sujet.

Debian wheezy

Le temps de mise en service de mon système est de 255 jours et je dispose d’un Kernel modifié en 3.19.0 pour Docker.
Mon type de RAID est logiciel (RAID1 avec MDADM), j’ai 871 paquets en place et je dispose d’un Backup storage OVH.

Sur l’image d’illustration, j’ai éteint uniquement mes machines virtuelles.

Les pré-requis pour la mise à niveau vers Debian Jessie

Sauvegarder les machines virtuelles

Dans un premier temps, nous sauvegardons nos machines virtuelles avec l’API de virsh. Voici un exemple avec une de mes machines virtuelles VyOS :

Création d’un snapshot de la VM sur le disque vda :

virsh snapshot-create-as --domain vyos --diskspec vda,file=/var/lib/libvirt/snapshot/vyos-snap.qcow2 --disk-only

Nous vérifions que notre machine est bien liée vers le disque de snapshot :

virsh domblklist vyos

Target     Source
------------------------------------------------
vda        /var/lib/libvirt/snapshot/vyos-snap.qcow2

La sauvegarde de la VM peut donc être réalisée via un simple cp :

cp /var/lib/libvirt/images/vyos /var/lib/libvirt/backup-storage/vyos.15.09.2016

Désormais, il faut concaténer notre snapshot dans notre image de base :

virsh blockcommit vyos vda --active --verbose --pivot

Block Commit: [100 %]
Successfully pivoted

La suppression du snapshot est à faire manuellement comme ceci :

rm /var/lib/libvirt/snapshot/vyos-snap.qcow2

Mettre à jour et nettoyer le serveur

Vérifions que notre machine est bien à jour avec les derniers paquets :

apt-get update && apt-get upgrade -y

Vidons le cache des paquets :

apt-get clean
apt-get autoclean

Supprimons les dépendances inutiles :

apt-get autoremove

Supprimons tout les fichiers de configuration orphelins :

dpkg -P $(dpkg -l | awk '$1~/^rc$/{print $2}')

Vérifier l’état des paquets

Les paquets actuellement sur notre serveur seront inspectés et voici comment les lister :

dpkg --get-selections "*" > ~/paquets-actuels.txt

Supprimons les paquets qui nous semble inutiles (soyons prudent) puis via aptitude recherchons les fichiers bloqués :

aptitude search "~ahold"

De mon côté je n’ai eu aucun soucis, si vous rencontrez des problèmes, rendez-vous sur le lien suivant.

Adapter le fichier des sources APT

Les mises à jour de paquet s’effectue par le sources list, il faut désormais le rendre conforme pour debian 8 (Jessie) :

nano /etc/apt/sources.list

Actuellement, voici notre source.list :

deb http://debian.mirrors.ovh.net/debian/ wheezy main
deb-src http://debian.mirrors.ovh.net/debian/ wheezy main

deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main
deb http://security.debian.org/debian-security wheezy/updates main

deb http://ftp.fr.debian.org/debian/ wheezy main
deb http://ftp.fr.debian.org/debian/ wheezy-updates main

deb http://mirrors.kernel.org/debian wheezy main contrib

La méthode consiste à modifier les wheezy par des jessie comme cela :

deb http://debian.mirrors.ovh.net/debian/ jessie main
deb-src http://debian.mirrors.ovh.net/debian/ jessie main

deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main
deb http://security.debian.org/debian-security jessie/updates main

deb http://ftp.fr.debian.org/debian/ jessie main
deb http://ftp.fr.debian.org/debian/ jessie-updates main

deb http://mirrors.kernel.org/debian jessie main contrib

De plus, si nous avons d’autre sources tel que docker.list dans le répertoire /etc/apt/sources.list.d Editons-le :

nano /etc/apt/sources.list.d/docker.list

Nous supprimons l’ancienne url source et ajoutons la nouvelle pour jessie :

deb https://apt.dockerproject.org/repo debian-jessie main

Vérification de l’espace disque

La commande suivant permet de connaître l’espace disque nécessaire pour la mise à niveau :

apt-get -o APT::Get::Trivial-Only=true dist-upgrade

Dans mon cas voici le résultat :

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Calcul de la mise à jour... Fait
Les paquets suivants seront ENLEVÉS :
  cpp-4.7 g++-4.7 gcc-4.7 gcc-4.7-base kvm libstdc++6-4.7-dev qemu-keymaps
Les NOUVEAUX paquets suivants seront installés :
  acl aglfn cgmanager console-setup console-setup-linux cpp-4.9 db5.3-util dmeventd dns-root-data fonts-dejavu-core g++-4.9 gcc-4.9 gcc-4.9-base gir1.2-glib-2.0 gnuplot-data gnuplot-tex
  hdparm ieee-data imagemagick-6.q16 init iproute2 kbd keyboard-configuration libalgorithm-c3-perl libarchive-extract-perl libasan1 libasound2-data libatm1 libatomic1 libaudit-common
  libaudit1 libauthen-sasl-perl libbind9-90 libblas-common libboost-iostreams1.55.0 libboost-system1.55.0 libboost-thread1.55.0 libbrlapi0.6 libcap2-bin libcgi-fast-perl libcgi-pm-perl
  libcgmanager0 libcilkrts5 libclass-c3-perl libclass-c3-xs-perl libcloog-isl4 libcpan-meta-perl libcryptsetup4 libcupsfilters1 libdata-optlist-perl libdata-section-perl libdb5.3
  libdbus-glib-1-2 libdebconfclient0 libdns-export100 libdns100 libdrm-nouveau2 libelf1 libestr0 libexiv2-13 libfakeroot libfcgi-perl libfdt1 libffi6 libfftw3-double3 libgcc-4.9-dev
  libgcrypt20 libgd3 libgirepository-1.0-1 libgnutls-deb0-28 libgnutls-openssl27 libgraphite2-3 libharfbuzz0b libhogweed2 libicu52 libio-html-perl libirs-export91 libisc-export95 libisc95
  libisccc90 libisccfg-export90 libisccfg90 libiscsi2 libisl10 libjpeg62-turbo libjs-swfobject libjson-c2 libllvm3.5 liblog-message-perl liblog-message-simple-perl liblogging-stdlog0
  liblognorm1 liblsan0 liblua5.2-0 liblvm2cmd2.02 liblwres90 liblzo2-2 libmagickcore-6.q16-2 libmagickcore-6.q16-2-extra libmagickwand-6.q16-2 libmnl0 libmodule-build-perl
  libmodule-pluggable-perl libmodule-signature-perl libmpc3 libmro-compat-perl libnet-smtp-ssl-perl libnettle4 libnih-dbus1 libnih1 libnl-3-200 libnl-route-3-200 libnspr4 libnss3
  libopenipmi0 libopus0 libpackage-constants-perl libpam-cap libpam-systemd libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpangox-1.0-0 libpangoxft-1.0-0 libparams-util-perl
  libparted2 libperl4-corelibs-perl libperl5.20 libpod-latex-perl libpod-readme-perl libpolkit-agent-1-0 libpolkit-backend-1-0 libpolkit-gobject-1-0 libprocps3 libpsl0 libpython-stdlib
  libpython2.7 libpython2.7-minimal libpython2.7-stdlib librados2 librbd1 libregexp-common-perl librtmp1 libsasl2-modules-db libseccomp2 libsensors4 libsmartcols1 libsnmp-base libsnmp30
  libsoftware-license-perl libstdc++-4.9-dev libsub-exporter-perl libsub-install-perl libsystemd0 libtasn1-6 libterm-ui-perl libtext-soundex-perl libtext-template-perl libtidy-0.99-0
  libtiff5 libtsan0 libtxc-dxtn-s2tc0 libubsan0 libudev1 libusbredirparser1 libvirt-clients libvirt-daemon libvirt-daemon-system libvpx1 libx86-1 libxcb-dri2-0 libxcb-dri3-0
  libxcb-present0 libxcb-sync1 libxen-4.4 libxml2-dev libxmlsec1 libxmlsec1-openssl libxshmfence1 libxslt1-dev libxtables10 linux-image-3.16.0-4-amd64 makedev mountall ndiff openipmi
  openssh-sftp-server plymouth pm-utils policykit-1 powermgmt-base python-amqp python-babel python-babel-localedata python-cffi python-chardet python-cinderclient python-cliff
  python-cliff-doc python-cmd2 python-colorama python-concurrent.futures python-configobj python-cryptography python-d2to1 python-dateutil python-dbus python-dbus-dev python-distlib
  python-dnspython python-ecdsa python-extras python-feedparser python-fixtures python-gi python-glanceclient python-html5lib python-jinja2 python-json-patch python-json-pointer
  python-jsonpatch python-jsonschema python-keyring python-keystoneclient python-mako python-markupsafe python-memcache python-mimeparse python-mock python-ndg-httpsclient
  python-neutronclient python-oslo.config python-oslo.i18n python-oslo.messaging python-oslo.rootwrap python-oslo.utils python-oslo.vmware python-paramiko python-passlib
  python-pastedeploy-tpl python-pbr python-ply python-posix-ipc python-pyasn1 python-pycadf python-pycparser python-pyinotify python-pyparsing python-pysaml2 python-repoze.who
  python-requests python-secretstorage python-six python-stevedore python-subunit python-suds python-swiftclient python-testrepository python-testscenarios python-testtools python-tz
  python-urllib3 python-utidylib python-warlock python-wheel python-zope.interface qemu-system-common qemu-system-x86 rename startpar systemd systemd-shim systemd-sysv vbetool websockify
  xdg-user-dirs xkb-data xmlsec1
Les paquets suivants ont été conservés :
  db5.1-util
Les paquets suivants seront mis à jour :
  acpi acpi-support-base acpid apt apt-transport-https apt-utils aptitude aptitude-common aufs-tools augeas-lenses autoconf automake autotools-dev base-files base-passwd bash bc bind9-host
  binutils bridge-utils bsdmainutils bsdutils btrfs-tools build-essential busybox bzip2 ca-certificates cgroupfs-mount coreutils cpio cpp cron curl dash db-util dbconfig-common dbus
  debconf debconf-i18n debconf-utils debian-archive-keyring debianutils diffutils dmidecode dmsetup dnsmasq-base dnsutils dpkg dpkg-dev e2fslibs e2fsprogs ebtables ethtool fail2ban
  fakeroot file findutils firmware-linux-free fontconfig fontconfig-config fonts-droid fonts-liberation g++ gawk gcc gettext-base ghostscript git git-man gnupg gnuplot gnuplot-nox gpgv
  grep groff groff-base grub-common grub-pc grub-pc-bin grub2-common gzip hicolor-icon-theme hostname htop ifupdown imagemagick imagemagick-common init-system-helpers initramfs-tools
  initscripts ipmitool iproute iptables iputils-ping ipxe-qemu irqbalance isc-dhcp-client isc-dhcp-common javascript-common klibc-utils kmod kpartx less libacl1 libaio1
  libalgorithm-diff-perl libalgorithm-diff-xs-perl libapparmor1 libapt-inst1.5 libapt-pkg4.12 libasound2 libasprintf0c2 libasyncns0 libattr1 libaugeas0 libavahi-client3
  libavahi-common-data libavahi-common3 libblas3 libblkid1 libbluetooth3 libbsd0 libbz2-1.0 libc-bin libc-dev-bin libc6 libc6-dev libcaca0 libcairo2 libcap-ng-dev libcap-ng0 libcap2
  libclass-isa-perl libcomerr2 libcroco3 libcups2 libcupsimage2 libcurl3 libcurl3-gnutls libcwidget3 libdatrie1 libdbus-1-3 libdevmapper-event1.02.1 libdevmapper1.02.1 libdirectfb-1.2-9
  libdjvulibre-text libdjvulibre21 libdpkg-perl libdrm-intel1 libdrm-radeon1 libdrm2 libedit2 libept1.4.12 liberror-perl libevent-2.0-5 libexpat1 libfile-desktopentry-perl
  libfile-fcntllock-perl libfile-mimeinfo-perl libflac8 libfontconfig1 libfontenc1 libfreetype6 libfuse2 libgcc1 libgdbm3 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgeoip1 libgfortran3
  libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libglib2.0-0 libgmp10 libgomp1 libgpg-error0 libgpm2 libgs9 libgs9-common libgssapi-krb5-2 libhtml-format-perl libhtml-parser-perl
  libhtml-tree-perl libhttp-cookies-perl libhttp-message-perl libice6 libidn11 libijs-0.35 libilmbase6 libio-socket-ip-perl libio-socket-ssl-perl libitm1 libjansson-dev libjansson4
  libjasper1 libjbig0 libjs-jquery libjs-sphinxdoc libjs-underscore libjson0 libk5crypto3 libkeyutils1 libklibc libkmod2 libkrb5-3 libkrb5support0 liblapack3 liblcms2-2 libldap-2.4-2
  liblensfun-data liblensfun0 liblinear-tools liblinear1 liblocale-gettext-perl liblqr-1-0 libltdl-dev libltdl7 liblua5.1-0 liblwp-protocol-https-perl liblzma5 libmagic-dev libmagic1
  libmailtools-perl libmount1 libmpfr4 libmysqlclient18 libncurses5 libncurses5-dev libncursesw5 libnet-dbus-perl libnet-http-perl libnet-ssleay-perl libnet1 libnet1-dev libnetcf1
  libnetfilter-conntrack3 libnetfilter-queue-dev libnetfilter-queue1 libnetpbm10 libnewt0.52 libnfnetlink-dev libnfnetlink0 libnfsidmap2 libnuma1 libogg0 libopenexr6 libp11-kit0
  libpam-modules libpam-modules-bin libpam-runtime libpam0g libpango1.0-0 libpaper-utils libpaper1 libpcap-dev libpcap0.8 libpcap0.8-dev libpci3 libpciaccess0 libpcre3 libpcre3-dbg
  libpcre3-dev libpcrecpp0 libpipeline1 libpixman-1-0 libpng12-0 libpopt0 libpulse0 libquadmath0 libreadline5 libreadline6 librsvg2-2 librsvg2-common libsasl2-2 libsasl2-modules
  libsdl1.2debian libselinux1 libsemanage-common libsemanage1 libsepol1 libsigc++-2.0-0c2a libsigsegv2 libslang2 libsm6 libsndfile1 libsocket-perl libspice-server1 libsqlite3-0 libss2
  libssh2-1 libssl1.0.0 libstdc++6 libswitch-perl libsystemd-login0 libtext-charwidth-perl libtext-iconv-perl libthai-data libthai0 libtie-ixhash-perl libtimedate-perl libtinfo-dev
  libtinfo5 libtirpc1 libtool liburi-perl libusb-0.1-4 libusb-1.0-0 libustr-1.0-1 libuuid-perl libuuid1 libvdeplug2 libvirt-bin libvirt0 libvorbis0a libvorbisenc2 libwmf0.2-7 libwrap0
  libwww-perl libx11-6 libx11-data libx11-protocol-perl libx11-xcb1 libxapian22 libxau6 libxaw7 libxcb-glx0 libxcb-render0 libxcb-shape0 libxcb-shm0 libxcb1 libxcomposite1 libxcursor1
  libxdamage1 libxdmcp6 libxenstore3.0 libxext6 libxfixes3 libxft2 libxi6 libxinerama1 libxml-parser-perl libxml-twig-perl libxml2 libxml2-utils libxmu6 libxmuu1 libxpm4 libxrandr2
  libxrender1 libxslt1.1 libxt6 libxtst6 libxv1 libxxf86dga1 libxxf86vm1 libyajl2 libyaml-0-2 libyaml-dev linux-image-amd64 linux-libc-dev locales login logrotate lsb-base lvm2 m4 make
  man-db manpages manpages-de manpages-dev manpages-fr manpages-fr-dev manpages-fr-extra manpages-it manpages-pl manpages-pl-dev mdadm mime-support mlocate module-init-tools monit mount
  mtr-tiny multiarch-support mysql-common nano ncurses-base ncurses-bin net-tools netbase netcat-traditional netpbm nfs-common nginx-common nginx-full nmap nova-common novnc ntpdate
  oinkmaster openssh-client openssh-server openssl os-prober parted passwd patch pciutils perl perl-base perl-modules pkg-config poppler-data procps psutils python python-anyjson
  python-boto python-crypto python-decorator python-dns python-eventlet python-formencode python-gflags python-glance python-greenlet python-httplib2 python-iso8601 python-kombu
  python-libvirt python-libxml2 python-lxml python-m2crypto python-meld3 python-migrate python-minimal python-mysqldb python-netaddr python-netifaces python-nose python-nova
  python-novaclient python-novnc python-numpy python-openid python-openssl python-paste python-pastedeploy python-pastescript python-pip python-pkg-resources python-prettytable
  python-pycurl python-repoze.lru python-routes python-scgi python-setuptools python-simplejson python-sqlalchemy python-sqlalchemy-ext python-swift python-tempita python-webob
  python-xattr python-yaml python2.7 python2.7-minimal qemu-kvm qemu-utils readline-common reiserfsprogs rpcbind rsync rsyslog sasl2-bin screen seabios sed sensible-utils shared-mime-info
  sharutils smartmontools sqlite3 sudo supervisor sysv-rc sysvinit sysvinit-utils tar tasksel tasksel-data tcpdump traceroute ttf-dejavu-core tzdata ucf udev ufraw-batch usbutils
  util-linux uuid-runtime vgabios vim vim-common vim-runtime vim-tiny vlan wget whiptail whois x11-common x11-utils x11-xserver-utils xdg-utils xfsprogs xz-utils zlib1g zlib1g-dev
520 mis à jour, 278 nouvellement installés, 7 à enlever et 1 non mis à jour.
Il est nécessaire de prendre 313 Mo dans les archives.
Après cette opération, 425 Mo d'espace disque supplémentaires seront utilisés.
E: L'option --trivial-only a été indiquée mais il ne s'agit pas d'une opération triviale.

La migration vers debian 8

La première étape conciste à lancer la mise à niveau dite minimale :

apt-get update && apt-get upgrade
Le processus est long et des questions sont posées par l’OS (pour consulter mon résultat : le voici dans un fichier).

La dernière étape consiste à exécuter le processus d’upgrade de Debian 8 :

apt-get dist-upgrade

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Calcul de la mise à jour... Fait
Les paquets suivants seront ENLEVÉS :
  cpp-4.7 g++-4.7 gcc-4.7 gcc-4.7-base kvm libstdc++6-4.7-dev qemu-keymaps
Les NOUVEAUX paquets suivants seront installés :
  acl aglfn cgmanager console-setup console-setup-linux cpp-4.9 db5.3-util dmeventd dns-root-data fonts-dejavu-core g++-4.9 gcc-4.9 gcc-4.9-base gir1.2-glib-2.0 gnuplot-data gnuplot-tex
  hdparm ieee-data imagemagick-6.q16 init iproute2 kbd keyboard-configuration libalgorithm-c3-perl libarchive-extract-perl libasan1 libasound2-data libatm1 libatomic1 libaudit-common
  libaudit1 libauthen-sasl-perl libbind9-90 libblas-common libboost-iostreams1.55.0 libboost-system1.55.0 libboost-thread1.55.0 libbrlapi0.6 libcap2-bin libcgi-fast-perl libcgi-pm-perl
  libcgmanager0 libcilkrts5 libclass-c3-perl libclass-c3-xs-perl libcloog-isl4 libcpan-meta-perl libcryptsetup4 libcupsfilters1 libdata-optlist-perl libdata-section-perl libdb5.3
  libdbus-glib-1-2 libdebconfclient0 libdns-export100 libdns100 libdrm-nouveau2 libelf1 libestr0 libexiv2-13 libfakeroot libfcgi-perl libfdt1 libffi6 libfftw3-double3 libgcc-4.9-dev
  libgcrypt20 libgd3 libgirepository-1.0-1 libgnutls-deb0-28 libgnutls-openssl27 libgraphite2-3 libharfbuzz0b libhogweed2 libicu52 libio-html-perl libirs-export91 libisc-export95 libisc95
  libisccc90 libisccfg-export90 libisccfg90 libiscsi2 libisl10 libjpeg62-turbo libjs-swfobject libjson-c2 libllvm3.5 liblog-message-perl liblog-message-simple-perl liblogging-stdlog0
  liblognorm1 liblsan0 liblua5.2-0 liblvm2cmd2.02 liblwres90 liblzo2-2 libmagickcore-6.q16-2 libmagickcore-6.q16-2-extra libmagickwand-6.q16-2 libmnl0 libmodule-build-perl
  libmodule-pluggable-perl libmodule-signature-perl libmpc3 libmro-compat-perl libnet-smtp-ssl-perl libnettle4 libnih-dbus1 libnih1 libnl-3-200 libnl-route-3-200 libnspr4 libnss3
  libopenipmi0 libopus0 libpackage-constants-perl libpam-cap libpam-systemd libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpangox-1.0-0 libpangoxft-1.0-0 libparams-util-perl
  libparted2 libperl4-corelibs-perl libperl5.20 libpod-latex-perl libpod-readme-perl libpolkit-agent-1-0 libpolkit-backend-1-0 libpolkit-gobject-1-0 libprocps3 libpsl0 libpython-stdlib
  libpython2.7 libpython2.7-minimal libpython2.7-stdlib librados2 librbd1 libregexp-common-perl librtmp1 libsasl2-modules-db libseccomp2 libsensors4 libsmartcols1 libsnmp-base libsnmp30
  libsoftware-license-perl libstdc++-4.9-dev libsub-exporter-perl libsub-install-perl libsystemd0 libtasn1-6 libterm-ui-perl libtext-soundex-perl libtext-template-perl libtidy-0.99-0
  libtiff5 libtsan0 libtxc-dxtn-s2tc0 libubsan0 libudev1 libusbredirparser1 libvirt-clients libvirt-daemon libvirt-daemon-system libvpx1 libx86-1 libxcb-dri2-0 libxcb-dri3-0
  libxcb-present0 libxcb-sync1 libxen-4.4 libxml2-dev libxmlsec1 libxmlsec1-openssl libxshmfence1 libxslt1-dev libxtables10 linux-image-3.16.0-4-amd64 makedev mountall ndiff openipmi
  openssh-sftp-server plymouth pm-utils policykit-1 powermgmt-base python-amqp python-babel python-babel-localedata python-cffi python-chardet python-cinderclient python-cliff
  python-cliff-doc python-cmd2 python-colorama python-concurrent.futures python-configobj python-cryptography python-d2to1 python-dateutil python-dbus python-dbus-dev python-distlib
  python-dnspython python-ecdsa python-extras python-feedparser python-fixtures python-gi python-glanceclient python-html5lib python-jinja2 python-json-patch python-json-pointer
  python-jsonpatch python-jsonschema python-keyring python-keystoneclient python-mako python-markupsafe python-memcache python-mimeparse python-mock python-ndg-httpsclient
  python-neutronclient python-oslo.config python-oslo.i18n python-oslo.messaging python-oslo.rootwrap python-oslo.utils python-oslo.vmware python-paramiko python-passlib
  python-pastedeploy-tpl python-pbr python-ply python-posix-ipc python-pyasn1 python-pycadf python-pycparser python-pyinotify python-pyparsing python-pysaml2 python-repoze.who
  python-requests python-secretstorage python-six python-stevedore python-subunit python-suds python-swiftclient python-testrepository python-testscenarios python-testtools python-tz
  python-urllib3 python-utidylib python-warlock python-wheel python-zope.interface qemu-system-common qemu-system-x86 rename startpar systemd systemd-shim systemd-sysv vbetool websockify
  xdg-user-dirs xkb-data xmlsec1
Les paquets suivants ont été conservés :
  db5.1-util
Les paquets suivants seront mis à jour :
  apt apt-transport-https apt-utils aptitude aptitude-common base-passwd bind9-host bsdutils btrfs-tools build-essential cgroupfs-mount cpp curl db-util dbus dmsetup dnsmasq-base dnsutils
  fail2ban fakeroot g++ gcc ghostscript gnuplot gnuplot-nox imagemagick init-system-helpers initramfs-tools initscripts ipmitool iproute iptables iputils-ping isc-dhcp-client
  isc-dhcp-common kpartx libalgorithm-diff-xs-perl libapt-pkg4.12 libasound2 libblas3 libbluetooth3 libcups2 libcupsimage2 libcurl3 libcurl3-gnutls libcwidget3 libdevmapper-event1.02.1
  libdevmapper1.02.1 libdjvulibre21 libept1.4.12 libfile-fcntllock-perl libgcc1 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgfortran3 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa
  libglib2.0-0 libgomp1 libgs9 libgs9-common libhtml-parser-perl libhttp-message-perl libio-socket-ssl-perl libitm1 libjasper1 libjson0 libldap-2.4-2 liblocale-gettext-perl
  libmailtools-perl libnet-dbus-perl libnet-ssleay-perl libnetcf1 libnetfilter-conntrack3 libnetfilter-queue-dev libnetfilter-queue1 libnetpbm10 libopenexr6 libp11-kit0 libpam-modules
  libpam-modules-bin libpam0g libpango1.0-0 libpulse0 libquadmath0 librsvg2-2 librsvg2-common libsasl2-2 libsemanage-common libsemanage1 libsocket-perl libspice-server1 libssh2-1
  libstdc++6 libtext-charwidth-perl libtext-iconv-perl libusb-1.0-0 libuuid-perl libvirt-bin libvirt0 libwmf0.2-7 libxapian22 libxml-parser-perl libxslt1.1 linux-image-amd64 login lvm2
  mount netpbm nginx-common nginx-full nmap nova-common novnc openssh-client openssh-server parted passwd perl perl-base perl-modules procps python python-boto python-crypto
  python-formencode python-glance python-kombu python-libvirt python-libxml2 python-migrate python-minimal python-netaddr python-nose python-nova python-novaclient python-novnc
  python-numpy python-openid python-openssl python-pastedeploy python-pip python-pkg-resources python-prettytable python-pycurl python-routes python-setuptools python-simplejson
  python-sqlalchemy python-sqlalchemy-ext python-swift python-webob python2.7 python2.7-minimal qemu-kvm qemu-utils rsyslog sasl2-bin shared-mime-info smartmontools sudo sysv-rc sysvinit
  sysvinit-utils ttf-dejavu-core udev ufraw-batch util-linux uuid-runtime vlan wget
172 mis à jour, 278 nouvellement installés, 7 à enlever et 1 non mis à jour.
Il est nécessaire de prendre 200 Mo dans les archives.
Après cette opération, 383 Mo d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer [O/n] ? O

Le redémarrage de notre serveur est nécessaire  :

reboot

Vérifions désormais la version de notre OS :

cat /etc/debian_version
8.5

Vérifions la version de notre hyperviseur KVM :

kvm --version
QEMU emulator version 2.1.2 (Debian 1:2.1+dfsg-12+deb8u6), Copyright (c) 2003-2008 Fabrice Bellard

Ou encore :

dpkg -s qemu-kvm | grep Version
Félicitations votre serveur et l’hyperviseur ont désormais migré vers Debian 8 jusqu’à la prochaine version de Debian.