Comment mettre à jour Ubuntu 12.04 LTS vers Ubuntu 14.04 LTS

introduction

Ubuntu propose deux types de versions, le support standard et le support à long terme (ou «LTS»). Les mises à jour standard sont publiées tous les six mois et reçoivent des mises à jour de sécurité d'Ubuntu pendant au moins neuf mois, tandis que les mises à jour LTS sont publiées tous les deux ans et sont prises en charge pendant au moins cinq ans.

Si vous utilisez actuellement Ubuntu 12.04, vous aurez les mises à jour de sécurité d’au moins octobre 2017. Si vous souhaitez prolonger cette durée de support et accéder aux nouvelles fonctionnalités et mises à jour, vous pouvez mettre à niveau votre serveur vers la dernière version de LTS. Dans ce guide, nous verrons comment mettre à niveau un serveur Ubuntu 12.04 vers 14.04 en toute sécurité, en prenant soin de préserver nos configurations existantes.

[.Attention]##

Warning: Comme pour presque toutes les mises à niveau entre les versions majeures d'un système d'exploitation, ce processus comporte un risque inhérent d'échec, de perte de données ou de configuration logicielle défectueuse. Des sauvegardes complètes et des tests approfondis sont fortement recommandés.

Pour éviter ces problèmes, lorsque cela est possible, nous vous recommandons de migrer vers un nouveau serveur Ubuntu 14.04 plutôt que de mettre à niveau sur place. Vous devrez peut-être toujours examiner les différences de configuration logicielle lors de la mise à niveau, mais le système principal aura probablement une plus grande stabilité. Vous pouvez suivre notre série surhow to migrate to a new Linux server pour apprendre à migrer entre les serveurs.

[[step-one -—- backing-up-existing-data]] == Étape 1 - Sauvegarde des données existantes

Étant donné que vous utilisez probablement votre serveur 12.04 pour gérer des tâches ou des données sensibles, il est très important de sauvegarder l’état actuel de la configuration et des fichiers de votre serveur. Bien que le processus que nous allons suivre soit le moyen recommandé pour effectuer une mise à niveau de version, il n’existe aucun moyen de garantir qu’une mise à niveau de version ne causera pas de problèmes de logiciel ou de configuration. La sauvegarde préalable de vos données facilitera beaucoup la récupération en cas de problème résultant de la mise à niveau.

Dans cette étape, nous couvrirons plusieurs méthodes de sauvegarde. Si vous utilisez DigitalOcean, il est conseillé de créer un instantané via le panneau de commande en plus de synchroniser les fichiers sur votre ordinateur local. De cette façon, vous avez la possibilité de restaurer des fichiers individuels ou de restaurer l'intégralité de l'instantané, en fonction de la nature du scénario nécessitant une restauration.

Synchroniser des fichiers sur un ordinateur local

Il existe plusieurs moyens efficaces de sauvegarder des fichiers sur un serveur Ubuntu. Dans cet exemple, nous allons utiliserrsync pour copier les fichiers de notre serveur dans un dossier de sauvegarde sur notre ordinateur local. Nous ne pourrons pas sauvegarder tous les dossiers du système de fichiers car certains d'entre eux constituent un stockage temporaire pour les processus en cours. Heureusement, nous pouvons exclure ces dossiers de notre sauvegarde.

Vous pouvez utiliser la commande suivante pour copier le système de fichiers du serveur, en prenant soin de modifier les informations d’identification du serveur marquées enred. Si vous utilisez l'authentification par clé SSH sur votre serveur, votre utilisateur root n'aura pas de mot de passe défini par défaut, vous devrez donc pointerrsync vers votre fichier de clé privée. Ce fichier se trouve généralement à/home/username/.ssh/id_rsa. Comme nous téléchargeons les fichiers du serveur localement, la commande doit être exécutée à partir de notre ordinateur local, et non sur le serveur que nous sauvegardons.

