Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
utilisateurs:claudiux:migration_maverick_vers_precise [Le 05/09/2012, 19:25] – [OneConf] claudiuxutilisateurs:claudiux:migration_maverick_vers_precise [Le 11/09/2022, 13:12] (Version actuelle) – Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) moths-art
Ligne 28: Ligne 28:
 Donc ici la clé USB est le périphérique **/dev/sdd** ; elle contient une partition /dev/sdd1. Donc ici la clé USB est le périphérique **/dev/sdd** ; elle contient une partition /dev/sdd1.
  
-Se placer dans le dossier qui contient l'image iso que l'on vient de télécharger : +Se placer dans le dossier qui contient l'image iso que l'on vient de télécharger :
   cd ~/Téléchargements   cd ~/Téléchargements
   ls -t | head -1   ls -t | head -1
Ligne 35: Ligne 35:
 C'est bien ça ! C'est bien ça !
  
-Pour vérifier que l'image iso est correcte, chercher sur [[https://help.ubuntu.com/community/UbuntuHashes]] sa clé md5 (md5sum). Hélas, elle ne s'y trouve pas encore ! Tant pis, on lance : +Pour vérifier que l'image iso est correcte, chercher sur [[https://help.ubuntu.com/community/UbuntuHashes]] sa clé md5 (md5sum). Hélas, elle ne s'y trouve pas encore ! Tant pis, on lance :
   md5sum ubuntu-12.04.1-alternate-i386.iso   md5sum ubuntu-12.04.1-alternate-i386.iso
-et on obtient : +et on obtient :
   b4512076d85a1056f8a35f91702d81f9  ubuntu-12.04.1-alternate-i386.iso   b4512076d85a1056f8a35f91702d81f9  ubuntu-12.04.1-alternate-i386.iso
 Un moteur de recherche confirme que cette clé md5 est la bonne. Un moteur de recherche confirme que cette clé md5 est la bonne.
  
-Lancer alors la commande qui va transformer ma clé USB en clé bootable d'installation d'Ubuntu 12.04.1 Alternate i386 :  +Lancer alors la commande qui va transformer ma clé USB en clé bootable d'installation d'Ubuntu 12.04.1 Alternate i386 : 
-  sudo dd if=ubuntu-12.04.1-alternate-i386.iso of=/dev/sdd+  sudo dd if=ubuntu-12.04.1-alternate-i386.iso of=/dev/sdd bs=4M && sync
  
 Ne pas interrompre cette commande, ni fermer le terminal dans lequel elle s'exécute ; cela peut durer une dizaine de minutes. Ne pas interrompre cette commande, ni fermer le terminal dans lequel elle s'exécute ; cela peut durer une dizaine de minutes.
Ligne 53: Ligne 53:
  
 ==== Sauvegarde des données personnelles ==== ==== Sauvegarde des données personnelles ====
-Cela est indispensable, surtout si /home n'est pas dans une partition à part.+Cela est indispensable, surtout si /home n'est pas monté dans une partition qui lui est propre. 
 + 
 +Pour vérifier si /home est monté sur une partition : 
 +  df -h 
 +si une ligne contient /home, c'est OK : 
 +  [...] 
 +  /dev/sda4                           1,8T  711G 1016G  42% /home 
 +  [...] 
 +  
  
 ==== Mise à jour de la liste des paquets ==== ==== Mise à jour de la liste des paquets ====
Ligne 61: Ligne 69:
 (Une erreur survient : le dépôt dl.google.com n'existe plus. J'ouvre synaptic, clique sur Origine, sélectionne "testing/non-free (dl.google.com)" et vois que seul picasa, que je n'ai pas installé, est concerné ; je supprime ce dépôt, ferme synaptic, et relance la commande ci-dessus. Tout est OK.) (Une erreur survient : le dépôt dl.google.com n'existe plus. J'ouvre synaptic, clique sur Origine, sélectionne "testing/non-free (dl.google.com)" et vois que seul picasa, que je n'ai pas installé, est concerné ; je supprime ce dépôt, ferme synaptic, et relance la commande ci-dessus. Tout est OK.)
  
