Que fait vraiment 'do-release-upgrade'?

27

Nous savons que do-release-upgrade "effectue une mise à niveau vers la version". Mais à un niveau inférieur, qu'est-ce que ça fait vraiment?

Je compte faire une mise à niveau plus manuelle, par exemple à la manière de Debian: aptitude update et aptitude full-upgrade après avoir configuré les sources. En fait, je prévois de le faire de manière totalement interactive avec aptitude . Mais cela me laisse curieux de savoir ce que fait else do-relase-upgrade , à part d’arranger mes sources.list.

    
posée Robert Siemer 23.01.2014 - 09:52
la source

1 réponse

28

do-release-upgrade fait partie du package "update-manager-core". Le script semble déterminer dans quelle version vous allez effectuer la mise à niveau, essayez de savoir s’il est pris en charge ou non et vous plaindre de cette dernière. - S'il est convaincu de fonctionner, il télécharge UpgradeTool spécifique à la version et l'exécute.

Une partie du paquet "update-manager-core" est le fichier /etc/update-manager/meta-release , où vous pouvez trouver l'URL lien et là vous trouvez l’URL de l’outil UpgradeTool à télécharger.

L’archive téléchargée UpgradeTool est fournie à partir du paquet source "ubuntu-release-upgrader" (avant "update-manager"). La version correspond aux dernières mises à jour pour la version cible.

La source a un ancien fichier README datant des périodes de publication verruqueuses et anciennes. Il discute de ce qui doit être fait lors d'une mise à niveau de la version. Il mentionne également un lien vers une proposition UpgradeTool plus détaillée .

Je liste ici les actions mentionnées et vérifie si elles sont réellement mises en œuvre:

  • relatif au référentiel
    • basculer vers de nouvelles entrées sources.list
    • supprimer les référentiels tiers inconnus
    • éventuellement swap mirror (non implémenté)
  • package lié
    • vérifiez qu'il n'y a pas de paquetages cassés avant la mise à niveau
    • mettre à jour la version actuelle avant la mise à niveau ( apt-get update seulement)
    • supprimer et installer des packages spécifiques
    • vérifiez si {ubuntu, kubuntu, edubuntu} -desktop est installé
    • se débarrasser des anciens noyaux
    • avoir une suppression de liste noire et -whitelist
    • supprime ou remplace les paquets obsolètes qui existaient dans les versions précédentes
  • Configuration liée (possible en quirks: voir ci-dessous)
    • ajouter l'utilisateur par défaut à de nouveaux groupes (pas fait pour les versions que j'ai vérifiées)
    • vérifier certains fichiers de configuration

L'outil UpgradeTool est configuré pour chaque version à l'aide des fichiers suivants (ouvrez-les pour voir!):

  • DistUpgrade.cfg
    • Configuration liée à UpgradeTool
    • Configuration liée à la version
    • dépôts (par exemple, [Sources] ValidMirrors)
    • modifications personnalisées ([Distro] PostInstallScript)
    • paquets spéciaux; traité uniquement par DistUpgradeController.py:
      • [Distro] RemoveObsoletes, ForcedObsoletes, BaseMetaPkgs, MetaPkgs
      • [meta_package_name] ForcedObsoletes
    • ... et par DistUpgradeCache.py:
      • [Distro] MetaPkgs, RemovalBlacklist, RemoveEssentialOk, BadVersions, BaseMetaPkgs, PurgeObsoletes, Demotions, KeyDependencies
      • [Distro et meta_package_name] KeepInstalledPkgs, KeepInstalledSection, PostUpgrade *
      • [KernelRemoval] *
  • DistUpgradeQuirks.py
    • exécute (libère) des fonctions spécifiques (même fichier) et des plugins (répertoire plugins )
    • Les fonctions
    • doivent avoir des noms spécifiques (p. ex. from_nattyPreCacheOpen() ) et des plugins spéciaux condition attributs (p. ex. * ou PostInitialUpdate )
    • une de ces fonctions, StartUpgrade() , est une autre sacoche: entre autres, elle appelle _applyPatches() , qui passe en revue les fichiers du répertoire patches
    • tout cela ne fait pratiquement rien sur mon installation (i386, des paquets plus anciens que natty-updates)
  • plus de DistUpgradeCache.py
    • exécute get_kernel_list.sh (pas en confiance) et vérifie qu'un noyau est installé
    • quelques manipulations sur les pilotes Nvidia

Versions vérifiées:

  • natty → oneiric
  • onirique → précis
  • précis → fiable (final au 2014-04-18)
  • trusty → utopic (heures avant la publication le 23/10/2014)
réponse donnée Robert Siemer 23.01.2014 - 09:52
la source

Lire d'autres questions sur les étiquettes