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 07/09/2012, 17:19] – [Sauvegarde des données personnelles] 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 69: 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 ====
  
-==== OneConf ====+Voici un script python qui fait la liste des paquets à installer.
  
-Installer OneConf, outil d'enregistrement de la configuration sur Ubuntu One : +<code>#!/usr/bin/python 
-  sudo apt-get install oneconf+# -*- coding: utf-8 -*-
  
-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".+import subprocess 
 +import os, os.path 
 +import re
  
-Dans "Ubuntu One Settings...", démarrer le service.+### 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() 
  
-Cocher "Share this computer'inventory"Décocher "Show inventories from other computers". Fermer.+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 
 + 
 +Enregistrer le script ''listofpackages.py'' ci-dessus : 
 +  gedit ~/migration/listofpackages.py 
 +Fermer gedit puis rendre le script exécutable : 
 +  chmod +x ~/migration/listofpackages.py 
 + 
 +L'exécuter en redirigeant sa sortie dans un fichier nommé ''maverick_packages_list.txt''
 +  ./listofpackages.py > maverick_packages_list.txt 
 + 
 +==== Enregistrer les clés GPG de tous les dépôts ==== 
 +  sudo apt-key exportall > maverick_all_repos.asc 
 + 
 + 
 +