Skip to main content

Comment appliquer un correctif à un fichier sous Linux

Comment résoudre l'erreur "Échec de l'ouverture de session par le service de profil utilisateur" (Avril 2025)

Comment résoudre l'erreur "Échec de l'ouverture de session par le service de profil utilisateur" (Avril 2025)
Anonim

Ce guide fournit une vue d'ensemble de base pour appliquer un correctif à un programme ou à un fichier.

La commande utilisée pour appliquer des correctifs est la commande patch, mais pour appliquer un correctif, vous devez également utiliser la commande diff afin d'indiquer les différences à corriger.

Pourquoi créer un patch?

Imaginez que vous ayez un fichier HTML comme suit:

Mon site

Bienvenue sur MySite

La source ci-dessus, une fois chargée dans un navigateur Web, affichera les mots "Welcome to MySite".

Lors de la programmation, il est courant d’avoir plusieurs versions du même fichier. Par exemple, il y aurait une version qui serait la version en direct actuelle, il y aurait une autre version sur la branche de développement pouvant contenir plusieurs modifications, enfin, il pourrait y avoir une autre version sur une branche de publication.

La branche de publication serait la version utilisée par de vrais utilisateurs (c'est-à-dire, dans ce cas, les visiteurs du site Web de MySite). Disons que MySite est à la version 1.0. Après une phase de développement, vous créerez une branche de publication qui serait dans ce cas 1.1. La branche de développement aura une longueur d'avance sur la branche de publication car elle peut contenir des modifications dont la publication dans la version 1, 2 n'est pas prévue, mais le sera pour la version 1.1.

Imaginez qu’il y ait un bogue dans lequel MySite devrait s’appeler YourSite. Vous pouvez accéder à chaque branche à tour de rôle et apporter des modifications à la version en direct, à la version de développement et à la version finale de votre produit. Vous pouvez les modifier en tant que correctif dans Live, puis appliquer le correctif aux branches de développement et de publication.

Un exemple travaillé

Créez un fichier appelé myfile.html contenant le code suivant:

Mon site

Bienvenue sur MySite

Ceci est un exemple concret de correction du code source.

Créez un autre fichier appelé myfile_v2.html contenant le code suivant:

Votre site

Bienvenue sur votre site

Ceci est un exemple concret de correction du code source.

Le premier fichier est la page Web d'origine avec l'en-tête "Bienvenue sur MySite". Le deuxième fichier est identique au premier, à la différence que MyFile est renommé YourFile dans le texte.

Comment créer le fichier diff

Pour créer un correctif, nous devons déterminer les différences entre myfile.html et myfile_v2.html.

Nous pouvons le faire avec la commande diff comme suit:

diff -u monfichier.html monfichier_v2.html> monfichier.patch

Vous pouvez ouvrir le fichier myfile.patch dans l'éditeur nano comme suit pour le visualiser:

nano myfile.patch

Les lignes inchangées sont indiquées en bleu. Les lignes supprimées sont affichées en rouge et les lignes ajoutées en vert.

Comment appliquer le correctif à l'aide de la commande de correctif

Pour appliquer le correctif à myfile.html, utilisez la commande suivante:

patch <myfile.patch

Comment annuler un patch

Cela appliquera les modifications créées à l'aide de la commande diff au fichier d'origine myfile.html.

Si vous souhaitez rétablir le correctif de manière à ce que myfile.html redevienne tel qu'il était à l'origine, utilisez la commande suivante:

patch -R <monfichier.patch

Résumé

La commande patch peut être utilisée pour appliquer des correctifs sur toute une structure de répertoires.

Il existe de bien meilleurs outils que la commande patch pour créer des correctifs et assurer un bon contrôle de la source.

Il y a une raison pour laquelle tant de projets de développement utilisent GIT pour le contrôle de source. GIT facilite la création d'une stratégie de branchement cohérente.

La commande patch est correcte pour appliquer des différences à un script bash ou quelque chose de simple, mais vous pouvez tout aussi facilement créer une copie de sauvegarde des fichiers que vous souhaitez corriger et simplement copier les nouveaux fichiers au même endroit.

Pour plus d'informations, utilisez la commande man:

patch homme