আধুনিক অপারেটিং সিস্টেম, লিনাক্স সহ, gầnবর্তী বছরে অপারেটিং সিস্টেম ভার্চুয়ালাইজেশন হাম্বল PC-এ আনার জন্য বিকশিত হয়েছে। একটি হাইপারভাইজার ব্যবহার করে একাধিক অপারেটিং সিস্টেম চালানোর মাধ্যমে ডেভেলপার, সিস্টেম অ্যাডমিনিস্ট্রেটর, এবং টিংকারাররা ছোট, ডিসপেনসেবল, ভার্চুয়াল এনভায়রনমেন্ট সেট আপ করতে পারে জিনিসগুলো টেস্ট এবং শিখতে। যেহেতু ভার্চুয়ালাইজেশন অধিক وأكثر জনপ্রিয় হচ্ছে, অধিক এবং অধিক সফটওয়্যার আসছে যা আপনার জীবন সহজ করার প্রতিশ্রুতি দেয়। Vagrant সেসব সফটওয়্যারের একটি। আজ, আমরা লিনাক্সে Vagrant দিয়ে শুরু করার কথা বলব: Vagrant কী, আপনার বেস সিস্টেমে এটি কীভাবে ইনস্টল করবেন, এবং এটি আপনাকে কতপ্রকারে উপকারী হতে পারে।
Vagrant কী
Vagrant একটি টুল যা ভার্চুয়ালাইজেশন সফটওয়্যার যেমন Virtual Box এবং VMware-এর সাথে কাজ করে একটি সহজ পথ প্রদান করে ভার্চুয়াল মেশিন তৈরি, কনফিগার, এবং রিপ্রডিউস করার জন্য একটি পরিচিত স্টেটের সাথে। এটি প্রি-কনফিগার্ড ভার্চুয়াল মেশিন, বা বক্স, Vagrant Cloud থেকে পুল করে, ইনিশিয়ালাইজ করে, এবং আপনার সিস্টেমে রান করতে দেয়। এটি খুব সহজ করে দেয় কারো জন্য একটি ইমেজ পুল ডাউন করা, কয়েকটি সিম্পল কমান্ড রান করা, এবং একটি ভার্চুয়াল সার্ভার পাওয়া যাতে সেটি দিয়ে খেলা যাবে।
Vagrant ইনস্টল করা
আপনি Vagrant-এর জিপ ফাইল ডাউনলোড করতে পারেন ডাউনলোড পেজ থেকে। এক্সট্র্যাক্ট করুন একটি অ্যাপ ইমেজ পেতে। এটিকে এক্সিকিউটেবল বানান এবং রান করুন।
বিকল্পভাবে, আপনি আপনার ডিস্ট্রোর রিপোজিটরি থেকে ইনস্টল করতে পারেন:
Ubuntu/Debian/Ubuntu-ভিত্তিক ডিস্ট্রো:
sudo apt install vagrant
Fedora:
sudo dnf install vagrant
Vagrant Hyper-V, VMWare, Parallels, VirtualBox, এবং libvirt-এর সাথে কাজ করতে পারে। এই টিউটোরিয়ালের জন্য, আমি libvirt ব্যবহার করব (libvirt কনফিগার করার ইনস্ট্রাকশন), কারণ এটি লিনাক্স কার্নেলে বিল্ট-ইন হাইপারভাইজার।
Vagrant libvirt প্রোভাইডার ইনস্টল করতে, নিচের কমান্ডগুলোর একটি ব্যবহার করুন:
sudo apt install vagrant-libvirt
অথবা
vagrant plugin install vagrant-libvirt
আপনার প্রথম Vagrant বক্স শুরু করা
Vagrant আপ ও রানিং পেতে, আপনাকে একটি বক্স যোগ করতে হবে, ভার্চুয়াল মেশিন (VM) এর জন্য একটি ডিরেক্টরি তৈরি করতে হবে, এবং দুটি Vagrant কমান্ড চালাতে হবে: একটি সিস্টেম ইনিশিয়ালাইজ করার জন্য এবং একটি VM শুরু করার জন্য।
প্রথমে, আপনার সিস্টেমে একটি বক্স যোগ করুন:
vagrant box add centos/7 --provider=libvirt
প্রোভাইডার ফ্ল্যাগ হিসেবে যোগ করা নিশ্চিত করুন। আরও বক্স এখানে পাবেন।
পরবর্তী, একটি ডিরেক্টরি তৈরি করুন এবং cd করুন সেটিতে:
mkdir vagrant-test cd vagrant-test
এখন, Vagrant ইনিশিয়ালাইজ করুন:
vagrant init centos/7
ইনিশিয়ালাইজেশন ফেজের অংশ হিসেবে, Vagrant করেন্ট ওয়ার্কিং ডিরেক্টরিতে (যেমন vagrant-test1) "Vagrantfile" নামে একটি ফাইল তৈরি করবে। আপনি যত চান তত ডিরেক্টরি তৈরি করে Vagrant ইনিশিয়ালাইজ করতে পারেন। প্রতিটি ডিরেক্টরি এবং Vagrantfile একটি ভার্চুয়াল মেশিন রিপ্রেজেন্ট করে। এই ভিন্ন VMগুলো একই বক্স (যেমন precise32) বা ভিন্ন বক্সের ওপর ভিত্তি করতে পারে।
VM শুরু করতে, রান করুন:
vagrant up
একবার বুট হলে, ভার্চুয়াল মেশিন হেডলেস মোডে (মনিটর বা ভার্চুয়াল স্ক্রিন ছাড়া) চলছে, এবং আপনি শুধু SSH দিয়ে সেটিতে কানেক্ট করতে পারেন। আপনি এটি একটি নরমাল SSH ক্লায়েন্ট দিয়ে আপনার নেটওয়ার্কের যেকোনো অন্য মেশিন থেকে করতে পারেন, অথবা বিল্ট-ইন ssh কমান্ড ব্যবহার করতে পারেন। আপনি যদি অন্য SSH ক্লায়েন্ট ব্যবহার করতে চান, তবে সঠিক IP অ্যাড্রেস হলো হোস্ট মেশিনের IP (Vagrant এবং আপনার প্রোভাইডার চালু করা PC) কিন্তু অন্য একটি পোর্টে। বুটআপের সময়, Vagrant দেখাবে পোর্ট ২২ (SSH-এর জন্য) কীভাবে ফরওয়ার্ড হয়েছে। সেটি সম্ভবত পোর্ট ২২২২-এ হবে।
বিল্ট-ইন ssh কমান্ড ব্যবহার করতে, টাইপ করুন:
vagrant ssh
আপনি এখন VM-এ কানেক্টেড। SSH কানেকশন থেকে বের হতে, "exit" টাইপ করুন বা Ctrl + D চাপুন।
আপনার প্রথম Vagrant বক্স বন্ধ করা
একটি চলমান VM বন্ধ করতে, ব্যবহার করুন:
vagrant halt
এবং VM ডিলিট করতে, ব্যবহার করুন:
vagrant destroy
যখন একটি VM ডিস্ট্রয় করা হয়, বেস অপারেটিং সিস্টেম (.box ফাইল থেকে) ইন্টারনালি Vagrant-এ স্টোরড থাকে, এবং আরও VMs যেকোনো সময় শুরু করা যায় Vagrant .box ফাইলটি আবার ডাউনলোড ছাড়া।
শুধু দুটি কমান্ড (vagrant init এবং vagrant up) দিয়ে, Vagrant আপনাকে একটি পূর্ণ-ফাংশনাল, SSH-অ্যাক্সেসযোগ্য ভার্চুয়াল লিনাক্স মেশিন বুট আপ করতে দেয়। এডভান্সড কনফিগারেশন হয় Vagrantfile এর মাধ্যমে। আরও বিস্তারিত Vagrant ডকুমেন্টেশনে পাবেন।
আমাদের অন্যান্য ভার্চুয়ালাইজেশন কন্টেন্টও চেক আউট করুন, যেমন ভার্চুয়ালাইজেশন কী এবং কেন ব্যবহার করবেন এবং লিনাক্সে ভার্চুয়াল মেশিন ম্যানেজার দিয়ে শুরু করার পদ্ধতি।