sudo rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} -e 'ssh -i /path/to/private_key' root@SERVER_IP_ADDRESS:/* ~/backup/

Les indicateursaAX indiquent àrsync de conserver les attributs de fichier importants tels que les autorisations, les propriétés et les heures de modification. Si vous utilisez Docker ou un autre outil de virtualisation, vous devez ajouter l'indicateurS afin quersync gère correctement les fichiers épars, comme le stockage virtuel.

Note:rsync n'est disponible que pour les systèmes d'exploitation Unix tels que Linux et OS X. Si votre ordinateur local exécute Windows, vous pouvez copier les fichiers de votre serveur à l’aide d’un client SFTP tel que Filezilla:How To Use Filezilla to Transfer and Manage Files Securely on your VPS

Si vous devez restaurer des parties de vos fichiers serveur ultérieurement, vous pouvez utiliser à nouveaursync avec les paramètres source et destination inversés, comme ceci:sudo rsync -aAXv -e 'ssh -i /path/to/private_key' ~/backup/ root@SERVER_IP_ADDRESS:/*

Créer un instantané des gouttelettes DigitalOcean

Si vous utilisez DigitalOcean, vous pouvez créer un instantané de la droplet que vous pourrez facilement restaurer en cas de problème. À compter d'octobre 2016, les instantanés coûteraient 0,05 USD par gigaoctet par mois, en fonction de la quantité d'espace utilisé dans le système de fichiers. Si cette option vous est proposée, c’est une bonne idée d’utiliser les deux méthodes de sauvegarde pour des raisons de redondance, plutôt que de choisir une méthode plutôt que l’autre. Vous pouvez supprimer l'instantané une fois que vous avez vérifié que la mise à niveau a été effectuée sans problème.

Commencez par mettre votre serveur hors tension afin que son état actuel soit préservé pour l'instantané. Bien qu'il soit possible de réaliser une capture instantanée d'un système en cours d'exécution, pour vous assurer que les données sont cohérentes sur le disque, il est préférable de mettre hors tension:

sudo poweroff

Ensuite, connectez-vous à votre panneau de contrôle DigitalOcean et sélectionnez le droplet à mettre à niveau. Accédez au panneauSnapshots, saisissez un nom pour votre nouvel instantané et sélectionnezTake Snapshot.

Take Snapshot

Une fois le processus d'instantané terminé, votre serveur sera automatiquement redémarré. Vous pourrez ainsi vous reconnecter via SSH pour poursuivre la mise à niveau.

Si vous devez restaurer ultérieurement votre serveur sur cet instantané, vous pouvez reconstruire à partir de cette image dans la sectionDestroy du panneau de configuration de votre Droplet.

[[step-two -—- Preparing-for-the-upgrade]] == Étape 2 - Préparation de la mise à niveau

Avant de commencer la mise à niveau, nous devons nous assurer que le logiciel déjà installé est à jour. La mise à jour de notre logiciel installé rend maintenant la mise à niveau de la version moins rapide pour de nombreux packages, ce qui réduit le risque d'erreur.

Nous utiliseronsapt pour mettre à jour notre index de package local, puis mettre à niveau le logiciel actuellement installé:

sudo apt-get update
sudo apt-get upgrade

Nous allons utiliserupdate-manager-core pour gérer la mise à jour de la version. Ce package est installé par défaut dans la plupart des installations Ubuntu 12.04, mais nous pouvons vérifier s'il est installé sur le serveur ou non en utilisantapt-cache:

apt-cache policy update-manager-core

Si la commande ne renvoie pas un numéro de version installé (c'est-à-dire s'il afficheInstalled: (none)), utilisezapt pour télécharger le gestionnaire de mise à jour à partir des référentiels logiciels d'Ubuntu:

sudo apt-get install update-manager-core

Une fois que nous avons confirmé l'installation du gestionnaire de mise à jour, nous sommes prêts à commencer le processus de mise à niveau.

[[step-three -—- upgrade-to-14-04]] == Étape trois - Mise à niveau vers 14.04

Nous pouvons maintenant exécuter la commandedo-release-upgrade avec les privilèges root. Il s’agit d’un script automatisé qui extraira la dernière version du logiciel des référentiels d’Ubuntu et appliquera les diverses mises à niveau à votre serveur. Cette mise à niveau peut prendre plusieurs minutes et vous y invite de temps en temps. Surveillez donc votre session SSH pendant la mise à niveau.

sudo do-release-upgrade

Bien que le gestionnaire de mise à jour gère la plupart des détails nécessaires au passage à la prochaine version de LTS, nous devrons néanmoins prendre quelques décisions à la demande. La plupart de ces invites vous demanderont de remplacer les fichiers de configuration existants. L’action par défaut consiste à conserver la configuration existante, ce qui est généralement la meilleure option pour assurer la stabilité. Veillez toutefois à lire attentivement chaque invite avant de choisir une option et n’hésitez pas à consulter le package en question pour vous assurer de faire le bon choix.

Vers la fin du processus de mise à niveau, vous serez invité à redémarrer votre serveur. Confirmez avec «y» pour lancer le redémarrage.

Votre session SSH sera déconnectée. Vous devrez donc vous reconnecter pour confirmer que la mise à niveau s'est déroulée comme prévu. Une fois que vous vous êtes reconnecté, utilisezlsb_release pour vérifier votre nouveau numéro de version d'Ubuntu:

lsb_release -a

Vous devriez voir une sortie semblable à celle-ci:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.1 LTS
Release:    14.04
Codename:   trusty

SiRelease: affiche 14.04, vous avez réussi à mettre à niveau votre serveur Ubuntu LTS!

[[step-four -—- upgrade-the-kernel]] == Étape 4 - Mise à niveau du noyau

Même si vous avez téléchargé un nouveau noyau pour accompagner votre version mise à jour, il est possible que le logiciel ne soit pas activé pour être utilisé par le logiciel utilisé pour héberger votre serveur. Si vous utilisez DigitalOcean, le logiciel d'hébergement (appelé KVM) maintient le noyau en dehors de l'image du serveur et devra être mis à jour séparément.

Vous pouvez voir quelle version de noyau votre serveur utilise actuellement avecuname:

uname -ri

Votre sortie ressemblera à ceci:

3.2.0-24-virtual i686

Si la version du noyau est inférieure à 3.13, cela signifie que votre serveur n’utilise pas encore le noyau d’Ubuntu 14.04. Il est peu probable qu'un noyau plus ancien présente des problèmes logiciels, mais vous constaterez peut-être une amélioration des performances ou de nouvelles fonctionnalités utiles avec un noyau plus récent.

Pendant le processus de mise à niveau, votre serveur a téléchargé un nouveau noyau à charger sur Ubuntu 14.04. Vous pouvez voir quelle version du noyau a été téléchargée en vérifiant le contenu du répertoire/lib/modules:

ls /lib/modules

Vous verrez une liste qui ressemble à ceci:

3.13.0-39-generic  3.2.0-24-virtual

Pour utiliser un noyau nouvellement installé, vous devez mettre à jour la sélection de noyaux dans le panneau de contrôle de votre droplet, puis éteindre et démarrer votre droplet.

Tout d’abord, connectez-vous à votre panneau de commande DigitalOcean et sélectionnez le serveur que vous allez mettre à niveau. Dans le panneauSettings, sélectionnez l'ongletKernel.

Ici, vous verrez une liste déroulante des noyaux disponibles. Sélectionnez le noyau qui correspond à la distribution, à la version et au numéro de version de celui que vous avez téléchargé (3.13.0-39-generic dans l'exemple ci-dessus):

Change Kernel

Une fois le noyau sélectionné, cliquez surChange pour charger ce noyau sur votre serveur. Pour commencer à utiliser le nouveau noyau, vous devez éteindre le serveur. Cette opération est similaire au débranchement de l’alimentation d’un ordinateur dans le panneau de configuration. Il est donc recommandé de mettre hors tension via le terminal:

sudo poweroff

Une fois le serveur complètement arrêté, vous pouvez l’amorcer dans le panneau de configuration. Dans le panneauPower, sélectionnezBoot.

Power Cycle

Vous pouvez maintenant vous reconnecter à votre serveur via SSH et utiliseruname pour confirmer que le nouveau noyau est utilisé:

uname -ri

Vous devriez voir une sortie semblable à celle-ci:

3.13.0-39-generic i686

Si la version du noyau correspond au noyau que vous avez chargé sur le panneau de configuration, vous avez correctement mis à jour votre noyau.

Conclusion

Vous avez maintenant mis à niveau votre serveur Ubuntu vers la dernière version de LTS, vous donnant accès aux dernières mises à jour logicielles ainsi qu'aux mises à jour de sécurité jusqu'au moins 2019. Si vous rencontrez des problèmes de compatibilité avec un programme après la mise à niveau, consultez la documentation de ce programme pour savoir si des modifications importantes nécessitant des modifications de sa configuration.