-==== Mise à jour des paquets ====+==== Mise à jour des paquets et nettoyage ====
   sudo apt-get dist-upgrade   sudo apt-get dist-upgrade
 +  sudo apt-get autoremove
 +==== Faire la liste des paquets à réinstaller ====
 +
 +Voici un script python qui fait la liste des paquets à installer.
 +
 +<code>#!/usr/bin/python
 +# -*- coding: utf-8 -*-
 +
 +import subprocess
 +import os, os.path
 +import re
 +
 +### Liste des paquets installés automatiquement (i.e non installés manuellement) ###
 +# Sous Maverick (Ubuntu 10.10) apt-mark ne connait pas l'option showmanual.
 +proc = subprocess.Popen(["apt-mark","showauto"], stdout=subprocess.PIPE)
 +autoInstalls,err = proc.communicate() 
 +
 +autoInstallsList = []
 +for autoInstall in str.split(autoInstalls,'\n'):
 +  autoInstallsList.append(autoInstall)
 +
 +## debug:
 +#print "autoInstallsList: %i" %len(autoInstallsList)
 +
 +### Liste de tous les paquets installés ###
 +# S'il n'existe pas, on crée un script bash qui nous donne cette liste.
 +# (Pas élégant, mais ça fonctionne et c'est rapide !)
 +if not os.path.exists(os.path.abspath('')+'/allpackages.sh'):
 +  allpackagescript=open(os.path.abspath('')+'/allpackages.sh', 'w')
 +  allpackagescript.write("dpkg --get-selections | grep -v deinstall | awk '{print $1}'")
 +  allpackagescript.close()
 +# On utilise ce script :
 +proc=subprocess.Popen(["/bin/sh",os.path.abspath('')+"/allpackages.sh"], stdout=subprocess.PIPE)
 +allInstalls,err = proc.communicate()
 +
 +allInstallsList = []
 +for allInstall in str.split(allInstalls,'\n'):
 +  if not (allInstall.startswith('linux-headers-2.6') or allInstall.startswith('linux-image-2.6')):
 +    allInstallsList.append(allInstall)
 +
 +## debug:
 +#print "allInstallsList: %i" %len(allInstallsList)
 +
 +### Liste de tous les paquets installés manuellement ###
 +# C'est la différence entre la liste des paquets installés et celle des paquets auto.
 +manualInstallList = filter(lambda x:x not in autoInstallsList,allInstallsList)
 +
 +# Suppression des paquets réinstallés automatiquement
 +
 +dependsList=[]
 +
 +depends=re.compile("Depends: ([^\n/]*)")
 +section=re.compile("Section: ([^\n/]*)"
 +
 +for pkg in manualInstallList:
 +  proc=subprocess.Popen(["apt-cache","show",pkg], stdout=subprocess.PIPE)
 +  res,err = proc.communicate()
 +  """
 +  #1ere idée : Suppression des paquets dont dependent les meta-paquets (tels ubuntu-minimal et ubuntu-desktop) :
 +  sct=section.search(res)
 +  if sct.group(1).startswith("metapackages"):
 +    #print "META : %s" %pkg
 +    deps=depends.search(res)
 +    deps=deps.group(1).replace("," , "")
 +    pkgsList=str.split(deps, " ")
 +    dependsList=dependsList + filter(lambda x:x not in dependsList,pkgsList)
 +  """
 +  # 2nde idée : Finalement, supprimer tous les paquets qui seront réinstallés automatiquement du fait des dépendances :
 +  deps=depends.search(res)
 +  if deps is not None:
 +    deps=deps.group(1).replace("," , "")
 +    pkgsList=str.split(deps, " ")
 +    dependsList=dependsList + filter(lambda x:x not in dependsList,pkgsList)
 +
 +# On supprime ces paquets de la liste des paquets installés manuellement :
 +manualInstallList=filter(lambda x:x not in dependsList,manualInstallList)
 +
 +# debug:
 +#print "manualInstallList: %i" %len(manualInstallList)
 +
 +for install in manualInstallList:
 +  print install
 +</code>
 +
 +Créer un dossier migration, et s'y rendre :
 +  mkdir ~/migration
 +  cd ~/migration
  
-==== OneConf ====+Enregistrer le script ''listofpackages.py'' ci-dessus : 
 +  gedit ~/migration/listofpackages.py 
 +Fermer gedit puis rendre le script exécutable : 
 +  chmod +x ~/migration/listofpackages.py
  
-Installer OneConf, outil d'enregistrement de la configuration sur Ubuntu One +L'exécuter en redirigeant sa sortie dans un fichier nommé ''maverick_packages_list.txt'' : 
-  sudo apt-get install oneconf+  ./listofpackages.py > maverick_packages_list.txt
  
-Ouvrir la logithèque Ubuntu. Les id/mdp d'Ubuntu One sont demandés (créer un compte si ce n'est déjà fait). Dans le menu fichier : "Inventory on Ubuntu One".+==== Enregistrer les clés GPG de tous les dépôts ==== 
 +  sudo apt-key exportall > maverick_all_repos.asc
  
-Dans "Ubuntu One Settings...", démarrer le service. 
  
-Cocher "Share this computer's inventory". Décocher "Show inventories from other computers". Fermer.+