লিনাক্সে কোনও ফাইলের (এবং প্যাচগুলি তৈরি করতে) কোনও প্যাচ কীভাবে প্রয়োগ করবেন

লিনাক্স প্যাচ কমান্ড আপনাকে ফাইলগুলির একটি সেট থেকে দ্রুত এবং নিরাপদে ফাইলের অন্য সেটে পরিবর্তনগুলি স্থানান্তর করতে দেয়। কীভাবে ব্যবহার করবেন তা শিখুন প্যাচ সহজ উপায়।

প্যাচ এবং পৃথক কমান্ড

আপনার কম্পিউটারে একটি টেক্সট ফাইল আছে তা কল্পনা করুন। আপনি অন্য কারও কাছ থেকে সেই পাঠ্য ফাইলটির একটি সংশোধিত সংস্করণ পাবেন। আপনি কীভাবে পরিবর্তিত ফাইল থেকে সমস্ত পরিবর্তনগুলি আপনার মূল ফাইলে স্থানান্তর করবেন? এখানেই প্যাচ এবং ডিফ খেলার মধ্যে আসা. প্যাচ এবং ডিফ লিনাক্স এবং অন্যান্য ইউনিক্স-মতো অপারেটিং সিস্টেমে পাওয়া যায় যেমন ম্যাকোস।

দ্য ডিফ কমান্ড একটি ফাইলের দুটি পৃথক সংস্করণ পরীক্ষা করে এবং তাদের মধ্যে পার্থক্যগুলি তালিকাভুক্ত করে। পার্থক্যগুলি প্যাচ ফাইল নামে পরিচিত একটি ফাইলে সংরক্ষণ করা যেতে পারে।

দ্যপ্যাচ কমান্ড একটি প্যাচ ফাইল পড়তে পারে এবং নির্দেশাবলী একটি সেট হিসাবে বিষয়বস্তু ব্যবহার করতে পারেন। এই নির্দেশাবলী অনুসরণ করে, পরিবর্তিত ফাইলের পরিবর্তনগুলি মূল ফাইলটিতে প্রতিলিপি করা হয়।

এখন কল্পনা করুন যে পাঠ্য ফাইলগুলির একটি সম্পূর্ণ ডিরেক্টরিতে এই প্রক্রিয়াটি ঘটছে। একসাথে সব। এটাই এর শক্তি প্যাচ.

কখনও কখনও আপনি পরিবর্তিত ফাইল প্রেরণ পাবেন না। আপনার পাঠানো সমস্ত হ'ল প্যাচ ফাইল। আপনি যখন একটি ফাইল প্রেরণ করতে পারেন, বা সহজ ডাউনলোডের জন্য একটি ফাইল পোস্ট করতে পারেন তখন কেন কয়েক ডজন ফাইল কেন পাঠাবেন?

আপনার ফাইলগুলিকে প্যাচ করতে প্যাচ ফাইলটি কী করবেন? প্রায় জিভ-টুইস্টার হওয়া ছাড়াও এটিও একটি ভাল প্রশ্ন। আমরা আপনাকে এই নিবন্ধটি দিয়ে চলব।

দ্য প্যাচ কমান্ডটি প্রায়শই লোকেরা সফ্টওয়্যার উত্স কোড ফাইলগুলির সাথে কাজ করে তবে তাদের উদ্দেশ্য, উত্স কোড যাই হোক না কেন এটি কোনও পাঠ্য ফাইলের সেটগুলির সাথে সমানভাবে কাজ করে।

সম্পর্কিত:লিনাক্স টার্মিনালে কীভাবে দুটি পাঠ্য ফাইলের তুলনা করা যায়

আমাদের উদাহরণ পরিস্থিতি

এই পরিস্থিতিতে, আমরা কাজ নামে একটি ডিরেক্টরিতে রয়েছি যা অন্য দুটি ডিরেক্টরি রয়েছে। একজনকে বলা হয় কাজ, এবং অন্য এক বলা হয় সর্বশেষ। ওয়ার্কিং ডিরেক্টরিটিতে সোর্স কোড ফাইলগুলির একটি সেট থাকে। সর্বশেষতম ডিরেক্টরিটিতে সেই উত্স কোড ফাইলগুলির মধ্যে অতি সাম্প্রতিক সংস্করণ রয়েছে যার মধ্যে কয়েকটি সংশোধিত হয়েছে।

