Site icon Trickbd.com

লিনাক্স প্যাকেজ ফরম্যাট সমগ্রঃ যেভাবে AppImage, Deb, RPM, Flatpak ফাইল লিনাক্সে ইনস্টল করবেন

linux executables featured

ধরুন, আপনার নতুন লিনাক্স মেশিনে একটি অ্যাপ ইনস্টল করতে চান। কিন্তু ডাউনলোড করতে গিয়ে দেখলেন .deb, .rpm, .appimage

উইন্ডোজে তো শুধু .exe ছিলো। এখানে এতগুলো কেন?

বেশ, এখানে ডিস্ট্রিবিউশনও অনেক, তাই প্যাকেজ সিস্টেমও অনেক। লিনাক্সে শিফট করার একটা গুরুত্বপূর্ন স্টেপ হল এসব linux executables নিয়ে জ্ঞান রাখা। কারন ভুলভাবে সফটওয়্যার ইনস্টল দিলে ওটা রিমুভ করতে ঝামেলা হয়।

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

এক্সিকিউটেবল কী?

এক্সিকিউটেবল, বা বাইনারি হল কিছু ফাইলস যেগুলো মেশিন কোড স্টোর করে। মেশিন কোড মানে 0, 1. এসব কোড পরে প্রসেসর দিয়ে রান হয়।

প্রোগ্রামাররা ব্যাপারটা ভালো বুঝবেন। প্রত্যেকবার কোড লিখার পরে ওটা রান করার আগে কম্পাইল করা লাগে। তবে ফাইনাল প্রোডাক্ট বানানোর পর ওটা শেষ একবারই কম্পাইল হয়। তারপর আউটপুট ফাইলটা আর কম্পাইল করা লাগে না যদি না কোডে কোনো আপডেট করছেন।

উইন্ডোজের .exe এর মতো লিনাক্সেও অ্যাপ রান করার জন্য বিভিন্ন ফাইল ফরম্যাট ব্যবহার হয়। তবে লিনাক্সে সব ফরম্যাট সব ডিস্ট্রোতে কাজ করে না।

লিনাক্স বনাম উইন্ডোজ এক্সিকিউটেবল

উইন্ডোজ স্ট্যান্ডার্ড .exe ফরম্যাট ইউজ করে। এর বাইরেও মাইক্রোসফটের .msi ফরম্যাট আছে। আবার পোর্টেবল অ্যাপস আছে, যদিও ওটা .exe ফরম্যাটেই চলে।

লিনাক্সে ডিস্ট্রো অনুযায়ী ফরম্যাট ভিন্ন। যেমন:

লিনাক্সে কমান্ড লাইন বা GUI – দুইভাবেই অ্যাপ ইনস্টল করা যায়।

বিভিন্ন এক্সিকিউটেবলের পার্থক্য

#1. Flatpak

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

কিভাবে ইনস্টল করবেনঃ

ফ্ল্যাটপ্যাকের জন্য আলাদা ইন্টারফেস আছে, যেটা bauh নামে পরিচিত। যদিও লিনাক্সের “সফটওয়্যার” থেকেই ফাইল ইনস্টল করা যায়।

সুবিধাঃ

অসুবিধাঃ

#2. AppImage

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

কিভাবে ইউজ করবেনঃ

অ্যাপ-ইমেজ ফাইলের উপর মাউসের রাইট ক্লিক দিয়ে প্রোপার্টিসে গিয়ে Executable as program অপশনটা অন করুন। তারপর ফাইলে ডাবল ক্লিক করলেই রান হবে।

সুবিধাঃ

অসুবিধাঃ

#3. DEB

Debian-ভিত্তিক ডিস্ট্রোগুলা, যেমন Ubuntu, Linux Mint — এরা .deb ইউজ করে। ডেবিয়ানে আপডেট একটু স্লো আসে, যদিও সফটওয়্যার আপডেট নির্ভর করে ডেভেলপারদের উপর।

কিভাবে ইনস্টল করবেনঃ

মাউসে রাইট ক্লিক দিয়ে Open with another application > Software install সিলেক্ট করবেন। কিংবা টার্মিনালে গিয়ে sudo apt install [package path] লিখে এন্টার দিবেন, ইনস্টল হয়ে যাবে।

সুবিধা:

অসুবিধা:

#4. RPM

REHL (Red Hat Enterprise Linux) বেসড ডিট্রিবিউশন, যেমন Fedora, CentOS এই ফরম্যাট ইউজ করে। ব্যক্তিগত ভাবে আমি নিজেও ফেডোরা ইউজ করি : )

