Ubuntu 18.04 est sorti le 26 avril 2018 et je veux l'essayer pour mettre à jour mes programmes et convertir mes données mais je ne veux pas valider s'il y a des bugs.
J'ai réduit Windows de 410 Go à 385 Go, redémarré Ubuntu 16.04 et couru gparted
pour créer une nouvelle partition de 25 Go intitulée «Ubuntu18.04». J'ai exécuté rm-kernels
et supprimé environ 20 noyaux pour éliminer environ 10 Go sur Ubuntu 16.04.
Maintenant, je veux un script qui remplira la nouvelle partition avec 16.04 LTS et créera une nouvelle option de menu Grub. Seuls les répertoires pertinents doivent être copiés. Par exemple /sys
, /run
, /proc
et /dev
sont des répertoires virtuels créés lors du démarrage et ne doit pas être copié.
Je souhaite également que /etc/fstab
les correctifs UUID et les cron
travaux de redémarrage soient désactivés de sorte que les sauvegardes quotidiennes sur les données clonées ne soient pas exécutées après le démarrage du clone.
Je prévois d'exécuter le script plusieurs fois au cours des prochaines semaines / mois. En tant que tel, le processus de clonage devrait être reproductible sans effort.
Le même script pourrait être utilisé pour tester les mises à jour de sécurité et les nouvelles mises à jour de l'équipe du noyau Ubuntu sans affecter les systèmes de production.
Réponses:
Script Bash pour cloner la partition Ubuntu active pour cloner la partition
Le
clone-ubuntu.sh
script bash répliquera de manière transparente et en toute sécurité 16.04 LTS dans une partition pour la mise à niveau vers 18.04 LTS:Points importants à considérer:
ext4
partition vide suffisamment grande pour contenir un clone Ubuntu 16.04clone-ubuntu.sh
la partition ne peut pas être montée. Le script monte et démonte automatiquement la partition.rsync
est utilisée pour copier des fichiers depuis/
la partition de clonage. La première fois que vous courrez,clone-ubuntu.sh
cela prendra quelques minutes. La deuxième fois que vous exécutez le script, seules les modifications de fichier sont mises à jour et cela devrait prendre moins d'une minute./
fichiers et répertoires actuels ./etc/cron.d
tâches Cron (redémarrage) sont déplacées vers un nouveau sous-répertoire appelé/etc/cron.d/hold
. Après avoir démarré le clone, n'oubliez pas d'exécutersudo crontab -e
pour empêcher l'exécution des tâches cron sélectionnées./etc/fstab
est modifié avec l'UUID approprié pour la partition sur laquelle il se trouve./boot/grub/grub.cfg
est modifié avec l'UUID approprié pour un démarrage réussi du clone. Le fichier clonéquiet splash
est modifié pournosplash
que vous obteniez une messagerie de terminal de défilement. Cela donne une prise de conscience visuelle en démarrant un clone plutôt qu'une version "réelle".update-grub
est exécuté pour mettre à jour Grub avec de nouvelles options de menu pointant vers la partition clonée./etc/update-manager/release-upgrades
est modifié pour le changementPrompt=never
àPrompt=lts
. Lorsque vous démarrez le clone et effectuezdo-release-upgrade -d
cette opération, Ubuntu 16.04 peut être mis à niveau vers 18.04.Écran de confirmation
Après avoir sélectionné une partition de clone cible, il est d'abord vérifié qu'elle est de
ext4
type partition et n'est pas déjà montée. Si ce test est réussi, un message de confirmation apparaît alors:Dans cet exemple, un clone précédent a été sélectionné pour reclonage. L'espace disponible sur le clone est un point muet car nous savons déjà qu'il y a suffisamment d'espace disponible.
Si vous avez plusieurs installations Ubuntu, veuillez vérifier que vous avez sélectionné la bonne partition pour cloner l'Ubuntu actuellement démarré, monté en tant que
/
(root) sur.C'est votre dernière chance d'interrompre en appuyant sur n'importe quelle touche sauf
y
ouY
.Liste de sortie
Lorsque vous exécutez le script, vous obtiendrez cette sortie (à l'exclusion de la sortie déjà répertoriée ci-dessus):
rsync
affichage de l'état du nouveau cloneLors du premier clonage,
rsync
donnera une mise à jour de 0 à 100% de tous les fichiers créés. Aucun fichier ne sera supprimé ou modifié car le clone est vide:rsync
affichage de l'état lors du reclonageLorsque
rsync
reclone, il ne frappe jamais100%
car les fichiers qui n'ont jamais changé ne sont pas copiés. Il y aura des retards dans la progression de la mise à jour lors de l'rsync
analyse du fichier suivant à copier et lorsqu'il supprime de nouveaux fichiers créés dans le clone qui n'ont jamais existé dans l'original:Script bash -
clone-ubuntu.sh
Copiez et collez le code bash ci-dessus dans un nouveau fichier appelé
/usr/local/bin/clone-ubuntu.sh
. Rendez ensuite le nouveau fichier exécutable en utilisant:Pour appeler le script, utilisez:
Comment mettre à niveau le clone 16.04 LTS vers Ubuntu 18.04 LTS
Il s'agit d'une section "bonus" qui peut intéresser de nombreuses personnes.
Redémarrez votre machine. Le
grub
menu contiendra une nouvelle option de menu pointant vers la partition clonée. Vous pouvez également sélectionner une version spécifique du noyau dans le menu Options avancées du clone .Une façon de convertir le 16.04 LTS cloné en 18.04 LTS est d'exécuter:
Notez que le
-d
drapeau était requis avant le 26 juillet 2018 mais n'est plus nécessaire.Lisez attentivement la confirmation de mise à niveau 18.04 .
Avant de continuer, assurez-vous que le verrouillage d'écran inactif est désactivé. Le processus de mise à niveau peut se bloquer si votre ordinateur passe à l'écran de verrouillage en raison de l'inactivité du clavier.
Résumé du processus de mise à niveau 18.04
Cette section sera spécifique à la machine car différentes applications sont installées par différents utilisateurs. Voici un bref résumé que j'ai fait sur la base des notes et de la mémoire:
Notez l'étape 10 que la plupart des gens ne verront jamais. J'ai une ancienne installation de pilote nVidia sur mon Ubuntu 16.04 que je n'ai jamais réussi à supprimer complètement. Il est inclus car vous pourriez avoir d'anciens packages similaires jamais entièrement supprimés.
Grub modifie le menu de démarrage pour le cloner sous UEFI
Contrairement aux mises à niveau 18.04, j'ai trouvé que la mise à niveau 18.04.1 modifiait la configuration Grub UEFI pour utiliser le menu grub du clone au lieu du menu grub d'origine selon cette réponse: double démarrage et les fichiers /boot/grub/grub.cfg - dont l'un est utilisé?
L'exécution
sudo update-grub
après le démarrage de la partition d'origine ne suffit pas pour changer celle quigrub.cfg
est chargée par grub. Vous devez utilisersudo grub-install
pour forcer grub à utiliser la configuration de la partition d'origine.La partition d'origine et la partition de clonage peuvent toutes deux être utilisées
update-grub
pour gérer leur propre/boot/grub/grub.cfg
fichier, mais une seule peut être utilisée lors du démarrage.Bien sûr, si vous voulez que grub utilise le menu grub du Clone, ne faites pas les étapes ci-dessus sur la partition de l'original.
Modifier l'historique
Modifier le 6 mai 2018 - L'affichage des informations pour une partition de clone (cible) vide a été corrigé.
Modifier le 26 août 2018 - Utilisez l'
--inplace
option avecrsync
des fichiers si volumineux tels qu'un fichier poubelle de 2 Go ne sont pas dupliqués sur le clone pendant le processus de copie. Cela peut entraîner une erreur «d'espace disque insuffisant». Commentez les/etc/cron.d
remplacements, car les utilisateurs peuvent vouloir conserver ou souhaiter un répertoire différent. Mettez à jour les instructions à utiliserdo-release-upgrade
sans-d
indicateur car Ubuntu 18.04.1 LTS est maintenant disponible.la source
clone-ubuntu.sh
Mais je l'ai utilisé moi-même 4 fois de toute façon!Problèmes de mise à niveau des versions précédentes vers 18.04 LTS
Il n'est pas du tout simple de passer des versions précédentes à 18.04 LTS. Je ne sais pas s'il y a eu plus de problèmes qu'une telle mise à niveau dans le passé, mais les gens qui mettent à jour la mise à niveau prennent maintenant un risque pour eux-mêmes. D'un autre côté, ils trouvent des bogues et si les bogues sont signalés , cela aidera à développer l'outil de mise à niveau ainsi qu'à déboguer le système Ubuntu 18.04 LTS lui-même.
Cela signifie que les personnes suffisamment patientes pour attendre la sortie officielle de la mise à niveau avec la première version (18.04.1 LTS) bénéficieront d'une conduite plus fluide .
Test avant d'effectuer la mise à niveau complète ...
La méthode décrite ici par @ WinEunuuchs2Unix permet de tester avec une copie du système réel, si la mise à niveau vers 18.04 LTS fonctionnera avec votre système d'exploitation actuel [plus ou moins modifié] avec votre matériel informatique.
Cela peut empêcher plusieurs catastrophes avec un système d'exploitation corrompu.
Je n'ai pas encore utilisé le script de @ WinEunuuchs2Unix, mais je comprends qu'il est très utile et j'ai l'intention de l'utiliser. J'ai pu passer de 8.04 à 10.04 à 12.04, que j'ai utilisé pendant longtemps. Mais quand j'ai décidé de mettre à niveau via 14.04 à 16.04, j'ai échoué et je n'ai pas pu trouver les erreurs.
... et en cas de problème, faites une nouvelle installation
J'avais de bonnes sauvegardes , j'ai donc fait une nouvelle installation de 16.04 et plus tard copiée, ce que je voulais garder et vérifier les réglages, scripts, alias et programmes installés. Si j'avais utilisé la méthode de @ WinEunuuchs2Unix, j'avais vu le problème tôt, j'aurais fait une nouvelle installation directement.
Mise à niveau d'un système live persistant
Les systèmes live persistants sont utilisés pour obtenir des systèmes Ubuntu très portables, qui sont parfois utilisés pour les tests mais parfois pendant longtemps.
C'est un problème connu, vous ne devez pas mettre à jour et mettre à niveau un tel système comme vous le faites avec un système installé, car il sera corrompu tôt ou tard. De plus, vous êtes coincé avec le noyau et les pilotes du noyau, qui viennent avec le fichier iso, car ils sont démarrés avant le démarrage du système de superposition.
Mais il est généralement possible de conserver le
/home
répertoire, comme vous le pouvez, lorsque vous effectuez une nouvelle installation avec une partition «home» distincte. Si vous créez unehome-rw
partition, un système live persistant la trouvera et l'utilisera automatiquement lors du démarrage.Je développe et teste un shellscript, mk-persistent-live_with_home-rw , qui peut créer un système live persistant avec une
home-rw
partition, et qui peut ensuite le mettre à niveau ,remplacez le fichier iso par un nouveau. Au moins, vous devez mettre à niveau lorsqu'un nouveau fichier iso est publié, mais vous pouvez également mettre à niveau un système LTS une fois par mois et utiliser les fichiers iso quotidiens actuels du testeur tracker ,
modifier grub pour le nouveau fichier iso.
effacer (reformater) le
casper-rw
fichier qui stocke les modifications du système d'exploitation (vous devez donc réinstaller les packages de programme que vous avez ajoutés au système),préservez la
home-rw
partition avec vos fichiers personnels, paramètres et réglages.Voir ce lien pour plus de détails.
Lien supplémentaire
Des conseils généraux pour les personnes qui souhaitent tester la dernière et la meilleure version d'Ubuntu peuvent être trouvés dans le lien suivant,
Comment participer aux tests et au développement d'Ubuntu
la source