Main menu:

Site search

Categories

mars 2025
L M M J V S D
 12
3456789
10111213141516
17181920212223
24252627282930
31  

Archive

Sauvegarder une partition entière avec dd

La commande dd permet de sauvegarder un disque entier ou une partition sans devoir faire attention à ce qu’il y a effectivement sur le disque, à sa structure. Il copie les données se trouvant sur le disque physique sans se préoccuper de savoir si il y a une ou plusieurs partitions ni comment elles sont formatées. De plus dd peut copier des secteurs du disque qui ne se trouvent pas sur une partition comme le MBR par exemple.

Il est donc possible de sauvegarder un disque entier ou simplement une partition et donc, même une partition Windows Vista par exemple. Et comme je suis un peu comme Saint Thomas, je ne crois que ce que j’ai pu expérimenter, je me suis lancé dans la sauvegarde et la restauration d’une partition contenant un Windows Vista en parfait état de marche.

La première chose que j’ai faite, c’est monter un disque dur externe sur /media/disk. Ce disque va servir à recevoir la sauvegarde de ma partition. Ensuite j’ai fait une sauvegarde du MBR parce qu’on ne sait jamais! Si quelque chose se passe mal, je suis sûr d’au moins pouvoir restaurer le MBR du disque avec la table des partitions:

$ sudo dd if=/dev/sda of=/media/disk/mbr.bin bs=512 count=1

La commande dd permet de sauvegarder les données par blocs. La taille du bloc est déterminée par le paramètre bs dans la commande. Dans le cas du MBR, celui-ci correspond au premier secteur du disque et fait 512 octets. On donnera donc au bloc la taille de 512. Par contre, lors de la sauvegarde d’une partition ou d’un disque entier, il peut être intéressant de donner au bloc une taille multiple de celle des blocs sur le disque. La plupart des disques sont constitués de blocs de 512 octets. Définir une taille de 1024 ou 2048 permet d’accélérer la sauvegarde. Créer des blocs de taille plus grande ne sert à rien d’après mes essais.

L’inconvénient de dd, c’est qu’il copie absolument tout. Même les parties du disque non-utilisées. Si votre partition fait 250GB, la sauvegarde fera aussi 250GB. Pour diminuer cette taille, nous pouvons compresser avec gzip les données. Les essais que j’ai fait sur une partition de 25GB donnaient une sauvegarde de 18GB. C’est déjà mieux. Il peut être aussi intéressant de s’assurer avant de formater le disque qu’il contient bien des zéros partout. De cette façon, les zones inutilisées sont constituées de zéros qui se compressent très bien. D’après ce que j’ai pu voir, c’est déjà le cas des partitions NTFS et mes partitions ext3/ext4 contenaient aussi des zéros dans les zones inutilisées. Mais pour être sûr, remplissez le disque de zéro avant tout formatage, cela diminuera la taille de la sauvegarde plus tard si cela s’avère nécessaire. La commande suivante remplit le disque sda de zéros:

$ sudo dd if=/dev/zero of=/dev/sda bs=1024k conv=noerror,sync

Attention: n’utilisez la commande ci-dessus que si vous savez ce que vous faites. L’utiliser sur un disque en utilisation, le remplira de zéro et effacera toutes les données du disque.

Autre inconvénient de dd, ça prend du temps! Comme il copie tout, cela prend même un temps fou. Trois quarts d’heure pour ma partition de 25GB sur mon (vieux) système.

Passons maintenant à la sauvegarde proprement dite. Je veux donc sauvegarder ma partition Vista se trouvant sur le disque sda1.

$ sudo dd if=/dev/sda1 bs=2048 conv=noerror,sync | pv | gzip -c > /media/disk/sda1_backup.gz

La commande pv permet d’avoir une indication de ce qui est déjà fait et de ce qui reste à faire. La commande gzip avec l’option -c envoie le résultat vers la sortie standard qui est redirigée vers un fichier sur le disque externe monté dans /media/disk.

Si par malheur un jour, vous devez restaurer la partition, il suffit de faire l’opération inverse:

$ gunzip -c /media/disk/sda1_backup.gz | pv | sudo dd of=/dev/sda1 bs=2048

Je vous l’ai dit, cette commande dd permet tout aussi bien de sauvegarder un disque en entier. Il suffit dans les commandes ci-dessus de remplacer /dev/sda1 par /dev/sda.
Pour installer pv qui ne l’est pas par défaut, tapez:

$ sudo aptitude install pv

La commande dd copie à l’identique. Il faut donc, lors de la restauration, que le disque ou la partition soit d’une taille suffisante pour recevoir l’image du disque ou de la partition qui a été sauvegardée.

Pour info, il existe une multitude d’outils permettant de sauvegarder ou de cloner une partition ou un disque dur autre que dd. Les plus connus sont PartImage et Clonezilla.

Obtenir des infos sur le matériel de son PC

Lorsque l’on veut connaître les composants de son PC, on utilise en général les commandes bien connues lspci et lshw.

lspci

Par exemple, pour connaitre le modèle de sa carte vidéo, on peut utiliser la commande suivante:

$ lspci | grep -i vga
01:00.0 VGA compatible controller: nVidia Corporation NV31 [GeForce FX 5600XT] (rev a1)

On voit ainsi que sur le PC sur lequel je tape cet article, la carte graphique est une nvidia pas toute neuve.
De même, pour connaître le modèle de sa carte réseau ou son, on taperait les commandes suivantes:

$ lspci | grep -i ethernet
$ lspci | grep -i audio

lshw

lshw vous donne par contre une description sous forme arborescente de votre PC qui est bien plus détaillée que lspci. Ainsi, lshw vous détaillera les différentes banques de mémoires, vous dira si elle sont occupées, fera de même avec chaque slot pci en vous précisant quelle carte l’occupe et tout cela en donnant moult renseignements.
Cette commande est beaucoup plus complète que lspci mais plus difficile à manipuler. Elle s’utilise ainsi:

$ sudo lshw

dmidecode

Il existe néanmoins une troisième méthode pour obtenir des renseignements sur son hardware et c’est celle-là que je voudrais vous présenter particulièrement. Il s’agit de la commande dmidecode qui utilise les renseignements se trouvant dans les tables du BIOS (DMI = Desktop Management Interface). Ces tables, d’après la page de manuel, contiennent une description du matériel composant le PC. La différence avec une commande comme lshw ou lspci est que les renseignements viennent du BIOS et pas d’une interrogation des composants du PC.

Le BIOS contient différentes tables décrivant chacune un élément (type) particulier du matériel. Il suffit pour en obtenir la description de donner à dmidecode le type voulu. Voyons quelques uns des types disponibles. Pour les autres, je vous renvoie à la page de manuel.

  • 0 BIOS: donne des rensignements sur le BIOS lui-même et ce qu’il supporte
  • 1 System: donne des renseignements sur le fabricant du PC et son vendeur
  • 2 Base Board: donne des rensignements sur la carte mère (marque, type, version…)
  • 4 Processor: comme son nom l’indique donne des renseignements sur les processeurs
  • 5 Memory Modules: donne le nombre de banques de mémoire, si elles sont utilisées, avec quel type de barette mémoire, la taille etc…
  • 10 On Board Devices: liste les composants faisant éventuellement partie de la carte mère (ethernet, chipset audio…)

En tout, il y a 39 types différents.

Pour pouvoir utiliser dmidecode, il faut d’abord l’installer si ce n’est déjà fait:

$ sudo aptitude install dmidecode

Une fois installé, pour obtenir des renseignements sur sa carte mère par exemple, il suffit de taper ceci:

$ sudo dmidecode -t 2
# dmidecode 2.9
SMBIOS 2.3 present.

Handle 0x0002, DMI type 2, 8 bytes
Base Board Information
	Manufacturer: ASUSTeK Computer Inc.
	Product Name: P4P800SE
	Version: Rev 2.xx
	Serial Number: MB-1234567890

On peut également fournir à dmidecode un mot-clef plutôt qu’un numéro de type. Les mots-clef reconnus par dmidecode sont:

  • bios
  • system
  • baseboard
  • chassis
  • processor
  • memory
  • cache
  • connector
  • slot
$ sudo dmidecode -t connector

Cette commande liste tous les connecteurs présents sur la carte mère (souris, clavier, usb, lpt, com, midi, joystick, audio, ethernet, firewire, IDE, SATA, floppy, ventilateurs, alimentation …)

Cette brêve présentation de dmidecode montre que cette commande donne des renseignements que lspci et lshw ne donnent pas. En ce sens, ces trois commandes sont complémentaires et doivent être utilisées conjointement si vous voulez une description complète de tout le matériel de votre PC.

