লিনাক্স ব্যবহার করে একটি ফাইল প্যাচ কিভাবে প্রয়োগ করবেন?

এই গাইড একটি প্রোগ্রাম বা ফাইল একটি প্যাচ প্রয়োগ করার জন্য একটি মৌলিক সারসংক্ষেপ উপলব্ধ করা হয়।

প্যাচ প্রয়োগ করার জন্য ব্যবহৃত কমান্ড হল প্যাচ কমান্ড কিন্তু একটি প্যাচ প্রয়োগ করার জন্য diff কমান্ডকেও প্যাচ করার জন্য যে পার্থক্যগুলি প্রয়োজন তা সরবরাহ করতে ব্যবহার করা প্রয়োজন।

কেন আপনি একটি প্যাচ তৈরি করতে হবে?

কল্পনা করুন আপনি একটি এইচটিএমএল ফাইল নিম্নরূপ:


-এর
<শিরোনাম> MySite
এর
এর

মাইএসাইটে স্বাগতম
এর

উপরোক্ত সূত্র যখন একটি ওয়েব ব্রাউজারে লোড হয় তখন "MySite তে স্বাগতম" শব্দটি দেখাবে।

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

রিলিজ শাখাটি আসল ব্যবহারকারীদের দ্বারা ব্যবহৃত সংস্করণ হবে (অর্থাৎ মাইএসিট ওয়েবসাইটে দর্শকরা)। আসুন আমরা বলি MySite 1.0 সংস্করণে আছে। একটি উন্নয়ন ফেজ পরে আপনি একটি রিলিজ শাখা তৈরি করবে যা 1.1 এই ক্ষেত্রে হবে। উন্নয়ন শাখাটি মুক্তির শাখার সামনে থাকতে পারে কারণ এটি এমন পরিবর্তনগুলি ধারণ করতে পারে যা সংস্করণ 1,2 সংস্করণে মুক্ত নয় তবে সংস্করণ 1.1 এর জন্য হবে।

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

একটি কাজ উদাহরণ

আমার ফাইলে নামক একটি ফাইল তৈরি করুন যার মধ্যে নিম্নলিখিত কোড রয়েছে:


-এর
<শিরোনাম> MySite
এর
এর

মাইএসাইটে স্বাগতম

এটি প্যাচিং সোর্স কোডের একটি উদাহরণ।
এর

Myfile_v2.html নামক আরেকটি ফাইল তৈরি করুন যাতে এতে নিম্নলিখিত কোড রয়েছে:


-এর
<শিরোনাম> YourSite
এর
এর

আপনার সাইটতে স্বাগতম

এটি প্যাচিং সোর্স কোডের একটি উদাহরণ।
এর

প্রথম ফাইল মূল শিরোনাম "MySite তে স্বাগতম" সহ মূল ওয়েব পৃষ্ঠা। দ্বিতীয় ফাইলটি একই ফাইলের মতই হয় যা মেইলফাইলের পাঠ্যটিতে আপনার ফাইলের নাম পরিবর্তন করা হয়।

ডিফ ফাইল তৈরি করতে কিভাবে

একটি প্যাচ তৈরি করার জন্য আমাদের myfile.html এবং myfile_v2.html এর মধ্যে পার্থক্যগুলি বের করতে হবে।

আমরা diff কমান্ডের সাহায্যে এটি করতে পারি:

diff -u myfile.html myfile_v2.html> myfile.patch

আপনি এটি দেখতে nano সম্পাদকের myfile.patch ফাইলটি খুলতে পারেন:

ন্যানো মাইফিল

অপরিবর্তিত লাইনগুলি নীল রঙে দেখানো হয়। সরানো যে রেখাগুলি লাল এবং দেখানো হয়েছে যে লাইনগুলিতে সবুজ দেখানো হয়েছে

প্যাচ কমান্ড ব্যবহার করে প্যাচ কিভাবে প্রয়োগ করবেন?

Myfile.html- এ প্যাচটি প্রয়োগ করতে নিম্নলিখিত কমান্ড ব্যবহার করুন:

প্যাচ

কিভাবে একটি প্যাচ ফিরিয়ে আনতে

এটি diff কমান্ডটি মূল ফাইল myfile.html এ তৈরির পরিবর্তনগুলি প্রয়োগ করবে।

যদি আপনি প্যাচটি প্রত্যাবর্তন করতে চান তবে যে myfile.html মূলত নিম্নোক্ত কমান্ডটি ব্যবহার করে সেই পথে ফিরে এসেছে:

প্যাচ -আর

সারাংশ

প্যাচ কমান্ডটি একটি সম্পূর্ণ ডাইরেক্টরি কাঠামো জুড়ে প্যাচ প্রয়োগ করতে ব্যবহার করা যেতে পারে।

প্যাচ তৈরির জন্য প্যাচ কমান্ডের চেয়ে অনেক ভালো সরঞ্জাম রয়েছে এবং ভাল উৎস নিয়ন্ত্রণ নিশ্চিত করা হয়েছে

একটি কারণ আছে যে অনেক উন্নয়ন প্রকল্প উৎস নিয়ন্ত্রণের জন্য জিআইটি ব্যবহার করে। জিআইটি একটি সুসংগত শাখা কৌশল তৈরি করা সহজ করে তোলে।

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

আরও তথ্যের জন্য man কমান্ডটি ব্যবহার করুন:

মানুষ প্যাচ