নিরাপদে থাকার জন্য, কার্যকরী ডিরেক্টরিটি পাঠ্য ফাইলগুলির বর্তমান সংস্করণের অনুলিপি। এটি তাদের একমাত্র অনুলিপি নয়।

একটি ফাইলের দুটি সংস্করণের মধ্যে পার্থক্যগুলি সন্ধান করা

দ্য ডিফ কমান্ড দুটি ফাইলের মধ্যে পার্থক্য খুঁজে বের করে। এর ডিফল্ট ক্রিয়াটি টার্মিনাল উইন্ডোতে পরিবর্তিত রেখাগুলি তালিকাভুক্ত করা।

একটি ফাইল বলা হয় slang.c। আমরা ওয়ার্কিং ডিরেক্টরিতে সংস্করণটি সর্বশেষ ডিরেক্টরিতে থাকা একটির সাথে তুলনা করব।

দ্য -উ (একীভূত) বিকল্পটি বলে ডিফ পরিবর্তিত প্রতিটি বিভাগের আগে এবং পরে কিছু অশোধিত পাঠ্য লাইনের তালিকা তৈরি করতে। এই রেখাগুলি প্রসঙ্গ রেখা বলা হয়। তারা সাহায্যপ্যাচ কমান্ডটি সুনির্দিষ্টভাবে সনাক্ত করুন যেখানে মূল ফাইলটিতে পরিবর্তন আনতে হবে।

আমরা ফাইলগুলির নাম সরবরাহ করি যাতে ডিফ কোন ফাইলের তুলনা করতে হবে তা জানে। মূল ফাইলটি প্রথমে তালিকাভুক্ত হয়, তারপরে পরিবর্তিত ফাইল। এটি হ'ল আদেশটি ডিফ:

ডিফফ-ইউ ওয়ার্কিং / স্ল্যাং.সি সর্বশেষ / স্ল্যাং। সি

ডিফ ফাইলগুলির মধ্যে পার্থক্য দেখায় একটি আউটপুট তালিকা তৈরি করে। ফাইলগুলি অভিন্ন থাকলে এখানে কোনও আউটপুট তালিকাভুক্ত হত না। থেকে এই ধরণের আউটপুট দেখে ডিফ দুটি ফাইল সংস্করণের মধ্যে পার্থক্য রয়েছে এবং মূল ফাইলটি প্যাচিংয়ের দরকার রয়েছে তা নিশ্চিত করে।

একটি প্যাচ ফাইল তৈরি করা হচ্ছে

প্যাচ ফাইলে এই পার্থক্যগুলি ক্যাপচার করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন। এটি উপরের মতো আউটপুট সহ একই কমান্ড ডিফ স্লেং.প্যাচ নামে একটি ফাইলে পুনঃনির্দেশিত।

diff -u ওয়ার্কিং / slang.c সর্বশেষ / slang.c> স্ল্যাং.প্যাচ

প্যাচ ফাইলটির নাম নির্বিচারে। আপনি নিজের পছন্দ মতো যেকোন কিছু বলতে পারেন। এটিকে ".প্যাচ" এক্সটেনশন দেওয়া ভাল ধারণা; যাইহোক, এটি এটি ফাইলের ধরণের তা পরিষ্কার করে দেয়।

বানাতেপ্যাচ প্যাচ ফাইলের উপর কাজ করুন এবং কার্যকরী / slang.c ফাইলটি সংশোধন করুন, নিম্নলিখিত কমান্ডটি ব্যবহার করুন। দ্য -উ (ইউনিফাইড) বিকল্পটি দেয় প্যাচ জেনে রাখুন প্যাচ ফাইলটিতে ইউনিফাইড প্রসঙ্গ লাইন রয়েছে। অন্য কথায়, আমরা ডিফের সাথে -u বিকল্পটি ব্যবহার করেছি, তাই আমরা এটি ব্যবহার করি -উ সঙ্গে বিকল্প প্যাচ.

প্যাচ-ইউ ওয়ার্কিং.স্ল্যাং.সি-স্লেং.প্যাচ