Read more: রিলিজ হলো Fedora 42 – ভার্শন রিভিউ ও আমার ব্যক্তিগত অভিজ্ঞতা

কিভাবে ইনস্টল করবেনঃ

আরপিএম ফাইল আসলে আলাদা ডাউনলোড দিয়ে ইনস্টল করা সঠিক পদ্ধতি নয়।

“সফটওয়্যার” অ্যাপ থেকে আপনার পছন্দের প্রোগ্রামের RPM ভার্শন চুজ করুন। অথবা কমান্ড লাইনে প্যাকেজ ম্যানেজারে গিয়ে খুঁজে দেখুন ওদের রিপোজিটরিতে প্রোগ্রামটা আছে কিনা, তারপর sudo dnf install [filename] লিখে ইনস্টল করুন।

সুবিধা:

অসুবিধা:

#5. Snap

Canonical লিমিটেডের বানানো সফটওয়্যার প্যাকেজ। এটাও লিনাক্সের একটা সার্বজনীন ফরম্যাট। তবে কিছু লিমিটেশন থাকায় এটা সবখানে দেখা যায় না।

কিভাবে ইনস্টল করবেনঃ

উবুন্টুর আলাদা স্ন্যাপস্টোর আছে, ওখান থেকে সব ম্যানেজ করা যায়। স্ন্যাপক্রাফট ইনস্টল করতে কমান্ড লাইনে লিখুনঃ

sudo apt install snapd

সুবিধা:

অসুবিধা:

#6. AUR

এটা Arch লিনাক্স ইউজারদের জন্য। যদিও প্রকৃত ফাইল এক্সটেনশনের নামে .tar.gz. কারন আর্চে ইউজারের প্যাকেজ বিল্ড করে নিতে হয়।

Read more: আসুন পরিচিত হই আমার দেখা কিছু সেরা লিনাক্স অপারেটিং সিস্টেম এর সাথে

কিভাবে ইনস্টল করবেনঃ

আউর প্যাকেজ গুলা ম্যানুয়ালি বিল্ড করা লাগে। এজন্য বেশ কিছু সিস্টেম আছে। টার্মিনালে নিম্নোক্ত কমান্ডগুলো একেএকে রান করুনঃ

git clone [url]

cd [package name]

makepkg -si

অন্য একটা উপায় হল আউর হেল্পার ইউজ করা, যেমন yay. টার্মিনালে লিখুনঃ

yay -S [package name]

aurutils নামে আরেকটা হেল্পার আছে অ্যাকটিভ সাপোর্টে।

সুবিধা:

অসুবিধা:

#7. Ebuild & Portage

এগুলো Gentoo-এর জন্য কাস্টমাইজযোগ্য প্যাকেজ সিস্টেম।

Portage হল জেন্টোর অফিশিয়াল প্যাকেজ ম্যানেজার। আর Ebuild মূলত স্ক্রিপ।

এখানে কিভাবে প্যাকেজ ডাউনলোড করতে হবে, অন্য কোন প্যাকেজ লাগবে, কোন কোন অপশন এনাবল/ডিসেবল রাখতে হবে ইত্যাদি নির্দেশনা দেয়া থাকে।

কিভাবে ইনস্টল করবেনঃ

জেন্টোতে সব ম্যানুয়ালি বিল্ড করা লাগে, বহুত ঝামেলারে ভাই। আমি আলাদা আর কিছু লিখছি না। তবে সারকথা হল, পোর্টেজ প্যাকেজ ম্যানেজার থেকেই সব ম্যানেজ করতে হয়।

ইবিল্ড স্ক্রিপগুলাও কম্পাইল করে নিতে হয়। এজন্য টার্মিনালে এসব কমান্ড লাগেঃ

ebuild [filename.ebuild] compile

ebuild [filename.ebuild] install

সুবিধা:

অসুবিধা:

#8. ELF (Executable and Linkable Format)

লিনাক্সের ন্যাটিভ বাইনারি ফরম্যাট। এটা দিয়ে এক্সিকিউটেবল, অবজেক্ট কোড, শেয়ার্ড লাইব্রেরি, কোর ডাম্প ইত্যাদি স্টোর করা যায়। এটা থেকে সরাসরি মেশিন কোড রান হয়। উইকিপিডিয়ার এই ছবিটি জুড়ে দিচ্ছি যদিও আমি নিজেও জানি না এটা দিয়ে কি বুঝাচ্ছে 😵‍💫

কিভাবে রান করবেনঃ

