আপনি যদি דיর্ঘদিনের লিনাক্স ইউজার হন, তবে আপনি স্মরণ করছেন নতুন অ্যাপ্লিকেশন ইনস্টল করা কত কঠিন হতো। ইনস্টলারের সাথে না থাকলে, আপনি সাধারণত configure, make, make install প্রসেসের মধ্য দিয়ে যেতেন, সাধারণত অনুপস্থিত ডিপেন্ডেন্সি খুঁজে বের করার সাথে সাথে। apt এবং yum-এর মতো প্যাকেজ ম্যানেজার এটাকে অনেক বেশি ম্যানেজযোগ্য করল, কিন্তু ডিপেন্ডেন্সি তবুও কামড়া দিতে পারত।
আপনি হয়তো Snap-এর কথা শুনেছেন, যা এই অনেক সমস্যা সমাধান করতে দাবি করে। আপনি হয়তো এটিকে উবুন্টু-একমাত্র জিনিস হিসেবে শুনেছেন, কিন্তু خوشবিধ, সেটি সত্য নয়।
স্ন্যাপ অ্যাপ্লিকেশন কী?
স্ন্যাপ অ্যাপ্লিকেশন, যাকে "snaps" বলা হয়, ডিস্ট্রিবিউশন-এগনস্টিক হতে তৈরি, তাই আদর্শভাবে সেগুলো যেকোনো সিস্টেমে একইভাবে চালানো উচিত। এটুকু অর্জন করতে, একটি অ্যাপ্লিকেশন চালানোর জন্য যা যা ডিপেন্ডেন্সি এবং রানটাইম দরকার সেগুলোর অধিকাংশ স্ন্যাপে বান্ডেল করা থাকে। এর মানে, একবার আপনার সিস্টেমে স্ন্যাপ সেট আপ ও চালু হলে, অন্যথায় বেশ কিছু ডিপেন্ডেন্সি দরকার হতো এমন অ্যাপ্লিকেশন যোগ করা এখন অনেক সহজ।
Snap ক্যানোনিকাল দ্বারা সমর্থিত, যা কারনে এটি প্রায়শ উবুন্টুর প্রসঙ্গে উদ্ধৃত হয়, কিন্তু এটি যেকোনো বড় লিনাক্স ডিস্ট্রিবিউশনে চলতে তৈরি। আর্চ অফিশিয়ালি একটি সমর্থিত ডিস্ট্রিবিউশন, তাই স্ন্যাপ আর্চের জন্য প্যাকেজ করা না থাকা অ্যাপস চালানোর একটি চমৎকার উপায়।
snapd ডিমন ইনস্টল করা
আপনার সিস্টেমে স্ন্যাপ ইনস্টল করতে, আপনাকে snapd ডিমন ইনস্টল করতে হবে। স্ন্যাপ অফিশিয়ালি আর্চকে সমর্থন করলেও, আপনাকে আর্চ ইউজার রিপোজিটরি (AUR) থেকে এটি ইনস্টল করতে হবে। خوشবিধ, yaourt টুল ব্যবহার করে এটি সহজে করা যায়।
প্রথমে, নিচের কমান্ড চালিয়ে snapd ইনস্টল করুন:
yaourt -S snapd
এখন সার্ভিসটি চালু করতে হবে। এটি করতে শুধু নিচের কমান্ডটি টাইপ করুন:
systemctl enable --now snapd.socket
স্ন্যাপ অ্যাপ্লিকেশন ইনস্টল করা
এখন আপনার কাছে স্ন্যাপ ইনস্টল্ড থাকায়, আপনি অন্য প্যাকেজ ম্যানেজার처럼 এটিও প্যাকেজ ইনস্টল করতে পারেন। উদাহরণস্বরূপ, স্ন্যাপ ব্যবহার করে একটি নির্দিষ্ট অ্যাপ্লিকেশন ইনস্টল করতে শুধু চালান:
snap install application-name
আপনার সিস্টেমে উপলব্ধ স্ন্যাপগুলো লিস্ট করতে নিচের কমান্ডটি চালান:
snap list
একটি প্যাকেজ সার্চ করতে, আপনি কুয়েরি করতে পারেন যে সেটি উপলব্ধ কিনা টাইপ করে:
snap find searchterm
শেষে, একটি প্যাকেজ রিমুভ করতে শুধু এটি চালান:
snap remove application-name
অন্যান্য স্ন্যাপ টিপস এবং ট্রিকস
স্ন্যাপ অ্যাপ্লিকেশন ডিফল্টরূপে স্বয়ংক্রিয়ভাবে আপ-টু-ডেট রাখা হয়, কিন্তু সব অ্যাপ্লিকেশন ম্যানুয়ালি আপডেট করতে নিচের কমান্ডটি চালান:
snap refresh
কিছু স্ন্যাপ ট্র্যাডিশনাল পাথ ব্যবহার করে না, যা হল "/var/lib/snapd/snap"। বদলে, সেগুলো "/snap"-এ ইনস্টল হয়। এই "classic snaps" ইনস্টল সাপোর্ট করতে, নিচের কমান্ড দিয়ে একটি সিমবোলিক লিংক তৈরি করুন:
ln -s /var/lib/snapd/snap /snap
এখন আপনি এই অ্যাপ্লিকেশনগুলো ইনস্টল ও চালাতে পারবেন, কিন্তু সেগুলো আপনার অন্যান্য স্ন্যাপসের পাশাপাশি ইনস্টল হবে। এটি দুটি dünyার সেরা এবং ফাইলসিস্টেম হায়ারার্কি স্ট্যান্ডার্ডের সাথে কমপ্লায়েন্টও হয়।
উপসংহার
Snap একমাত্র এই ধরনের টেকনোলজি নয়। Flatpak এবং AppImage হল দুটি অনুরূপ প্যাকেজ সিস্টেম যা একই অনেক সমস্যা সমাধান করতে লক্ষ্য করে। 그렇긴 해도, উবুন্টুর ব্যাকিং থাকায় Snap এই ফরম্যাটগুলোর মধ্যে সবচেয়ে জনপ্রিয়, অন্তত এখন পর্যন্ত।
এটা মানে এটা সেরা? কিছুক্ষণ আগে, আমরা Snap এবং Flatpak-কে তুলনা করেছিলাম যাতে দেখতে পাই সেগুলো একে অপরের সাথে কীভাবে দাঁড়ায় এবং কোনটিই সেরা।