যদি সবকিছু ঠিকঠাক হয়, তবে আপনাকে আউটপুট দেওয়ার একক লাইন রয়েছে প্যাচ ফাইলটি প্যাচ করছে।

আসল FIle এর ব্যাকআপ করা

আমরা নির্দেশ দিতে পারি প্যাচ প্যাচযুক্ত ফাইলগুলি ব্যবহার করে পরিবর্তন করার আগে তাদের ব্যাকআপ কপি তৈরি করতে-বি (ব্যাকআপ) বিকল্প। দ্য -আই (ইনপুট) বিকল্পটি প্যাচ ফাইলটির নামটি ব্যবহার করতে বলে:

 প্যাচ-ইউ-বি ওয়ার্কিং.স্ল্যাং.সি-স্ল্যাং.প্যাচ 

আউটপুটে কোনও দৃশ্যমান পার্থক্য না করে ফাইলটি আগের মতো প্যাচ করা হয়েছে। তবে আপনি যদি ওয়ার্কিং ফোল্ডারটি সন্ধান করেন তবে আপনি দেখতে পাবেন যে স্ল্যাং। সিআরগ নামের ফাইলটি তৈরি করা হয়েছে। ফাইলগুলির তারিখ এবং সময় স্ট্যাম্পগুলি দেখায় যে slang.c.orig মূল ফাইল এবং slang.c একটি নতুন ফাইল তৈরি করেছে প্যাচ.

ডিরেক্টরি সহ ডিফ ব্যবহার করে

আমরা ব্যবহার করতে পারি ডিফ একটি প্যাচ ফাইল তৈরি করতে যাতে দুটি ডিরেক্টরিতে ফাইলগুলির মধ্যে সমস্ত পার্থক্য থাকে। তারপরে আমরা সেই প্যাচ ফাইলটি ব্যবহার করতে পারি প্যাচ একক কমান্ডের সাহায্যে ওয়ার্কিং ফোল্ডারে থাকা ফাইলগুলিতে এই পার্থক্যগুলি প্রয়োগ করতে হবে।

বিকল্পগুলি আমরা ব্যবহার করতে যাচ্ছি ডিফ হয় -উ (ইউনিফাইড প্রসঙ্গ) বিকল্পটি আমরা এর আগে ব্যবহার করেছি the -আর (পুনরাবৃত্ত) করতে বিকল্প ডিফ যে কোনও সাব-ডিরেক্টরি এবং দেখুন -এন (নতুন ফাইল) বিকল্প।

দ্য -এন বিকল্প বলে ডিফ ওয়ার্কিং ডিরেক্টরিতে নেই এমন সর্বশেষ ডিরেক্টরিতে ফাইলগুলি কীভাবে পরিচালনা করতে হয়। এটা বাহিনী ডিফ প্যাচ ফাইল নির্দেশাবলী যাতে যাতে রাখাপ্যাচ সর্বশেষ ডিরেক্টরিতে উপস্থিত এমন ফাইলগুলি তৈরি করে যা ওয়ার্কিং ডিরেক্টরি থেকে অনুপস্থিত।

আপনি বিকল্পগুলি একসাথে গুচ্ছ করতে পারেন যাতে তারা একটি একক হাইফেন ব্যবহার করে (-).

নোট করুন যে আমরা কেবল ডিরেক্টরির নাম সরবরাহ করছি, আমরা বলছি না ডিফ নির্দিষ্ট ফাইলগুলি দেখতে:

diff -ruN ওয়ার্কিং / সর্বশেষ /> স্ল্যাং.প্যাচ

প্যাচ ফাইলের অভ্যন্তরে উঁকি দেওয়া

আসুন প্যাচ ফাইলটি একবার দেখুন। আমরা ব্যবহার করব কম এর বিষয়বস্তু তাকান।

ফাইলের শীর্ষে দুটি স্ল্যাং। সি। এর দুটি সংস্করণের পার্থক্য দেখায়।

প্যাচ ফাইলটির মাধ্যমে আরও নিচে স্ক্রল করা, আমরা দেখতে পাচ্ছি যে এটি পরে স্ট্রাক্টস্ নামে পরিচিত অন্য একটি ফাইলের পরিবর্তনগুলি বর্ণনা করে। এটি যাচাই করে যে প্যাচ ফাইলটিতে অবশ্যই একাধিক ফাইলের বিভিন্ন সংস্করণের পার্থক্য রয়েছে।

