الأخبار التكنولوجية والاستعراضات والنصائح!

كيفية تطبيق تصحيح على ملف (وإنشاء تصحيحات) في Linux

يسمح لك أمر Linux patch بنقل التغييرات من مجموعة واحدة من الملفات إلى مجموعة أخرى من الملفات بسرعة وأمان. تعلم كيفية استخدام التصحيح بالطريقة السهلة.

أوامر التصحيح والفرق

تخيل أن لديك ملفًا نصيًا على جهاز الكمبيوتر الخاص بك. تحصل على نسخة معدلة من هذا الملف النصي من شخص آخر. كيف تنقل جميع التغييرات بسرعة من الملف المعدل إلى ملفك الأصلي؟ هذا هو المكان الذي يلعب فيه التصحيح والفرق. التصحيح والفرق متاحان في Linux وأنظمة التشغيل الأخرى الشبيهة بـ Unix ، مثل macOS.

يفحص الأمر diff نسختين مختلفتين من الملف ويسرد الاختلافات بينهما. يمكن تخزين الاختلافات في ملف يسمى ملف التصحيح.

يمكن لأمر التصحيح قراءة ملف التصحيح واستخدام محتوياته كمجموعة من الإرشادات. باتباع هذه التعليمات ، يتم نسخ التغييرات في الملف المعدل في الملف الأصلي.

تخيل الآن العملية التي تحدث مع دليل كامل للملفات النصية. الكل في ضربة واحدة. هذه هي قوة الترقيع.

في بعض الأحيان لا يتم إرسال الملفات التي تم تغييرها. كل ما يتم إرساله هو ملف التصحيح. لماذا ترسل العشرات من الملفات في حين أنه يمكنك إرسال ملف واحد ، أو نشر ملف واحد للتنزيل بسهولة؟

ماذا تفعل بملف التصحيح لتصحيح ملفاتك بالفعل؟ إلى جانب كونه خداعًا لسانًا تقريبًا ، فهو أيضًا سؤال جيد. نمر من خلال هذا المقال.

يتم استخدام أمر التصحيح بشكل شائع من قبل الأشخاص الذين يعملون مع ملفات التعليمات البرمجية المصدر للبرنامج ، ولكنه يعمل بشكل جيد على قدم المساواة مع أي مجموعة من الملفات النصية ، بغض النظر عن الغرض أو كود المصدر أم لا.

سيناريو مثالنا

في هذا السيناريو ، نحن في دليل يسمى العمل الذي يحتوي على دليلين آخرين. أحدهما يسمى العمل والآخر يسمى الأحدث. يحتوي دليل العمل على مجموعة من ملفات التعليمات البرمجية المصدر. يحتوي أحدث دليل على أحدث إصدار من ملفات التعليمات البرمجية المصدر هذه ، والتي تم تعديل بعضها.

من أجل السلامة ، يعد دليل العمل نسخة من الإصدار الحالي للملفات النصية. إنها ليست النسخة الوحيدة منهم.

أوجد الفروق بين نسختين من الملف

يجد الأمر diff الاختلافات بين ملفين. الإجراء الافتراضي الخاص به هو سرد الأسطر المعدلة في نافذة المحطة الطرفية.

ملف واحد يسمى slang.c. سنقارن الإصدار الموجود في دليل العمل مع الإصدار الموجود في أحدث دليل.

يخبر الخيار -u (موحد) الفرق أن يسرد أيضًا بعض أسطر النص غير المعدلة من قبل وبعد كل قسم من الأقسام التي تم تغييرها. تسمى هذه الخطوط بخطوط السياق. إنها تساعد أمر التصحيح في العثور بالضبط على المكان الذي يجب إجراء التغيير فيه في الملف الأصلي.

نحن نقدم أسماء الملفات حتى يعرف الفرق الملفات التي يجب مقارنتها. يتم سرد الملف الأصلي أولاً ، ثم الملف المعدل. هذا هو الأمر الذي نصدره إلى الفرق:

فرق -u العمل / slang.c الأحدث / slang.c