ইএলএফ ফাইল আগে প্রোপার্টিস থেকে এক্সিকিউটেবল করে নিতে হবে। তারপর ডাবল ক্লিক দিলেই সরাসরি রান হবে।

সুবিধা:

অসুবিধা:

#9. স্ক্রিপ্ট ফাইল (.sh, .py)

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

কিভাবে রান করবেনঃ

মাউসে রাইট ক্লিক অপশনে গিয়ে ফাইলটিকে আগে এক্সিকিউটেবল বানিয়ে নিতে হবে। তারপর ডাবল ক্লিক করলে রান করবে। অথবা কনসোল থেকে chmod +x myscript.sh লিখে ./myscript.sh টাইপ করে এন্টার দিলেও স্ক্রিপটি রান হবে।

সুবিধা:

অসুবিধা:

প্রশ্নোত্তর (QnA)

#1. কোন linux executables সবচেয়ে ভালো?

ভালো খারাপ ব্যাপারটা এখানে আপেক্ষিক। একেক প্যাকেজ একেক দরকারে বানানো। আমি বলব আপনার প্রয়োজন অনুযায়ীঃ

#2. কীভাবে জানবেন আপনার সিস্টেমে কোন ফরম্যাট কাজ করবে?

সাধারনত, ডিস্ট্রোভেদে প্যাকেজ ফরম্যাট ভিন্ন হয়। যেমনঃ

আরো বিস্তারিত জানতে গুগলে সার্চ দিনঃ what linux executables format [distro name] use?

#3. কীভাবে শেলে ফাইলের টাইপ চেক করবেন?

লিনাক্সে ফাইল টাইপ জানতে টার্মিনালে লিখুনঃ file [filename]। যেমনঃ file kdenlive-25.04.1-x86_64.AppImage

শেলে ফাইল টাইপ চেক করা একটা ভালো আইডিয়া। এটা দিয়ে একটা ফাইল কিভাবে রান করবেন পরে সেটা গুগল থেকে জানতে পারবেন।

Read more: ৫টি দিক বিবেচনায় Windows থেকে Linux অপারেটিং সিস্টেম সেরা

#4. কীভাবে AppImage চালাবেন?

টার্মিনাল থেকে ফাইলকে এক্সিকিউটেবল করুন এটা লিখেঃ

chmod +x [filename.AppImage]

তারপর আবার ./filename.AppImage লিখুন।

কিংবা, ফাইলের উপর মাউসের রাইট ক্লিক দিয়ে প্রোপার্টিস থেকে Executable as program এটা অন করে দিন। তারপর ডাবল ক্লিক করলেই রান হবে।

#5. কীভাবে অ্যাপ আনইনস্টল করবেন?

DEB/RPM/Snap/Flatpak বেসড প্রোগ্রামগুলা “সফটওয়্যার” অ্যাপ থেকে আনইনস্টল করা যায়।

আবার টার্মিনালে sudo apt remove [appname] লিখেও আনইনস্টল করা যায়।
নোটঃ RHEL বেসড ডিস্ট্রো যেহেতু DNF ইউজ করে, তাই APT এর পরিবর্তে DNF লিখতে হবে, যেমনঃ sudo dnf remove [appname]

AppImage এর ক্ষেত্রে ফাইলটা ডিলিট মারলেই সিস্টেম থেকে মুছে যাবে।

আর AUR/Ebuild প্রোগ্রামগুলো কমান্ড লাইন থেকে আনইনস্টল করতে হবে, যেমনঃ

sudo pacman -Rsn [filename]

সমাপ্তি

Linux executables অনেক প্যাচগোছের মনে হলেও, একবার মাথায় ঢুকলে সহজ হয়ে যায়… সম্ভবত।

আমি অবশ্য ফেডোরাতে পড়ে আছি, সো এটারই হালকা পাতলা ধারনা রাখি কেবল। আপনি কোন ডিস্ট্রো ব্যবহার করেন তার উপর নির্ভর করবে আপনার কোন ফরম্যাট লাগবে।

আর যদি এখনো কনফিউজড থাকেন, তো পুরো লেখাটা আবার পড়ুন। আমাকেও জিজ্ঞেস করতে পারেন টেলিগ্রামে (লিংক প্রোফাইলে)।

আপনার লিনাক্স যাত্রা আনন্দদায়ক হোক! 🐧

ভুলত্রুটি ক্ষমাসুন্দর দৃষ্টিতে দেখবেন।

আল্লাহ হাফেজ।

Exit mobile version