একের ওপেন-সোর্স প্রকৃতির পাশাপাশি, কাস্টমাইজেবিলিটি Linux-কে অনেক ইউজার পছন্দ করার অন্য একটি কারণ: আপনি প্রায় সব ফাইল মডিফাই এবং কনফিগার করতে পারেন আপনার নির্দিষ্ট প্রয়োজন এবং স্টাইল মেটাতে। এতে সোর্স থেকে একটি প্যাকেজ রিবিল্ড করার ক্ষমতাও অন্তর্ভুক্ত।
সোর্স থেকে প্যাকেজ রিবিল্ড করার ক্ষমতা যেকোনো Linux পাওয়ার ইউজারের জন্য উপকারী হতে পারে কারণ এটি আপনাকে প্যাকেজ পরিবর্তন করতে, ফিচার ইনেবল বা ডিজেবল করতে, বা এমনকি কাস্টম মডিফিকেশন প্রয়োগ করতে দেয়।
এই আর্টিকেল সোর্স থেকে প্যাকেজ রিবিল্ড করার সিম্পল ধাপগুলো বর্ণনা করে।
১. সোর্স রিপোজিটরি সক্রিয় করা
সোর্স প্যাকেজ রিবিল্ড করার আগে প্রথম ধাপ হলো আপনার ডিস্ট্রিবিউশনের জন্য সোর্স রিপোজিটরি সক্রিয় করা। সোর্স রিপো সক্রিয় করলে আপনি ডিফল্ট apt প্যাকেজ ম্যানেজার ব্যবহার করে সোর্স প্যাকেজ সার্চ ও ডাউনলোড করতে পারবেন।
Debian সিস্টেমে, আপনি /etc/apt/sources.list ফাইল এডিট করে সোর্স প্যাকেজ যোগ করতে পারেন।
উদাহরণস্বরূপ, নিচে Debian buster-এর sources.list কন্টেন্ট দেওয়া হলো যেখানে সোর্স প্যাকেজ সক্রিয়।
deb https://deb.debian.org/debian buster main deb-src https://deb.debian.org/debian buster main deb https://deb.debian.org/debian-security/ buster/updates main deb-src https://deb.debian.org/debian-security/ buster/updates main deb https://deb.debian.org/debian buster-updates main deb-src https://deb.debian.org/debian buster-updates main
deb-src সোর্স প্যাকেজ সক্রিয় করে, প্যাকেজ ম্যানেজারকে বলে যে আমাদের সাধারণ বাইনারি ফাইল নয়, বরং সোর্স প্যাকেজ দাও।
একবার সক্রিয় হলে, ফাইল সেভ করুন এবং সিস্টেম আপডেট করুন কমান্ড ব্যবহার করে:
sudo apt-get update
২. সোর্স প্যাকেজ ফেচ করা
আপডেট প্রসেস রান করার পর, আপনি তব আপনার সিস্টেম মডিফাই করার জন্য সোর্স প্যাকেজ ফেচ করতে পারেন।
উদাহরণস্বরূপ, tar প্যাকেজ ব্যবহার করা যাক। শুরু করুন সোর্স প্যাকেজ স্টোর করার জন্য একটি ডিরেক্টরি তৈরি করে:
mkdir apt-rebuilds cd apt-rebuilds
পরবর্তীতে, সোর্স প্যাকেজ ডাউনলোড করুন কমান্ড ব্যবহার করে:
apt-get source tar
ডিরেক্টরির ফাইলগুলো ভিউ করতে:
ls -la
৩. বিল্ড ডিপেন্ডেন্সি চেক ও ইনস্টল করা
পরবর্তী ধাপে আপনি যেটি রিবিল্ড করতে চান সেই প্যাকেজের জন্য প্রয়োজনীয় বিল্ড ডিপেন্ডেন্সি চেক ও ইনস্টল করা জড়িত।
সোর্স প্যাকেজের ডিরেক্টরি লোকেশনের ভিতরে, নিচের কমান্ড লিখে আনমেট বিল্ড ডিপেন্ডেন্সি চেক করুন।
sudo dpkg-checkbuilddeps
কমান্ডটি প্যাকেজের জন্য সকল আনমেট ডিপেন্ডেন্সি ডিসপ্লে করবে। যদিও আপনি সেগুলো ম্যানুয়ালি ইনস্টল করতে পারেন, একটি সিম্পলার মেথড হলো apt ব্যবহার করে সোর্স প্যাকেজ ইনস্টল করা।
এটি করতে, কমান্ড ব্যবহার করুন:
sudo apt-get build-dep tar
উপরোক্ত কমান্ড ডিপেন্ডেন্সি ফেচ করে আপনার জন্য ইনস্টল করবে।
৪. প্যাকেজ মডিফাই করা
এই ধাপে, আপনি প্যাকেজে পরিবর্তন আনার চেষ্টা করবেন এবং আপনার প্রয়োজন অনুযায়ী যেকোনো ফিচার ইনেবল বা ডিজেবল করবেন। (এটি একটি ব্যাপক দিক, এবং এই করায়, আমরা প্রতিটি প্যাকেজের জন্য আপনি যেসব পরিবর্তন করতে পারেন সেগুলো কভার করতে পারি না।)
একবার সকল পরিবর্তন এবং পারসনাল টউইক করলে, সোর্স রিকম্পাইল করুন এবং একটি ভিন্ন ভার্সন নম্বর দিয়ে সেভ করুন। আপনি এটি কমান্ড ব্যবহার করে করতে পারেন:
dch --local tar
এই কমান্ড রান করলে আপনার পছন্দের এডিটর জন্য প্রম্পট করবে এবং চেঞ্জলগ এডিট করার জন্য লঞ্চ করবে।
আপনি কয়েক লাইন যোগ করতে পারেন করা পরিবর্তনগুলো বর্ণনা করতে এবং ভার্সন পরিবর্তন করতে।
৫. প্যাকেজ বিল্ড করা
শেষ ধাপ হলো সোর্স প্যাকেজ বিল্ড করা। নিশ্চিত হন আপনি সোর্স প্যাকেজ ডিরেক্টরিতে আছেন এবং কমান্ড চালান:
dpkg-buildpackage --force-sign
কমান্ডটি উপরের ধাপে করা সকল পরিবর্তন ব্যবহার করে বিল্ড প্রসেস ইনিশিয়ালাইজ করবে।
পরিবর্তন এবং রিবিল্ড করার প্যাকেজের উপর নির্ভর করে, প্রসেসে কয়েক মিনিট বা বেশি সময় লাগতে পারে।
৬. প্যাকেজ ইনস্টল করা
বিল্ড প্রসেস কমপ্লিট হলে, এটি প্যারেন্ট ডিরেক্টরিতে একটি বাইনারি প্যাকেজ জেনারেট করবে। ইনস্টল করতে, আপনাকে শুধু dpkg কমান্ড ব্যবহার করতে হবে:
sudo dpkg -i *.deb
শেষ কথা
প্যাকেজ বিল্ড করা যেকোনো Linux অ্যাডমিনিস্ট্রেটরের জন্য একধরন মাস্টার স্কিল এবং একজন রেগুলার Linux ইউজারের জন্য ভালো স্কিল। এখন আপনি জানেন সোর্স থেকে প্যাকেজ কীভাবে বিল্ড করতে হয়, আপনি Linux-এ ফাইল সহজে রিনেম করার পদ্ধতিও শিখতে পারেন এবং Linux-এ Hosts ফাইল ব্যবহার ও এডিট করার পদ্ধতিও শিখতে পারেন।