লিনাক্স চিরস্থায়ী বিবর্তনশীল। অনেক পরিবর্তন লুকানো থাকে—কার্নেল বা অন্য অন্তর্নিহিত কোডের পেছনে। কিন্তু কখনো কখনো ইউজারকে নতুন পদ্ধতিতে অভ্যস্ত হতে হয়।
কম্পিউটিং-এ অনেক এনহ্যান্সমেন্ট ঘাবড়ানকর এবং আলাদা মাইন্ডসেট চায়, কিন্তু apt-get কমান্ডের ডেভেলপমেন্টের ক্ষেত্রে এটা সত্য নয়। ডেবিয়ান-ভিত্তিক সিস্টেমগুলো (উবুন্টু, লিনাক্স মিন্ট, রাস্পবেরি পাইয়ের রাস্পবিয়ান) apt-get-কে পুরোপুরি রিপ্লেস না করে এর সাথে সাথে এর প্রতিস্থাপন apt কমান্ডও চালিয়ে যাচ্ছে—যেটা আরও সহজ।
তবে কেন এভাবে করছেন, এবং আসলে কী পরিবর্তন হয়েছে?
APT বনাম APT-GET
apt কমান্ড আনার পেছনে যুক্তিসঙ্গত লজিক রয়েছে। আগে Advanced Package Tool-এ অ্যাক্সেস ছিল apt-get এবং apt-cache কমান্ড সেটের মাধ্যমে (অথবা ডেস্কটপে সিন্যাপটিক বা অন্যান্য প্যাকেজ ম্যানেজারের মাধ্যমে)। কিন্তু thờiমের সাথে এই কমান্ডগুলো এক্সপ্যান্ড হওয়ার কারণে জিনিসগুলো গুলগুলি হয়ে পড়েছে।
apt আনার মাধ্যমে, apt-get এবং apt-cache-এর সবচেয়ে কমন অপশনগুলো একসাথে আনা হয়েছে—ফলস্বরূপ কমান্ডগুলো ছোট হয়েছে, সংখ্যাও কম হয়েছে। এতে ডুপ্লিকেশন এবং বছরের পর বছর জমা হয়ে থাকা অন্যান্য সমস্যা এড়ানো যায়।
কিন্তু apt শুধু দুটি গুলগুলি কমান্ড স্ট্রাকচার একীভূত করার জন্য নয়। এটাও কমান্ড লাইন অভিজ্ঞতা উন্নত করে। উদাহরণস্বরূপ, প্রোগ্রাম ইনস্টল বা রিমুভ করার সময় একটি প্রগ্রেস বার (progress bar) দেখায়।
তাই apt আসার কারণ এটা। কিন্তু আপনি কেন ব্যবহার করবেন? নিচের উদাহরণগুলো ব্যাখ্যা করবে।
সংক্ষেপে: আর GET নেই
আমরা আগে apt-get কমান্ডে গভীরে গিয়েছিলাম। আপনি যে কমান্ডগুলো ব্যবহার করতেন, সেগুলো এখনও ব্যবহার করা যায়, শুধু "-get" অংশটা বাদ দিয়ে।
যেমন...
apt-get install [packagename]
...এখন হবে...
apt install [packagename]
সাধারণত সকল পুরনো apt-get কমান্ডে এই পরিবর্তন আছে। কিন্তু apt-এর সাথে কিছু এক্সট্রা ফাংশনালিটিও এসেছে। সফটওয়্যার আপগ্রেড এবং রিমুভালে এখন অতিরিক্ত অপশন রয়েছে—মাল্টিপল প্যাকেজ ইনস্টলেশন থেকে প্যাকেজ পার্জ (purge) করা পর্যন্ত।
ফুল আপগ্রেড পান
আপনি সম্ভবত update এবং upgrade কমান্ড জানেন جو apt এবং apt-get-দুইটির সাথেই কাজ করে। সংক্ষেপে, update রিপোজিটরি থেকে প্যাকেজ ইনফরমেশন রিফ্রেশ করে, upgrade ইনস্টল করা প্যাকেজগুলো আপগ্রেড করে।
নতুন apt কমান্ড এই নতুন কমান্ডটি আনা: full-upgrade।
sudo apt full-upgrade
এই কমান্ডে না শুধু প্যাকেজগুলো আপগ্রেড হবে, আপগ্রেডের অংশ হিসেবে যে পুরনো প্যাকেজগুলো রিমুভ করতে হয় সেগুলোও ডিসকার্ড হবে। স্ট্যান্ডার্ড apt upgrade কমান্ড এটা করে না।
মাল্টিপল প্যাকেজ ইনস্টল
দ্রুত করছেন, এবং একাধিক সফটওয়্যার প্যাকেজ ইনস্টল করতে হচ্ছে? অথবা সফটওয়্যার ইনস্টলেশন কমান্ড থেকে আরও এফিশिएনسی চান?
apt install কমান্ড এভল্ভ করেছে, এখন একই কমান্ডে একাধিক প্যাকেজ ইনস্টল করা যায়। ইনস্টল কমান্ডের পর প্যাকেজের নামগুলো একে পাশে লিখুন:
sudo apt install [package_1] [package_2] [package_3]
যদি কোনো অ্যাপ ইতিমধ্যে ইনস্টলড থাকে, তবে apt ডাটাবেস চেক করে nieu версия পেলে সেটি ইনস্টল করবে। সহজ!
আপগ্রেড ছাড়া প্যাকেজ ইনস্টল
হয়তো কিছু পরিস্থিতিতে আপনাকে একটি এক্সিস্টিং প্যাকেজ ইনস্টল করতে হয় (হয়তো রিপেয়ার করার জন্য) আপগ্রেড ছাড়া। सौভাগ্যitionally, apt এটাও সহজ করে দিয়েছে:
sudo apt install [packagename] --no-upgrade
অন্যদিকে, একটি অন-ইনস্টলড প্যাকেজের আপগ্রেড ডাউনলোড করুন কিন্তু ইনস্টল না করুন:
sudo apt install [packagename] --only-upgrade
মানতে হবে শেষ কমান্ডটি অধিকাংশের জন্য অদ্ভুত পরিস্থিতি, কিন্তু জানা ভালো।
নির্দিষ্ট প্যাকেজ ভার্সন ইনস্টল
আপনি যদি একটি অ্যাপ্লিকেশনের নির্দিষ্ট ভার্সন চান? এটি হয় যদি লেটেস্ট আপডেট আপনার ব্যবহৃত একটি ফিচার ভাঙে দেয়। এর জন্য রিসার্চ করতে হবে যাতে প্যাকেজের ভার্সন নম্বর জানতে পারেন।
পাওয়া গেলে, প্যাকেজের নাম এবং ইচ্ছিত ভার্সন নির্দিষ্ট করে এই কমান্ড ব্যবহার করুন:
sudo apt install [packagename]=[version_number]
মনে রাখবেন পরবর্তী আপগ্রেড আপনার ইচ্ছিত ভার্সনকে লেটেস্ট দিয়ে রিপ্লেস করে দিতে পারে। তাই এই কমান্ড রিপিট করতে হয় (যদি না ডেভেলপাররা ভাঙা ফিচার ফিক্স করে দেন)।
আপগ্রেডযোগ্য এবং ইনস্টলড প্যাকেজ লিস্ট
ডেবিয়ান-ভিত্তিক সিস্টেমে apt-এ সফটওয়্যার ইনস্টল করার আরেকটি নতুন দিক: list অপশন। এটি নির্দিষ্ট কন্ডিশন অনুযায়ী একটি লিস্ট আউটপুট করে।
উদাহরণস্বরূপ, আপগ্রেড পেন্ডিং প্যাকেজের লিস্ট দেখুন:
apt list --upgradeable
আরো সহজে, ইনস্টলড প্যাকেজের লিস্ট:
apt list --installed
list-এর তৃতীয় অপশনও রয়েছে। এটি আপনার ওএস এবং কম্পিউটারের জন্য উপলব্ধ সকল প্যাকেজের লিস্ট দেখাবে।
apt list ----all-versions
(কমান্ডে "-" ক্যারেক্টারের সংখ্যা চоти: চারটি!)
Remove বনাম Purge
পুরনো পদ্ধতিতে remove কমান্ড দিয়ে প্যাকেজ রিমুভ করা apt-ও কাজ করে। ইনস্টলেশনের বিপরীতভাবে প্যাকেজের নাম নির্দিষ্ট করুন:
sudo apt remove [packagename]
আরও আছে purge কমান্ড, যা প্রায় একইভাবে কাজ করে।
sudo apt purge [packagename]
তবে পার্থক্য কী?
apt remove শুধু বাইনারি ফাইলগুলো রিমুভ করে, কিন্তু রেজিডুয়াল ফাইল ছাড়া যায়—সাধারণত কনফিগারেশন ফাইল।
apt purge-এর সাথে য كلا, প্যাকেজের সাথে সম্পর্কিত সব কিছু রিমুভ হয়: বাইনারি, কনফিগ ফাইল, সব।
Autoremove দিয়ে ক্লিনআপ
remove এবং purge কমান্ড দিয়ে অনচাহিত সফটওয়্যার ডিসকার্ড করা যায়। পুরনো apt-get-এর দিনে হাউসকিপিং-র জন্য আরও এফিশিয়েন্ট মেথড ছিল clean এবং autoclean।
apt-এ শুধু একটি ফাংশন: autoremove। একবার রান করলে এটি অটোমেটিক্যালি ইনস্টল হওয়া লাইব্রেরি এবং প্যাকেজগুলো রিমুভ করবে—সাধারণত ডিপেন্ডেন্সি হিসেবে ইনস্টল হয়েছে যেসব অ্যাপের জন্য। যতক্ষণ এই প্যাকেজগুলো রিকোয়ার্ড অ্যাপের সাথে অ্যাসোসিয়েটেড নয়, ততক্ষণ ডিসকার্ড করা যায়।
sudo apt autoremove
এবং অবশ্যই, এতে গুরুত্বপূর্ণ ডিস্ক স্পেস ফ্রি হবে!
নতুন কমান্ড এবং ভালো ফাংশনালিটি
apt-get কমান্ড দিয়ে আপডেট, আপগ্রেড, ইনস্টল এবং রিমুভ করা যায় ডেবিয়ান-ভিত্তিক লিনাক্সে। কিন্তু সহজ apt কমান্ড দিয়ে আপনি অনেক বেশি কিছু করতে পারবেন!
আপনি কোনটি পছন্দ করেন? apt-get ফুলি ডিপ্রিকেটেড না হওয়া পর্যন্ত ধরে রাখবেন, নাকি সম্পূর্ণভাবে apt গ্রহণ করবেন? আপনার অনুভূতি এবং আমরা যেসব কমান্ড মিস করেছি সেটা মন্তব্যে বলুন।
ছবির ক্রেডিট: ব্রায়ান এ Джеackson/শাটারস্টক