diff ينتج قائمة مخرجات توضح الاختلافات بين الملفات. إذا كانت الملفات متطابقة ، فلن يكون هناك إخراج على الإطلاق. تؤكد رؤية هذا النوع من الإخراج من الفرق أن هناك اختلافات بين إصداري الملف وأن الملف الأصلي يحتاج إلى التصحيح.

كيفية تطبيق تصحيح على ملف (وإنشاء تصحيحات) في Linux 1

قم بإنشاء ملف تصحيح

لالتقاط هذه الاختلافات في ملف التصحيح ، استخدم الأمر التالي. إنه نفس الأمر على النحو الوارد أعلاه ، مع إعادة توجيه الإخراج من diff إلى ملف يسمى slang.patch.

فرق -u العمل / slang.c latest / slang.c> slang.patch

كيفية تطبيق تصحيح على ملف (وإنشاء تصحيحات) في Linux 2 slang.patch in a terminal window “width =” 646 ″ height = “57 ″ onload =” pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon (هذا) ؛ ” on Error = ”this.onerror = null؛ pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon (هذا) ؛”>

اسم ملف التصحيح عشوائي. يمكنك تسميتها ما تريد. إن إعطائها امتداد “.patch” فكرة جيدة ؛ ولكن لأنه يوضح نوع الملف.

لجعل التصحيح يعمل على ملف التصحيح وتعديل ملف العمل / slang.c ، استخدم الأمر التالي. يتيح الخيار -u (موحد) أن يعرف التصحيح أن ملف التصحيح يحتوي على خطوط سياق موحدة. بمعنى آخر ، استخدمنا الخيار -u مع فرق ، لذلك نستخدم الخيار -u مع التصحيح.

التصحيح -u working.slang.c -i slang.patch

إذا سارت الأمور على ما يرام ، فهناك سطر إخراج واحد يخبرك أن التصحيح يعمل على تصحيح الملف.

عمل نسخة احتياطية من الملف الأصلي

يمكننا توجيه التصحيح لعمل نسخة احتياطية من الملفات المصححة قبل تغييرها باستخدام الخيار -b (النسخ الاحتياطي). يخبر الخيار -i (المدخلات) التصحيح باسم ملف التصحيح المراد استخدامه:

التصحيح -u -b working.slang.c -i slang.patch

كيفية تطبيق تصحيح على ملف (وإنشاء تصحيحات) في Linux 3

تم تصحيح الملف كما كان من قبل ، مع عدم وجود فرق واضح في الإخراج. ومع ذلك ، إذا نظرت إلى مجلد العمل ، فسترى أن الملف slang.c.orig قد تم إنشاؤه. تُظهر طوابع التاريخ والوقت للملفات أن slang.c.orig هو الملف الأصلي وأن slang.c هو ملف جديد تم إنشاؤه بواسطة patch.

كيفية تطبيق تصحيح على ملف (وإنشاء تصحيحات) في Linux 4

استخدام فرق مع الدلائل

يمكننا استخدام فرق لإنشاء ملف تصحيح يحتوي على جميع الاختلافات بين الملفات في دليلين. يمكننا بعد ذلك استخدام ملف التصحيح هذا مع التصحيح لتطبيق هذه الاختلافات على الملفات الموجودة في مجلد العمل باستخدام أمر واحد.

الخيارات التي سنستخدمها مع diff هي الخيار -u (سياق موحد) الذي استخدمناه من قبل ، وخيار -r (متكرر) لجعل الاختلافات تبدو في جميع الدلائل الفرعية ، وخيار -N (ملف جديد).

يخبر الخيار -N فرقًا عن كيفية التعامل مع الملفات الموجودة في أحدث دليل غير موجود في دليل العمل. يجبر الفرق على وضع التعليمات في ملف التصحيح بحيث يقوم التصحيح بإنشاء ملفات موجودة في أحدث دليل ولكنها مفقودة في دليل العمل.

يمكنك ربط الخيارات بحيث تستخدم واصلة واحدة (-).

