Le « diff » est abrégé en « différences » et est utilisé pour comparer le contenu de deux fichiers et répertorier les changements dans la sortie standard.
Un ensemble de codes sources constitue un logiciel. Les développeurs construisent le code source qui évolue au fil du temps. Obtenir un nouveau fichier pour chaque mise à jour est irréaliste ou prend du temps. Par conséquent, la méthode la plus sûre consiste à distribuer les améliorations uniquement. Les modifications sont apportées à l'ancien fichier, puis un nouveau fichier ou un fichier corrigé est créé pour la nouvelle version du logiciel.
Ce guide vous montre comment utiliser la commande « diff » pour générer un fichier de correctif, puis l'appliquer avec la commande « patch ».
Syntaxe:
La syntaxe du "pièceLa commande " est la suivante :
$ patch [options] [fichier d'origine [fichier de correctif]]$ patch -pnum
Création d'un fichier de correctif à l'aide de « diff » :
Fichier de code source 1 :
Premièrement, deux versions différentes d'un code source sont nécessaires pour créer un fichier de correctif. Le fichier de code source que j'ai créé est nommé "mon fichier.c”:s
#inclureint main()
printf("Bonjour LinuxHint\n");
Fichier de code source 2 :
Maintenant, copiez le contenu de mon fichier.c dans le nouveau_monfichier.c, utilisant:
$ cp monfichier.c nouveau_monfichier.cApportez quelques modifications au fichier nouvellement créé :
#inclurevoid main()
printf("Bonjour astuce Linux");
printf("Bienvenue sur linuxhint");
Vérification de la différence :
Créons un fichier de correctif nommé comme mon fichier.pièce:
$ diff -u monfichier.c nouveau_monfichier.c
Vous pouvez imprimer le fichier de correctif en exécutant la commande ci-dessous :
$ cat monfichier.pièce
Application du fichier de correctif :
Pour appliquer le correctif, utilisez :
$ patch < myfile.patch
Assurez-vous que le fichier de correctif se trouve dans le répertoire où se trouve le fichier de code source.
Effectuez une sauvegarde avant d'appliquer le correctif :
Utiliser "-b” option pour créer une sauvegarde du fichier de correctif :
$ patch -b < myfile.patch
Définition de la version du fichier de sauvegarde
Si vous avez besoin de plusieurs sauvegardes d'un seul fichier de sauvegarde, utilisez le "-V” option. Il définit le numéro de version de chaque fichier de sauvegarde. Exécutez la commande ci-dessous :
$ patch -b -V numéroté < myfile.patch
Valider les fichiers de correctifs
Si vous souhaitez vérifier ou observer le résultat du patch, utilisez alors "-à sec” option. Il n'apporte aucune modification au fichier d'origine :
$ patch --dry-run < myfile.patch
Inverser/annuler un patch
L'option "-R" est utilisée pour inverser ou annuler un patch qui a déjà été appliqué.
$ patch < file.patch$ ls -l monfichier.c
$ patch -R < myfile.patch
$ ls -l monfichier.c
Conclusion:
Dans le système d'exploitation Linux, « patch » est une commande qui nous permet d'appliquer des fichiers de correctifs aux codes sources ou aux fichiers de configuration. Le fichier de correctif est utilisé à des fins de mise à jour du logiciel. La différence entre les fichiers d'origine et les nouveaux fichiers est conservée dans les fichiers de correctif et la commande « diff » est utilisée pour obtenir la différence ou le correctif. Nous avons discuté de l'utilisation des commandes « diff » et « patch » avec un certain nombre d'options telles que la création de sauvegardes, le fonctionnement à sec et l'inversion du correctif appliqué.