Un peu de Microsoft dans votre Ubuntu

Canonical qui est la société derrière Ubuntu vient de passer un accord avec YAHOO ! pour que celui-ci devienne le moteur de recherche par défaut de Firefox dans la prochaine version 10.04 d’Ubuntu.
Là où cela devient vraiment marrant c’est que l’année dernière, YAHOO ! a passé aussi un accord avec Microsoft pour que Bing soit le moteur de recherche utilisé par YAHOO !. Autrement dit, quand vous ferez une recherche sur le Net via YAHOO ! dans Firefox, vous utiliserez la technologie Microsoft. Chacun appréciera à sa manière !

Source: https://lists.ubuntu.com/archives/ubuntu-devel/2010-January/030065.html

Firefox 3.6

Firefox 3.6 est sorti officiellement hier. Pas de révolution par rapport à la version 3.5. juste quelques améliorations au niveau des CSS ou de javascript et du support de l’ HTML 5. Mais ce qui intéressera le plus les utilisateurs, la possibilité de créer des thèmes et donc de changer l’apparence de votre navigateur préféré.

A part cela, il a, à mon avis, les mêmes défauts que la version 3.5 même s’il m’a paru un peu plus rapide. Son principal défaut est le problème du scrolling dans les pages contenant beaucoup de vidéos ou d’images. Pour s’en rendre compte visitez par exemple le site de Korben. Impossible de naviguer correctement dans la page au moyen de l’ascenseur. Surfer dans ces conditions devient un cauchemar. Et ne venez pas me dire que c’est la page de Korben qui est mal écrite. Réessayez avec Chromium et vous aurez une idée de ce que c’est que la fluidité.

Si néanmoins, vous voulez quand même installer Firefox, téléchargez l’archive sur le site de Mozilla, ouvrez un terminal et tapez:

$ sudo tar -C /opt -xvf firefox-3.6.tar.bz2
$ sudo ln -s /opt/firefox/firefox /usr/local/bin/firefox3.6

Pour le lancer tapez:

firefox3.6

L’idéal est de créer un lanceur ou de l’ajouter dans les menus. Je vous laisse le faire et tester par vous même cette nouvelle mouture de Firefox.

sudo echo

Dans le billet Changer le hostname de votre PC, je donnais une commande permettant de changer le nom du PC en écrivant grâce à la commande echo, le nouveau nom directement dans le fichier /etc/hostname. La commande donnée était celle-ci:

$ sudo echo Nouveau_Nom > /etc/hostname

Je n’y avais pas prêté attention à l’époque mais cette commande est évidemment incorrecte.
Son but était de permettre l’écriture dans le fichier /etc/hostname qui réclame des droits d’administration pour être modifié. Malheureusement, le sudo s’applique à la commande echo et pas à la redirection de la sortie standard vers le fichier. Pour le vérifier, tapons cette commande dans un terminal:

$ sudo echo Nouveau_Nom > /etc/hostname
bash: /etc/hostname: Permission non accordée

Pour résoudre ce problème nous allons utiliser un petit programme appelé tee qui, d’après la page de manuel, lit ce qui se trouve sur son entrée standard (stdin) et le réécrit sur sa sortie standard (stdout) ou dans un fichier:

$ echo Nouveau_Nom | sudo tee /etc/hostname

Le caractère de redirection | redirige la sortie standard du programme à sa gauche vers l’entrée standard du programme à sa droite (voir Shell – Redirections de flux). La commande prend donc la sortie de la commande echo, l’envoie sur l’entrée standard de tee qui grâce au sudo réécrit son entrée standard dans le fichier /etc/hostname mais cette fois avec des droits suffisants.

Si vous voulez ajouter en appending quelque chose avec la commande tee, celle-ci possède une option -a, pour append, permettant d’ajouter quelque chose au fichier. Par exemple:

$ echo Nouveau_Nom | sudo tee -a /etc/hostname

Dans ce cas, Nouveau_Nom sera ajouté au fichier plutôt que de remplacer le contenu comme dans le cas précedent.

Problèmes avec le gestionnaire de paquets ?

Il arrive lorsqu’on installe une application ou un paquet que le gestionnaire de paquets donne une erreur en retour.

Si le gestionnaire de paquets vous donne une erreur du genre:

dpkg : erreur de traitement de ttf-mscorefonts-installer (--configure) :
le sous-processus script post-installation installé a retourné une erreur de sortie d'état 1

ou

hsfmodem-base-dkms: le sous-processus script post-installation installé a retourné une erreur de sortie d'état 10.

ou bien

E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem. 
E: _cache->open() failed, please report.

ou encore

E: adobe-flashplugin: le sous-processus script post-removal installé a retourné une erreur de sortie d'état 1

vous pouvez taper les commandes suivantes pour essayer de vous en sortir.

Remarque: le nom des paquets est donné à titre d’exemple et sera différent probablement dans votre cas.

Essayez d’abord:

$ sudo aptitude -f install

Si ça ne donne aucun résultat et que le message d’erreur est le même, essayez ensuite:

$ sudo aptitude clean
$ sudo dpkg --configure --force-all -a

Si ça ne fonctionne toujours pas, il va falloir mettre les mains dans le cambouis et éditer le fichier /var/lib/dpkg/status.

$ gksudo gedit /var/lib/dpkg/status

Trouvez la ligne commençant par Package: suivie du nom du paquet qui pose problème chez vous. Prenons par exemple le paquet ttf-mscorefonts-installer. On recherche dans le fichier un bloc commençant par Package: ttf-mscorefonts-installer. Ensuite on supprime tout le bloc commençant par Package: ttf-mscorefonts-installer jusqu’au Package: suivant. Dans notre exemple voici ce qui se trouve dans le fichier:

Package: ttf-mscorefonts-installer
Status: install ok installed
Priority: optional
Section: contrib/x11
Installed-Size: 196
Maintainer: Ubuntu MOTU Developers 
Architecture: all
Source: msttcorefonts
Version: 3.0
Replaces: msttcorefonts (<< 2.6)
Provides: msttcorefonts
Depends: wget, cabextract, xfonts-utils, defoma, debconf (>= 0.5) | debconf-2.0
Recommends: ttf-liberation, x-ttcidfont-conf
Conflicts: msttcorefonts (<< 2.6)
Conffiles:
 /etc/defoma/hints/ttf-mscorefonts-installer.hints 26fd3c37389de3bfdd85044d0a50fd4f
Description: Installer for Microsoft TrueType core fonts
 This package allows for easy installation of the Microsoft True Type
 Core Fonts for the Web including:
 .
   Andale Mono
   Arial Black
   Arial (Bold, Italic, Bold Italic)
   Comic Sans MS (Bold)
   Courier New (Bold, Italic, Bold Italic)
   Georgia (Bold, Italic, Bold Italic)
   Impact
   Times New Roman (Bold, Italic, Bold Italic)
   Trebuchet (Bold, Italic, Bold Italic)
   Verdana (Bold, Italic, Bold Italic)
   Webdings
 .
 You will need an Internet connection to download these fonts if you
 don't already have them.
 .
 NOTE: the package ttf-liberation contains free variants of the Times,
 Arial and Courier fonts. It's better to use those instead unless you
 specifically need one of the other fonts from this package.
Original-Maintainer: Thijs Kinkhorst 

Package: python-gnomecanvas

On supprimera donc toutes les lignes entre Package: ttf-mscorefonts-installer et Package: python-gnomecanvas non compris.
Ensuite relancez Synaptic et vous verrez que ce paquet n’est pas installé. Réinstallez-le si vous le désirez. Tout devrait bien fonctionner maintenant.

Note: je rappelle aussi rapidement que si l’erreur est:

E: Impossible de verrouiller /var/lib/dpkg/lock - open (11: Ressource temporairement non disponible)
E: Impossible de verrouiller le répertoire d'administration (/var/lib/dpkg/). Il est possible qu'un autre processus l'utilise.

C’est qu’un autre gestionnaire de paquets est déjà ouvert. Fermez toutes les fenêtres de Synaptic que vous pourriez avoir ouvertes.
Si le problème persiste, ouvrez un terminal et tapez:

$ sudo rm -rf /var/lib/apt/lists/lock

Voilà, ces quelques commandes vous permettront de vous sortir de bien des problèmes. Le plus fréquents étant une coupure de liaison réseau ou une coupure secteur lors de l’installation d’un nouveau paquet ou lors de mises à jour. Les commandes c-dessus vous sortiront de ce type de mauvais pas.