لاحظ أننا نقدم أسماء الدلائل فقط ، ولا نطلب من فرق النظر في ملفات معينة:

فرق – العمل / أحدث /> عامية

كيفية تطبيق تصحيح على ملف (وإنشاء تصحيحات) في Linux 5 slang.patch ”width =” 646 ″ height = ”77 ″ onload =” pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon (هذا) ؛ ” on Error = ”this.onerror = null؛ pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon (هذا) ؛”>

النظر في ملف التصحيح

دعنا نلقي نظرة سريعة على ملف التصحيح. سنستخدم أقل لمشاهدة المحتوى.

كيفية تطبيق تصحيح على ملف (وإنشاء تصحيحات) في Linux 6

يُظهر الجزء العلوي من الملف الاختلافات بين نسختين من slang.c.

كيفية تطبيق تصحيح على ملف (وإنشاء تصحيحات) في Linux 7

إذا قمنا بالتمرير لأسفل خلال ملف التصحيح ، فسنجد أنه يصف التغييرات في ملف آخر يسمى Structs.h. يتحقق هذا من أن ملف التصحيح يحتوي بالتأكيد على الاختلافات بين الإصدارات المختلفة لملفات متعددة.

كيفية تطبيق تصحيح على ملف (وإنشاء تصحيحات) في Linux 8

فكر قبل أن تثب

قد يكون تصحيح مجموعة كبيرة من الملفات أمرًا مزعجًا بعض الشيء ، لذلك سنستخدم خيار التشغيل الجاف للتحقق من أن كل شيء على ما يرام قبل أن نتحرك ونلتزم بإجراء التغييرات.

يقوم الخيار –dry-run بإخبار التصحيح بأن يقوم بكل شيء باستثناء تعديل الملفات فعليًا. سيقوم التصحيح بإجراء جميع فحوصات ما قبل الرحلة على الملفات وإذا واجه أي مشاكل فسوف يقوم بالإبلاغ عنها. على أي حال ، لم يتم تغيير أي ملفات.

إذا لم يتم الإبلاغ عن أي مشاكل ، فيمكننا تكرار الأمر بدون خيار التشغيل الجاف وتصحيح ملفاتنا بثقة.

يخبر الخيار -d (الدليل) التصحيح بالدليل الذي يجب العمل عليه.

لاحظ أننا لا نستخدم الخيار -i (المدخلات) لإخبار التصحيح بملف التصحيح الذي يحتوي على التعليمات من diff. بدلاً من ذلك ، نقوم بإعادة توجيه ملف التصحيح إلى patch med

التصحيح – التشغيل الجاف – RUN – العمل

كيفية تطبيق تصحيح على ملف (وإنشاء تصحيحات) في Linux 9

من الدليل بأكمله ، عثر فرق على ملفين لتصحيحهما. تم فحص التعليمات المتعلقة بالتعديلات الخاصة بهذين الملفين عن طريق التصحيح ، ولم يتم الإبلاغ عن أي مشاكل.

فحوصات ما قبل الرحلة على ما يرام ؛ نحن جاهزون للإقلاع.

ترقيع الدليل

لتطبيق التصحيحات بشكل حقيقي على الملفات ، نستخدم الأمر السابق بدون الخيار –dry-run.

التصحيح -RUN- العمل

كيفية تطبيق تصحيح على ملف (وإنشاء تصحيحات) في Linux 10

هذه المرة لا يبدأ كل سطر من المخرجات بـ “التحقق” ، كل سطر يبدأ بـ “patching”.

ولم يتم الإبلاغ عن أي مشاكل. يمكننا تجميع الكود المصدري الخاص بنا ، وسنكون على أحدث إصدار من البرنامج.

تسوية خلافاتك

هذه هي الطريقة الأسهل والأكثر أمانًا لاستخدام التصحيح. انسخ ملفاتك الهدف إلى مجلد وقم بتصحيح هذا المجلد. انسخها مرة أخرى عندما تكون سعيدًا لأن عملية التصحيح قد اكتملت بدون أخطاء.