De la bonne compréhension du fonctionnement de dpkg et apt-get

Lami René lami at webestrie.com
Dim 4 Avr 23:30:49 UTC 2010


Bonjour,

Merci pour toutes ces précisions, ils seront sûrement utiles !

Je ne pensais pas que de prendre quelques commandes dans une réponse de 
la présente liste pour en faire un tutoriel pour que tout le monde en 
profite à l'avenir, provoque autant de remous !
 
Pour ma part, je n'irai pas beaucoup plus loin dans les procédures de 
Point de restauration étant donné mon peu de compétence en la matière.

Dans le tutoriel, j'ai enlevé les mots concernant le contexte de mise à 
jour à cause des numéros de version qui ne sont pas pris en compte et je 
ne parle maintenant qu'avant l'installation de logiciel ce qui donne ceci :

« Pour des questions de sécurité, d'intégrité d'un système et de confort 
d'utilisation, avant toute installation ou désinstallation de logiciel 
dans votre distribution Linux, il serait souhaitable de pouvoir revenir 
en arrière sur nos actions.

Pour ce faire, il y a le concept de **Point de Restauration**. Il est 
question ici de conserver un certain nombre de paramètres concernant les 
paquets logiciels et modules qui sont installés dans l'ordinateur.

Par exemple, quand vous vous apprêtez à utiliser une nouvelle classe de 
logiciels, par exemple des logiciels de montage vidéo. Dans ce cas, vous 
allez probablement installer plusieurs logiciels et modules nouveaux 
dans votre système, pour n'en utiliser au final qu’un ou deux. Il vous 
sera alors très difficile de retenir tous les ajouts de logiciels et de 
dépendances qui auront été installés pendant votre processus 
d'évaluation des logiciels disponibles. Pour corriger ce problème, vous 
procédez à la création d'un point de restauration avant tout ajout de 
logiciels et de dépendances. Vous testez toutes les solutions. 
Finalement, vous ne garderez que les logiciels X et Y. Alors, vous 
procédez à la restauration du point de restauration et vous ne 
réinstallez que les logiciels X et Y ! Cela vous redonne un système 
propre et débarrassé de modules que vous ne réutiliserez plus jamais.

Le présent tutoriel vous propose une méthode simple en ligne de 
commande, en attendant qu'une interface graphique soit réalisée pour 
gérer automatiquement les points de restauration (Créer un point de 
restauration et Procéder à la restauration d'un point de restauration).

ATTENTION : Ces procédures ne correspondent pas à ce que l'on retrouve 
sous Microsoft avec les Points de Restaurations ! »

En souhaitant corriger la présente polémique.

Bien amicalement !

L'ami René

Séb a écrit :
> Désolé pour la longueur du sujet...
>
> Alcachofa wrote:
>   
>> J'ai copié le script et l'ai collé dans la  console.
>> Il fonctionne - Commande 1 ( sauvegarde) Ok - en tout cas un fichier est 
>> crée et le contenu semble corret?!
>> Commande 2 ( restauration ) je n'ai pas eu de probleme ni d'erreur...
>>     
>
> C'est tout à fait normal. Si tu as fait les commandes l'une après l'autre, le script n'a même RIEN fait!
> Explications détaillées de la méthode utilisée dans le script:
>
> La commande de sauvegarde est la suivante:
> dpkg --get-selections > nomdefichierquelconque.txt
>
> "dpkg --get-selections" affiche les paquets installés (sans le détail des versions effectivement installées!); couplé à 
> "> nomdefichierquelconque.txt", cela permet de rediriger ce qu'affiche dpkg vers un fichier.
> Cela permet donc de stocker la liste des paquets installés sur le système.
>
> Les commandes de restauration sont les suivantes:
> dpkg --clear-selections
> puis
> dpkg --set-selections < nomdefichierquelconque.txt
> et enfin
> sudo apt-get dselect-upgrade
>
> "dpkg --clear-selections" désélectionne (i.e. marque comme candidats à la désintallation) les paquets non essentiels.
> "dpkg --set-selections < nomdefichierquelconque.txt" permet de sélectionner (i.e. marquer pour l'installation) les 
> paquets listé dans le fichier "nomdefichierquelconque.txt". Cela permet ainsi de ne sélectionne à l'installation/mise à 
> jour que les paquets listés dans le fichier "nomdefichierquelconque.txt".
> Pour finir, "sudo apt-get dselect-upgrade" se charge d'appliquer les changements dus à l'effet des deux commandes 
> précédentes. Pour cela apt-get va interroger sa base de données des paquets disponibles et mettre à jour (ou installer) 
> les paquets avec *la dernière version disponible d'après sa base de données*, ce qui veut dire (si la base de données 
> est à jour) que le paquet sera installé/mis à jour avec la dernière version disponible dans les dépôts. Il s'agit du 
> comportement intrinsèque des utilitaires de gestion des paquets et liés au fonctionnement des dépôts et des paquets.
> Il y a donc deux corollaires à cela:
> 1. Si jamais un paquet est listé dans le "fichier de sauvegarde" mais n'est pas présent dans la base de donnée utilisée 
> par apt-get, ce dernier renverra une erreur.
> 2. Les paquets qui sont déjà installés (dans leur dernière version) sur le système et listés dans le "fichier de 
> sauvegarde" ne seront pas réinstallés par apt-get.
>
> J'espère que les choses sont maintenant plus claires pour tout le monde et qu'il apparait plus évident aux intéressés 
> que le comportement n'est peut-être pas celui d'une méthode de restauration telle qu'ils l'entendent.
>
> Mes deux centimes,
>
> Séb
>
>   





Plus d'informations sur la liste de diffusion ubuntu-fr