ভেবে কাজ কর

ফাইলগুলির একটি বৃহত সংগ্রহ প্যাচিং কিছুটা উদ্বেগজনক হতে পারে, তাই আমরা এটি ব্যবহার করতে যাচ্ছি - শুকনো রান আমরা নিমজ্জন নেওয়ার আগে এবং পরিবর্তনগুলি করার জন্য নিজেদেরকে প্রতিশ্রুতিবদ্ধ করার আগে সমস্ত কিছু যাচাইয়ের বিকল্পটি ঠিক আছে।

দ্য - শুকনো রান বিকল্প বলে প্যাচ প্রকৃতপক্ষে ফাইলগুলি সংশোধন করা ছাড়াও সবকিছু করতে। প্যাচ ফাইলগুলিতে এর পূর্ব-বিমানের সমস্ত চেক সম্পাদন করবে এবং যদি এটির কোনও সমস্যা দেখা দেয় তবে এটি তাদের প্রতিবেদন করে। যে কোনও উপায়ে, কোনও ফাইল সংশোধিত হয় না।

যদি কোনও সমস্যার প্রতিবেদন না করা হয়, আমরা কমান্ডটি পুনরায় না করে পুনরায় করতে পারি - শুকনো রান বিকল্প এবং আত্মবিশ্বাসের সাথে আমাদের ফাইল প্যাচ।

দ্য -ডি (ডিরেক্টরি) বিকল্প বলুন প্যাচ কোন ডিরেক্টরিতে কাজ করা উচিত।

নোট করুন যে আমরা আছি না ব্যবহার করে -আই (ইনপুট) বলতে বিকল্প প্যাচ কোন প্যাচ ফাইলের নির্দেশাবলী রয়েছে ডিফ। পরিবর্তে, আমরা প্যাচ ফাইলটি পুনর্নির্দেশ করছি প্যাচ সঙ্গে <.

প্যাচ - শুকনো-চালানো -আরএন-ডি কাজ করছে <স্ল্যাং.প্যাচ

সম্পূর্ণ ডিরেক্টরি থেকে, ডিফ প্যাচ করার জন্য দুটি ফাইল পেয়েছে। এই দুটি ফাইলের পরিবর্তন সংক্রান্ত নির্দেশাবলী দ্বারা পরীক্ষা করা হয়েছে প্যাচ , এবং কোনও সমস্যা রিপোর্ট করা হয়নি।

প্রাক ফ্লাইট চেক ঠিক আছে; আমরা টেক অফের জন্য প্রস্তুত।

একটি ডিরেক্টরি প্যাচিং

প্রকৃতপক্ষে ফাইলগুলিতে প্যাচগুলি প্রয়োগ করতে আমরা পূর্ববর্তী কমান্ডটি ছাড়াই ব্যবহার করি - শুকনো রান বিকল্প।

প্যাচ -ruN -d কাজ করছে <স্ল্যাং.প্যাচ

এবার আউটপুটটির প্রতিটি লাইন "চেকিং" দিয়ে শুরু হয় না, প্রতিটি লাইন "প্যাচিং" দিয়ে শুরু হয়।

এবং কোন সমস্যা রিপোর্ট করা হয়। আমরা আমাদের উত্স কোডটি সংকলন করতে পারি এবং আমরা সফ্টওয়্যারটির সর্বশেষতম সংস্করণে থাকব।

আপনার পার্থক্য নিষ্পত্তি করুন

এটি এখন পর্যন্ত ব্যবহারের সবচেয়ে সহজ এবং নিরাপদ উপায় প্যাচ। আপনার টার্গেট ফাইলগুলি কোনও ফোল্ডারে অনুলিপি করুন এবং সেই ফোল্ডারে প্যাচ করুন। যখন আপনি খুশি হন যে প্যাচিংয়ের প্রক্রিয়াটি ত্রুটিমুক্ত হয়েছে তখন সেগুলি আবার অনুলিপি করুন।


$config[zx-auto] not found$config[zx-overlay] not found